Compare commits

..

463 Commits

Author SHA1 Message Date
Nick Brassel
6921c8a7dd Branch point for 2024q3 Breaking Change. 2024-05-28 14:42:21 +10:00
Nick Brassel
f76cc320fd Merge branch 'develop' 2024-05-28 14:39:23 +10:00
Nick Brassel
465ab5a206 Merge point for 2024q2 Breaking Changes.
- Remove `develop` notice from readme.
2024-05-28 14:38:20 +10:00
Joel Challis
c9f9cb2510 2024 Q2 changelog (#23794)
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2024-05-28 11:48:48 +10:00
James Young
249f1706f1 noroadsleft's 0.25.0 Changelogs and Touch-Ups (#23793)
* Modify PR23309 changelog

Adds a direct link to the pull request.

* Add PR23329 changelog

* Update keyboard aliases file

Updates the legacy keyboard aliases for the JJ40 and JJ50, which have
been moved again for version 0.25.0.

* Minor touch-up for JJ40 rev1 readme
2024-05-26 21:45:29 +01:00
Ryan
b8f29c3865 Update GPIO macros in keymaps (#23792) 2024-05-24 19:38:57 +01:00
James Young
8ff8e9eae5 Migrate LOCKING_*_ENABLE to Data-Driven: X-Z (#23790)
Affects:

  - `x16`
  - `xelus/akis`
  - `xelus/dharma`
  - `xelus/kangaroo/rev1`
  - `xelus/kangaroo/rev2`
  - `xelus/ninjin`
  - `xelus/pachi/mini_32u4`
  - `xelus/pachi/rev1`
  - `xelus/snap96`
  - `xelus/xs108`
  - `xiudi/xd60/rev2`
  - `xiudi/xd60/rev3`
  - `xiudi/xd68`
  - `xiudi/xd75`
  - `xiudi/xd84pro`
  - `xiudi/xd87`
  - `xmmx`
  - `ydkb/chili`
  - `ydkb/grape`
  - `ydkb/just60`
  - `yiancardesigns/barleycorn`
  - `yiancardesigns/gingham`
  - `yiancardesigns/seigaiha`
  - `ymdk/melody96/soldered`
  - `ymdk/np21`
  - `ymdk/yd60mq`
  - `ymdk/ymd09`
  - `ymdk/ymd67`
  - `yoichiro/lunakey_mini`
  - `yushakobo/quick7`
  - `yynmt/acperience12/rev1`
  - `yynmt/dozen0`
  - `yynmt/kagamidget`
  - `zigotica/z12`
  - `zigotica/z34`
  - `zj68`
  - `zlant`
  - `zoo/wampus`
  - `zsa/moonlander`
  - `ztboards/after`
  - `ztboards/noon`
2024-05-24 03:14:15 +01:00
James Young
8abd87d586 Migrate LOCKING_*_ENABLE to Data-Driven: W, Part 2 (#23789)
Affects:

  - `wilba_tech/rama_works_kara`
  - `wilba_tech/rama_works_koyu`
  - `wilba_tech/rama_works_m10_b`
  - `wilba_tech/rama_works_m10_c`
  - `wilba_tech/rama_works_m50_a`
  - `wilba_tech/rama_works_m50_ax`
  - `wilba_tech/rama_works_m60_a`
  - `wilba_tech/rama_works_m65_b`
  - `wilba_tech/rama_works_m65_bx`
  - `wilba_tech/rama_works_m6_a`
  - `wilba_tech/rama_works_m6_b`
  - `wilba_tech/rama_works_u80_a`
  - `wilba_tech/wt60_a`
  - `wilba_tech/wt60_b`
  - `wilba_tech/wt60_bx`
  - `wilba_tech/wt60_c`
  - `wilba_tech/wt60_d`
  - `wilba_tech/wt60_g`
  - `wilba_tech/wt60_g2`
  - `wilba_tech/wt60_h1`
  - `wilba_tech/wt60_h2`
  - `wilba_tech/wt60_h3`
  - `wilba_tech/wt60_xt`
  - `wilba_tech/wt65_a`
  - `wilba_tech/wt65_b`
  - `wilba_tech/wt65_d`
  - `wilba_tech/wt65_f`
  - `wilba_tech/wt65_fx`
  - `wilba_tech/wt65_g`
  - `wilba_tech/wt65_g2`
  - `wilba_tech/wt65_h1`
  - `wilba_tech/wt65_xt`
  - `wilba_tech/wt65_xtx`
  - `wilba_tech/wt69_a`
  - `wilba_tech/wt70_jb`
  - `wilba_tech/wt75_a`
  - `wilba_tech/wt75_b`
  - `wilba_tech/wt75_c`
  - `wilba_tech/wt80_a`
  - `wilba_tech/wt80_g`
  - `wilba_tech/zeal60`
  - `wilba_tech/zeal65`
  - `woodkeys/meira/featherble`
  - `wsk/alpha9`
  - `wsk/g4m3ralpha`
  - `wsk/gothic50`
  - `wsk/gothic70`
  - `wsk/houndstooth`
  - `wsk/jerkin`
  - `wsk/kodachi50`
  - `wsk/pain27`
  - `wsk/sl40`
  - `wsk/tkl30`
  - `wuque/ikki68`
  - `wuque/mammoth20x`
  - `wuque/mammoth75x`
  - `wuque/nemui65`
  - `wuque/tata80/wk`
  - `wuque/tata80/wkl`
2024-05-24 03:14:06 +01:00
James Young
8413411571 Migrate LOCKING_*_ENABLE to Data-Driven: S, Part 1 (#23783)
Affects:

  - `salicylic_acid3/7skb/rev1`
  - `salicylic_acid3/7splus`
  - `salicylic_acid3/ajisai74`
  - `salicylic_acid3/ergoarrows`
  - `salicylic_acid3/getta25/rev1`
  - `salicylic_acid3/jisplit89/rev1`
  - `salicylic_acid3/nafuda`
  - `salicylic_acid3/naked48/rev1`
  - `salicylic_acid3/naked60/rev1`
  - `salicylic_acid3/naked64/rev1`
  - `salicylic_acid3/nknl7en`
  - `salicylic_acid3/nknl7jp`
  - `salicylic_acid3/setta21/rev1`
  - `sandwich/keeb68`
  - `satt/vision`
  - `sauce/mild`
  - `scatter42`
  - `sck/gtm`
  - `sck/m0116b`
  - `sck/neiso`
  - `sekigon/grs_70ec`
  - `sendyyeah/pix`
  - `senselessclay/ck65`
  - `senselessclay/gos65`
  - `senselessclay/had60`
  - `sentraq/s60_x/default`
  - `sentraq/s60_x/rgb`
  - `sentraq/s65_plus`
  - `sentraq/s65_x`
  - `sets3n/kk980`
  - `shambles`
  - `shandoncodes/flygone60/rev3`
  - `shandoncodes/mino/hotswap`
  - `shapeshifter4060`
  - `shiro`
  - `shk9`
  - `sidderskb/majbritt/rev2`
  - `sixkeyboard`
  - `skeletonkbd/skeletonnumpad`
  - `skme/zeno`
2024-05-23 20:38:43 +01:00
James Young
0094a6f571 Migrate LOCKING_*_ENABLE to Data-Driven: S, Part 2 (#23784)
Affects:

  - `slz40`
  - `smithrune/iron160/iron160_s`
  - `smithrune/iron165r2/f072`
  - `smithrune/iron165r2/f411`
  - `smithrune/iron180`
  - `smithrune/iron180v2/v2h`
  - `smithrune/iron180v2/v2s`
  - `smoll/lefty`
  - `snampad`
  - `sneakbox/aliceclone`
  - `sneakbox/disarray/ortho`
  - `sneakbox/disarray/staggered`
  - `soup10`
  - `soy20`
  - `sparrow62`
  - `split67`
  - `splitish`
  - `splitography`
  - `star75`
  - `stello65/beta`
  - `stello65/hs_rev1`
  - `stello65/sl_rev1`
  - `stenokeyboards/the_uni/pro_micro`
  - `stenokeyboards/the_uni/usb_c`
  - `strech/soulstone`
  - `studiokestra/bourgeau`
  - `studiokestra/cascade`
  - `studiokestra/frl84`
  - `studiokestra/galatea/rev1`
  - `studiokestra/galatea/rev2`
  - `studiokestra/galatea/rev3`
  - `studiokestra/line_friends_tkl`
  - `studiokestra/nascent`
  - `studiokestra/nue`
  - `suavity/ehan`
  - `subatomic`
  - `switchplate/southpaw_65`
  - `switchplate/southpaw_fullsize`
  - `switchplate/switchplate910`
  - `sx60`
  - `system76/launch_1`
2024-05-23 20:34:56 +01:00
James Young
634ebc9763 Migrate LOCKING_*_ENABLE to Data-Driven: Q-R (#23781)
Affects:

  - `qpockets/space_space/rev1`
  - `qpockets/space_space/rev2`
  - `quad_h/lb75`
  - `quantrik/kyuu`
  - `qwertlekeys/calice`
  - `rabbit/rabbit68`
  - `rainkeebs/delilah`
  - `rainkeebs/rainkeeb`
  - `rainkeebs/yasui`
  - `rart/rart45`
  - `rart/rart4x4`
  - `rart/rart60`
  - `rart/rart67`
  - `rart/rart67m`
  - `rart/rart75`
  - `rart/rart75m`
  - `rart/rartand`
  - `rart/rartland`
  - `rart/rartlice`
  - `rart/rartlite`
  - `rart/rartpad`
  - `rate/pistachio/rev1`
  - `rate/pistachio/rev2`
  - `rate/pistachio_mp`
  - `rate/pistachio_pro`
  - `redox/rev1`
  - `redscarf_iiplus/verb`
  - `redscarf_iiplus/verc`
  - `redscarf_iiplus/verd`
  - `retro_75`
  - `reversestudio/decadepad`
  - `reviung/reviung5`
  - `reviung/reviung33`
  - `reviung/reviung34`
  - `reviung/reviung39`
  - `reviung/reviung41`
  - `reviung/reviung53`
  - `rgbkb/zen/rev1`
  - `rgbkb/zen/rev2`
  - `rmi_kb/aelith`
  - `rmi_kb/chevron`
  - `rmi_kb/herringbone/pro`
  - `rmi_kb/herringbone/v1`
  - `rmi_kb/squishy65`
  - `rmi_kb/squishyfrl`
  - `rmi_kb/squishytkl`
  - `rmi_kb/wete/v1`
  - `rmi_kb/wete/v2`
  - `rocketboard_16`
  - `rominronin/katana60/rev1`
  - `rominronin/katana60/rev2`
  - `roseslite`
  - `rotr`
  - `rpiguy9907/southpaw66`
  - `rubi`
  - `rura66/rev1`
  - `ryanbaekr/rb1`
  - `ryanbaekr/rb18`
  - `ryanbaekr/rb69`
  - `ryanbaekr/rb86`
  - `ryanbaekr/rb87`
  - `ryanskidmore/rskeys100`
  - `ryloo_studio/m0110`
2024-05-23 20:30:25 +01:00
James Young
013b51a904 Migrate LOCKING_*_ENABLE to Data-Driven: W, Part 1 (#23788)
Affects:

  - `waldo`
  - `walletburner/cajal`
  - `walletburner/neuron`
  - `wavtype/foundation`
  - `wavtype/p01_ultra`
  - `weirdo/geminate60`
  - `weirdo/kelowna/rgb64`
  - `weirdo/ls_60`
  - `weirdo/naiping/np64`
  - `weirdo/naiping/nphhkb`
  - `weirdo/naiping/npminila`
  - `weirdo/tiger910`
  - `wekey/polaris`
  - `westfoxtrot/aanzee`
  - `westfoxtrot/cyclops`
  - `westfoxtrot/cypher/rev1`
  - `westfoxtrot/cypher/rev5`
  - `westfoxtrot/prophet`
  - `westm/westm9`
  - `westm/westm68`
2024-05-23 19:55:38 +01:00
James Young
c4e182b98e Migrate LOCKING_*_ENABLE to Data-Driven: P, Part 2 (#23780)
Affects:

  - `preonic/rev1`
  - `preonic/rev2`
  - `preonic/rev3`
  - `preonic/rev3_drop`
  - `primekb/meridian/ktr1010`
  - `primekb/meridian/ws2812`
  - `primekb/meridian_rgb`
  - `primekb/prime_m`
  - `primekb/prime_o`
  - `primekb/prime_r`
  - `projectcain/relic`
  - `projectcain/vault45`
  - `projectd/65/projectd_65_ansi`
  - `projectd/75/ansi`
  - `projectkb/alice/rev1`
  - `projectkb/alice/rev2`
  - `projectkb/signature65`
  - `projectkb/signature87`
  - `prototypist/allison`
  - `prototypist/allison_numpad`
  - `prototypist/j01`
  - `psuieee/pluto12`
  - `pteron36`
  - `puck`
  - `punk75`
2024-05-23 19:49:53 +01:00
James Young
bfa05cc5e7 Migrate LOCKING_*_ENABLE to Data-Driven: P, Part 1 (#23779)
Affects:

  - `p3d/eu_isolation`
  - `p3d/glitch`
  - `p3d/q4z`
  - `p3d/synapse`
  - `p3d/tw40`
  - `panc40`
  - `papercranekeyboards/gerald65`
  - `parallel/parallel_65/hotswap`
  - `parallel/parallel_65/soldered`
  - `pdxkbc`
  - `pearlboards/atlas`
  - `pearlboards/pandora`
  - `pearlboards/pearl`
  - `pearlboards/zeus`
  - `pearlboards/zeuspad`
  - `pegasus`
  - `phantom`
  - `phoenix`
  - `picolab/frusta_fundamental`
  - `pimentoso/paddino02/rev1`
  - `pimentoso/paddino02/rev2/left`
  - `pimentoso/paddino02/rev2/right`
  - `pisces`
  - `pizzakeyboards/pizza65`
  - `pkb65`
  - `planck`
  - `playkbtw/ca66`
  - `playkbtw/pk60`
  - `playkbtw/pk64rgb`
  - `pluckey`
  - `plume/plume65`
  - `plywrks/ahgase`
  - `plywrks/lune`
  - `pohjolaworks/louhi`
  - `polycarbdiet/s20`
  - `pom_keyboards/tnln95`
  - `portal_66/hotswap`
  - `portal_66/soldered`
  - `pos78`
2024-05-23 19:49:48 +01:00
James Young
f37f27f02a Migrate LOCKING_*_ENABLE to Data-Driven: O (#23778)
Affects:

  - `oddball`
  - `oddforge/vea`
  - `ok60`
  - `om60`
  - `omkbd/ergodash/mini`
  - `omkbd/ergodash/rev1`
  - `omkbd/runner3680/3x6`
  - `omkbd/runner3680/3x7`
  - `omkbd/runner3680/3x8`
  - `omkbd/runner3680/4x6`
  - `omkbd/runner3680/4x7`
  - `omkbd/runner3680/4x8`
  - `omkbd/runner3680/5x6`
  - `omkbd/runner3680/5x6_5x8`
  - `omkbd/runner3680/5x7`
  - `omkbd/runner3680/5x8`
  - `omnikeyish`
  - `orange75`
  - `org60`
  - `ortho5by12`
  - `orthocode`
2024-05-23 19:49:30 +01:00
James Young
912124f71c Migrate LOCKING_*_ENABLE to Data-Driven: T (#23785)
Affects:

  - `takashicompany/center_enter`
  - `takashicompany/endzone34`
  - `takashicompany/qoolee`
  - `takashicompany/radialex`
  - `takashiski/namecard2x4/rev1`
  - `takashiski/namecard2x4/rev2`
  - `takashiski/otaku_split/rev0`
  - `takashiski/otaku_split/rev1`
  - `taleguers/taleguers75`
  - `tanuki`
  - `team0110/p1800fl`
  - `technika`
  - `tenki`
  - `tetris`
  - `tg4x`
  - `the_royal/liminal`
  - `the_royal/schwann`
  - `thevankeyboards/bananasplit`
  - `thevankeyboards/caravan`
  - `thevankeyboards/jetvan`
  - `thevankeyboards/minivan`
  - `thevankeyboards/roadkit`
  - `tkc/california`
  - `tkc/m0lly`
  - `tkc/tkc1800`
  - `tkc/tkl_ab87`
  - `tkw/stoutgat/v2`
  - `tmo50`
  - `toad`
  - `toffee_studio/blueberry`
  - `tokyokeyboard/alix40`
  - `tokyokeyboard/tokyo60`
  - `tominabox1/adalyn`
  - `tominabox1/le_chiffre`
  - `tominabox1/qaz`
  - `tr60w`
  - `treasure/type9`
  - `tszaboo/ortho4exent`
2024-05-23 19:48:32 +01:00
James Young
04bf30aad8 Migrate LOCKING_*_ENABLE to Data-Driven: U-V (#23786)
Affects:

  - `uk78`
  - `ungodly/nines`
  - `unikeyboard/diverge3`
  - `unikeyboard/divergetm2`
  - `unikeyboard/felix`
  - `uranuma`
  - `utd80`
  - `v60_type_r`
  - `vagrant_10`
  - `viendi8l`
  - `viktus/at101_bh`
  - `viktus/omnikey_bh`
  - `viktus/smolka`
  - `viktus/sp111`
  - `viktus/styrka`
  - `viktus/z150_bh`
  - `vitamins_included/rev1`
2024-05-23 19:40:41 +01:00
Ryan
e659c3dae9 Remove some useless code from keymaps (#23787) 2024-05-23 19:21:39 +01:00
James Young
2e0498080f Migrate LOCKING_*_ENABLE to Data-Driven: K, Part 2 (#23769)
Affects:

  - `keebio/bamfk4`
  - `keebio/bdn9/rev1`
  - `keebio/bdn9/rev2`
  - `keebio/bfo9000`
  - `keebio/bigswitchseat`
  - `keebio/choconum`
  - `keebio/dilly`
  - `keebio/dsp40/rev1`
  - `keebio/ergodicity`
  - `keebio/foldkb/rev1`
  - `keebio/fourier`
  - `keebio/iris/rev1`
  - `keebio/iris/rev1_led`
  - `keebio/iris/rev2`
  - `keebio/iris/rev3`
  - `keebio/iris/rev4`
  - `keebio/kbo5000/rev1`
  - `keebio/levinson/rev1`
  - `keebio/levinson/rev2`
  - `keebio/levinson/rev3`
  - `keebio/nyquist/rev1`
  - `keebio/nyquist/rev2`
  - `keebio/nyquist/rev3`
  - `keebio/quefrency/rev1`
  - `keebio/quefrency/rev4`
  - `keebio/quefrency/rev5`
  - `keebio/rorschach/rev1`
  - `keebio/sinc/rev1`
  - `keebio/sinc/rev2`
  - `keebio/tragicforce68`
  - `keebio/tukey`
  - `keebio/viterbi/rev1`
  - `keebio/viterbi/rev2`
  - `keebio/wavelet`
  - `keebio/wtf60`
  - `keebsforall/coarse60`
  - `keebsforall/freebirdnp/lite`
  - `keebsforall/freebirdnp/pro`
  - `keebsforall/freebirdtkl`
  - `keebwerk/nano_slider`
  - `keebzdotnet/fme`
  - `keebzdotnet/wazowski`
  - `keyboardio/atreus`
  - `keycapsss/kimiko/rev1`
  - `keycapsss/o4l_5x12`
  - `keygem/kg60ansi`
  - `keygem/kg65rgbv2`
  - `keyhive/absinthe`
  - `keyhive/ergosaurus`
  - `keyhive/lattice60`
  - `keyhive/maypad`
  - `keyhive/navi10/rev0`
  - `keyhive/navi10/rev2`
  - `keyhive/navi10/rev3`
  - `keyhive/opus`
  - `keyhive/southpole`
  - `keyhive/ut472`
  - `keyprez/bison`
  - `keyprez/corgi`
  - `keyprez/rhino`
  - `keyprez/unicorn`
  - `keysofkings/twokey`
  - `keystonecaps/gameroyadvance`
2024-05-22 22:14:00 +01:00
James Young
030d503d35 Migrate LOCKING_*_ENABLE to Data-Driven: K, Part 3 (#23770)
Affects:

  - `kindakeyboards/conone65`
  - `kinesis`
  - `kingly_keys/ave/ortho`
  - `kingly_keys/ave/staggered`
  - `kingly_keys/little_foot`
  - `kingly_keys/romac`
  - `kingly_keys/romac_plus`
  - `kingly_keys/ropro`
  - `kingly_keys/smd_milk`
  - `kingly_keys/soap`
  - `kira/kira75`
  - `kisakeyluxury/qtz`
  - `kiserdesigns/madeline`
  - `kiwikeebs/macro`
  - `kiwikeebs/macro_v2`
  - `kiwikey/borderland`
  - `kiwikey/kawii9`
  - `kiwikey/wanderland`
  - `kkatano/bakeneko60`
  - `kkatano/bakeneko65/rev2`
  - `kkatano/bakeneko65/rev3`
  - `kkatano/bakeneko80`
  - `kkatano/wallaby`
  - `kkatano/yurei`
  - `knops/mini`
  - `kona_classic`
  - `kopibeng/mnk60_stm32`
  - `kopibeng/mnk65`
  - `kopibeng/mnk65_stm32`
  - `kopibeng/mnk88`
  - `kopibeng/typ65`
  - `kopibeng/xt60`
  - `kopibeng/xt60_singa`
  - `kopibeng/xt65`
  - `kopibeng/xt8x`
  - `kprepublic/bm16s`
  - `kprepublic/bm40hsrgb/rev1`
  - `kprepublic/bm65hsrgb/rev1`
  - `kprepublic/bm68hsrgb/rev1`
  - `kprepublic/bm980hsrgb`
  - `kprepublic/cospad`
  - `ktec/daisy`
  - `kumaokobo/kudox/columner`
  - `kumaokobo/kudox/rev1`
  - `kumaokobo/kudox/rev2`
  - `kumaokobo/kudox/rev3`
  - `kumaokobo/kudox_full/rev1`
  - `kumaokobo/kudox_game/rev1`
  - `kumaokobo/kudox_game/rev2`
  - `kumaokobo/pico/65keys`
  - `kumaokobo/pico/70keys`
  - `kv/revt`
  - `kwub/bloop`
  - `ky01`
2024-05-22 21:59:35 +01:00
James Young
199f01cc57 Migrate LOCKING_*_ENABLE to Data-Driven: M, Part 1 (#23772)
Affects:

  - `m10a`
  - `machine_industries/m4_a`
  - `magic_force/mf34`
  - `majistic`
  - `makenova/omega/omega4`
  - `makrosu`
  - `manta60`
  - `maple_computing/christmas_tree/v2017`
  - `maple_computing/ivy/rev1`
  - `maple_computing/launchpad/rev1`
  - `maple_computing/minidox/rev1`
  - `maple_computing/the_ruler`
  - `marksard/leftover30`
  - `marksard/treadstone48/rev1`
  - `marksard/treadstone48/rev2`
  - `masterworks/classy_tkl/rev_a`
  - `maxipad`
  - `maxr1998/phoebe`
  - `mc_76k`
  - `mechkeys/acr60`
  - `mechkeys/alu84`
  - `mechkeys/espectro`
  - `mechkeys/mechmini/v2`
  - `mechkeys/mk60`
  - `mechlovin/hannah910/rev1`
  - `mechlovin/hannah910/rev2`
  - `mechlovin/hannah910/rev3`
  - `mechlovin/jay60`
  - `mechlovin/tmkl`
  - `mechwild/bde/lefty`
  - `mechwild/bde/rev2`
  - `mechwild/bde/righty`
  - `mechwild/mercutio`
  - `mechwild/mokulua/mirrored`
  - `mechwild/mokulua/standard`
  - `mechwild/murphpad`
  - `mechwild/obe`
  - `mechwild/puckbuddy`
  - `meletrix/zoom98`
  - `melgeek/mj6xy/rev3`
  - `meme`
  - `meow65`
  - `mesa/mesa_tkl`
  - `meson`
  - `mikeneko65`
  - `millipad`
  - `mini_elixivy`
  - `mini_ten_key_plus`
  - `minimon/index_tab`
  - `mint60`
  - `misonoworks/karina`
  - `miuni32`
  - `mixi`
2024-05-22 21:49:15 +01:00
James Young
7baaac9531 Migrate LOCKING_*_ENABLE to Data-Driven: K, Part 1 (#23768)
Affects:

  - `kabedon/kabedon98e`
  - `kagizaraya/chidori`
  - `kagizaraya/halberd`
  - `kagizaraya/miniaxe`
  - `kagizaraya/scythe`
  - `kakunpc/angel17/alpha`
  - `kakunpc/angel17/rev1`
  - `kakunpc/angel64/alpha`
  - `kakunpc/angel64/rev1`
  - `kakunpc/business_card/alpha`
  - `kakunpc/business_card/beta`
  - `kakunpc/choc_taro`
  - `kakunpc/rabbit_capture_plan`
  - `kakunpc/suihankey/alpha`
  - `kakunpc/suihankey/rev1`
  - `kakunpc/suihankey/split/alpha`
  - `kakunpc/suihankey/split/rev1`
  - `kakunpc/thedogkeyboard`
  - `kapcave/arya`
  - `kapcave/gskt00`
  - `kapcave/paladin64`
  - `kapl/rev1`
  - `kb58`
  - `kb_elmo/aek2_usb`
  - `kb_elmo/m0110a_usb`
  - `kb_elmo/m0116_usb`
  - `kbdclack/kaishi65`
  - `kbdfans/bella/soldered`
  - `kbdfans/bounce/pad`
  - `kbdfans/jm60`
  - `kbdfans/kbd19x`
  - `kbdfans/kbd4x`
  - `kbdfans/kbd66`
  - `kbdfans/kbd67/hotswap`
  - `kbdfans/kbd67/mkii_soldered`
  - `kbdfans/kbd6x`
  - `kbdfans/kbd75/rev1`
  - `kbdfans/kbd75/rev2`
  - `kbdfans/kbd8x`
  - `kbdfans/kbd8x_mk2`
  - `kbdfans/kbdpad/mk2`
  - `kbdfans/maja_soldered`
  - `kbdfans/niu_mini`
  - `kbdfans/phaseone`
  - `kbdmania/kmac`
  - `kbdmania/kmac_pad`
  - `kc60`
2024-05-22 21:41:34 +01:00
James Young
efe0d96845 Migrate LOCKING_*_ENABLE to Data-Driven: N (#23774)
Affects:

  - `nacly/sodium42`
  - `nacly/sodium50`
  - `nacly/sodium62`
  - `nacly/splitreus62`
  - `nacly/ua62`
  - `nek_type_a`
  - `nemui`
  - `nibiria/stream15`
  - `nightingale_studios/hailey`
  - `nightly_boards/adellein`
  - `nightly_boards/alter/rev1`
  - `nightly_boards/alter_lite`
  - `nightly_boards/conde60`
  - `nightly_boards/daily60`
  - `nightly_boards/jisoo`
  - `nightly_boards/n2`
  - `nightly_boards/n40_o`
  - `nightly_boards/n60_s`
  - `nightly_boards/n87`
  - `nightly_boards/n9`
  - `nightly_boards/octopad`
  - `nightly_boards/octopadplus`
  - `nightly_boards/paraluman`
  - `nightly_boards/ph_arisu`
  - `nightmare`
  - `nimrod`
  - `nix_studio/oxalys80`
  - `nopunin10did/jabberwocky/v1`
  - `nopunin10did/jabberwocky/v2`
  - `nopunin10did/railroad/rev0`
  - `novelkeys/novelpad`
  - `noxary/220`
  - `noxary/260`
  - `noxary/268`
  - `noxary/268_2`
  - `noxary/268_2_rgb`
  - `noxary/280`
  - `noxary/378`
  - `noxary/valhalla`
  - `noxary/vulcan`
  - `noxary/x268`
  - `numatreus`
2024-05-22 20:41:29 +01:00
James Young
16d2db5048 Migrate LOCKING_*_ENABLE to Data-Driven: I-J (#23767)
Affects:

  - `ianklug/grooveboard`
  - `ibm/model_m/modelh`
  - `ibm/model_m_122/ibm122m`
  - `ibnuda/gurindam`
  - `idb/idb_60`
  - `idobao/id75/v1`
  - `idobao/id75/v2`
  - `idobao/id96`
  - `idobao/montex/v1`
  - `illuminati/is0`
  - `illusion/rosa`
  - `ilumkb/primus75`
  - `ilumkb/volcano660`
  - `inland/kb83`
  - `input_club/ergodox_infinity`
  - `irene`
  - `iriskeyboards`
  - `iron180`
  - `jacky_studio/bear_65/rev1`
  - `jacky_studio/bear_65/rev2`
  - `jacky_studio/s7_elephant/rev1`
  - `jacky_studio/s7_elephant/rev2`
  - `jadookb/jkb65`
  - `jae/j01`
  - `jagdpietr/drakon`
  - `jd40`
  - `jd45`
  - `jels/boaty`
  - `jels/jels60/v1`
  - `jels/jels60/v2`
  - `jels/jels88`
  - `jolofsor/denial75`
  - `jorne/rev1`
  - `joshajohnson/hub16`
  - `joshajohnson/hub20`
  - `jukaie/jk01`
2024-05-22 19:06:09 +01:00
James Young
071434c04f Migrate LOCKING_*_ENABLE to Data-Driven: L (#23771)
Affects:

  - `labbe/labbeminiv1`
  - `labyrinth75`
  - `laneware/lpad`
  - `laneware/lw67`
  - `laneware/lw75`
  - `laneware/macro1`
  - `laneware/raindrop`
  - `laser_ninja/pumpkinpad`
  - `latincompass/latin47ble`
  - `lazydesigners/dimple/ortho`
  - `lazydesigners/dimple/staggered/rev1`
  - `lazydesigners/dimple/staggered/rev2`
  - `lazydesigners/dimple/staggered/rev3`
  - `lazydesigners/dimple`
  - `lazydesigners/the50`
  - `lazydesigners/the60/rev1`
  - `lets_split/rev1`
  - `lets_split/rev2`
  - `lfkeyboards/lfk65_hs`
  - `lfkeyboards/lfk78/revb`
  - `lfkeyboards/lfk78/revc`
  - `lfkeyboards/lfk78/revj`
  - `lfkeyboards/lfk87/reva`
  - `lfkeyboards/lfk87/revc`
  - `lfkeyboards/lfkpad`
  - `lfkeyboards/mini1800/reva`
  - `lfkeyboards/mini1800/revc`
  - `lfkeyboards/smk65/revb`
  - `lfkeyboards/smk65/revf`
  - `linworks/fave60`
  - `lizard_trick/tenkey_plusplus`
  - `lm_keyboard/lm60n`
  - `lucid/alexa`
  - `lucid/alexa_solder`
  - `lucid/kbd8x_hs`
  - `lucid/phantom_hs`
  - `lucid/phantom_solder`
  - `lucid/scarlet`
  - `lyso1/lck75`
  - `lyso1/lefishe`
2024-05-22 11:17:43 +01:00
James Young
495e83b30f Migrate LOCKING_*_ENABLE to Data-Driven: M, Part 2 (#23773)
Affects:

  - `mkh_studio/bully`
  - `mlego/m48/rev1`
  - `mlego/m60/rev1`
  - `mlego/m60_split/rev1`
  - `mlego/m60_split/rev2`
  - `mntre`
  - `mode/m65ha_alpha`
  - `mode/m65hi_alpha`
  - `mode/m65s`
  - `mode/m80v1/m80h`
  - `mode/m80v1/m80s`
  - `mode/m80v2/m80v2h`
  - `mode/m80v2/m80v2s`
  - `molecule`
  - `momoka_ergo`
  - `monarch`
  - `monsgeek/m1`
  - `monsgeek/m3`
  - `monsgeek/m5`
  - `monsgeek/m6`
  - `monstargear/xo87/rgb`
  - `monstargear/xo87/solderable`
  - `montsinger/rebound/rev1`
  - `montsinger/rebound/rev2`
  - `montsinger/rebound/rev3`
  - `montsinger/rebound/rev4`
  - `montsinger/rewind`
  - `moon`
  - `morizon`
  - `mountainblocks/mb17`
  - `mt/blocked65`
  - `mt/mt64rgb`
  - `mt/mt980`
  - `mtbkeys/mtb60/hotswap`
  - `mtbkeys/mtb60/solder`
  - `murcielago/rev1`
  - `mxss`
  - `mysticworks/wyvern`
2024-05-22 11:13:39 +01:00
James Young
d1547320a0 Migrate LOCKING_*_ENABLE to Data-Driven: H, Part 2 (#23762)
Affects:

  - `handwired/108key_trackpoint`
  - `handwired/2x5keypad`
  - `handwired/3dp660`
  - `handwired/412_64`
  - `handwired/42`
  - `handwired/amigopunk`
  - `handwired/aranck`
  - `handwired/atreus50`
  - `handwired/axon`
  - `handwired/battleship_gamepad`
  - `handwired/bdn9_ble`
  - `handwired/bento/rev1`
  - `handwired/bolek`
  - `handwired/brain`
  - `handwired/bstk100`
  - `handwired/cans12er`
  - `handwired/chiron`
  - `handwired/ck4x4`
  - `handwired/cmd60`
  - `handwired/co60/rev6`
  - `handwired/co60/rev7`
  - `handwired/colorlice`
  - `handwired/curiosity`
  - `handwired/dactyl_left`
  - `handwired/dactyl_manuform/4x5`
  - `handwired/dactyl_manuform/4x5_5`
  - `handwired/dactyl_manuform/4x6`
  - `handwired/dactyl_manuform/4x6_4_3`
  - `handwired/dactyl_manuform/4x6_5`
  - `handwired/dactyl_manuform/5x6`
  - `handwired/dactyl_manuform/5x6_2_5`
  - `handwired/dactyl_manuform/5x6_5`
  - `handwired/dactyl_manuform/5x6_6`
  - `handwired/dactyl_manuform/5x6_68`
  - `handwired/dactyl_manuform/5x7`
  - `handwired/dactyl_manuform/6x6/blackpill_f411`
  - `handwired/dactyl_manuform/6x6/promicro`
  - `handwired/dactyl_manuform/6x6_4`
  - `handwired/dactyl_manuform/6x7`
  - `handwired/dactyl_promicro`
  - `handwired/dactyl_rah`
  - `handwired/datahand`
  - `handwired/evk/v1_3`
  - `handwired/fc200rt_qmk`
  - `handwired/fivethirteen`
  - `handwired/floorboard`
  - `handwired/fruity60`
  - `handwired/gamenum`
  - `handwired/hacked_motospeed`
  - `handwired/heisenberg`
  - `handwired/hnah40`
2024-05-22 10:53:40 +01:00
QMK Bot
ac2e19b4d6 Merge remote-tracking branch 'origin/master' into develop 2024-05-22 02:50:16 +00:00
Jerome Berclaz
7620c64b99 Added MATRIX_HAS_GHOST definition for IBM Model H controller (#23744) 2024-05-21 19:49:49 -07:00
QMK Bot
37b1898488 Merge remote-tracking branch 'origin/master' into develop 2024-05-21 23:04:47 +00:00
Dasky
3d0f4fa692 Fix font artefact on Reverb keyboard. (#23761) 2024-05-22 00:04:18 +01:00
James Young
a1c1427594 Migrate LOCKING_*_ENABLE to Data-Driven: H, Part 3 (#23763)
Affects:

  - `handwired/jn68m`
  - `handwired/jopr`
  - `handwired/jot50`
  - `handwired/jotanck`
  - `handwired/jotpad16`
  - `handwired/jtallbean/split_65`
  - `handwired/juliet`
  - `handwired/k_numpad17`
  - `handwired/kbod`
  - `handwired/ks63`
  - `handwired/leftynumpad`
  - `handwired/lemonpad`
  - `handwired/m40/5x5_macropad`
  - `handwired/macroboard/f401`
  - `handwired/macroboard/f411`
  - `handwired/magicforce61`
  - `handwired/magicforce68`
  - `handwired/mechboards_micropad`
  - `handwired/minorca`
  - `handwired/mutepad`
  - `handwired/nicekey`
  - `handwired/nortontechpad`
  - `handwired/not_so_minidox`
  - `handwired/novem`
  - `handwired/nozbe_macro`
  - `handwired/numpad20`
  - `handwired/obuwunkunubi/spaget`
  - `handwired/oem_ansi_fullsize`
  - `handwired/onekey`
  - `handwired/ortho5x13`
  - `handwired/ortho5x14`
  - `handwired/p65rgb`
  - `handwired/pilcrow`
  - `handwired/polly40`
  - `handwired/postageboard/mini`
  - `handwired/postageboard/r1`
  - `handwired/prime_exl`
  - `handwired/prime_exl_plus`
2024-05-22 00:03:56 +01:00
James Young
89b9a39614 Migrate LOCKING_*_ENABLE to Data-Driven: H, Part 4 (#23764)
Affects:

  - `handwired/reclined`
  - `handwired/retro_refit`
  - `handwired/selene`
  - `handwired/sick68`
  - `handwired/sick_pad`
  - `handwired/skakunm_dactyl`
  - `handwired/slash`
  - `handwired/snatchpad`
  - `handwired/sono1`
  - `handwired/space_oddity`
  - `handwired/split89`
  - `handwired/split_cloud`
  - `handwired/steamvan/rev1`
  - `handwired/sticc14`
  - `handwired/stream_cheap/2x3`
  - `handwired/stream_cheap/2x4`
  - `handwired/stream_cheap/2x5`
  - `handwired/symmetric70_proto/promicro`
  - `handwired/symmetric70_proto/proton_c`
  - `handwired/symmetry60`
  - `handwired/tennie`
  - `handwired/terminus_mini`
  - `handwired/trackpoint`
  - `handwired/tritium_numpad`
  - `handwired/twadlee/tp69`
  - `handwired/unk/rev1`
  - `handwired/uthol/rev3`
  - `handwired/videowriter`
  - `handwired/wabi`
  - `handwired/woodpad`
2024-05-21 23:57:59 +01:00
James Young
0a84bf8b57 Migrate LOCKING_*_ENABLE to Data-Driven: F (#23757)
Affects:

  - `fallacy`
  - `ffkeebs/puca`
  - `fjlabs/7vhotswap`
  - `fjlabs/ad65`
  - `fjlabs/avalon`
  - `fjlabs/bks65`
  - `fjlabs/bks65solder`
  - `fjlabs/bolsa65`
  - `fjlabs/kf87`
  - `fjlabs/kyuu`
  - `fjlabs/ldk65`
  - `fjlabs/midway60`
  - `fjlabs/mk61rgbansi`
  - `fjlabs/peaker`
  - `fjlabs/polaris`
  - `fjlabs/ready100`
  - `fjlabs/sinanju`
  - `fjlabs/sinanjuwk`
  - `fjlabs/solanis`
  - `fjlabs/swordfish`
  - `fjlabs/tf60ansi`
  - `fjlabs/tf60v2`
  - `fjlabs/tf65rgbv2`
  - `flehrad/downbubble`
  - `flehrad/numbrero`
  - `flehrad/snagpad`
  - `flehrad/tradestation`
  - `fleuron`
  - `fluorite`
  - `flx/lodestone`
  - `flxlb/zplit`
  - `foostan/cornelius`
  - `forever65`
  - `fortitude60/rev1`
  - `foxlab/key65/hotswap`
  - `foxlab/key65/universal`
  - `foxlab/leaf60/hotswap`
  - `foxlab/leaf60/universal`
  - `foxlab/time80`
  - `fr4/southpaw75`
  - `fractal`
  - `fungo/rev1`
  - `funky40`
2024-05-21 23:54:13 +01:00
Joel Challis
1c650aa55c Remove includes of config.h (#23760) 2024-05-21 13:38:30 +01:00
Joel Challis
3400908b08 Move VIA config to keymap level (#23754) 2024-05-21 13:25:28 +01:00
James Young
73f9fb91a3 Migrate LOCKING_*_ENABLE to Data-Driven: G (#23758)
Affects:

  - `gboards/ergotaco`
  - `gboards/georgi`
  - `gboards/gergo`
  - `geekboards/tester`
  - `geonworks/frogmini/fmh`
  - `geonworks/frogmini/fms`
  - `gh60/revc`
  - `gh60/satan`
  - `ghs/rar`
  - `gkeyboard/gkb_m16`
  - `gkeyboard/gpad8_2r`
  - `gl516/a52gl`
  - `gl516/j73gl`
  - `gl516/n51gl`
  - `gmmk/gmmk2/p65`
  - `gmmk/gmmk2/p96`
  - `gmmk/numpad`
  - `gmmk/pro`
  - `gon/nerd60`
  - `gon/nerdtkl`
  - `gray_studio/aero75`
  - `gray_studio/cod67`
  - `gray_studio/space65`
  - `gray_studio/space65r3`
  - `gray_studio/think65v3`
  - `grid600/press`
2024-05-21 13:04:53 +01:00
James Young
2b926774ca Migrate LOCKING_*_ENABLE to Data-Driven: H, Part 1 (#23759)
Affects:

  - `h0oni/deskpad`
  - `h0oni/hotduck`
  - `halfcliff`
  - `halokeys/elemental75`
  - `han60`
  - `hardlineworks/otd_plus`
  - `helix/rev3_4rows`
  - `helix/rev3_5rows`
  - `hfdkb/ac001`
  - `hidtech/bastyl`
  - `hineybush/h08_ocelot`
  - `hineybush/h10`
  - `hineybush/h60`
  - `hineybush/h65`
  - `hineybush/h65_hotswap`
  - `hineybush/h660s`
  - `hineybush/h75_singa`
  - `hineybush/h87a`
  - `hineybush/h88`
  - `hineybush/hbcp`
  - `hineybush/hineyg80`
  - `hineybush/physix`
  - `hineybush/sm68`
  - `hnahkb/freyr`
  - `hnahkb/stella`
  - `hnahkb/vn66`
  - `horizon`
  - `hotdox`
  - `hs60/v1`
2024-05-21 13:00:53 +01:00
QMK Bot
b699679037 Merge remote-tracking branch 'origin/master' into develop 2024-05-21 00:21:09 +00:00
eason
a8de554d22 Add Meow65 (#23427) 2024-05-21 01:16:55 +01:00
Duncan Sutherland
02af906de1 Add second encoder to matrix info of arrowmechanics/wings (#23390) 2024-05-21 00:49:14 +01:00
QMK Bot
a823422cac Merge remote-tracking branch 'origin/master' into develop 2024-05-20 23:48:55 +00:00
VertorWang
bf918a8f6c Add moky67 keyboard (#23118) 2024-05-21 00:48:26 +01:00
Michael Büchler
a850f7d695 Fix PS/2 Trackpoint mouse clicks (#22265) (#23694) 2024-05-21 00:36:48 +01:00
James Young
8ad2e30732 Migrate LOCKING_*_ENABLE to Data-Driven: A-C, Part 1 (#23745)
Affects:

  - `atreus`
  - `cablecardesigns/cypher/rev6`
  - `caffeinated/serpent65`
  - `cannonkeys/adelie`
  - `cannonkeys/aella`
  - `cannonkeys/an_c`
  - `cannonkeys/atlas`
  - `cannonkeys/atlas_alps`
  - `cannonkeys/balance`
  - `cannonkeys/brutalv2_65`
  - `cannonkeys/chimera65`
  - `cannonkeys/cloudline`
  - `cannonkeys/crin`
  - `cannonkeys/db60`
  - `cannonkeys/devastatingtkl`
  - `cannonkeys/gentoo`
  - `cannonkeys/gentoo_hs`
  - `cannonkeys/hoodrowg`
  - `cannonkeys/instant60`
  - `cannonkeys/instant65`
  - `cannonkeys/iron165`
  - `cannonkeys/malicious_ergo`
  - `cannonkeys/obliterated75`
  - `cannonkeys/onyx`
  - `cannonkeys/ortho48`
  - `cannonkeys/ortho60`
  - `cannonkeys/ortho75`
  - `cannonkeys/practice60`
  - `cannonkeys/practice65`
  - `cannonkeys/rekt1800`
  - `cannonkeys/ripple`
  - `cannonkeys/sagittarius`
  - `cannonkeys/satisfaction75`
  - `cannonkeys/savage65`
  - `cannonkeys/tmov2`
  - `cannonkeys/tsukuyomi`
  - `cannonkeys/vicious40`
  - `capsunlocked/cu24`
  - `capsunlocked/cu65`
  - `capsunlocked/cu7`
  - `capsunlocked/cu75`
  - `capsunlocked/cu80/v1`
2024-05-20 21:07:40 +01:00
QMK Bot
4852b04c20 Merge remote-tracking branch 'origin/master' into develop 2024-05-20 20:02:24 +00:00
dependabot[bot]
3029a23cfa Bump JamesIves/github-pages-deploy-action from 4.6.0 to 4.6.1 (#23752)
---
updated-dependencies:
- dependency-name: JamesIves/github-pages-deploy-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-20 21:01:20 +01:00
James Young
079ac7c166 Migrate LOCKING_*_ENABLE to Data-Driven: A-C, Part 2 (#23746)
Affects:

  - `chalice`
  - `charue/sunsetter_r2`
  - `checkerboards/axon40`
  - `checkerboards/candybar_ortho`
  - `checkerboards/g_idb60`
  - `checkerboards/nop60`
  - `checkerboards/phoenix45_ortho`
  - `checkerboards/plexus75`
  - `checkerboards/plexus75_he`
  - `checkerboards/pursuit40`
  - `checkerboards/quark`
  - `checkerboards/quark_lp`
  - `checkerboards/quark_plus`
  - `checkerboards/quark_squared`
  - `checkerboards/snop60`
  - `checkerboards/ud40_ortho_alt`
  - `cheshire/curiosity`
  - `chickenman/ciel`
  - `chlx/merro60`
  - `chlx/str_merro60`
  - `chosfox/cf81`
  - `citrus/erdnuss65`
  - `ckeys/handwire_101`
  - `ckeys/nakey`
  - `ckeys/obelus`
  - `ckeys/thedora`
  - `ckeys/washington`
  - `clueboard/2x1800/2018`
  - `clueboard/2x1800/2021`
2024-05-20 21:00:35 +01:00
James Young
b7b4ffc449 Migrate LOCKING_*_ENABLE to Data-Driven: A-C, Part 3 (#23747)
Affects:

  - `ck60i`
  - `coarse/cordillera`
  - `contender`
  - `converter/a1200/mistress1200`
  - `converter/adb_usb`
  - `converter/m0110_usb`
  - `converter/siemens_tastatur`
  - `cool836a`
  - `copenhagen_click/click_pad_v1`
  - `coseyfannitutti/discipad`
  - `coseyfannitutti/discipline`
  - `coseyfannitutti/mysterium`
  - `coseyfannitutti/romeo`
  - `cozykeys/bloomer`
  - `cozykeys/speedo/v2`
  - `cozykeys/speedo/v3`
  - `craftwalk`
  - `crawlpad`
  - `crazy_keyboard_68`
  - `crbn`
  - `creatkeebs/glacier`
  - `crimsonkeyboards/resume1800`
  - `crin`
  - `cutie_club/borsdorf`
  - `cutie_club/fidelity`
  - `cutie_club/giant_macro_pad`
  - `cutie_club/keebcats/denis`
  - `cutie_club/keebcats/dougal`
  - `cutie_club/novus`
  - `cutie_club/wraith`
2024-05-20 20:55:19 +01:00
James Young
bf42707eed Migrate LOCKING_*_ENABLE to Data-Driven: E (#23751)
Affects:

  - `e88`
  - `ealdin/quadrant`
  - `earth_rover`
  - `eco`
  - `edc40`
  - `edi/standaside`
  - `eek`
  - `ein_60`
  - `eniigmakeyboards/ek65`
  - `eniigmakeyboards/ek87`
  - `ep/96`
  - `ep/comsn/hs68`
  - `ep/comsn/mollydooker`
  - `ep/comsn/tf_longeboye`
  - `ergodox_ez`
  - `ergotravel/rev1`
  - `eternal_keypad`
  - `evil80`
  - `evolv`
  - `evyd13/atom47/rev2`
  - `evyd13/atom47/rev5`
  - `evyd13/eon65`
  - `evyd13/eon75`
  - `evyd13/eon87`
  - `evyd13/eon95`
  - `evyd13/gh80_1800`
  - `evyd13/gh80_3700`
  - `evyd13/minitomic`
  - `evyd13/mx5160`
  - `evyd13/nt750`
  - `evyd13/nt980`
  - `evyd13/omrontkl`
  - `evyd13/quackfire`
  - `evyd13/solheim68`
  - `evyd13/ta65`
  - `evyd13/wasdat_code`
  - `exclusive/e65`
  - `exclusive/e7v1`
  - `exclusive/e7v1se`
  - `exclusive/e85/hotswap`
  - `exclusive/e85/soldered`
2024-05-20 20:40:23 +01:00
James Young
03f0d68342 Migrate LOCKING_*_ENABLE to Data-Driven: D, Part 2 (#23750)
Affects:

  - `do60`
  - `doio/kb30`
  - `donutcables/scrabblepad`
  - `doppelganger`
  - `doro67/rgb`
  - `dotmod/dymium65`
  - `draytronics/daisy`
  - `draytronics/elise`
  - `draytronics/elise_v2`
  - `drewkeys/iskar`
  - `drhigsby/bkf`
  - `drhigsby/dubba175`
  - `drhigsby/ogurec`
  - `drhigsby/packrat`
  - `dtisaac/cg108`
  - `dumbo`
  - `dz60`
  - `dztech/bocc`
  - `dztech/duo_s`
2024-05-20 20:34:57 +01:00
James Young
4d31c51725 Migrate LOCKING_*_ENABLE to Data-Driven: D, Part 1 (#23749)
Affects:

  - `dailycraft/owl8`
  - `dailycraft/sandbox/rev1`
  - `dailycraft/sandbox/rev2`
  - `dailycraft/stickey4`
  - `dailycraft/wings42/rev1`
  - `dailycraft/wings42/rev1_extkeys`
  - `dailycraft/wings42/rev2`
  - `daji/seis_cinco`
  - `dark/magnum_ergo_1`
  - `darkproject/kd83a_bfg_edition`
  - `darkproject/kd87a_bfg_edition`
  - `dc01/arrow`
  - `dc01/left`
  - `dc01/numpad`
  - `dc01/right`
  - `dcpedit/redherring`
  - `delikeeb/flatbread60`
  - `delikeeb/vaguettelite`
  - `delikeeb/vanana/rev1`
  - `delikeeb/vanana/rev2`
  - `delikeeb/vaneela`
  - `delikeeb/vaneelaex`
  - `delikeeb/waaffle/rev3/elite_c`
  - `delikeeb/waaffle/rev3/pro_micro`
  - `deltapad`
  - `deltasplit75/v2`
  - `dk60`
  - `dm9records/lain`
  - `dm9records/plaid`
  - `dm9records/tartan`
  - `dmqdesign/spin`
2024-05-20 20:31:42 +01:00
Ryan
5fda349018 Remove RGB keycodes from boards with no RGB config (#23709) 2024-05-20 17:11:49 +10:00
Vertex-kb
48c0b60141 KB name change to Part.1-75-HS (#23403) 2024-05-18 22:36:45 -07:00
QMK Bot
dcd450645d Merge remote-tracking branch 'origin/master' into develop 2024-05-19 05:25:53 +00:00
gskygithub
2fd5631776 [Keyboard] Add Projectd 75 iso (#21942)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: gksygithub <106651989+gksygithub@users.noreply.github.com>
2024-05-18 22:25:19 -07:00
QMK Bot
e31f13ff09 Merge remote-tracking branch 'origin/master' into develop 2024-05-19 05:23:52 +00:00
Ryan
93023511ab macOS install script: remove brew upgrade --ignore-pinned (#23735) 2024-05-19 15:23:24 +10:00
QMK Bot
ec5d3ef052 Merge remote-tracking branch 'origin/master' into develop 2024-05-19 05:21:32 +00:00
blindassassin111
2420487e55 [Keyboard] Adding TX_Roundup_Pad PCB (#23526)
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2024-05-18 22:19:32 -07:00
QMK Bot
9ffe516c85 Merge remote-tracking branch 'origin/master' into develop 2024-05-19 04:52:25 +00:00
sotoba
eab07b8655 Add via support for craftwalk (#23658)
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
2024-05-18 21:51:52 -07:00
Coby Sher
5bb01794ee Add sleepy_craft_studios sleepy_keeb (#23659)
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2024-05-18 21:51:36 -07:00
QMK Bot
a76a6580f8 Merge remote-tracking branch 'origin/master' into develop 2024-05-19 04:44:03 +00:00
フィルターペーパー
dd56bee9e1 [Doc] Reference advance keycodes in combos (#23666) 2024-05-18 21:41:03 -07:00
Skyler Hawthorne
a29f665769 Insert delay between shifted chars in send_string_with_delay for AVR (#23673) 2024-05-18 21:37:33 -07:00
Shandon Anderson
e9e26c2b52 Add media key support to Riot Pad (#23719) 2024-05-18 21:15:59 +01:00
QMK Bot
8fac6224d5 Merge remote-tracking branch 'origin/master' into develop 2024-05-18 17:52:54 +00:00
c0ldbru
d0ac04a841 [Keyboard] Add h4ckb0ard (#23717)
* adds h4ckb0ard

* Update keyboards/rot13labs/h4ckb0ard/info.json

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

* Update keyboards/rot13labs/h4ckb0ard/info.json

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

* Update keyboards/rot13labs/h4ckb0ard/info.json

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

* Update info.json

updating flags to indicate backlighting

* Update info.json

reduces max brightness to 100

* Delete keyboards/rot13labs/h4ckb0ard/config.h

removes this since its not needed anymore

* Update keyboards/rot13labs/h4ckb0ard/info.json

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

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

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

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

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

---------

Co-authored-by: c0ldbru <c0ldbrusec@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: jack <0x6a73@protonmail.com>
2024-05-18 11:52:24 -06:00
QMK Bot
a32870ea1b Merge remote-tracking branch 'origin/master' into develop 2024-05-18 17:51:33 +00:00
Danny
8f2085421e [Keyboard] Add Irispad (#23724)
* Add Irispad

* Fix x positions for RGB LEDs

* Add encoder/bootmagic settings in info.json and run format-json

* Add missing info.json

* Fix README formatting
2024-05-18 11:51:02 -06:00
James Young
5469f30dfe Migrate LOCKING_*_ENABLE to Data-Driven: 0-9 (#23716)
Affects:

  - `0_sixty`
  - `1upkeyboards/pi40`
  - `1upkeyboards/pi50`
  - `40percentclub/gherkin`
  - `4pplet/perk60_iso/rev_a`
2024-05-17 23:55:29 +01:00
James Young
924147dfe4 Miscellaneous Data-Driven Keyboard Conversions (#23712)
Converts `rules.mk` entries to data-driven where applicable.

Affects:

  - `handwired/dygma/raise/ansi`
  - `handwired/dygma/raise/iso`
  - `handwired/symmetric70_proto/promicro`
  - `handwired/symmetric70_proto/proton_c`
  - `lazydesigners/dimple/ortho`
  - `lazydesigners/dimple/staggered/rev2`
  - `lazydesigners/dimple/staggered/rev3`
  - `sirius/uni660/rev2/ansi`
  - `sirius/uni660/rev2/iso`
2024-05-17 23:54:21 +01:00
Ryan
5c592ab0c0 Delete trivial keymap readmes (#23714) 2024-05-17 23:49:29 +01:00
QMK Bot
a871dab668 Merge remote-tracking branch 'origin/master' into develop 2024-05-17 22:00:13 +00:00
Dasky
47bc02b2ff Force CPI update using timer when using split pointing. (#23545) 2024-05-17 22:59:45 +01:00
QMK Bot
b1ed1c6082 Merge remote-tracking branch 'origin/master' into develop 2024-05-16 23:06:50 +00:00
Joel Challis
340be4bae3 Resolve home directory in userspace config (#23730) 2024-05-17 00:06:19 +01:00
Ryan
a9ba83c7be Remove useless LED/RGB_MATRIX_ENABLE ifdefs (#23726) 2024-05-16 12:52:15 +01:00
QMK Bot
38d6aa2674 Merge remote-tracking branch 'origin/master' into develop 2024-05-15 04:06:47 +00:00
Vertex-kb
eb5172f4b5 [Keyboard] Add cycle7 (#23290)
* Add files via upload

* Update keyboards/vertex/cycle7/readme.md

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

* Update keyboards/vertex/cycle7/mcuconf.h

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

* Update keyboards/vertex/cycle7/halconf.h

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

* Update keyboards/vertex/cycle7/info.json

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

* Update keyboards/vertex/cycle7/info.json

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

* Update keyboards/vertex/cycle7/info.json

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

* Update keyboards/vertex/cycle7/info.json

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

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

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

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

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

* Update keyboards/vertex/cycle7/config.h

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

* Add files via upload

* Update info.json

* Add files via upload

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

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

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

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

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

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

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

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

* Update keyboards/vertex/cycle7/info.json

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

* Update keyboards/vertex/cycle7/info.json

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

* Update keyboards/vertex/cycle7/info.json

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

---------

Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2024-05-14 22:06:17 -06:00
George Secillano
ef80077b68 Fix mapping of GUI/ALT for Win/Mac layers (#22662) 2024-05-15 12:24:27 +10:00
QMK Bot
f21dc7914f Merge remote-tracking branch 'origin/master' into develop 2024-05-15 01:31:45 +00:00
Nick Brassel
501f988666 [CLI] Fixup return code for qmk userspace-compile. (#23720) 2024-05-15 11:31:14 +10:00
QMK Bot
722dedc118 Merge remote-tracking branch 'origin/master' into develop 2024-05-13 18:21:16 +00:00
Cipulot
fcbbaf4485 Fix for RGB color override and brightness for EC Type K (#23703)
Fix for RGB color override and brightness
2024-05-13 12:20:47 -06:00
QMK Bot
cfe0709fc3 Merge remote-tracking branch 'origin/master' into develop 2024-05-13 17:16:21 +00:00
leep-frog
6d222b71c6 Add housekeeping execution to unit tests (#22999) 2024-05-13 18:15:52 +01:00
QMK Bot
7778e6dcb0 Merge remote-tracking branch 'origin/master' into develop 2024-05-13 09:33:58 +00:00
Vino Rodrigues
8c05254a68 [Bug][Keyboard] Fix encoder resolution issue with Binepad BNK9 (#23707) 2024-05-13 10:33:25 +01:00
Ryan
f9f67d4cb3 Change all RGB mode keycodes to short aliases (#23691) 2024-05-12 10:05:11 +10:00
QMK Bot
66eb5d0a90 Merge remote-tracking branch 'origin/master' into develop 2024-05-11 23:33:35 +00:00
フィルターペーパー
d09ea04fa1 [Doc] Revise squeezing AVR (#23665)
* Note AVR's flash space
* Include guards for magic functions
* Remove mention of silicon shortage
* Demote an unavailable controller
2024-05-12 00:33:01 +01:00
QMK Bot
f903c7a8cb Merge remote-tracking branch 'origin/master' into develop 2024-05-11 17:26:41 +00:00
Joel Challis
a8e9d4f207 Add embed to docs capabilities (#23698) 2024-05-12 03:26:11 +10:00
Ryan
1184e0d9be Adjust keycode alignment around QK_BOOT (#23697) 2024-05-11 16:50:48 +01:00
Joel Challis
2d4832f57a Align RGBKB keyboards to current standards (#23663) 2024-05-11 13:11:50 +01:00
QMK Bot
73f3f6e56d Merge remote-tracking branch 'origin/master' into develop 2024-05-11 09:03:46 +00:00
Ryan
af4a806e3f qmk find: Fix typo in filter logging (#23693) 2024-05-11 10:03:16 +01:00
Joel Challis
ef0734b7a6 Remove 'split.transport.protocol=serial_usart' (#23668) 2024-05-10 20:54:44 +10:00
Joel Challis
42a37577e1 Remove redundant keymap templates (#23685) 2024-05-09 12:06:21 +01:00
QMK Bot
c3b06efb1d Merge remote-tracking branch 'origin/master' into develop 2024-05-07 11:52:16 +00:00
Alexandr
16557f9975 add example for c2json command (#23061) 2024-05-07 12:51:46 +01:00
QMK Bot
a69bf7af04 Merge remote-tracking branch 'origin/master' into develop 2024-05-07 09:02:46 +00:00
Nick Brassel
69640365f8 [CI] Fail workflow if there were build failures (#23678)
More whack-a-mole
2024-05-07 10:02:16 +01:00
Ryan
224ff1d262 Normalise RGBLight (underglow) keycodes (#23656) 2024-05-07 18:36:50 +10:00
QMK Bot
18735599b4 Merge remote-tracking branch 'origin/master' into develop 2024-05-07 02:24:35 +00:00
Nick Brassel
a58906ceb3 [CI] Use existing repo variables instead (#23676) 2024-05-07 12:23:56 +10:00
QMK Bot
9227eaa185 Merge remote-tracking branch 'origin/master' into develop 2024-05-06 22:45:47 +00:00
Nick Brassel
02737307ff [CI] Allow secrets to propagate from parent to child workflow. (#23675) 2024-05-07 08:45:17 +10:00
QMK Bot
022979c4e0 Merge remote-tracking branch 'origin/master' into develop 2024-05-06 20:00:56 +00:00
dependabot[bot]
834d03b577 Bump geekyeggo/delete-artifact from 4 to 5 (#23674)
Bumps [geekyeggo/delete-artifact](https://github.com/geekyeggo/delete-artifact) from 4 to 5.
- [Release notes](https://github.com/geekyeggo/delete-artifact/releases)
- [Changelog](https://github.com/GeekyEggo/delete-artifact/blob/main/CHANGELOG.md)
- [Commits](https://github.com/geekyeggo/delete-artifact/compare/v4...v5)

---
updated-dependencies:
- dependency-name: geekyeggo/delete-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-06 21:00:27 +01:00
QMK Bot
4f7fb29b76 Merge remote-tracking branch 'origin/master' into develop 2024-05-06 07:25:25 +00:00
Nick Brassel
dca7c3f86f Reworked CI builds for master/develop. (#23182) 2024-05-06 08:24:53 +01:00
QMK Bot
33c80be940 Merge remote-tracking branch 'origin/master' into develop 2024-05-05 10:38:59 +00:00
Nick Brassel
7fc552632e Add page for capabilties used by docs site. (#23428) 2024-05-05 11:38:31 +01:00
Stefan Kerkmann
5daae4bee9 split_util: rename usbIsActive to usb_bus_detected (#23657)
split_util: rename usbIsActive to usb_bus_detected

This follows the style rules and better reflects the intent.

Signed-off-by: Stefan Kerkmann <karlk90@pm.me>
2024-05-05 08:17:22 +01:00
QMK Bot
8db8431d84 Merge remote-tracking branch 'origin/master' into develop 2024-05-05 01:39:01 +00:00
Alexei Robyn
e3e587fc74 Add support for Smart 68 keyboard (#23043) 2024-05-04 18:38:32 -07:00
Less/Rikki
5c90facf93 refactor: mechwild/bbs (#23373) 2024-05-04 18:36:08 -07:00
Joel Challis
5f9917856a Fix iris via keymap (#23652) 2024-05-04 10:59:41 +01:00
Ryan
b7d5a6c50b Add new set of keycodes for RGB Matrix (#23463) 2024-05-04 16:49:19 +10:00
Joel Challis
c8d1b6fefa xiudi/xd75 - Fix backlight compilation issues (#23655) 2024-05-04 13:44:43 +10:00
Joel Challis
4c2bdf7ab0 Migrate build target markers to keyboard.json - Misc (#23653) 2024-05-03 16:13:43 +01:00
Ryan
d09a06a1b3 Update GPIO API usage in keyboard code (#23361) 2024-05-03 15:21:29 +10:00
QMK Bot
5426a7a129 Merge remote-tracking branch 'origin/master' into develop 2024-05-03 05:11:58 +00:00
James Young
8075003e60 ZSA Voyager Layout Fix (#23651) 2024-05-03 06:11:23 +01:00
QMK Bot
d5598eb714 Merge remote-tracking branch 'origin/master' into develop 2024-05-03 04:08:11 +00:00
James Young
257319f9ff Tomak: Layout Data Correction (#23649)
Corrects the key size and positioning for position [8, 7] on all
layouts.
2024-05-03 05:07:43 +01:00
QMK Bot
b9834744d9 Merge remote-tracking branch 'origin/master' into develop 2024-05-03 00:43:03 +00:00
Andrew Kannan
e3fed98ecb [Keyboard] Add Petrichor Keyboard (#23413)
Co-authored-by: jack <0x6a73@protonmail.com>
2024-05-02 17:42:33 -07:00
QMK Bot
c3ad2e2daf Merge remote-tracking branch 'origin/master' into develop 2024-05-02 22:21:34 +00:00
yiancar
26d444c616 [Keyboard] NK Classic TKL (#23435)
* First commit

* Fix keycode range and color on indicator

* bit of cleanup

* prettify

* Update keyboards/novelkeys/nk_classic_tkl/keymaps/default/keymap.c

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

* Update keyboards/novelkeys/nk_classic_tkl/info.json

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

* Update keyboards/novelkeys/nk_classic_tkl/info.json

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

* readme fix

---------

Co-authored-by: yiancar <yiancar@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
2024-05-02 23:21:01 +01:00
Nick Brassel
ac80cee9da Merge remote-tracking branch 'upstream/master' into develop 2024-05-02 20:32:16 +10:00
Nick Brassel
9a4f39b738 clangd enhancements. (#23310) 2024-05-02 20:08:41 +10:00
James Young
29a4e5c50b N86: Layout Data Correction (#23644)
* Correct `LAYOUT_all` data

Corrects incorrect key sizes and positioning.

* Correct `LAYOUT_tkl_ansi_tsangan` data

Corrects incorrect matrix assignments on the bottom row.

* Correct `LAYOUT_tkl_ansi_tsangan_split_bs_rshift` data

Corrects incorrect matrix assignments on the bottom row.

* Set `LAYOUT_all` as an alias

Sets `LAYOUT_all` as an alias for
`LAYOUT_tkl_ansi_tsangan_split_bs_rshift`, because the layout and matrix
data for these two macros is identical.
2024-05-02 03:02:38 -07:00
Ryan
61c7c1f74c Convert some AVR GPIO operations to macros (#23424) 2024-05-02 10:48:49 +01:00
Duncan Sutherland
337776105d add 60_iso_arrow and arrow_split_bs Community Layouts (#22556) 2024-05-01 12:27:40 -07:00
Duncan Sutherland
7220715dd1 Remove 60_ansi_arrow_split_bs_7u_spc Community Layout (#23259) 2024-05-01 12:18:20 -07:00
QMK Bot
248096aa9b Merge remote-tracking branch 'origin/master' into develop 2024-05-01 19:02:54 +00:00
Duncan Sutherland
7b838f330f add tkl_(ansi|iso)_wkl* community layouts (#21809)
* update layouts/default/readme.md

* add tkl_wkl layouts to layouts/default

* amend layouts/default/readme.md

* `tsangan_wkl` to `wkl`

* Update readme.md

* update keymap.c

* local testing corrections applied

* add layouts/community readmes

* minor text correction(s)

* Apply suggestions from code review

* further copyright header changes
2024-05-01 12:02:03 -07:00
QMK Bot
5f07d3c958 Merge remote-tracking branch 'origin/master' into develop 2024-05-01 07:06:16 +00:00
josh-l-wang
8753ae354b add Bruce le Clavier (#23640) 2024-05-01 00:05:45 -07:00
Less/Rikki
4a0ffea41e refactor: mechwild/waka60 (#23423) 2024-04-30 23:58:36 -07:00
Pavel Kroupa
1fc4bfa313 Add MacOS Czech ISO and ANSI keymaps #23346 (#23412) 2024-04-30 23:53:30 -07:00
QMK Bot
ca98cdc2df Merge remote-tracking branch 'origin/master' into develop 2024-05-01 06:51:22 +00:00
era
5f755b9822 [Keyboard] Add N87 (#23457) 2024-04-30 23:50:53 -07:00
QMK Bot
e7d8c189f1 Merge remote-tracking branch 'origin/master' into develop 2024-05-01 06:44:15 +00:00
James Young
0a3c486476 Epomaker Tide 65: Layout Data Cleanup (#23643) 2024-04-30 23:43:43 -07:00
QMK Bot
145ec6189d Merge remote-tracking branch 'origin/master' into develop 2024-05-01 06:43:13 +00:00
Druah
8fbdc45648 [Keyboard] Add DK Saver Redux (#23510) 2024-04-30 23:42:43 -07:00
QMK Bot
6de8c9a3a2 Merge remote-tracking branch 'origin/master' into develop 2024-05-01 06:36:07 +00:00
Joy Lee
719c99afa1 [Keyboard] Add skiller_sgk50_s4 keyboard (#23636)
Co-authored-by: wb <wb@westberrytech.com>
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2024-04-30 23:35:58 -07:00
josh-l-wang
8129b73d8a [Keyboard] add Bruce the keyboard (#23639) 2024-04-30 23:35:39 -07:00
QMK Bot
c18d11b57a Merge remote-tracking branch 'origin/master' into develop 2024-05-01 06:33:18 +00:00
Ivan Gromov
9289d934b0 [Keyboard] Add imi60 (#23570)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2024-04-30 23:32:35 -07:00
DavidSannier
c5fb6b4348 Refactoring successive press() -> release() calls (#23573) 2024-04-30 23:31:53 -07:00
Simon
94e9bb406b [Keyboard] 3x3macropad (#23594)
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2024-04-30 23:31:23 -07:00
Joel Challis
54c1ae55bf Align 'qmk lint' argument handling (#23297) 2024-05-01 11:52:34 +10:00
QMK Bot
7b9a1ac4be Merge remote-tracking branch 'origin/master' into develop 2024-04-30 18:32:53 +00:00
Cipulot
31c81d432c Add EC980C (#23172) 2024-04-30 14:32:08 -04:00
QMK Bot
e2b77e9689 Merge remote-tracking branch 'origin/master' into develop 2024-04-30 17:44:24 +00:00
Cipulot
69acadf967 Add Chroma Support (#22889)
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2024-04-30 18:43:06 +01:00
Cipulot
900bec6211 Add EC Menhir (#23175) 2024-04-30 18:41:29 +01:00
QMK Bot
3f9400d974 Merge remote-tracking branch 'origin/master' into develop 2024-04-30 17:40:40 +00:00
Cipulot
822ba1edfa Add EC Vero (#23176) 2024-04-30 18:40:40 +01:00
Cipulot
d21363325d Add EC Dolice (#23178) 2024-04-30 18:39:50 +01:00
QMK Bot
aa68d95e56 Merge remote-tracking branch 'origin/master' into develop 2024-04-30 17:38:42 +00:00
Cipulot
3377813f5d Add EC660C (#23171) 2024-04-30 18:38:12 +01:00
QMK Bot
f91e793e85 Merge remote-tracking branch 'origin/master' into develop 2024-04-30 17:37:02 +00:00
Cipulot
a426abf017 Add EC TKL (#23177) 2024-04-30 18:36:28 +01:00
QMK Bot
ebff2d0244 Merge remote-tracking branch 'origin/master' into develop 2024-04-30 17:36:13 +00:00
Cipulot
4e9967557e Add EC Type-B (#23170) 2024-04-30 18:35:40 +01:00
QMK Bot
7a28c6ede3 Merge remote-tracking branch 'origin/master' into develop 2024-04-30 17:35:07 +00:00
Cipulot
636c96ad25 Add EC Virgo (#23173)
Co-authored-by: jack <0x6a73@protonmail.com>
2024-04-30 18:34:37 +01:00
QMK Bot
0debba3681 Merge remote-tracking branch 'origin/master' into develop 2024-04-30 08:54:37 +00:00
Duncan Sutherland
e2618dc35c Uniform ISO Enter key sequence in JIS Community Layouts (#23181) 2024-04-30 01:54:05 -07:00
James Young
dc2db0c1d4 MechKeys ACR60 Layout Updates (#23309) 2024-04-29 20:04:04 -07:00
QMK Bot
e888187e03 Merge remote-tracking branch 'origin/master' into develop 2024-04-30 02:50:58 +00:00
Joe Scotto
f215da3b7c Add ScottoWing keyboard (#23513)
Co-authored-by: jack <0x6a73@protonmail.com>
2024-04-29 19:50:18 -07:00
QMK Bot
009f67a91b Merge remote-tracking branch 'origin/master' into develop 2024-04-30 02:50:02 +00:00
josh-l-wang
4f4602abd5 [Keyboard] Vault35 WKL universal (#23519) 2024-04-29 19:49:34 -07:00
QMK Bot
3e04bf5f1b Merge remote-tracking branch 'origin/master' into develop 2024-04-30 02:46:15 +00:00
Stefan Gluszek
b99e09ee0e [Keyboard] Fatotesa - custom asymmetric split keyboard (#23528)
Co-authored-by: jack <0x6a73@protonmail.com>
2024-04-29 19:45:46 -07:00
QMK Bot
8ea68f5841 Merge remote-tracking branch 'origin/master' into develop 2024-04-30 02:42:59 +00:00
Alabahuy
284e29d4a1 [Keyboard] add jaykeeb jk65 (#23536) 2024-04-29 19:42:32 -07:00
QMK Bot
5fe63d4b4d Merge remote-tracking branch 'origin/master' into develop 2024-04-30 02:33:17 +00:00
era
ae8458e12d [Keyboard] Add SIRIND TOMAK (#23554)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
2024-04-29 19:32:43 -07:00
QMK Bot
ee178557ed Merge remote-tracking branch 'origin/master' into develop 2024-04-30 01:47:16 +00:00
Stephon Parker
c94c6fcc25 [Keyboard] Add MECHWILD BB65 (#23581)
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2024-04-29 18:46:48 -07:00
QMK Bot
cf07d5bcc9 Merge remote-tracking branch 'origin/master' into develop 2024-04-30 01:40:31 +00:00
QMK Bot
2ddb320401 Merge remote-tracking branch 'origin/master' into develop 2024-04-30 01:40:02 +00:00
Florent Linguenheld
cc35aaadbf Add Chew keyboard (#23628) 2024-04-29 18:40:01 -07:00
Ming-Gih Lam
fd32861c9f Masonry keyboard support (#23597) 2024-04-29 18:39:29 -07:00
QMK Bot
5d6d6b3e8f Merge remote-tracking branch 'origin/master' into develop 2024-04-30 01:37:02 +00:00
Richard Dawe
4f087591a8 Add YMDK YMD62 ISO PCB (#23629) 2024-04-29 18:36:32 -07:00
chalex
b4b222a6e3 gh80_3000 - Enable indicator LED functionality (#23633)
Co-authored-by: chalex <alejandrelee+magbogbro@gmail.com>
2024-04-29 18:36:10 -07:00
Danny
78a76b6c1e Iris keymap update (#23635) 2024-04-29 23:45:58 +01:00
QMK Bot
a0d43c3a64 Merge remote-tracking branch 'origin/master' into develop 2024-04-28 11:12:46 +00:00
Nick Brassel
e99b7f240a Remove broken CI workflow (#23631) 2024-04-28 21:12:14 +10:00
Joel Challis
a65818d929 Migrate build target markers to keyboard.json - BM (#23627) 2024-04-27 11:40:36 -07:00
Ryan
0ff53b2498 Rename RGBW define to WS2812_RGBW (#23585) 2024-04-28 00:36:54 +10:00
James Young
8f8fffc174 Data-Driven Keyboard Conversions: Mechlovin (#23624) 2024-04-27 13:58:04 +01:00
James Young
569be5951e Data-Driven Keyboard Conversions: BastardKB (#23622) 2024-04-27 13:26:23 +01:00
James Young
0ab77cf2e5 Data-Driven Keyboard Conversions: M, Part 2 (#23601) 2024-04-27 03:17:40 +01:00
QMK Bot
82f7e7d7fe Merge remote-tracking branch 'origin/master' into develop 2024-04-26 23:29:05 +00:00
Sergey Vlasov
2224a768d5 Fix encoder breakage with 4 or more encoders (#23595) 2024-04-27 09:28:29 +10:00
Joel Challis
d333a25868 Add audio driver to keyboard.json schema (#23616) 2024-04-26 05:41:22 +01:00
James Young
42f61611e8 Data-Driven Keyboard Conversions: M, Part 3 (#23614) 2024-04-26 05:41:09 +01:00
QMK Bot
1d455fc5f3 Merge remote-tracking branch 'origin/master' into develop 2024-04-26 00:03:18 +00:00
Jay Greco
2893038fda nullbitsco/snap: once again reduce size of bongo_reactive (#23284) 2024-04-25 18:02:48 -06:00
Joel Challis
e9b8929357 Migrate build target markers to keyboard.json - Misc (#23612) 2024-04-25 10:37:44 -07:00
Joel Challis
3d83b3e7c5 Migrate build target markers to keyboard.json - Misc (#23609) 2024-04-25 08:42:48 +01:00
Joel Challis
b6d5cfe575 Migrate build target markers to keyboard.json - L (#23607) 2024-04-25 00:59:13 +01:00
Joel Challis
861a904924 Align NO_SUSPEND_POWER_DOWN keyboard config (#23606) 2024-04-24 22:53:58 +01:00
Joel Challis
16cca527a6 Fix WAIT_FOR_USB handling (#23598) 2024-04-24 19:33:52 +01:00
Joel Challis
c8ceda461a Remove RGBLIGHT_SPLIT in rules.mk (#23599) 2024-04-24 05:59:12 +01:00
Ryan
c505ea48b3 Add haptic driver to keyboard.json schema (#23591) 2024-04-24 04:59:57 +01:00
Joel Challis
d9740c9de1 Migrate build target markers to keyboard.json - Keychron (#23593) 2024-04-23 16:33:39 +01:00
Duncan Sutherland
32136afe24 Change to development_board (#21695) 2024-04-23 19:47:30 +10:00
QMK Bot
0786314bfb Merge remote-tracking branch 'origin/master' into develop 2024-04-23 09:39:18 +00:00
Nick Brassel
1fa84ea83c Fix up license check path. (#23571) 2024-04-23 19:38:47 +10:00
QMK Bot
4b4d024c6b Merge remote-tracking branch 'origin/master' into develop 2024-04-23 09:38:41 +00:00
Nick Brassel
33c453d771 PR Checklist: explain wireless requirements. (#23584) 2024-04-23 19:38:08 +10:00
James Young
a1cbdf145f Data-Driven Keyboard Conversions: M, Part 1 (#23590) 2024-04-23 04:06:24 +01:00
Joel Challis
dc0095c64b Migrate build target markers to keyboard.json - N (#23589) 2024-04-23 03:59:58 +01:00
Joel Challis
e69b638756 Migrate build target markers to keyboard.json - JK (#23588) 2024-04-23 03:59:04 +01:00
QMK Bot
d674724d4e Merge remote-tracking branch 'origin/master' into develop 2024-04-22 14:23:08 +00:00
Ivan Gromov
e807bb7e37 Add Lisa keyboard (#23575)
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2024-04-22 08:22:36 -06:00
James Young
f387410c97 Data-Driven Keyboard Conversions: L (#23576) 2024-04-22 11:13:45 +01:00
QMK Bot
125d050761 Merge remote-tracking branch 'origin/master' into develop 2024-04-22 01:09:42 +00:00
dependabot[bot]
ac2424fec6 Bump JamesIves/github-pages-deploy-action from 4.5.0 to 4.6.0 (#23548)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-22 02:09:11 +01:00
Joel Challis
40d0512794 Migrate build target markers to keyboard.json - P (#23565) 2024-04-22 02:06:41 +01:00
James Young
191f626880 Data-Driven Keyboard Conversions: K, Part 3 (#23566) 2024-04-22 01:54:11 +01:00
James Young
69f96e1411 Data-Driven Keyboard Conversions: K, Part 4 (#23567) 2024-04-22 01:53:31 +01:00
James Young
7b96e54e8c Data-Driven Keyboard Conversions: K, Part 5 (#23569) 2024-04-20 09:20:16 +01:00
James Young
5936a96620 Data-Driven Keyboard Conversions: K, Part 2 (#23562) 2024-04-20 09:19:11 +01:00
Joel Challis
49593dc81f Migrate build target markers to keyboard.json - OQ (#23564) 2024-04-20 09:18:12 +01:00
James Young
5ab3b27e5f Data-Driven Keyboard Conversions: K, Part 1 (#23556) 2024-04-19 17:25:03 +01:00
Joel Challis
1513966c38 Tidy use of raw hid within keyboards (#23557) 2024-04-19 02:18:51 +01:00
QMK Bot
4a7fdda668 Merge remote-tracking branch 'origin/master' into develop 2024-04-19 00:59:42 +00:00
Santosh Kumar
2693d6fd84 [sofle] Fix layout order affecting messed up lower/raise/adjust layer (#23555) 2024-04-19 01:59:14 +01:00
James Young
d0e1d36144 Data-Driven Keyboard Conversions: J (#23547) 2024-04-19 01:49:15 +01:00
QMK Bot
435aab534b Merge remote-tracking branch 'origin/master' into develop 2024-04-19 00:17:13 +00:00
Alabahuy
f75e66dd19 add jaykeeb joker (#23535) 2024-04-18 18:16:43 -06:00
Joel Challis
abcaf39e6c Migrate build target markers to keyboard.json - R (#23542) 2024-04-17 19:32:56 +01:00
QMK Bot
860c218415 Merge remote-tracking branch 'origin/master' into develop 2024-04-17 15:57:55 +00:00
yiancar
aa15b64f55 [Keyboard] Keycult 65 (#23485)
Co-authored-by: yiancar <yiancar@gmail.com>
2024-04-17 16:57:21 +01:00
QMK Bot
8e098ff49f Merge remote-tracking branch 'origin/master' into develop 2024-04-17 13:46:50 +00:00
suikagiken
c25dfe543b [Keyboard] Add suika85ergo (#23380) 2024-04-17 07:46:20 -06:00
QMK Bot
35474e19c8 Merge remote-tracking branch 'origin/master' into develop 2024-04-17 13:45:22 +00:00
Epomaker
b31ebe789d [Keyboard] Add Epomaker tide65 (#23356)
Co-authored-by: 岩弈 <oncwnuItq3UWm0BoCNj7YclFsdYs@git.weixin.qq.com>
Co-authored-by: yanyi24 <yanyi9399@outlook.com>
2024-04-17 07:44:53 -06:00
Joel Challis
fffe8ee75f Remove *_SUPPORTED = yes (#23541) 2024-04-17 07:20:42 +01:00
Joel Challis
36a6f2ba3c Migrate build target markers to keyboard.json - S (#23532) 2024-04-17 03:15:02 +01:00
Joel Challis
e869c80af7 Migrate build target markers to keyboard.json - HI (#23540) 2024-04-17 02:49:17 +01:00
James Young
baa6000ed3 Data-Driven Keyboard Conversions: H, Part 3 (#23530) 2024-04-17 00:36:21 +01:00
James Young
7be23a9cb4 Data-Driven Keyboard Conversions: I (#23533) 2024-04-17 00:15:34 +01:00
QMK Bot
783eb01037 Merge remote-tracking branch 'origin/master' into develop 2024-04-16 22:56:09 +00:00
Drashna Jaelre
45d60214f4 [Keyboard] ZSA Voyager (#22181)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: László Bácsi <lackac@lackac.hu>
Co-authored-by: Joel Challis <git@zvecr.com>
2024-04-17 08:55:40 +10:00
Joel Challis
1d5ee895ad Migrate build target markers to keyboard.json - FG (#23534) 2024-04-16 05:42:34 +01:00
Joel Challis
abe4d9cdca Migrate build target markers to keyboard.json - E (#23529) 2024-04-16 02:16:08 +01:00
James Young
3c9dd36809 Data-Driven Keyboard Conversions: H, Part 2 (#23525) 2024-04-15 19:22:31 +01:00
Joel Challis
9c1662f8f9 Migrate build target markers to keyboard.json - TUV (#23514) 2024-04-15 19:19:23 +01:00
James Young
2e01b67ecc Data-Driven Keyboard Conversions: H, Part 1 (#23524) 2024-04-15 19:19:08 +01:00
James Young
130a2a31a6 Data-Driven Keyboard Conversions: G (#23522) 2024-04-15 02:09:46 +01:00
James Young
bc8ff28a58 Data-Driven Keyboard Conversions: F (#23516) 2024-04-14 18:31:26 +01:00
Joel Challis
22b3cf4e91 Migrate build target markers to keyboard.json - DE (#23515) 2024-04-14 18:28:15 +01:00
QMK Bot
e5e2b8a262 Merge remote-tracking branch 'origin/master' into develop 2024-04-14 13:00:48 +00:00
Andrew Kannan
9baafef968 Swap PID and VID on is0gr in QMK (#23458) 2024-04-14 23:00:19 +10:00
QMK Bot
360a53fe7d Merge remote-tracking branch 'origin/master' into develop 2024-04-14 05:12:46 +00:00
Logan Foster
1a831a01b7 Adjusted Compensator on-state and keymaps (#23509) 2024-04-13 23:12:14 -06:00
James Young
9de5238103 Data-Driven Keyboard Conversions: E (#23512) 2024-04-14 00:16:06 +01:00
zvecr
96025250d1 Fix dailycraft/wings42/rev2 2024-04-13 08:49:31 +01:00
Joel Challis
2eea2cdc46 Miscellaneous keyboard.json migrations (#23486) 2024-04-13 08:45:27 +01:00
James Young
8ad3a36fb6 Data-Driven Keyboard Conversions: D (#23461) 2024-04-13 06:33:49 +01:00
Joel Challis
43a122e050 Migrate build target markers to keyboard.json - W (#23511) 2024-04-13 06:31:34 +01:00
Ryan
bbf63a8466 LED Matrix: replace backlight keycodes with newly added ones (#23455) 2024-04-13 04:15:22 +01:00
Joel Challis
6b60089fc7 Migrate build target markers to keyboard.json - 0AB (#23488) 2024-04-12 23:34:44 +01:00
Joel Challis
214e091ec2 Corrections to split keyboard migrations (#23462) 2024-04-12 13:44:06 +01:00
Linus Sjölinder
244b7143b6 [Keyboard] Add Chapter1 (#23452)
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
2024-04-11 21:08:01 -07:00
Joel Challis
45b710f9e1 Migrate build target markers to keyboard.json - X (#23460) 2024-04-12 04:36:31 +01:00
Duncan Sutherland
8caa8674d2 Move SPLIT_KEYBOARD to data driven (#21410) 2024-04-11 20:22:15 -07:00
James Young
cb81913d18 Data-Driven Keyboard Conversions: B (#23425)
Converts configuration definitions and rules to data-driven where
applicable. Renames `info.json` to `keyboard.json` in instances where
`rules.mk` can be safely deleted.

Affects:

  - `bacca70`
  - `baguette`
  - `baion_808`
  - `bajjak`
  - `bandominedoni`
  - `bantam44`
  - `barleycorn_smd`
  - `barracuda`
  - `basekeys/slice/rev1`
  - `basekeys/slice/rev1_rgb`
  - `basekeys/trifecta`
  - `basketweave`
  - `bastardkb/dilemma/4x6_4`
  - `bbrfkr/dynamis`
  - `bear_face`
  - `beatervan`
  - `bemeier/bmek`
  - `biacco42/ergo42`
  - `biacco42/meishi`
  - `biacco42/meishi2`
  - `binepad/bn003`
  - `binepad/bn009/r1`
  - `binepad/bnr1`
  - `bioi/g60`
  - `bioi/g60ble`
  - `bioi/morgan65`
  - `bioi/s65`
  - `blackplum`
  - `blank/blank01`
  - `blank_tehnologii/manibus`
  - `blockey`
  - `bluebell/swoop`
  - `boardrun/bizarre`
  - `boardrun/classic`
  - `boardsource/equals/48`
  - `boardsource/equals/60`
  - `boardwalk`
  - `bop`
  - `boston`
  - `boston_meetup/2019`
  - `box75`
  - `bpiphany/four_banger`
  - `bpiphany/frosty_flake`
  - `bpiphany/ghost_squid`
  - `bpiphany/hid_liber`
  - `bpiphany/kitten_paw`
  - `bpiphany/tiger_lily`
  - `bpiphany/unloved_bastard`
  - `bt66tech/bt66tech60`
  - `bubble75/hotswap`
  - `budgy`
  - `buildakb/potato65`
  - `buildakb/potato65hs`
  - `buildakb/potato65s`
  - `buzzard`
2024-04-11 14:21:32 -07:00
James Young
a532d1cc5a Data-driven Keyboard Conversions: C (#23453) 2024-04-11 16:29:10 +01:00
QMK Bot
8bbbe753fd Merge remote-tracking branch 'origin/master' into develop 2024-04-11 04:49:03 +00:00
era
de4d28cd60 [Keyboard] Add N8X (#23444)
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2024-04-10 22:48:32 -06:00
QMK Bot
2daaaba2a3 Merge remote-tracking branch 'origin/master' into develop 2024-04-11 04:47:44 +00:00
era
f73e69f56d [Keyboard] Add N86 (#23454) 2024-04-10 22:47:14 -06:00
Ryan
52d3ef0fe4 Add new set of keycodes for LED Matrix (#23432) 2024-04-11 14:14:02 +10:00
Ryan
25f608c1b4 Separate keycode handling for LED Matrix and Backlight (#23426) 2024-04-11 14:06:36 +10:00
Nick Brassel
4acdddbf48 Bodge consolidation. (#23448) 2024-04-10 19:03:11 +10:00
NoOne2246
b99143fdd2 Oneshot locked mods split transaction (#23434) 2024-04-08 12:55:42 -06:00
QMK Bot
cd94664d15 Merge remote-tracking branch 'origin/master' into develop 2024-04-08 15:47:42 +00:00
Draic
cd0043de8f Fix Layout_Arrow 3rd key in bottom row (#23443)
Co-authored-by: v <v@phux.dev>
2024-04-08 16:47:11 +01:00
Joel Challis
ad8d934d3c Tidy up default layer handling in keymaps (#23436) 2024-04-08 02:56:46 +01:00
QMK Bot
11deaf60b4 Merge remote-tracking branch 'origin/master' into develop 2024-04-06 22:57:40 +00:00
Felix Teutsch
b0e948c380 Update hand_wire.md (#23429) 2024-04-06 16:57:12 -06:00
QMK Bot
061f5adc15 Merge remote-tracking branch 'origin/master' into develop 2024-04-06 08:43:49 +00:00
yiancar
36ae585468 [Keyboard] Add Skelett60 (#23409)
Co-authored-by: yiancar <yiancar@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2024-04-06 09:43:20 +01:00
Joel Challis
1f3d709fcb Migrate build target markers to keyboard.json - YZ (#23421) 2024-04-05 15:44:06 +01:00
Ryan
9fa91ad494 Rename process_{led,rgb}_matrix() (#23422) 2024-04-05 15:43:52 +01:00
Ryan
a14c03b96e Remove more unnecessary quantum.h includes (#23402) 2024-04-05 14:48:21 +11:00
Nick Brassel
f8a7a6848d Update ChibiOS submodules. (#23405) 2024-04-05 13:23:43 +11:00
Joel Challis
0696a62476 "features.split" is not a valid key (#23419) 2024-04-05 02:38:35 +01:00
Joel Challis
fd17ae34ec Tidy up keyboards/zvecr (#23418) 2024-04-05 02:38:12 +01:00
Ryan
2a25e79760 Remove deprecated quantum keycodes (#23407) 2024-04-04 15:16:27 +01:00
QMK Bot
7a939ca9b4 Merge remote-tracking branch 'origin/master' into develop 2024-04-04 06:44:48 +00:00
James Young
b9b8ff8302 Fix malformed JSON in layouts/default/ortho_5x10/info.json (#23414) 2024-04-04 07:44:20 +01:00
QMK Bot
8d8d6af124 Merge remote-tracking branch 'origin/master' into develop 2024-04-04 03:39:48 +00:00
QMK Bot
e578434ba8 Merge remote-tracking branch 'origin/master' into develop 2024-04-03 23:12:15 +00:00
Joel Challis
f29daff9b6 Miscellaneous keyboard.json migrations (#23378) 2024-04-03 23:14:03 +01:00
Joel Challis
62af50ceef Fix failing keyboards on develop (#23406) 2024-04-03 14:01:30 +01:00
Ryan
c635733a7f Remove quantum.h includes from keyboard code (#23394) 2024-04-03 10:44:25 +11:00
DOIO2022
408f6e43cd Change the VID and PID of the file kb38 info.json (#23393) 2024-04-03 00:36:49 +01:00
Joel Challis
73daecdc23 Fix spaceholdings/nebula68b (#23399) 2024-04-03 00:36:30 +01:00
zlabkeeb
03a3a2673d Update 15PAD & 6PAD (#23397) 2024-04-02 20:58:31 +01:00
James Young
63bc7b63a6 Data-Driven Keyboard Conversions: A (#23379) 2024-04-02 17:45:44 +01:00
QMK Bot
38f7c6e3f3 Merge remote-tracking branch 'origin/master' into develop 2024-04-02 15:06:04 +00:00
Ryan
05731202a2 0xcb/splaytoraid: remove CONVERT_TO at keyboard level (#23395) 2024-04-02 15:37:11 +01:00
Ryan
1bea8b9d31 40percentclub/gherkin: remove CONVERT_TO at keyboard level (#23396) 2024-04-02 15:32:48 +01:00
Joel Challis
573db7a0ee Produce warning if keyboard is not configured via keyboard.json (#23321) 2024-04-02 00:48:30 +01:00
QMK Bot
6f53d10960 Merge remote-tracking branch 'origin/master' into develop 2024-04-01 21:50:18 +00:00
QMK Bot
314e3fc2f4 Merge remote-tracking branch 'origin/master' into develop 2024-04-01 21:45:40 +00:00
QMK Bot
525cf0080f Merge remote-tracking branch 'origin/master' into develop 2024-04-01 21:44:49 +00:00
QMK Bot
33ddc90043 Merge remote-tracking branch 'origin/master' into develop 2024-04-01 19:32:52 +00:00
Less/Rikki
a922627319 refactor: flehrad/bigswitch (#23384) 2024-04-01 10:33:50 -06:00
Joel Challis
ea71945441 Align encoder layout validation with encoder.h logic (#23330) 2024-03-31 21:38:58 +01:00
QMK Bot
a939ee1197 Merge remote-tracking branch 'origin/master' into develop 2024-03-31 11:24:09 +00:00
Joel Challis
5db6f7967e Remove redundant DEFAULT_FOLDER from keyboards (#23377) 2024-03-31 08:49:47 +01:00
QMK Bot
809c5f2c01 Merge remote-tracking branch 'origin/master' into develop 2024-03-31 01:07:30 +00:00
Arthur
83625da36b Add solid_reactive effects for MIIIW BlackIO83 (#22251) 2024-03-30 11:59:51 -06:00
QMK Bot
b92bca7786 Merge remote-tracking branch 'origin/master' into develop 2024-03-30 17:53:08 +00:00
QMK Bot
c9f15cf081 Merge remote-tracking branch 'origin/master' into develop 2024-03-30 17:49:35 +00:00
Joel Challis
04d6803b34 Remove 'NO_USB_STARTUP_CHECK = no' from keyboards (#23376) 2024-03-30 17:19:03 +00:00
Ryan
2dd406f08f Remove quantum.h includes from keyboard custom matrix.cs (#23371) 2024-03-30 14:07:19 +00:00
James Young
76bd5142cf Data-Driven Keyboard Conversions: 0-9 (#23357) 2024-03-30 13:51:57 +00:00
Joel Challis
831deac212 Migrate build target markers to keyboard.json (#23293) 2024-03-30 11:31:50 +00:00
Joel Challis
1c8e99ca45 Migrate features and LTO from rules.mk to data driven (#23307) 2024-03-30 10:57:30 +00:00
Joel Challis
426bb9c651 Migrate features and LTO from rules.mk to data driven (#23302) 2024-03-30 10:43:15 +00:00
Duncan Sutherland
86e7df0c2a Remove "w": 1 from keyboards/ (#23367) 2024-03-29 21:14:26 -07:00
QMK Bot
da041fcd53 Merge remote-tracking branch 'origin/master' into develop 2024-03-30 03:46:45 +00:00
QMK Bot
cf84ec0123 Merge remote-tracking branch 'origin/master' into develop 2024-03-30 02:03:45 +00:00
QMK Bot
291b665d6a Merge remote-tracking branch 'origin/master' into develop 2024-03-30 02:01:22 +00:00
QMK Bot
01ea60a7a8 Merge remote-tracking branch 'origin/master' into develop 2024-03-30 01:58:00 +00:00
QMK Bot
1eb24155db Merge remote-tracking branch 'origin/master' into develop 2024-03-30 01:04:52 +00:00
QMK Bot
e1f905def5 Merge remote-tracking branch 'origin/master' into develop 2024-03-30 01:01:13 +00:00
QMK Bot
bc3d1f4fab Merge remote-tracking branch 'origin/master' into develop 2024-03-30 00:16:49 +00:00
Ryan
d0cf7b8519 Update GPIO expander API naming (#23375) 2024-03-29 16:57:21 +00:00
James Young
e891109c4e P3D Spacey Layout Updates (#23329) 2024-03-28 22:23:13 -07:00
QMK Bot
60aa0fda96 Merge remote-tracking branch 'origin/master' into develop 2024-03-29 05:20:28 +00:00
LLLKST
387a1aef8d Add RGB lighting for the PetruziaMini (#23305) 2024-03-28 22:12:09 -07:00
QMK Bot
e8d9e3955b Merge remote-tracking branch 'origin/master' into develop 2024-03-29 05:07:49 +00:00
QMK Bot
01ce77b01d Merge remote-tracking branch 'origin/master' into develop 2024-03-29 05:05:13 +00:00
QMK Bot
765fa718c5 Merge remote-tracking branch 'origin/master' into develop 2024-03-29 04:56:06 +00:00
QMK Bot
4e941c3caf Merge remote-tracking branch 'origin/master' into develop 2024-03-29 04:53:41 +00:00
QMK Bot
bcc4dc4f25 Merge remote-tracking branch 'origin/master' into develop 2024-03-29 04:51:51 +00:00
Robin Carlier
42a725e355 Remove midi_ep_task from ChibiOS (#23162)
Co-authored-by: Joel Challis <git@zvecr.com>
2024-03-28 20:40:41 -07:00
QMK Bot
1d55b5e661 Merge remote-tracking branch 'origin/master' into develop 2024-03-29 03:33:30 +00:00
QMK Bot
81df9ba478 Merge remote-tracking branch 'origin/master' into develop 2024-03-29 03:23:12 +00:00
QMK Bot
3a22c4a31f Merge remote-tracking branch 'origin/master' into develop 2024-03-29 01:22:21 +00:00
QMK Bot
3a0b5d4ed4 Merge remote-tracking branch 'origin/master' into develop 2024-03-27 20:56:04 +00:00
Ryan
01be746fc4 Update I2C API usage in keyboard code (#23360) 2024-03-27 12:41:53 +00:00
QMK Bot
148d66fc9f Merge remote-tracking branch 'origin/master' into develop 2024-03-26 23:31:28 +00:00
Dasky
d0ee4a1cb2 Fix rgblight init (#23335) 2024-03-24 11:20:05 +11:00
QMK Bot
38813e864b Merge remote-tracking branch 'origin/master' into develop 2024-03-22 23:30:59 +00:00
QMK Bot
9b910bbbf4 Merge remote-tracking branch 'origin/master' into develop 2024-03-22 12:13:36 +00:00
Ryan
583cde398a Un-extern RGBLight led[] array (#23322) 2024-03-22 06:04:13 +00:00
Etienne Collin
c038292c1e Adding standard keymap for wave keyboard to fix #22695 (#22741) 2024-03-22 13:40:59 +11:00
QMK Bot
c8253af773 Merge remote-tracking branch 'origin/master' into develop 2024-03-21 22:30:42 +00:00
Joel Challis
ae9c5389f0 Reduce firmware size of helix/rev3 (#23324) 2024-03-21 21:54:48 +00:00
QMK Bot
f497c5ee8e Merge remote-tracking branch 'origin/master' into develop 2024-03-21 05:07:35 +00:00
QMK Bot
1439e3348f Merge remote-tracking branch 'origin/master' into develop 2024-03-21 05:04:57 +00:00
QMK Bot
3c1fccbd8e Merge remote-tracking branch 'origin/master' into develop 2024-03-21 05:04:15 +00:00
QMK Bot
f24b55b212 Merge remote-tracking branch 'origin/master' into develop 2024-03-21 04:54:33 +00:00
Ryan
319ac3b27b Remove RGBLight led[] references (#23311) 2024-03-21 04:43:26 +00:00
QMK Bot
5b472a93de Merge remote-tracking branch 'origin/master' into develop 2024-03-21 04:04:43 +00:00
QMK Bot
a729516edb Merge remote-tracking branch 'origin/master' into develop 2024-03-20 22:24:27 +00:00
QMK Bot
536b4d5cf1 Merge remote-tracking branch 'origin/master' into develop 2024-03-20 20:32:34 +00:00
QMK Bot
f8b427d5ab Merge remote-tracking branch 'origin/master' into develop 2024-03-20 19:51:33 +00:00
QMK Bot
063f971177 Merge remote-tracking branch 'origin/master' into develop 2024-03-20 15:10:23 +00:00
QMK Bot
4c8f33baa4 Merge remote-tracking branch 'origin/master' into develop 2024-03-20 14:52:53 +00:00
Ryan
f7cf40fa77 Add init function to RGBLight driver struct (#23076) 2024-03-18 22:03:27 +11:00
Ryan
23b7a02ebe LED drivers: add support for IS31FL3236 (#23264) 2024-03-17 19:23:14 +11:00
James Young
47dc471bd4 KPRepublic JJ40 rev1 Refactor (#23299)
* Move `kprepublic/jj40` to `kprepublic/jj40/rev1`

[chore]

* Friendly-format `info.json`

[style]

* Add layout/matrix diagram

[docs]

* Refactor keymaps

- use four-space indent
- grid-align keycodes
- refactor to use `LAYOUT_ortho_4x12` macro

[refactor]

* Rename `LAYOUT_planck_mit` to `LAYOUT_ortho_4x12_1x2u_c`

[refactor]

* Rename `LAYOUT_planck_1x2uR` to `LAYOUT_ortho_4x12_1x2u_r`

[refactor]

* Re-sort `layouts` object

Places `LAYOUT_ortho_4x12` (the `LAYOUT_all` equivalent) first in
sequence.

[refactor]

* Add `LAYOUT_ortho_4x12_1x2u_l`

[enhancement]

* Add `LAYOUT_ortho_4x12_2x2u`

[enhancement]

* Convert `rules.mk` to data driven

[chore]

* Remove `console` and `command` settings from keyboard level

[chore]

* Rename `info.json` to `keyboard.json`

[chore]
[enhancement]

* Remove `audio` setting from keyboard level

[chore]
2024-03-17 07:03:58 +00:00
James Young
164065682e Swift65 Hotswap Layout Name Standardization (#23288)
* Rename `LAYOUT_7u_space` to `LAYOUT_ansi_blocker_tsangan`

[refactor]

* Refactor keymaps

Updates the keycode grid alignment to better resemble the assembled
board.

[style]
2024-03-16 03:38:01 +00:00
James Young
7e39635c0a Swift65 Solder Layout Name Standardization (#23289)
* Rename `LAYOUT_625u_space` to `LAYOUT_ansi_blocker`

[refactor]

* Rename `LAYOUT_625u_space_split_bs` to `LAYOUT_ansi_blocker_split_bs`

[refactor]

* Rename `LAYOUT_7u_space` to `LAYOUT_ansi_blocker_tsangan`

[refactor]

* Rename `LAYOUT_7u_space_split_bs` to `LAYOUT_ansi_blocker_tsangan_split_bs`

[refactor]

* Rename `LAYOUT_iso_625u_space` to `LAYOUT_iso_blocker`

[refactor]

* Rename `LAYOUT_iso_625u_space_split_bs` to `LAYOUT_iso_blocker_split_bs`

[refactor]

* Rename `LAYOUT_iso_7u_space` to `LAYOUT_iso_blocker_tsangan`

[refactor]

* Rename `LAYOUT_iso_7u_space_split_bs` to `LAYOUT_iso_blocker_tsangan_split_bs`

[refactor]

* Refactor keymaps

Updates the keycode grid alignment to better resemble the assembled
board.

[style]
2024-03-16 03:37:40 +00:00
James Young
bbe0c515f8 KPRepublic JJ50 rev1 Refactor (#23294)
* Move `kprepublic/jj50` to `kprepublic/jj50/rev1`

[chore]

* Add layout/matrix diagram

[docs]

* Add `LAYOUT_ortho_5x12_1x2u_c`

[enhancement]

* Add `LAYOUT_ortho_5x12_1x2u_l`

[enhancement]

* Add `LAYOUT_ortho_5x12_1x2u_r`

[enhancement]

* Add `LAYOUT_ortho_5x12_2x2u`

[enhancement]

* Convert `rules.mk` to data driven

[chore]

* Remove `console` and `command` from keyboard level

[chore]

* Rename `info.json` to `keyboard.json`

Also deletes `rules.mk` as it's no longer needed.

[chore]
[enhancement]
2024-03-16 00:30:16 +00:00
James Young
1f8f0f70a2 Linworks FAve 87H Keymap Refactor/Bugfix (#23292)
* Refactor keymaps

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

[refactor]

* Correct key sequence

Moves the keycode representing the right half of a split Backspace to
the number row, after the left half/2u Backspace keycode.

Updates the keycode grid alignment to maintain readability.

[bugfix]
2024-03-15 22:36:23 +00:00
Joel Challis
14990ca5a2 Migrate features from rules.mk to data driven - ST (#23286) 2024-03-15 22:24:10 +00:00
Joel Challis
1a90337284 Migrate features from rules.mk to data driven - OPQR (#23285) 2024-03-15 22:24:00 +00:00
Joel Challis
24d824aae4 Migrate features from rules.mk to data driven - UVWXYZ (#23287) 2024-03-15 22:23:40 +00:00
Drashna Jaelre
68e8d74188 [Keyboard] Overhaul ploopyco devices (#22967) 2024-03-14 22:15:44 -07:00
QMK Bot
359cec14fa Merge remote-tracking branch 'origin/master' into develop 2024-03-15 05:10:50 +00:00
QMK Bot
020481b258 Merge remote-tracking branch 'origin/master' into develop 2024-03-15 05:09:50 +00:00
Joe Scotto
add7c13d61 Update ScottoAlp handwired keyboard to 12 column layout (#22962)
Co-authored-by: Ryan <fauxpark@gmail.com>
2024-03-14 22:03:23 -07:00
QMK Bot
b9d65269ca Merge remote-tracking branch 'origin/master' into develop 2024-03-15 02:00:34 +00:00
QMK Bot
24d7d0ec77 Merge remote-tracking branch 'origin/master' into develop 2024-03-15 01:45:14 +00:00
Joel Challis
01473075f8 Migrate features from rules.mk to data driven - EFGH (#23248) 2024-03-15 01:42:55 +00:00
Joel Challis
80b72487ce Migrate features from rules.mk to data drive - LMN (#23277) 2024-03-15 01:42:33 +00:00
Joel Challis
539fa21bf8 Migrate features from rules.mk to data driven - IJK (#23276) 2024-03-15 01:42:15 +00:00
QMK Bot
16ad09299c Merge remote-tracking branch 'origin/master' into develop 2024-03-15 01:32:49 +00:00
QMK Bot
c43f48f6a9 Merge remote-tracking branch 'origin/master' into develop 2024-03-14 17:53:03 +00:00
Joel Challis
63dd131d81 Refactor vusb to protocol use pre/post task (#14944) 2024-03-14 21:45:12 +11:00
Joel Challis
4bbfecae90 Infer eeconfig identifiers (#22135)
Co-authored-by: Nick Brassel <nick@tzarc.org>
2024-03-14 21:45:03 +11:00
Joel Challis
6720e9c58c qmk new-keyboard - detach community layout when selecting "none of the above" (#20405) 2024-03-14 21:24:24 +11:00
Joel Challis
aea414fd82 Migrate content where only parent info.json exists (#22895) 2024-03-14 21:21:33 +11:00
Joel Challis
f1a279810f Migrate features from rules.mk to DD (#23202) 2024-03-14 03:57:48 +00:00
Joel Challis
8e5cd981e1 Migrate features from rules.mk to DD (#23247) 2024-03-14 03:56:42 +00:00
QMK Bot
f217cd4657 Merge remote-tracking branch 'origin/master' into develop 2024-03-14 03:29:24 +00:00
Joel Challis
af1ac6b1bd Reject duplicate matrix locations in LAYOUT macros (#23273) 2024-03-13 23:04:49 +00:00
QMK Bot
6c95ec0c09 Merge remote-tracking branch 'origin/master' into develop 2024-03-13 07:24:52 +00:00
QMK Bot
0b6e1f1932 Merge remote-tracking branch 'origin/master' into develop 2024-03-13 07:24:01 +00:00
DavidSannier
c92277a8ae Remove unuseful layer_on() call (#23055) 2024-03-13 00:19:23 -07:00
QMK Bot
8449ad0fc3 Merge remote-tracking branch 'origin/master' into develop 2024-03-13 03:21:16 +00:00
zvecr
66060f1935 Merge remote-tracking branch 'origin/master' into develop 2024-03-13 00:30:09 +00:00
QMK Bot
1ea9f2e92b Merge remote-tracking branch 'origin/master' into develop 2024-03-12 22:52:11 +00:00
jack
aa33d8ba8e Fixup work_board (#23266)
* initial

* Update keyboards/work_louder/work_board/keymaps/default/keymap.c

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

---------

Co-authored-by: Drashna Jaelre <drashna@live.com>
2024-03-12 16:31:51 -06:00
QMK Bot
df397a3bba Merge remote-tracking branch 'origin/master' into develop 2024-03-12 22:18:56 +00:00
QMK Bot
1f26ce7a9e Merge remote-tracking branch 'origin/master' into develop 2024-03-12 22:16:54 +00:00
QMK Bot
9b5eff5b01 Merge remote-tracking branch 'origin/master' into develop 2024-03-12 22:14:09 +00:00
QMK Bot
a0e8e26a21 Merge remote-tracking branch 'origin/master' into develop 2024-03-12 17:28:51 +00:00
QMK Bot
2756912a0d Merge remote-tracking branch 'origin/master' into develop 2024-03-12 04:28:31 +00:00
QMK Bot
eb1304b16c Merge remote-tracking branch 'origin/master' into develop 2024-03-10 17:40:39 +00:00
QMK Bot
67ba46f5c8 Merge remote-tracking branch 'origin/master' into develop 2024-03-10 11:24:45 +00:00
QMK Bot
95de18792f Merge remote-tracking branch 'origin/master' into develop 2024-03-10 07:04:27 +00:00
Drashna Jaelre
c0dbe9a336 Add utility functions for Pointing Device Auto Mouse feature (#23144)
* Make is_auto_mouse_active() available globally

* Add mouse key tracker functions for auto mouse layer
2024-03-10 05:34:41 +00:00
Joel Challis
9f4a9d5826 Enable 'keyboard.json' as a build target (#22891) 2024-03-10 16:20:25 +11:00
Pablo Martínez
c5225ab500 [Feature] Some metadata on QGF/QFF files (#20101) 2024-03-10 00:29:09 +00:00
Thibaut CHARLES
729520f302 Fix keychron q1v1 led config for iso layout (#23222) 2024-03-10 00:06:58 +00:00
jotix
461eaed7aa [Keyboard] update Jotanck config(#23228) 2024-03-09 06:52:49 -08:00
QMK Bot
145a1eca1b Merge remote-tracking branch 'origin/master' into develop 2024-03-09 10:40:47 +00:00
Danny
1db7ff7f18 Update BAMFK-1 (#23236)
* Bump version number so VIA doesn't choke due to reconfiguration of keys/encoders

* Move rules.mk stuff into info.json, convert RGBLIGHT TO RGB_MATRIX

* Run format-json on info.json
2024-03-09 07:39:08 +00:00
Joel Challis
bb691bed96 Fixes for idobao vendor keymaps (#23246) 2024-03-09 04:12:44 +00:00
Joel Challis
58c38175e6 Remove redundant disabling of features (#22926) 2024-03-09 03:05:07 +00:00
QMK Bot
5dfe2bc37a Merge remote-tracking branch 'origin/master' into develop 2024-03-09 01:27:01 +00:00
QMK Bot
42c048e08a Merge remote-tracking branch 'origin/master' into develop 2024-03-09 01:24:59 +00:00
peepeetee
acfbfe0dae Change default RGB effect for momokai keypads to solid white (#23217) 2024-03-08 13:44:26 -07:00
QMK Bot
fc0b3eec53 Merge remote-tracking branch 'origin/master' into develop 2024-03-08 19:45:01 +00:00
QMK Bot
d247c24e99 Merge remote-tracking branch 'origin/master' into develop 2024-03-08 15:41:09 +00:00
jack
bd1f1068f7 Fixup annepro2 (#23206)
Co-authored-by: Joel Challis <git@zvecr.com>
2024-03-08 08:27:40 -07:00
QMK Bot
86f7531173 Merge remote-tracking branch 'origin/master' into develop 2024-03-08 11:24:40 +00:00
QMK Bot
7278b01775 Merge remote-tracking branch 'origin/master' into develop 2024-03-08 10:52:08 +00:00
QMK Bot
3ac9b80e2e Merge remote-tracking branch 'origin/master' into develop 2024-03-08 10:51:31 +00:00
Joel Challis
c48f372c87 Migrate annepro2 away from custom matrix (#23221)
* Migrate annepro2 away from custom matrix

* LTO
2024-03-06 17:02:52 +00:00
Drashna Jaelre
83e6ddbbb4 [Audio] Add support for audio shutdown pin (#22731)
Co-authored-by: Ryan <fauxpark@gmail.com>
2024-03-06 22:02:37 +11:00
QMK Bot
045e5c9729 Merge remote-tracking branch 'origin/master' into develop 2024-03-05 16:59:58 +00:00
Joel Challis
a2c23e9419 Initial 'qmk test-c' functionality (#23038) 2024-03-05 16:59:30 +00:00
QMK Bot
bbeb9c1ccd Merge remote-tracking branch 'origin/master' into develop 2024-03-05 11:48:57 +00:00
QMK Bot
d048de70db Merge remote-tracking branch 'origin/master' into develop 2024-03-04 19:43:31 +00:00
QMK Bot
2cace5a7e9 Merge remote-tracking branch 'origin/master' into develop 2024-03-04 19:42:24 +00:00
QMK Bot
000c1c1475 Merge remote-tracking branch 'origin/master' into develop 2024-03-04 19:40:46 +00:00
Markus Knutsson
fcf906657b [Keyboard] Add rp2040_ce option to lotus58 (#23185)
* Update keymap

Corrected OLED orientation, added autoshift status on OLED.

* Update keymap

Corrected OLED orientation, added autoshift status on OLED.

* Added make target to bottom folder

With default folder

* Update keyboards/tweetydabird/lotus58/keymaps/default/keymap.c

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

* Reformatted files

* Update keymap.c

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

* Updated name

* Added rp2040ce

* Update info.json

* Update info.json

* Added rp2040ce

* Small fix

* Update info.json

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

* Update info.json

* Update info.json

* Update info.json

* Update info.json

* Update info.json

* Update info.json

* Apply suggestions from code review

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

* Fixed stray char

* Apply suggestions from code review

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

* Update info.json

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

* Update info.json

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

* Moved LTO

---------

Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2024-03-03 10:37:35 -07:00
QMK Bot
73c4ca175b Merge remote-tracking branch 'origin/master' into develop 2024-03-02 18:20:47 +00:00
Ryan
569b0c70be WS2812 PWM: prefix for DMA defines (#23111)
* WS2812 PWM: prefix for DMA defines

* Add backward compatibility defines
2024-03-02 17:16:47 +00:00
QMK Bot
3bf1ce5cf8 Merge remote-tracking branch 'origin/master' into develop 2024-03-02 12:23:57 +00:00
QMK Bot
7fd0201a92 Merge remote-tracking branch 'origin/master' into develop 2024-03-01 21:45:21 +00:00
Nick Brassel
d5ac75385b Fix up scanning for Djinn, post-asyncUSB. (#23188) 2024-03-02 08:45:11 +11:00
QMK Bot
7dd57f16c3 Merge remote-tracking branch 'origin/master' into develop 2024-03-01 18:04:23 +00:00
QMK Bot
f983b2de14 Merge remote-tracking branch 'origin/master' into develop 2024-03-01 16:18:49 +00:00
jack
4e953f1169 Fixup mechlovin/octagon (#23179)
* initial

* replace led count
2024-02-28 19:13:04 -07:00
jack
b35389317e Fixup qk100 (firmware size) (#23169)
* initial

* further size reduction

and more...

remove rgb matrix effects
2024-02-28 11:50:04 -07:00
Stefan Kerkmann
0e02b0c41e [Core] Refactor ChibiOS USB endpoints to be fully async (#21656) 2024-02-28 22:00:27 +11:00
Nick Brassel
b43f6cb7ef Branch point for 2024q2 Breaking Change 2024-02-28 21:52:10 +11:00
15134 changed files with 633406 additions and 638720 deletions

View File

@@ -1,4 +1,4 @@
CompileFlags:
Add: [-Wno-unknown-attributes, -Wno-maybe-uninitialized, -Wno-unknown-warning-option]
Remove: [-W*, -mcall-prologues]
Remove: [-W*, -mmcu=*, -mcpu=*, -mfpu=*, -mfloat-abi=*, -mno-unaligned-access, -mno-thumb-interwork, -mcall-prologues]
Compiler: clang

View File

@@ -0,0 +1,123 @@
name: CI Build Major Branch
permissions:
contents: read
actions: write
on:
push:
branches: [master, develop]
workflow_dispatch:
inputs:
branch:
type: choice
description: "Branch to build"
options: [master, develop]
env:
# https://docs.github.com/en/actions/learn-github-actions/usage-limits-billing-and-administration#usage-limits
# We've decreased it from 20 to 15 to allow for other GHA to run unimpeded
CONCURRENT_JOBS: 15
# Ensure we only have one build running at a time, cancelling any active builds if a new commit is pushed to the respective branch
concurrency:
group: ci_build-${{ github.event.inputs.branch || github.ref_name }}
cancel-in-progress: true
jobs:
determine_concurrency:
name: "Determine concurrency"
if: github.repository == 'qmk/qmk_firmware'
runs-on: ubuntu-latest
container: ghcr.io/qmk/qmk_cli
outputs:
slice_length: ${{ steps.generate_slice_length.outputs.slice_length }}
steps:
- name: Install prerequisites
run: |
apt-get update
apt-get install -y jq
- name: Disable safe.directory check
run: |
git config --global --add safe.directory '*'
- name: Checkout QMK Firmware
uses: actions/checkout@v4
- name: Determine concurrency
id: generate_slice_length
run: |
target_count=$( {
qmk find -km default 2>/dev/null
qmk find -km via 2>/dev/null
} | sort | uniq | wc -l)
slice_length=$((target_count / ($CONCURRENT_JOBS - 1))) # Err on the side of caution as we're splitting default and via
echo "slice_length=$slice_length" >> $GITHUB_OUTPUT
build_targets:
name: "Compile keymap ${{ matrix.keymap }}"
needs: determine_concurrency
strategy:
fail-fast: false
matrix:
keymap: [default, via]
uses: ./.github/workflows/ci_build_major_branch_keymap.yml
with:
branch: ${{ inputs.branch || github.ref_name }}
keymap: ${{ matrix.keymap }}
slice_length: ${{ needs.determine_concurrency.outputs.slice_length }}
secrets: inherit
rollup_tasks:
name: "Consolidation"
needs: build_targets
runs-on: ubuntu-latest
steps:
- name: Download firmwares
uses: actions/download-artifact@v4
with:
pattern: firmware-*
path: firmwares
merge-multiple: true
- name: Upload to https://ci.qmk.fm/${{ inputs.branch || github.ref_name }}/${{ github.sha }}
uses: jakejarvis/s3-sync-action@master
with:
args: --acl public-read --follow-symlinks --delete
env:
AWS_S3_BUCKET: ${{ vars.CI_QMK_FM_SPACES_BUCKET }}
AWS_ACCESS_KEY_ID: ${{ secrets.CI_QMK_FM_SPACES_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_QMK_FM_SPACES_SECRET }}
AWS_REGION: ${{ vars.CI_QMK_FM_SPACES_REGION }}
AWS_S3_ENDPOINT: ${{ vars.CI_QMK_FM_SPACES_ENDPOINT }}
SOURCE_DIR: firmwares
DEST_DIR: ${{ inputs.branch || github.ref_name }}/${{ github.sha }}
- name: Upload to https://ci.qmk.fm/${{ inputs.branch || github.ref_name }}/latest
uses: jakejarvis/s3-sync-action@master
with:
args: --acl public-read --follow-symlinks --delete
env:
AWS_S3_BUCKET: ${{ vars.CI_QMK_FM_SPACES_BUCKET }}
AWS_ACCESS_KEY_ID: ${{ secrets.CI_QMK_FM_SPACES_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_QMK_FM_SPACES_SECRET }}
AWS_REGION: ${{ vars.CI_QMK_FM_SPACES_REGION }}
AWS_S3_ENDPOINT: ${{ vars.CI_QMK_FM_SPACES_ENDPOINT }}
SOURCE_DIR: firmwares
DEST_DIR: ${{ inputs.branch || github.ref_name }}/latest
- name: Check if failure marker file exists
id: check_failure_marker
uses: andstor/file-existence-action@v3
with:
files: firmwares/.failed
- name: Fail build if needed
if: steps.check_failure_marker.outputs.files_exists == 'true'
run: |
# Exit with failure if the compilation stage failed
exit 1

View File

@@ -0,0 +1,181 @@
name: CI Build Major Branch Keymap
permissions:
contents: read
actions: write
on:
workflow_call:
inputs:
branch:
type: string
required: true
keymap:
type: string
required: true
slice_length:
type: string
required: true
jobs:
generate_targets:
name: "Generate targets (${{ inputs.keymap }})"
runs-on: ubuntu-latest
container: ghcr.io/qmk/qmk_cli
outputs:
targets: ${{ steps.generate_targets.outputs.targets }}
steps:
- name: Install prerequisites
run: |
apt-get update
apt-get install -y jq
- name: Disable safe.directory check
run: |
git config --global --add safe.directory '*'
- name: Checkout QMK Firmware
uses: actions/checkout@v4
- name: Generate build targets
id: generate_targets
run: |
{ # Intentionally use `shuf` here so that we share manufacturers across all build groups -- some have a lot of ARM-based boards which inherently take longer
counter=0
echo -n '{'
qmk find -km ${{ inputs.keymap }} 2>/dev/null | sort | uniq | shuf | xargs -L${{ inputs.slice_length }} | while IFS=$'\n' read target ; do
if [ $counter -gt 0 ]; then
echo -n ','
fi
counter=$((counter+1))
printf "\"group %02d\":{" $counter
echo -n '"targets":"'
echo $target | tr ' ' '\n' | sort | uniq | xargs echo -n
echo -n '"}'
done
echo -n '}'
} | sed -e 's@\n@@g' > targets.json
# Output the target keys as a variable
echo "targets=$(jq -c 'keys' targets.json)" >> $GITHUB_OUTPUT
- name: Upload targets json
uses: actions/upload-artifact@v4
with:
name: targets-${{ inputs.keymap }}
path: targets.json
build_targets:
name: "Compile ${{ matrix.target }} (${{ inputs.keymap }})"
needs: generate_targets
runs-on: ubuntu-latest
container: ghcr.io/qmk/qmk_cli
continue-on-error: true
strategy:
matrix:
target: ${{ fromJson(needs.generate_targets.outputs.targets) }}
steps:
- name: Install prerequisites
run: |
apt-get update
apt-get install -y jq
- name: Disable safe.directory check
run: |
git config --global --add safe.directory '*'
- name: Checkout QMK Firmware
uses: actions/checkout@v4
- name: Get target definitions
uses: actions/download-artifact@v4
with:
name: targets-${{ inputs.keymap }}
path: .
- name: Deploy submodules
run: |
qmk git-submodule -f
- name: Dump targets
run: |
jq -r '.["${{ matrix.target }}"].targets' targets.json | tr ' ' '\n' | sort
- name: Build targets
continue-on-error: true
run: |
export NCPUS=$(nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null)
qmk mass-compile -t -j $NCPUS -e DUMP_CI_METADATA=yes $(jq -r '.["${{ matrix.target }}"].targets' targets.json) || touch .failed
- name: Upload binaries
uses: actions/upload-artifact@v4
with:
name: firmware-${{ inputs.keymap }}-${{ matrix.target }}
if-no-files-found: ignore
path: |
*.bin
*.hex
*.uf2
.build/failed.*
.failed
- name: Fail build if any group failed
run: |
# Exit with failure if the compilation stage failed
[ ! -f .failed ] || exit 1
repack_firmware:
if: always()
name: "Repack artifacts"
needs: build_targets
runs-on: ubuntu-latest
steps:
- name: Checkout QMK Firmware
uses: actions/checkout@v4
- name: Download firmwares
uses: actions/download-artifact@v4
with:
pattern: firmware-${{ inputs.keymap }}-*
path: .
merge-multiple: true
- name: Upload all firmwares
uses: actions/upload-artifact@v4
with:
name: firmware-${{ inputs.keymap }}
if-no-files-found: ignore
path: |
*.bin
*.hex
*.uf2
.build/failed.*
.failed
- name: Generate output logs
run: |
# Generate the step summary markdown
./util/ci/generate_failure_markdown.sh > $GITHUB_STEP_SUMMARY || true
# Truncate to a maximum of 1MB to deal with GitHub workflow limit
truncate --size='<960K' $GITHUB_STEP_SUMMARY || true
- name: Delete temporary build artifacts
uses: geekyeggo/delete-artifact@v5
with:
name: |
firmware-${{ inputs.keymap }}-*
targets-${{ inputs.keymap }}
- name: 'CI Discord Notification'
if: always()
working-directory: util/ci/
env:
DISCORD_WEBHOOK: ${{ secrets.CI_DISCORD_WEBHOOK }}
run: |
python3 -m pip install -r requirements.txt
python3 ./discord-results.py --branch ${{ inputs.branch || github.ref_name }} --keymap ${{ inputs.keymap }} --url ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}

View File

@@ -1,74 +0,0 @@
name: CI Builds
permissions:
contents: read
on:
push:
branches: [master, develop]
workflow_dispatch:
inputs:
branch:
type: choice
description: 'Branch to build'
options: [master, develop]
concurrency: ci_build-${{ github.event.inputs.branch || github.ref_name }}
jobs:
ci_builds:
if: github.repository == 'qmk/qmk_firmware'
name: "CI Build"
runs-on: self-hosted
timeout-minutes: 1380
strategy:
fail-fast: false
matrix:
keymap: [default, via]
container: ghcr.io/qmk/qmk_cli
steps:
- name: Disable safe.directory check
run : git config --global --add safe.directory '*'
- uses: actions/checkout@v4
with:
submodules: recursive
ref: ${{ github.event.inputs.branch || github.ref }}
- name: Install dependencies
run: pip3 install -r requirements.txt
- name: Run `qmk mass-compile` (keymap ${{ matrix.keymap }})
run: |
export NCPUS=$(nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null)
qmk mass-compile -t -j $NCPUS -km ${{ matrix.keymap }} -e DUMP_CI_METADATA=yes || touch .failed
# Generate the step summary markdown
./util/ci/generate_failure_markdown.sh > $GITHUB_STEP_SUMMARY || true
# Truncate to a maximum of 1MB to deal with GitHub workflow limit
truncate --size='<960K' $GITHUB_STEP_SUMMARY || true
# Exit with failure if the compilation stage failed
[ ! -f .failed ] || exit 1
- name: 'Upload artifacts'
uses: actions/upload-artifact@v4
if: always()
with:
name: artifacts-${{ github.event.inputs.branch || github.ref_name }}-${{ matrix.keymap }}
if-no-files-found: ignore
path: |
*.bin
*.hex
*.uf2
.build/failed.*
- name: 'CI Discord Notification'
if: always()
working-directory: util/ci/
env:
DISCORD_WEBHOOK: ${{ secrets.CI_DISCORD_WEBHOOK }}
run: |
python3 -m pip install -r requirements.txt
python3 ./discord-results.py --branch ${{ github.event.inputs.branch || github.ref_name }} --keymap ${{ matrix.keymap }} --url ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}

View File

@@ -37,7 +37,7 @@ jobs:
qmk --verbose generate-docs
- name: Deploy
uses: JamesIves/github-pages-deploy-action@v4.5.0
uses: JamesIves/github-pages-deploy-action@v4.6.1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BASE_BRANCH: master

View File

@@ -32,4 +32,4 @@ jobs:
- name: Install dependencies
run: pip3 install -r requirements-dev.txt
- name: Run tests
run: make test:all
run: qmk test-c

1
.gitignore vendored
View File

@@ -37,6 +37,7 @@ quantum/version.h
# DD config at wrong location
/keyboards/**/keymaps/*/info.json
/keyboards/**/keymaps/*/keyboard.json
# Old-style QMK Makefiles
/keyboards/**/Makefile

View File

@@ -119,7 +119,7 @@ MAIN_KEYMAP_PATH_3 := $(KEYBOARD_PATH_3)/keymaps/$(KEYMAP)
MAIN_KEYMAP_PATH_4 := $(KEYBOARD_PATH_4)/keymaps/$(KEYMAP)
MAIN_KEYMAP_PATH_5 := $(KEYBOARD_PATH_5)/keymaps/$(KEYMAP)
# Pull in rules from info.json
# Pull in rules from DD keyboard config
INFO_RULES_MK = $(shell $(QMK_BIN) generate-rules-mk --quiet --escape --keyboard $(KEYBOARD) --output $(INTERMEDIATE_OUTPUT)/src/info_rules.mk)
include $(INFO_RULES_MK)
@@ -221,7 +221,7 @@ include $(BUILDDEFS_PATH)/converters.mk
MCU_ORIG := $(MCU)
include $(wildcard $(PLATFORM_PATH)/*/mcu_selection.mk)
# PLATFORM_KEY should be detected in info.json via key 'processor' (or rules.mk 'MCU')
# PLATFORM_KEY should be detected in DD keyboard config via key 'processor' (or rules.mk 'MCU')
ifeq ($(PLATFORM_KEY),)
$(call CATASTROPHIC_ERROR,Platform not defined)
endif
@@ -335,38 +335,54 @@ ifneq ("$(wildcard $(KEYBOARD_PATH_5)/post_config.h)","")
POST_CONFIG_H += $(KEYBOARD_PATH_5)/post_config.h
endif
# Pull in stuff from info.json
INFO_JSON_FILES :=
# Create dependencies on DD keyboard config - structure validated elsewhere
DD_CONFIG_FILES :=
ifneq ("$(wildcard $(KEYBOARD_PATH_1)/info.json)","")
INFO_JSON_FILES += $(KEYBOARD_PATH_1)/info.json
DD_CONFIG_FILES += $(KEYBOARD_PATH_1)/info.json
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_2)/info.json)","")
INFO_JSON_FILES += $(KEYBOARD_PATH_2)/info.json
DD_CONFIG_FILES += $(KEYBOARD_PATH_2)/info.json
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_3)/info.json)","")
INFO_JSON_FILES += $(KEYBOARD_PATH_3)/info.json
DD_CONFIG_FILES += $(KEYBOARD_PATH_3)/info.json
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_4)/info.json)","")
INFO_JSON_FILES += $(KEYBOARD_PATH_4)/info.json
DD_CONFIG_FILES += $(KEYBOARD_PATH_4)/info.json
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/info.json)","")
INFO_JSON_FILES += $(KEYBOARD_PATH_5)/info.json
DD_CONFIG_FILES += $(KEYBOARD_PATH_5)/info.json
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_1)/keyboard.json)","")
DD_CONFIG_FILES += $(KEYBOARD_PATH_1)/keyboard.json
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_2)/keyboard.json)","")
DD_CONFIG_FILES += $(KEYBOARD_PATH_2)/keyboard.json
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_3)/keyboard.json)","")
DD_CONFIG_FILES += $(KEYBOARD_PATH_3)/keyboard.json
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_4)/keyboard.json)","")
DD_CONFIG_FILES += $(KEYBOARD_PATH_4)/keyboard.json
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/keyboard.json)","")
DD_CONFIG_FILES += $(KEYBOARD_PATH_5)/keyboard.json
endif
CONFIG_H += $(INTERMEDIATE_OUTPUT)/src/info_config.h
KEYBOARD_SRC += $(INTERMEDIATE_OUTPUT)/src/default_keyboard.c
$(INTERMEDIATE_OUTPUT)/src/info_config.h: $(INFO_JSON_FILES)
$(INTERMEDIATE_OUTPUT)/src/info_config.h: $(DD_CONFIG_FILES)
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
$(eval CMD=$(QMK_BIN) generate-config-h --quiet --keyboard $(KEYBOARD) --output $(INTERMEDIATE_OUTPUT)/src/info_config.h)
@$(BUILD_CMD)
$(INTERMEDIATE_OUTPUT)/src/default_keyboard.c: $(INFO_JSON_FILES)
$(INTERMEDIATE_OUTPUT)/src/default_keyboard.c: $(DD_CONFIG_FILES)
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
$(eval CMD=$(QMK_BIN) generate-keyboard-c --quiet --keyboard $(KEYBOARD) --output $(INTERMEDIATE_OUTPUT)/src/default_keyboard.c)
@$(BUILD_CMD)
$(INTERMEDIATE_OUTPUT)/src/default_keyboard.h: $(INFO_JSON_FILES)
$(INTERMEDIATE_OUTPUT)/src/default_keyboard.h: $(DD_CONFIG_FILES)
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
$(eval CMD=$(QMK_BIN) generate-keyboard-h --quiet --keyboard $(KEYBOARD) --include $(FOUND_KEYBOARD_H) --output $(INTERMEDIATE_OUTPUT)/src/default_keyboard.h)
@$(BUILD_CMD)
@@ -505,22 +521,14 @@ ifeq ($(strip $(KEEP_INTERMEDIATES)), yes)
OPT_DEFS += -save-temps=obj
endif
# TODO: remove this bodge?
PROJECT_DEFS := $(OPT_DEFS)
PROJECT_INC := $(VPATH) $(EXTRAINCDIRS) $(KEYBOARD_PATHS)
PROJECT_CONFIG := $(CONFIG_H)
CONFIG_H += $(POST_CONFIG_H)
ALL_CONFIGS := $(PROJECT_CONFIG) $(CONFIG_H)
OUTPUTS := $(INTERMEDIATE_OUTPUT)
$(INTERMEDIATE_OUTPUT)_SRC := $(SRC) $(PLATFORM_SRC)
$(INTERMEDIATE_OUTPUT)_DEFS := $(OPT_DEFS) \
$(INTERMEDIATE_OUTPUT)_DEFS := \
-DQMK_KEYBOARD=\"$(KEYBOARD)\" -DQMK_KEYBOARD_H=\"$(INTERMEDIATE_OUTPUT)/src/default_keyboard.h\" \
-DQMK_KEYMAP=\"$(KEYMAP)\" -DQMK_KEYMAP_H=\"$(KEYMAP).h\" -DQMK_KEYMAP_CONFIG_H=\"$(KEYMAP_PATH)/config.h\" \
$(PROJECT_DEFS)
$(INTERMEDIATE_OUTPUT)_INC := $(VPATH) $(EXTRAINCDIRS) $(PROJECT_INC)
$(INTERMEDIATE_OUTPUT)_CONFIG := $(CONFIG_H) $(PROJECT_CONFIG)
$(OPT_DEFS)
$(INTERMEDIATE_OUTPUT)_INC := $(VPATH) $(EXTRAINCDIRS) $(KEYBOARD_PATHS)
$(INTERMEDIATE_OUTPUT)_CONFIG := $(CONFIG_H) $(POST_CONFIG_H)
# Default target.
all: build check-size

View File

@@ -340,7 +340,7 @@ LED_MATRIX_DRIVER := snled27351
endif
LED_MATRIX_ENABLE ?= no
VALID_LED_MATRIX_TYPES := is31fl3218 is31fl3729 is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a snled27351 custom
VALID_LED_MATRIX_TYPES := is31fl3218 is31fl3236 is31fl3729 is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a snled27351 custom
ifeq ($(strip $(LED_MATRIX_ENABLE)), yes)
ifeq ($(filter $(LED_MATRIX_DRIVER),$(VALID_LED_MATRIX_TYPES)),)
@@ -353,7 +353,7 @@ ifeq ($(strip $(LED_MATRIX_ENABLE)), yes)
COMMON_VPATH += $(QUANTUM_DIR)/led_matrix/animations
COMMON_VPATH += $(QUANTUM_DIR)/led_matrix/animations/runners
POST_CONFIG_H += $(QUANTUM_DIR)/led_matrix/post_config.h
SRC += $(QUANTUM_DIR)/process_keycode/process_backlight.c
SRC += $(QUANTUM_DIR)/process_keycode/process_led_matrix.c
SRC += $(QUANTUM_DIR)/led_matrix/led_matrix.c
SRC += $(QUANTUM_DIR)/led_matrix/led_matrix_drivers.c
LIB8TION_ENABLE := yes
@@ -365,6 +365,12 @@ ifeq ($(strip $(LED_MATRIX_ENABLE)), yes)
SRC += is31fl3218-mono.c
endif
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3236)
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
SRC += is31fl3236-mono.c
endif
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3729)
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
@@ -443,7 +449,7 @@ endif
RGB_MATRIX_ENABLE ?= no
VALID_RGB_MATRIX_TYPES := aw20216s is31fl3218 is31fl3729 is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a snled27351 ws2812 custom
VALID_RGB_MATRIX_TYPES := aw20216s is31fl3218 is31fl3236 is31fl3729 is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a snled27351 ws2812 custom
ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
ifeq ($(filter $(RGB_MATRIX_DRIVER),$(VALID_RGB_MATRIX_TYPES)),)
$(call CATASTROPHIC_ERROR,Invalid RGB_MATRIX_DRIVER,RGB_MATRIX_DRIVER="$(RGB_MATRIX_DRIVER)" is not a valid matrix type)
@@ -474,6 +480,12 @@ ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
SRC += is31fl3218.c
endif
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3236)
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
SRC += is31fl3236.c
endif
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3729)
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi

View File

@@ -0,0 +1,580 @@
{
"aliases": {
/*
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
* │ \ │ + │ ě │ š │ č │ ř │ ž │ ý │ á │ í │ é │ = │ ' │ │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
* │ │ 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 │ , │ . │ - │ │
* ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
* │ │ │ │ │ │ │ │
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
*/
"KC_GRV": {
"key": "CZ_BSLS",
"label": "\\",
}
"KC_1": {
"key": "CZ_PLUS",
"label": "+",
}
"KC_2": {
"key": "CZ_ECAR",
"label": "ě",
}
"KC_3": {
"key": "CZ_SCAR",
"label": "š",
}
"KC_4": {
"key": "CZ_CCAR",
"label": "č",
}
"KC_5": {
"key": "CZ_RCAR",
"label": "ř",
}
"KC_6": {
"key": "CZ_ZCAR",
"label": "ž",
}
"KC_7": {
"key": "CZ_YACU",
"label": "ý",
}
"KC_8": {
"key": "CZ_AACU",
"label": "á",
}
"KC_9": {
"key": "CZ_IACU",
"label": "í",
}
"KC_0": {
"key": "CZ_EACU",
"label": "é",
}
"KC_MINS": {
"key": "CZ_EQL",
"label": "=",
}
"KC_EQL": {
"key": "CZ_ACUT",
"label": "' (dead)",
}
"KC_Q": {
"key": "CZ_Q",
"label": "Q",
}
"KC_W": {
"key": "CZ_W",
"label": "W",
}
"KC_E": {
"key": "CZ_E",
"label": "E",
}
"KC_R": {
"key": "CZ_R",
"label": "R",
}
"KC_T": {
"key": "CZ_T",
"label": "T",
}
"KC_Y": {
"key": "CZ_Z",
"label": "Z",
}
"KC_U": {
"key": "CZ_U",
"label": "U",
}
"KC_I": {
"key": "CZ_I",
"label": "I",
}
"KC_O": {
"key": "CZ_O",
"label": "O",
}
"KC_P": {
"key": "CZ_P",
"label": "P",
}
"KC_LBRC": {
"key": "CZ_UACU",
"label": "ú",
}
"KC_RBRC": {
"key": "CZ_RPRN",
"label": ")",
}
"KC_NUHS": {
"key": "CZ_DIAE",
"label": "¨ (dead)",
}
"KC_A": {
"key": "CZ_A",
"label": "A",
}
"KC_S": {
"key": "CZ_S",
"label": "S",
}
"KC_D": {
"key": "CZ_D",
"label": "D",
}
"KC_F": {
"key": "CZ_F",
"label": "F",
}
"KC_G": {
"key": "CZ_G",
"label": "G",
}
"KC_H": {
"key": "CZ_H",
"label": "H",
}
"KC_J": {
"key": "CZ_J",
"label": "J",
}
"KC_K": {
"key": "CZ_K",
"label": "K",
}
"KC_L": {
"key": "CZ_L",
"label": "L",
}
"KC_SCLN": {
"key": "CZ_URNG",
"label": "ů",
}
"KC_QUOT": {
"key": "CZ_SECT",
"label": "§",
}
"KC_Z": {
"key": "CZ_Y",
"label": "Y",
}
"KC_X": {
"key": "CZ_X",
"label": "X",
}
"KC_C": {
"key": "CZ_C",
"label": "C",
}
"KC_V": {
"key": "CZ_V",
"label": "V",
}
"KC_B": {
"key": "CZ_B",
"label": "B",
}
"KC_N": {
"key": "CZ_N",
"label": "N",
}
"KC_M": {
"key": "CZ_M",
"label": "M",
}
"KC_COMM": {
"key": "CZ_COMM",
"label": ",",
}
"KC_DOT": {
"key": "CZ_DOT",
"label": ".",
}
"KC_SLSH": {
"key": "CZ_MINS",
"label": "-",
}
/* Shifted symbols
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
* │ | │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ % │ ˇ │ │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
* │ │ │ │ │ │ │ │ │ │ │ │ / │ ( │ ` │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
* │ │ │ │ │ │ │ │ │ │ │ " │ ! │ │
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
* │ │ │ │ │ │ │ │ │ ? │ : │ _ │ │
* ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
* │ │ │ │ │ │ │ │
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
*/
"S(CZ_BSLS)": {
"key": "CZ_PIPE",
"label": "|",
}
"S(CZ_PLUS)": {
"key": "CZ_1",
"label": "1",
}
"S(CZ_ECAR)": {
"key": "CZ_2",
"label": "2",
}
"S(CZ_SCAR)": {
"key": "CZ_3",
"label": "3",
}
"S(CZ_CCAR)": {
"key": "CZ_4",
"label": "4",
}
"S(CZ_RCAR)": {
"key": "CZ_5",
"label": "5",
}
"S(CZ_ZCAR)": {
"key": "CZ_6",
"label": "6",
}
"S(CZ_YACU)": {
"key": "CZ_7",
"label": "7",
}
"S(CZ_AACU)": {
"key": "CZ_8",
"label": "8",
}
"S(CZ_IACU)": {
"key": "CZ_9",
"label": "9",
}
"S(CZ_EACU)": {
"key": "CZ_0",
"label": "0",
}
"S(CZ_EQL)": {
"key": "CZ_PERC",
"label": "%",
}
"S(CZ_ACUT)": {
"key": "CZ_CARN",
"label": "ˇ (dead)",
}
"S(CZ_UACU)": {
"key": "CZ_SLSH",
"label": "/",
}
"S(CZ_RPRN)": {
"key": "CZ_LPRN",
"label": "(",
}
"S(CZ_DIAE)": {
"key": "CZ_GRV",
"label": "`",
}
"S(CZ_URNG)": {
"key": "CZ_DQUO",
"label": "\"",
}
"S(CZ_SECT)": {
"key": "CZ_EXLM",
"label": "!",
}
"S(CZ_COMM)": {
"key": "CZ_QUES",
"label": "?",
}
"S(CZ_DOT)": {
"key": "CZ_COLN",
"label": ":",
}
"S(CZ_MINS)": {
"key": "CZ_UNDS",
"label": "_",
}
/* Alted symbols
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
* │ │ │ @ │ # │ $ │ ~ │ ^ │ & │ * │ { │ } │ ° │ ^ │ │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
* │ │ │ ė │ ę │ € │ │ │ │ │ │ │ [ │ ] │ │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
* │ │ ą │ ß │ ∂ │ │ │ │ │ ł │ ; │ ' │ │
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
* │ │ │ │ │ │ │ │ │ < │ > │ │ │
* ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
* │ │ │ │ │ │ │ │
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
*/
"A(CZ_ECAR)": {
"key": "CZ_AT",
"label": "@",
}
"A(CZ_SCAR)": {
"key": "CZ_HASH",
"label": "#",
}
"A(CZ_CCAR)": {
"key": "CZ_DLR",
"label": "$",
}
"A(CZ_RCAR)": {
"key": "CZ_TILD",
"label": "~",
}
"A(CZ_ZCAR)": {
"key": "CZ_CIRC",
"label": "^",
}
"A(CZ_YACU)": {
"key": "CZ_AMPR",
"label": "&",
}
"A(CZ_AACU)": {
"key": "CZ_ASTR",
"label": "*",
}
"A(CZ_IACU)": {
"key": "CZ_LCBR",
"label": "{",
}
"A(CZ_EACU)": {
"key": "CZ_RCBR",
"label": "}",
}
"A(CZ_EQL)": {
"key": "CZ_RNGA",
"label": "° (dead)",
}
"A(CZ_ACUT)": {
"key": "CZ_DCIR",
"label": "^ (dead)",
}
"A(CZ_W)": {
"key": "CZ_LEDT",
"label": "ė",
}
"A(CZ_E)": {
"key": "CZ_LEOG",
"label": "ę",
}
"A(CZ_R)": {
"key": "CZ_EURO",
"label": "€",
}
"A(CZ_Z)": {
"key": "CZ_LZDT",
"label": "ż",
}
"A(CZ_UACU)": {
"key": "CZ_LBRC",
"label": "[",
}
"A(CZ_RPRN)": {
"key": "CZ_RBRC",
"label": "]",
}
"A(CZ_A)": {
"key": "CZ_LAOG",
"label": "ą",
}
"A(CZ_S)": {
"key": "CZ_SS",
"label": "ß",
}
"A(CZ_D)": {
"key": "CZ_PDIF",
"label": "∂",
}
"A(CZ_H)": {
"key": "CZ_LSQU",
"label": "",
}
"A(CZ_J)": {
"key": "CZ_RSQU",
"label": "",
}
"A(CZ_L)": {
"key": "CZ_LLST",
"label": "ł",
}
"A(CZ_URNG)": {
"key": "CZ_SCLN",
"label": ";",
}
"A(CZ_SECT)": {
"key": "CZ_QUOT",
"label": "'",
}
"A(CZ_N)": {
"key": "CZ_SLQU",
"label": "",
}
"A(CZ_COMM)": {
"key": "CZ_LABK",
"label": "<",
}
"A(CZ_DOT)": {
"key": "CZ_RABK",
"label": ">",
}
"A(CZ_MINS)": {
"key": "CZ_NDSH",
"label": "",
}
/* Shift+Alted symbols
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
* │ │ ¬ │ • │ ≠ │ £ │ ◊ │ † │ ¶ │ ÷ │ « │ » │ , │ - │ │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
* │ │ │ Ė │ Ę │ ® │ ™ │ Ż │ │ │ │ │ │ " │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
* │ │ Ą │ ∑ │ ∆ │ │ │ “ │ ” │ │ Ł │ … │ ~ │ │
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
* │ │ │ │ © │ √ │ │ „ │ │ ≤ │ ≥ │ — │ │
* ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
* │ │ │ │ │ │ │ │
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
*/
"S(A(CZ_1))": {
"key": "CZ_NOT",
"label": "¬",
}
"S(A(CZ_2))": {
"key": "CZ_BULT",
"label": "•",
}
"S(A(CZ_3))": {
"key": "CZ_NEQL",
"label": "≠",
}
"S(A(CZ_4))": {
"key": "CZ_PND",
"label": "£",
}
"S(A(CZ_5))": {
"key": "CZ_LOZN",
"label": "◊",
}
"S(A(CZ_6))": {
"key": "CZ_DAGG",
"label": "†",
}
"S(A(CZ_7))": {
"key": "CZ_PARA",
"label": "¶",
}
"S(A(CZ_8))": {
"key": "CZ_DIV",
"label": "÷",
}
"S(A(CZ_9))": {
"key": "CZ_LDAQ",
"label": "«",
}
"S(A(CZ_0))": {
"key": "CZ_RDAQ",
"label": "»",
}
"S(A(CZ_EQL))": {
"key": "CZ_DCOM",
"label": ", (dead)",
}
"S(A(CZ_ACUT))": {
"key": "CZ_DHPN",
"label": "- (dead)",
}
"S(A(CZ_W))": {
"key": "CZ_CEDT",
"label": "Ė",
}
"S(A(CZ_E))": {
"key": "CZ_CEOG",
"label": "Ę",
}
"S(A(CZ_R))": {
"key": "CZ_REGD",
"label": "®",
}
"S(A(CZ_T))": {
"key": "CZ_TM",
"label": "™",
}
"S(A(CZ_Z))": {
"key": "CZ_CZDT",
"label": "Ż",
}
"S(A(CZ_UACU))": {
"key": "CZ_LSAQ",
"label": "",
}
"S(A(CZ_RPRN))": {
"key": "CZ_RSAQ",
"label": "",
}
"S(A(CZ_DIAE))": {
"key": "CZ_DDQT",
"label": "\" (dead)",
}
"S(A(CZ_A))": {
"key": "CZ_CAOG",
"label": "Ą",
}
"S(A(CZ_S))": {
"key": "CZ_NARS",
"label": "∑",
}
"S(A(CZ_D))": {
"key": "CZ_INCR",
"label": "∆",
}
"S(A(CZ_H))": {
"key": "CZ_LDQU",
"label": "“",
}
"S(A(CZ_J))": {
"key": "CZ_RDQU",
"label": "”",
}
"S(A(CZ_L))": {
"key": "CZ_CLST",
"label": "Ł",
}
"S(A(CZ_URNG))": {
"key": "CZ_ELLP",
"label": "…",
}
"S(A(CZ_SECT))": {
"key": "CZ_DTIL",
"label": "~ (dead)",
}
"S(A(CZ_C))": {
"key": "CZ_COPY",
"label": "©",
}
"S(A(CZ_V))": {
"key": "CZ_SQRT",
"label": "√",
}
"S(A(CZ_N))": {
"key": "CZ_DLQU",
"label": "„",
}
"S(A(CZ_COMM))": {
"key": "CZ_LEQL",
"label": "≤",
}
"S(A(CZ_DOT))": {
"key": "CZ_GEQL",
"label": "≥",
}
"S(A(CZ_MINS))": {
"key": "CZ_MDSH",
"label": "—",
}
}
}

View File

@@ -0,0 +1,580 @@
{
"aliases": {
/*
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
* │ │ + │ ě │ š │ č │ ř │ ž │ ý │ á │ í │ é │ = │ ' │ │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
* │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ ú │ ) │ │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
* │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ů │ § │ ¨ │ │
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
* │ │ \ │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
* ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
* │ │ │ │ │ │ │ │
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
*/
"KC_1": {
"key": "CZ_PLUS",
"label": "+",
}
"KC_2": {
"key": "CZ_ECAR",
"label": "ě",
}
"KC_3": {
"key": "CZ_SCAR",
"label": "š",
}
"KC_4": {
"key": "CZ_CCAR",
"label": "č",
}
"KC_5": {
"key": "CZ_RCAR",
"label": "ř",
}
"KC_6": {
"key": "CZ_ZCAR",
"label": "ž",
}
"KC_7": {
"key": "CZ_YACU",
"label": "ý",
}
"KC_8": {
"key": "CZ_AACU",
"label": "á",
}
"KC_9": {
"key": "CZ_IACU",
"label": "í",
}
"KC_0": {
"key": "CZ_EACU",
"label": "é",
}
"KC_MINS": {
"key": "CZ_EQL",
"label": "=",
}
"KC_EQL": {
"key": "CZ_ACUT",
"label": "' (dead)",
}
"KC_Q": {
"key": "CZ_Q",
"label": "Q",
}
"KC_W": {
"key": "CZ_W",
"label": "W",
}
"KC_E": {
"key": "CZ_E",
"label": "E",
}
"KC_R": {
"key": "CZ_R",
"label": "R",
}
"KC_T": {
"key": "CZ_T",
"label": "T",
}
"KC_Y": {
"key": "CZ_Z",
"label": "Z",
}
"KC_U": {
"key": "CZ_U",
"label": "U",
}
"KC_I": {
"key": "CZ_I",
"label": "I",
}
"KC_O": {
"key": "CZ_O",
"label": "O",
}
"KC_P": {
"key": "CZ_P",
"label": "P",
}
"KC_LBRC": {
"key": "CZ_UACU",
"label": "ú",
}
"KC_RBRC": {
"key": "CZ_RPRN",
"label": ")",
}
"KC_A": {
"key": "CZ_A",
"label": "A",
}
"KC_S": {
"key": "CZ_S",
"label": "S",
}
"KC_D": {
"key": "CZ_D",
"label": "D",
}
"KC_F": {
"key": "CZ_F",
"label": "F",
}
"KC_G": {
"key": "CZ_G",
"label": "G",
}
"KC_H": {
"key": "CZ_H",
"label": "H",
}
"KC_J": {
"key": "CZ_J",
"label": "J",
}
"KC_K": {
"key": "CZ_K",
"label": "K",
}
"KC_L": {
"key": "CZ_L",
"label": "L",
}
"KC_SCLN": {
"key": "CZ_URNG",
"label": "ů",
}
"KC_QUOT": {
"key": "CZ_SECT",
"label": "§",
}
"KC_NUHS": {
"key": "CZ_DIAE",
"label": "¨ (dead)",
}
"KC_NUBS": {
"key": "CZ_BSLS",
"label": "\\",
}
"KC_Z": {
"key": "CZ_Y",
"label": "Y",
}
"KC_X": {
"key": "CZ_X",
"label": "X",
}
"KC_C": {
"key": "CZ_C",
"label": "C",
}
"KC_V": {
"key": "CZ_V",
"label": "V",
}
"KC_B": {
"key": "CZ_B",
"label": "B",
}
"KC_N": {
"key": "CZ_N",
"label": "N",
}
"KC_M": {
"key": "CZ_M",
"label": "M",
}
"KC_COMM": {
"key": "CZ_COMM",
"label": ",",
}
"KC_DOT": {
"key": "CZ_DOT",
"label": ".",
}
"KC_SLSH": {
"key": "CZ_MINS",
"label": "-",
}
/* Shifted symbols
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
* │ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ % │ ˇ │ │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
* │ │ │ │ │ │ │ │ │ │ │ │ / │ ( │ │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
* │ │ │ │ │ │ │ │ │ │ │ " │ ! │ ` │ │
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
* │ │ | │ │ │ │ │ │ │ │ ? │ : │ _ │ │
* ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
* │ │ │ │ │ │ │ │
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
*/
"S(CZ_PLUS)": {
"key": "CZ_1",
"label": "1",
}
"S(CZ_ECAR)": {
"key": "CZ_2",
"label": "2",
}
"S(CZ_SCAR)": {
"key": "CZ_3",
"label": "3",
}
"S(CZ_CCAR)": {
"key": "CZ_4",
"label": "4",
}
"S(CZ_RCAR)": {
"key": "CZ_5",
"label": "5",
}
"S(CZ_ZCAR)": {
"key": "CZ_6",
"label": "6",
}
"S(CZ_YACU)": {
"key": "CZ_7",
"label": "7",
}
"S(CZ_AACU)": {
"key": "CZ_8",
"label": "8",
}
"S(CZ_IACU)": {
"key": "CZ_9",
"label": "9",
}
"S(CZ_EACU)": {
"key": "CZ_0",
"label": "0",
}
"S(CZ_EQL)": {
"key": "CZ_PERC",
"label": "%",
}
"S(CZ_ACUT)": {
"key": "CZ_CARN",
"label": "ˇ (dead)",
}
"S(CZ_UACU)": {
"key": "CZ_SLSH",
"label": "/",
}
"S(CZ_RPRN)": {
"key": "CZ_LPRN",
"label": "(",
}
"S(CZ_URNG)": {
"key": "CZ_DQUO",
"label": "\"",
}
"S(CZ_SECT)": {
"key": "CZ_EXLM",
"label": "!",
}
"S(CZ_DIAE)": {
"key": "CZ_GRV",
"label": "`",
}
"S(CZ_BSLS)": {
"key": "CZ_PIPE",
"label": "|",
}
"S(CZ_COMM)": {
"key": "CZ_QUES",
"label": "?",
}
"S(CZ_DOT)": {
"key": "CZ_COLN",
"label": ":",
}
"S(CZ_MINS)": {
"key": "CZ_UNDS",
"label": "_",
}
/* Alted symbols
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
* │ │ │ @ │ # │ $ │ ~ │ ^ │ & │ * │ { │ } │ ° │ ^ │ │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
* │ │ │ ė │ ę │ € │ │ ż │ │ │ │ │ [ │ ] │ │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
* │ │ ą │ ß │ ∂ │ │ │ │ │ ł │ ; │ ' │ │ │
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
* │ │ │ │ │ │ │ │ │ │ < │ > │ │ │
* ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
* │ │ │ │ │ │ │ │
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
*/
"A(CZ_ECAR)": {
"key": "CZ_AT",
"label": "@",
}
"A(CZ_SCAR)": {
"key": "CZ_HASH",
"label": "#",
}
"A(CZ_CCAR)": {
"key": "CZ_DLR",
"label": "$",
}
"A(CZ_RCAR)": {
"key": "CZ_TILD",
"label": "~",
}
"A(CZ_ZCAR)": {
"key": "CZ_CIRC",
"label": "^",
}
"A(CZ_YACU)": {
"key": "CZ_AMPR",
"label": "&",
}
"A(CZ_AACU)": {
"key": "CZ_ASTR",
"label": "*",
}
"A(CZ_IACU)": {
"key": "CZ_LCBR",
"label": "{",
}
"A(CZ_EACU)": {
"key": "CZ_RCBR",
"label": "}",
}
"A(CZ_EQL)": {
"key": "CZ_RNGA",
"label": "° (dead)",
}
"A(CZ_ACUT)": {
"key": "CZ_DCIR",
"label": "^ (dead)",
}
"A(CZ_W)": {
"key": "CZ_LEDT",
"label": "ė",
}
"A(CZ_E)": {
"key": "CZ_LEOG",
"label": "ę",
}
"A(CZ_R)": {
"key": "CZ_EURO",
"label": "€",
}
"A(CZ_Z)": {
"key": "CZ_LZDT",
"label": "ż",
}
"A(CZ_UACU)": {
"key": "CZ_LBRC",
"label": "[",
}
"A(CZ_RPRN)": {
"key": "CZ_RBRC",
"label": "]",
}
"A(CZ_A)": {
"key": "CZ_LAOG",
"label": "ą",
}
"A(CZ_S)": {
"key": "CZ_SS",
"label": "ß",
}
"A(CZ_D)": {
"key": "CZ_PDIF",
"label": "∂",
}
"A(CZ_H)": {
"key": "CZ_LSQU",
"label": "",
}
"A(CZ_J)": {
"key": "CZ_RSQU",
"label": "",
}
"A(CZ_L)": {
"key": "CZ_LLST",
"label": "ł",
}
"A(CZ_URNG)": {
"key": "CZ_SCLN",
"label": ";",
}
"A(CZ_SECT)": {
"key": "CZ_QUOT",
"label": "'",
}
"A(CZ_N)": {
"key": "CZ_SLQU",
"label": "",
}
"A(CZ_COMM)": {
"key": "CZ_LABK",
"label": "<",
}
"A(CZ_DOT)": {
"key": "CZ_RABK",
"label": ">",
}
"A(CZ_MINS)": {
"key": "CZ_NDSH",
"label": "",
}
/* Shift+Alted symbols
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
* │ │ ¬ │ • │ ≠ │ £ │ ◊ │ † │ ¶ │ ÷ │ « │ » │ , │ - │ │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
* │ │ │ Ė │ Ę │ ® │ ™ │ Ż │ │ │ │ │ │ │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
* │ │ Ą │ ∑ │ ∆ │ │ │ “ │ ” │ │ Ł │ … │ ~ │ " │ │
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
* │ │ │ │ │ © │ √ │ │ „ │ │ ≤ │ ≥ │ — │ │
* ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
* │ │ │ │ │ │ │ │
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
*/
"S(A(CZ_1))": {
"key": "CZ_NOT",
"label": "¬",
}
"S(A(CZ_2))": {
"key": "CZ_BULT",
"label": "•",
}
"S(A(CZ_3))": {
"key": "CZ_NEQL",
"label": "≠",
}
"S(A(CZ_4))": {
"key": "CZ_PND",
"label": "£",
}
"S(A(CZ_5))": {
"key": "CZ_LOZN",
"label": "◊",
}
"S(A(CZ_6))": {
"key": "CZ_DAGG",
"label": "†",
}
"S(A(CZ_7))": {
"key": "CZ_PARA",
"label": "¶",
}
"S(A(CZ_8))": {
"key": "CZ_DIV",
"label": "÷",
}
"S(A(CZ_9))": {
"key": "CZ_LDAQ",
"label": "«",
}
"S(A(CZ_0))": {
"key": "CZ_RDAQ",
"label": "»",
}
"S(A(CZ_EQL))": {
"key": "CZ_DCOM",
"label": ", (dead)",
}
"S(A(CZ_ACUT))": {
"key": "CZ_DHPN",
"label": "- (dead)",
}
"S(A(CZ_W))": {
"key": "CZ_CEDT",
"label": "Ė",
}
"S(A(CZ_E))": {
"key": "CZ_CEOG",
"label": "Ę",
}
"S(A(CZ_R))": {
"key": "CZ_REGD",
"label": "®",
}
"S(A(CZ_T))": {
"key": "CZ_TM",
"label": "™",
}
"S(A(CZ_Z))": {
"key": "CZ_CZDT",
"label": "Ż",
}
"S(A(CZ_UACU))": {
"key": "CZ_LSAQ",
"label": "",
}
"S(A(CZ_RPRN))": {
"key": "CZ_RSAQ",
"label": "",
}
"S(A(CZ_A))": {
"key": "CZ_CAOG",
"label": "Ą",
}
"S(A(CZ_S))": {
"key": "CZ_NARS",
"label": "∑",
}
"S(A(CZ_D))": {
"key": "CZ_INCR",
"label": "∆",
}
"S(A(CZ_H))": {
"key": "CZ_LDQU",
"label": "“",
}
"S(A(CZ_J))": {
"key": "CZ_RDQU",
"label": "”",
}
"S(A(CZ_L))": {
"key": "CZ_CLST",
"label": "Ł",
}
"S(A(CZ_URNG))": {
"key": "CZ_ELLP",
"label": "…",
}
"S(A(CZ_SECT))": {
"key": "CZ_DTIL",
"label": "~ (dead)",
}
"S(A(CZ_DIAE))": {
"key": "CZ_DDQT",
"label": "\" (dead)",
}
"S(A(CZ_C))": {
"key": "CZ_COPY",
"label": "©",
}
"S(A(CZ_V))": {
"key": "CZ_SQRT",
"label": "√",
}
"S(A(CZ_N))": {
"key": "CZ_DLQU",
"label": "„",
}
"S(A(CZ_COMM))": {
"key": "CZ_LEQL",
"label": "≤",
}
"S(A(CZ_DOT))": {
"key": "CZ_GEQL",
"label": "≥",
}
"S(A(CZ_MINS))": {
"key": "CZ_MDSH",
"label": "—",
}
}
}

View File

@@ -0,0 +1,239 @@
{
"keycodes": {
"0x7810": {
"group": "led_matrix",
"key": "QK_LED_MATRIX_ON",
"aliases": [
"LM_ON"
]
},
"0x7811": {
"group": "led_matrix",
"key": "QK_LED_MATRIX_OFF",
"aliases": [
"LM_OFF"
]
},
"0x7812": {
"group": "led_matrix",
"key": "QK_LED_MATRIX_TOGGLE",
"aliases": [
"LM_TOGG"
]
},
"0x7813": {
"group": "led_matrix",
"key": "QK_LED_MATRIX_MODE_NEXT",
"aliases": [
"LM_NEXT"
]
},
"0x7814": {
"group": "led_matrix",
"key": "QK_LED_MATRIX_MODE_PREVIOUS",
"aliases": [
"LM_PREV"
]
},
"0x7815": {
"group": "led_matrix",
"key": "QK_LED_MATRIX_BRIGHTNESS_UP",
"aliases": [
"LM_BRIU"
]
},
"0x7816": {
"group": "led_matrix",
"key": "QK_LED_MATRIX_BRIGHTNESS_DOWN",
"aliases": [
"LM_BRID"
]
},
"0x7817": {
"group": "led_matrix",
"key": "QK_LED_MATRIX_SPEED_UP",
"aliases": [
"LM_SPDU"
]
},
"0x7818": {
"group": "led_matrix",
"key": "QK_LED_MATRIX_SPEED_DOWN",
"aliases": [
"LM_SPDD"
]
},
"0x7820": {
"group": "underglow",
"key": "QK_UNDERGLOW_TOGGLE",
"aliases": [
"UG_TOGG"
]
},
"0x7821": {
"group": "underglow",
"key": "QK_UNDERGLOW_MODE_NEXT",
"aliases": [
"!reset!",
"UG_NEXT"
]
},
"0x7822": {
"group": "underglow",
"key": "QK_UNDERGLOW_MODE_PREVIOUS",
"aliases": [
"!reset!",
"UG_PREV"
]
},
"0x7823": {
"group": "underglow",
"key": "QK_UNDERGLOW_HUE_UP",
"aliases": [
"UG_HUEU"
]
},
"0x7824": {
"group": "underglow",
"key": "QK_UNDERGLOW_HUE_DOWN",
"aliases": [
"UG_HUED"
]
},
"0x7825": {
"group": "underglow",
"key": "QK_UNDERGLOW_SATURATION_UP",
"aliases": [
"UG_SATU"
]
},
"0x7826": {
"group": "underglow",
"key": "QK_UNDERGLOW_SATURATION_DOWN",
"aliases": [
"UG_SATD"
]
},
"0x7827": {
"group": "underglow",
"key": "QK_UNDERGLOW_VALUE_UP",
"aliases": [
"UG_VALU"
]
},
"0x7828": {
"group": "underglow",
"key": "QK_UNDERGLOW_VALUE_DOWN",
"aliases": [
"UG_VALD"
]
},
"0x7829": {
"group": "underglow",
"key": "QK_UNDERGLOW_SPEED_UP",
"aliases": [
"UG_SPDU"
]
},
"0x782A": {
"group": "underglow",
"key": "QK_UNDERGLOW_SPEED_DOWN",
"aliases": [
"UG_SPDD"
]
},
"0x7840": {
"group": "rgb_matrix",
"key": "QK_RGB_MATRIX_ON",
"aliases": [
"RM_ON"
]
},
"0x7841": {
"group": "rgb_matrix",
"key": "QK_RGB_MATRIX_OFF",
"aliases": [
"RM_OFF"
]
},
"0x7842": {
"group": "rgb_matrix",
"key": "QK_RGB_MATRIX_TOGGLE",
"aliases": [
"RM_TOGG"
]
},
"0x7843": {
"group": "rgb_matrix",
"key": "QK_RGB_MATRIX_MODE_NEXT",
"aliases": [
"RM_NEXT"
]
},
"0x7844": {
"group": "rgb_matrix",
"key": "QK_RGB_MATRIX_MODE_PREVIOUS",
"aliases": [
"RM_PREV"
]
},
"0x7845": {
"group": "rgb_matrix",
"key": "QK_RGB_MATRIX_HUE_UP",
"aliases": [
"RM_HUEU"
]
},
"0x7846": {
"group": "rgb_matrix",
"key": "QK_RGB_MATRIX_HUE_DOWN",
"aliases": [
"RM_HUED"
]
},
"0x7847": {
"group": "rgb_matrix",
"key": "QK_RGB_MATRIX_SATURATION_UP",
"aliases": [
"RM_SATU"
]
},
"0x7848": {
"group": "rgb_matrix",
"key": "QK_RGB_MATRIX_SATURATION_DOWN",
"aliases": [
"RM_SATD"
]
},
"0x7849": {
"group": "rgb_matrix",
"key": "QK_RGB_MATRIX_VALUE_UP",
"aliases": [
"RM_VALU"
]
},
"0x784A": {
"group": "rgb_matrix",
"key": "QK_RGB_MATRIX_VALUE_DOWN",
"aliases": [
"RM_VALD"
]
},
"0x784B": {
"group": "rgb_matrix",
"key": "QK_RGB_MATRIX_SPEED_UP",
"aliases": [
"RM_SPDU"
]
},
"0x784C": {
"group": "rgb_matrix",
"key": "QK_RGB_MATRIX_SPEED_DOWN",
"aliases": [
"RM_SPDD"
]
}
}
}

View File

@@ -19,6 +19,8 @@
// Audio
"AUDIO_DEFAULT_ON": {"info_key": "audio.default.on", "value_type": "bool"},
"AUDIO_DEFAULT_CLICKY_ON": {"info_key": "audio.default.clicky", "value_type": "bool"},
"AUDIO_POWER_CONTROL_PIN": {"info_key": "audio.power_control.pin"},
"AUDIO_POWER_CONTROL_PIN_ON_STATE": {"info_key": "audio.power_control.on_state", "value_type": "int" },
"AUDIO_VOICES": {"info_key": "audio.voices", "value_type": "flag"},
"SENDSTRING_BELL": {"info_key": "audio.macro_beep", "value_type": "flag"},
@@ -162,7 +164,6 @@
"RGBLIGHT_DEFAULT_SAT": {"info_key": "rgblight.default.sat", "value_type": "int"},
"RGBLIGHT_DEFAULT_VAL": {"info_key": "rgblight.default.val", "value_type": "int"},
"RGBLIGHT_DEFAULT_SPD": {"info_key": "rgblight.default.speed", "value_type": "int"},
"RGBW": {"info_key": "rgblight.rgbw", "value_type": "flag"},
// Secure
"SECURE_IDLE_TIMEOUT": {"info_key": "secure.idle_timeout", "value_type": "int"},
@@ -213,6 +214,7 @@
"WS2812_DI_PIN": {"info_key": "ws2812.pin"},
"WS2812_I2C_ADDRESS": {"info_key": "ws2812.i2c_address", "value_type": "hex"},
"WS2812_I2C_TIMEOUT": {"info_key": "ws2812.i2c_timeout", "value_type": "int"},
"WS2812_RGBW": {"info_key": "ws2812.rgbw", "value_type": "flag"},
"LAYOUTS": {"info_key": "layout_aliases", "value_type": "mapping"},
@@ -227,6 +229,7 @@
"PREVENT_STUCK_MODIFIERS": {"info_key": "_invalid.prevent_stuck_mods", "invalid": true},
"QMK_KEYS_PER_SCAN": {"info_key": "qmk.keys_per_scan", "value_type": "int", "deprecated": true},
"RGB_DI_PIN": {"info_key": "rgblight.pin", "invalid": true, "replace_with": "WS2812_DI_PIN or APA102_DI_PIN"},
"RGBW": {"info_key": "rgblight.rgbw", "invalid": true, "replace_with": "WS2812_RGBW"},
"RGB_DISABLE_WHEN_USB_SUSPENDED": {"info_key": "_invalid.rgb_matrix_sleep", "invalid": true, "replace_with": "RGB_MATRIX_SLEEP"},
"RGBLIGHT_ANIMATIONS": {"info_key": "_invalid.rgblight.animations.all", "value_type": "flag", "invalid": true},
"TAPPING_FORCE_HOLD": {"info_key": "tapping.force_hold", "value_type": "flag", "deprecated": true},

View File

@@ -11,6 +11,7 @@
// invalid: Default `false`. Set to `true` to generate errors when a value exists
// replace_with: use with a key marked deprecated or invalid to designate a replacement
"AUDIO_DRIVER": {"info_key": "audio.driver"},
"BACKLIGHT_DRIVER": {"info_key": "backlight.driver"},
"BLUETOOTH_DRIVER": {"info_key": "bluetooth.driver"},
"BOARD": {"info_key": "board"},
@@ -23,6 +24,7 @@
"ENCODER_ENABLE": {"info_key": "encoder.enabled", "value_type": "bool"},
"ENCODER_DRIVER": {"info_key": "encoder.driver"},
"FIRMWARE_FORMAT": {"info_key": "build.firmware_format"},
"HAPTIC_DRIVER": {"info_key": "haptic.driver"},
"KEYBOARD_SHARED_EP": {"info_key": "usb.shared_endpoint.keyboard", "value_type": "bool"},
"LAYOUTS": {"info_key": "community_layouts", "value_type": "list"},
"LED_MATRIX_DRIVER": {"info_key": "led_matrix.driver"},
@@ -43,7 +45,7 @@
"SPLIT_TRANSPORT": {"info_key": "split.transport.protocol", "to_c": false},
"STENO_ENABLE": {"info_key": "stenography.enabled", "value_type": "bool"},
"STENO_PROTOCOL": {"info_key": "stenography.protocol"},
"WAIT_FOR_USB": {"info_key": "usb.wait_for", "value_type": "bool"},
"USB_WAIT_FOR_ENUMERATION": {"info_key": "usb.wait_for_enumeration", "value_type": "bool"},
"WEAR_LEVELING_DRIVER": {"info_key": "eeprom.wear_leveling.driver"},
"WS2812_DRIVER": {"info_key": "ws2812.driver"},

View File

@@ -306,13 +306,13 @@
"target": "jacky_studio/piggy60/rev1"
},
"jj40": {
"target": "kprepublic/jj40"
"target": "kprepublic/jj40/rev1"
},
"jj4x4": {
"target": "kprepublic/jj4x4"
},
"jj50": {
"target": "kprepublic/jj50"
"target": "kprepublic/jj50/rev1"
},
"jm60": {
"target": "kbdfans/jm60"
@@ -1518,5 +1518,12 @@
// Moved during 2023 Q4 cycle
"ymdk/melody96": {
"target": "ymdk/melody96/soldered"
},
// Moved during 2024 Q2 cycle
"kprepublic/jj40": {
"target": "kprepublic/jj40/rev1"
},
"kprepublic/jj50": {
"target": "kprepublic/jj50/rev1"
}
}

View File

@@ -133,8 +133,20 @@
"clicky": {"type": "boolean"}
}
},
"driver": {
"type": "string",
"enum": ["dac_additive", "dac_basic", "pwm_software", "pwm_hardware"]
},
"macro_beep": {"type": "boolean"},
"pins": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
"power_control": {
"type": "object",
"additionalProperties": false,
"properties": {
"on_state": {"$ref": "qmk.definitions.v1#/bit"},
"pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}
}
},
"voices": {"type": "boolean"}
}
},
@@ -379,6 +391,15 @@
}
}
},
"haptic": {
"type": "object",
"properties": {
"driver": {
"type": "string",
"enum": ["drv2605l", "solenoid"]
}
}
},
"leader_key": {
"type": "object",
"properties": {
@@ -445,6 +466,7 @@
"enum": [
"custom",
"is31fl3218",
"is31fl3236",
"is31fl3729",
"is31fl3731",
"is31fl3733",
@@ -527,6 +549,7 @@
"aw20216s",
"custom",
"is31fl3218",
"is31fl3236",
"is31fl3729",
"is31fl3731",
"is31fl3733",
@@ -638,7 +661,10 @@
"$ref": "qmk.definitions.v1#/mcu_pin",
"$comment": "Deprecated: use ws2812.pin instead"
},
"rgbw": {"type": "boolean"},
"rgbw": {
"type": "boolean",
"$comment": "Deprecated: use ws2812.rgbw instead"
},
"saturation_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"sleep": {"type": "boolean"},
"split": {"type": "boolean"},
@@ -779,7 +805,7 @@
"properties": {
"protocol": {
"type": "string",
"enum": ["custom", "i2c", "serial", "serial_usart"]
"enum": ["custom", "i2c", "serial"]
},
"sync": {
"type": "object",
@@ -875,7 +901,7 @@
}
},
"suspend_wakeup_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"wait_for": {"type": "boolean"}
"wait_for_enumeration": {"type": "boolean"}
}
},
"qmk": {
@@ -914,6 +940,7 @@
"enum": ["bitbang", "custom", "i2c", "pwm", "spi", "vendor"]
},
"pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
"rgbw": {"type": "boolean"},
"i2c_address": {"$ref": "qmk.definitions.v1#/hex_number_2d"},
"i2c_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}
}

View File

@@ -1,20 +0,0 @@
// Copyright %YEAR% %REAL_NAME% (@%USER_NAME%)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
/*
* 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

334
docs/ChangeLog/20240526.md Normal file
View File

@@ -0,0 +1,334 @@
# QMK Breaking Changes - 2024 May 26 Changelog
## Notable Features :id=notable-features
May 2024 brings about another heavy maintenance release of QMK. Of the 209 PRs created this breaking changes cycle against the `develop` branch, 174 behind-the-scenes PRs (83%!) were aimed at converting, consolidating, and cleaning up keyboards and their configuration data. Not the most glamorous work, but it means QMK is in a much more manageable spot than what it was 3 months prior. The work steadily continues!
## Changes Requiring User Action :id=changes-requiring-user-action
### Updated Keyboard Codebases :id=updated-keyboard-codebases
One note with updated keyboard names -- historical keyboard names are still considered valid when using [External Userspace](newbs_external_userspace.md) for builds. If you're already using External Userspace, you do not need to move your keymap inside your repository.
| Old Keyboard Name | New Keyboard Name |
|------------------------------|-----------------------------------|
| adkb96 | adkb96/rev1 |
| canary/canary60rgb | canary/canary60rgb/v1 |
| handwired/meck_tkl | handwired/meck_tkl/blackpill_f401 |
| handwired/qc60 | handwired/qc60/proto |
| handwired/stef9998/split_5x7 | handwired/stef9998/split_5x7/rev1 |
| junco | junco/rev1 |
| keaboard | keaboard/rev1 |
| kprepublic/jj40 | kprepublic/jj40/rev1 |
| kprepublic/jj50 | kprepublic/jj50/rev1 |
| melgeek/mj65 | melgeek/mj65/rev3 |
| melgeek/mojo68 | melgeek/mojo68/rev1 |
| melgeek/mojo75 | melgeek/mojo75/rev1 |
| melgeek/tegic | melgeek/tegic/rev1 |
| melgeek/z70ultra | melgeek/z70ultra/rev1 |
| miiiw/blackio83 | miiiw/blackio83/rev_0100 |
| murcielago | murcielago/rev1 |
| polilla | polilla/rev1 |
| qwertyydox | qwertyydox/rev1 |
| spaceholdings/nebula68b | spaceholdings/nebula68b/solder |
| splitty | splitty/rev1 |
| xiudi/xd004 | xiudi/xd004/v1 |
### Remove deprecated quantum keycodes ([#23407](https://github.com/qmk/qmk_firmware/pull/23407))
A bunch of legacy keycodes have been removed -- check [the affected keycodes](https://github.com/qmk/qmk_firmware/blob/70e34e491c297231a3f987fd69760d38e79dbfa4/quantum/quantum_keycodes_legacy.h) if you run into compilation problems, as it'll show you what the problematic keycodes should be replaced with.
The latest of these were officially deprecated within QMK in the August 2023 breaking changes -- the new keycodes are the way forward.
### P3D Spacey Layout Updates ([#23329](https://github.com/qmk/qmk_firmware/pull/23329)) :id=spacey-layout-updates
This PR removed the `LAYOUT` macro that was configured for the Spacey.
If you have a keymap for this keyboard, you will need to update your
keymap using the following steps:
1. Change your layout macro to `LAYOUT_all`.
2. Remove the two `KC_NO` keycodes following the Space and Delete keys
on the bottom row.
3. Move the keycode for the encoder pushbutton (customarily Mute) to the
end of the top row, after the customary Backspace key.
4. Move the keycode for the Right Arrow to the end of the Shift row,
after the Down Arrow key.
### MechKeys ACR60 Layout Updates ([#23309](https://github.com/qmk/qmk_firmware/pull/23309)) :id=acr60-layout-updates
This PR removed and changed some of the layouts that were configured for the ACR60. If you use one of the following layouts, you will need to update your keymap:
- [`LAYOUT_hhkb`](#layout-hhkb)
- [`LAYOUT_true_hhkb`](#layout-true-hhkb)
- [`LAYOUT_directional`](#layout-directional)
- [`LAYOUT_mitchsplit`](#layout-mitchsplit)
#### `LAYOUT_hhkb` :id=acr60-layout-hhkb
1. Change your layout macro to `LAYOUT_60_hhkb`.
1. Remove any keycodes for the key between Left Shift and QWERTY Z.
#### `LAYOUT_true_hhkb` :id=acr60-layout-true-hhkb
1. Change your layout macro to `LAYOUT_60_true_hhkb`.
1. Remove any keycodes for the key between Left Shift and QWERTY Z.
#### `LAYOUT_directional` :id=acr60-layout-directional
1. Change your layout macro to `LAYOUT_60_ansi_arrow_split_bs`.
1. Remove any keycodes for the key between Left Shift and QWERTY Z.
1. Remove any keycodes for the keys immediately before *and* after the 1.25u key of Split Spacebar.
If you need split spacebars, you may implement `LAYOUT_60_ansi_arrow_split_space_split_bs` and change your layout to it, removing the keycode between Left Shift and QWERTY Z.
#### `LAYOUT_mitchsplit` :id=acr60-layout-mitchsplit
1. Use `LAYOUT_60_ansi_split_space_split_rshift`.
## Notable core changes :id=notable-core
### Introduction of `keyboard.json` ([22891](https://github.com/qmk/qmk_firmware/pull/22891)) :id=keyboard-json
One longer term goal of QMK is increased maintainability.
As part of the continued push towards [Data Driven Configuration](data_driven_config.md), the build system has been updated to simplify the existing codebase, and power future workflows.
The `keyboard.json` configuration file allows the support of a single data file for keyboard level config.
Additionally,
* `info.json` now represents potential fragments of config that can be shared across keyboard revisions.
* `rules.mk` is now optional - Completely blank files are no longer required.
* Currently supported keyboards have been migrated to reflect this change.
Backwards compatibility of the old system has been maintained, but will be removed in a future breaking changes cycle.
### Refactor ChibiOS USB endpoints to be fully async ([#21656](https://github.com/qmk/qmk_firmware/pull/21656))
For most users, this change will mean suspend and resume on ARM-based boards works correctly. Others will notice that their keyboard now works correctly in BIOS/UEFI.
Essentially, changes were made in the internals of how QMK interacts with USB for ARM-based devices. Before this change, whenever a packet was attempted to be sent from the keyboard to the host machine, QMK would wait for the transmission to complete. After this change, those packets are queued and sent when opportune; this results in much better "correctness" as far as the USB protocol is concerned, and means far less likelihood of failure scenarios such as "stuck keys" or "random lockups" and the like.
Compliance checks were run against QMK firmwares for the most popular ARM microcontrollers, as well as suspend/resume tests. As far as we can tell, a whole host of hard-to-reproduce issues are mitigated by this change.
## Full changelist :id=full-changelist
Core:
* Refactor vusb to protocol use pre/post task ([#14944](https://github.com/qmk/qmk_firmware/pull/14944))
* Refactor ChibiOS USB endpoints to be fully async ([#21656](https://github.com/qmk/qmk_firmware/pull/21656))
* Infer eeconfig identifiers ([#22135](https://github.com/qmk/qmk_firmware/pull/22135))
* [Audio] Add support for audio shutdown pin ([#22731](https://github.com/qmk/qmk_firmware/pull/22731))
* Enable 'keyboard.json' as a build target ([#22891](https://github.com/qmk/qmk_firmware/pull/22891))
* Remove unuseful layer_on() call ([#23055](https://github.com/qmk/qmk_firmware/pull/23055))
* Add init function to RGBLight driver struct ([#23076](https://github.com/qmk/qmk_firmware/pull/23076))
* Add utility functions for Pointing Device Auto Mouse feature ([#23144](https://github.com/qmk/qmk_firmware/pull/23144))
* Remove midi_ep_task from ChibiOS ([#23162](https://github.com/qmk/qmk_firmware/pull/23162))
* LED drivers: add support for IS31FL3236 ([#23264](https://github.com/qmk/qmk_firmware/pull/23264))
* Un-`extern` RGBLight `led[]` array ([#23322](https://github.com/qmk/qmk_firmware/pull/23322))
* Update I2C API usage in keyboard code ([#23360](https://github.com/qmk/qmk_firmware/pull/23360))
* Update GPIO expander API naming ([#23375](https://github.com/qmk/qmk_firmware/pull/23375))
* Remove deprecated quantum keycodes ([#23407](https://github.com/qmk/qmk_firmware/pull/23407))
* Add MacOS Czech ISO and ANSI keymaps #23346 ([#23412](https://github.com/qmk/qmk_firmware/pull/23412))
* Rename `process_{led,rgb}_matrix()` ([#23422](https://github.com/qmk/qmk_firmware/pull/23422))
* Separate keycode handling for LED Matrix and Backlight ([#23426](https://github.com/qmk/qmk_firmware/pull/23426))
* Add new set of keycodes for LED Matrix ([#23432](https://github.com/qmk/qmk_firmware/pull/23432))
* Oneshot locked mods split transaction ([#23434](https://github.com/qmk/qmk_firmware/pull/23434))
* Bodge consolidation. ([#23448](https://github.com/qmk/qmk_firmware/pull/23448))
* LED Matrix: replace backlight keycodes with newly added ones ([#23455](https://github.com/qmk/qmk_firmware/pull/23455))
* Add new set of keycodes for RGB Matrix ([#23463](https://github.com/qmk/qmk_firmware/pull/23463))
* Refactoring successive press() release() calls into tap_key() calls ([#23573](https://github.com/qmk/qmk_firmware/pull/23573))
* Rename `RGBW` define to `WS2812_RGBW` ([#23585](https://github.com/qmk/qmk_firmware/pull/23585))
* Normalise RGBLight (underglow) keycodes ([#23656](https://github.com/qmk/qmk_firmware/pull/23656))
* split_util: rename `usbIsActive` to `usb_bus_detected` ([#23657](https://github.com/qmk/qmk_firmware/pull/23657))
* Insert delay between shifted chars in send_string_with_delay for AVR ([#23673](https://github.com/qmk/qmk_firmware/pull/23673))
* Remove useless `LED/RGB_MATRIX_ENABLE` ifdefs ([#23726](https://github.com/qmk/qmk_firmware/pull/23726))
CLI:
* Some metadata on QGF/QFF files ([#20101](https://github.com/qmk/qmk_firmware/pull/20101))
* `qmk new-keyboard` - detach community layout when selecting "none of the above" ([#20405](https://github.com/qmk/qmk_firmware/pull/20405))
* Initial `qmk test-c` functionality ([#23038](https://github.com/qmk/qmk_firmware/pull/23038))
* Reject duplicate matrix locations in LAYOUT macros ([#23273](https://github.com/qmk/qmk_firmware/pull/23273))
* Align 'qmk lint' argument handling ([#23297](https://github.com/qmk/qmk_firmware/pull/23297))
* Produce warning if keyboard is not configured via `keyboard.json` ([#23321](https://github.com/qmk/qmk_firmware/pull/23321))
Submodule updates:
* Update ChibiOS submodules. ([#23405](https://github.com/qmk/qmk_firmware/pull/23405))
Keyboards:
* Move `SPLIT_KEYBOARD` to data driven ([#21410](https://github.com/qmk/qmk_firmware/pull/21410))
* Change to `development_board` ([#21695](https://github.com/qmk/qmk_firmware/pull/21695))
* Add solid_reactive effects for MIIIW BlackIO83 ([#22251](https://github.com/qmk/qmk_firmware/pull/22251))
* Migrate content where only parent info.json exists ([#22895](https://github.com/qmk/qmk_firmware/pull/22895))
* Remove redundant disabling of features ([#22926](https://github.com/qmk/qmk_firmware/pull/22926))
* Update ScottoAlp handwired keyboard to 12 column layout ([#22962](https://github.com/qmk/qmk_firmware/pull/22962))
* Overhaul ploopyco devices ([#22967](https://github.com/qmk/qmk_firmware/pull/22967))
* Add rp2040_ce option to lotus58 ([#23185](https://github.com/qmk/qmk_firmware/pull/23185))
* Migrate features from rules.mk to data driven - 0-9 ([#23202](https://github.com/qmk/qmk_firmware/pull/23202))
* Change default RGB effect for momokai keypads to solid white ([#23217](https://github.com/qmk/qmk_firmware/pull/23217))
* Migrate annepro2 away from custom matrix ([#23221](https://github.com/qmk/qmk_firmware/pull/23221))
* Update BAMFK-1 ([#23236](https://github.com/qmk/qmk_firmware/pull/23236))
* Migrate features from rules.mk to data driven - ABCD ([#23247](https://github.com/qmk/qmk_firmware/pull/23247))
* Migrate features from rules.mk to data driven - EFGH ([#23248](https://github.com/qmk/qmk_firmware/pull/23248))
* Remove 60_ansi_arrow_split_bs_7u_spc Community Layout ([#23259](https://github.com/qmk/qmk_firmware/pull/23259))
* Migrate features from rules.mk to data driven - IJK ([#23276](https://github.com/qmk/qmk_firmware/pull/23276))
* Migrate features from rules.mk to data driven - LMN ([#23277](https://github.com/qmk/qmk_firmware/pull/23277))
* Migrate features from rules.mk to data driven - OPQR ([#23285](https://github.com/qmk/qmk_firmware/pull/23285))
* Migrate features from rules.mk to data driven - ST ([#23286](https://github.com/qmk/qmk_firmware/pull/23286))
* Migrate features from rules.mk to data driven - UVWXYZ ([#23287](https://github.com/qmk/qmk_firmware/pull/23287))
* Swift65 Hotswap Layout Name Standardization ([#23288](https://github.com/qmk/qmk_firmware/pull/23288))
* Swift65 Solder Layout Name Standardization ([#23289](https://github.com/qmk/qmk_firmware/pull/23289))
* Migrate build target markers to keyboard.json ([#23293](https://github.com/qmk/qmk_firmware/pull/23293))
* KPRepublic JJ50 rev1 Refactor ([#23294](https://github.com/qmk/qmk_firmware/pull/23294))
* KPRepublic JJ40 rev1 Refactor ([#23299](https://github.com/qmk/qmk_firmware/pull/23299))
* Migrate features and LTO from rules.mk to data driven ([#23302](https://github.com/qmk/qmk_firmware/pull/23302))
* Add RGB lighting for the PetruziaMini ([#23305](https://github.com/qmk/qmk_firmware/pull/23305))
* Migrate features and LTO from rules.mk to data driven ([#23307](https://github.com/qmk/qmk_firmware/pull/23307))
* MechKeys ACR60 Layout Updates ([#23309](https://github.com/qmk/qmk_firmware/pull/23309))
* Remove RGBLight `led[]` references ([#23311](https://github.com/qmk/qmk_firmware/pull/23311))
* Reduce firmware size of helix/rev3 ([#23324](https://github.com/qmk/qmk_firmware/pull/23324))
* P3D Spacey Layout Updates ([#23329](https://github.com/qmk/qmk_firmware/pull/23329))
* Data-Driven Keyboard Conversions: 0-9 ([#23357](https://github.com/qmk/qmk_firmware/pull/23357))
* Update GPIO API usage in keyboard code ([#23361](https://github.com/qmk/qmk_firmware/pull/23361))
* Remove "w": 1 from keyboards/ ([#23367](https://github.com/qmk/qmk_firmware/pull/23367))
* Remove `quantum.h` includes from keyboard custom `matrix.c`s ([#23371](https://github.com/qmk/qmk_firmware/pull/23371))
* refactor: mechwild/bbs ([#23373](https://github.com/qmk/qmk_firmware/pull/23373))
* Remove 'NO_USB_STARTUP_CHECK = no' from keyboards ([#23376](https://github.com/qmk/qmk_firmware/pull/23376))
* Remove completely redundant DEFAULT_FOLDER from keyboards ([#23377](https://github.com/qmk/qmk_firmware/pull/23377))
* Miscellaneous keyboard.json migrations ([#23378](https://github.com/qmk/qmk_firmware/pull/23378))
* Data-Driven Keyboard Conversions: A ([#23379](https://github.com/qmk/qmk_firmware/pull/23379))
* refactor: flehrad/bigswitch ([#23384](https://github.com/qmk/qmk_firmware/pull/23384))
* add second encoder to matrix info of arrowmechanics/wings ([#23390](https://github.com/qmk/qmk_firmware/pull/23390))
* Change the VID and PID of the file kb38 info.json ([#23393](https://github.com/qmk/qmk_firmware/pull/23393))
* Remove `quantum.h` includes from keyboard code ([#23394](https://github.com/qmk/qmk_firmware/pull/23394))
* [ UPDATE 15PAD & 6PAD ] ([#23397](https://github.com/qmk/qmk_firmware/pull/23397))
* Remove more unnecessary `quantum.h` includes ([#23402](https://github.com/qmk/qmk_firmware/pull/23402))
* KB name change to Part.1-75-HS ([#23403](https://github.com/qmk/qmk_firmware/pull/23403))
* Tidy up keyboards/zvecr ([#23418](https://github.com/qmk/qmk_firmware/pull/23418))
* "features.split" is not a valid key ([#23419](https://github.com/qmk/qmk_firmware/pull/23419))
* Migrate build target markers to keyboard.json - YZ ([#23421](https://github.com/qmk/qmk_firmware/pull/23421))
* refactor: mechwild/waka60 ([#23423](https://github.com/qmk/qmk_firmware/pull/23423))
* Convert some AVR GPIO operations to macros ([#23424](https://github.com/qmk/qmk_firmware/pull/23424))
* Data-Driven Keyboard Conversions: B ([#23425](https://github.com/qmk/qmk_firmware/pull/23425))
* Tidy up default layer handling in keymaps ([#23436](https://github.com/qmk/qmk_firmware/pull/23436))
* Added Chapter1 ([#23452](https://github.com/qmk/qmk_firmware/pull/23452))
* Data-driven Keyboard Conversions: C ([#23453](https://github.com/qmk/qmk_firmware/pull/23453))
* Migrate build target markers to keyboard.json - X ([#23460](https://github.com/qmk/qmk_firmware/pull/23460))
* Data-Driven Keyboard Conversions: D ([#23461](https://github.com/qmk/qmk_firmware/pull/23461))
* Miscellaneous keyboard.json migrations ([#23486](https://github.com/qmk/qmk_firmware/pull/23486))
* Migrate build target markers to keyboard.json - 0AB ([#23488](https://github.com/qmk/qmk_firmware/pull/23488))
* Migrate build target markers to keyboard.json - W ([#23511](https://github.com/qmk/qmk_firmware/pull/23511))
* Data-Driven Keyboard Conversions: E ([#23512](https://github.com/qmk/qmk_firmware/pull/23512))
* Migrate build target markers to keyboard.json - TUV ([#23514](https://github.com/qmk/qmk_firmware/pull/23514))
* Migrate build target markers to keyboard.json - DE ([#23515](https://github.com/qmk/qmk_firmware/pull/23515))
* Data-Driven Keyboard Conversions: F ([#23516](https://github.com/qmk/qmk_firmware/pull/23516))
* Data-Driven Keyboard Conversions: G ([#23522](https://github.com/qmk/qmk_firmware/pull/23522))
* Data-Driven Keyboard Conversions: H, Part 1 ([#23524](https://github.com/qmk/qmk_firmware/pull/23524))
* Data-Driven Keyboard Conversions: H, Part 2 ([#23525](https://github.com/qmk/qmk_firmware/pull/23525))
* Migrate build target markers to keyboard.json - C ([#23529](https://github.com/qmk/qmk_firmware/pull/23529))
* Data-Driven Keyboard Conversions: H, Part 3 ([#23530](https://github.com/qmk/qmk_firmware/pull/23530))
* Migrate build target markers to keyboard.json - S ([#23532](https://github.com/qmk/qmk_firmware/pull/23532))
* Data-Driven Keyboard Conversions: I ([#23533](https://github.com/qmk/qmk_firmware/pull/23533))
* Migrate build target markers to keyboard.json - FG ([#23534](https://github.com/qmk/qmk_firmware/pull/23534))
* Migrate build target markers to keyboard.json - HI ([#23540](https://github.com/qmk/qmk_firmware/pull/23540))
* Remove *_SUPPORTED = yes ([#23541](https://github.com/qmk/qmk_firmware/pull/23541))
* Migrate build target markers to keyboard.json - R ([#23542](https://github.com/qmk/qmk_firmware/pull/23542))
* Data-Driven Keyboard Conversions: J ([#23547](https://github.com/qmk/qmk_firmware/pull/23547))
* Data-Driven Keyboard Conversions: K, Part 1 ([#23556](https://github.com/qmk/qmk_firmware/pull/23556))
* Tidy use of raw hid within keyboards ([#23557](https://github.com/qmk/qmk_firmware/pull/23557))
* Data-Driven Keyboard Conversions: K, Part 2 ([#23562](https://github.com/qmk/qmk_firmware/pull/23562))
* Migrate build target markers to keyboard.json - OQ ([#23564](https://github.com/qmk/qmk_firmware/pull/23564))
* Migrate build target markers to keyboard.json - P ([#23565](https://github.com/qmk/qmk_firmware/pull/23565))
* Data-Driven Keyboard Conversions: K, Part 3 ([#23566](https://github.com/qmk/qmk_firmware/pull/23566))
* Data-Driven Keyboard Conversions: K, Part 4 ([#23567](https://github.com/qmk/qmk_firmware/pull/23567))
* Data-Driven Keyboard Conversions: K, Part 5 ([#23569](https://github.com/qmk/qmk_firmware/pull/23569))
* Data-Driven Keyboard Conversions: L ([#23576](https://github.com/qmk/qmk_firmware/pull/23576))
* Migrate build target markers to keyboard.json - JK ([#23588](https://github.com/qmk/qmk_firmware/pull/23588))
* Migrate build target markers to keyboard.json - N ([#23589](https://github.com/qmk/qmk_firmware/pull/23589))
* Data-Driven Keyboard Conversions: M, Part 1 ([#23590](https://github.com/qmk/qmk_firmware/pull/23590))
* Add haptic driver to keyboard.json schema ([#23591](https://github.com/qmk/qmk_firmware/pull/23591))
* Migrate build target markers to keyboard.json - Keychron ([#23593](https://github.com/qmk/qmk_firmware/pull/23593))
* Remove RGBLIGHT_SPLIT in rules.mk ([#23599](https://github.com/qmk/qmk_firmware/pull/23599))
* Data-Driven Keyboard Conversions: M, Part 2 ([#23601](https://github.com/qmk/qmk_firmware/pull/23601))
* Align NO_SUSPEND_POWER_DOWN keyboard config ([#23606](https://github.com/qmk/qmk_firmware/pull/23606))
* Migrate build target markers to keyboard.json - L ([#23607](https://github.com/qmk/qmk_firmware/pull/23607))
* Migrate build target markers to keyboard.json - Misc ([#23609](https://github.com/qmk/qmk_firmware/pull/23609))
* Migrate build target markers to keyboard.json - Misc ([#23612](https://github.com/qmk/qmk_firmware/pull/23612))
* Data-Driven Keyboard Conversions: M, Part 3 ([#23614](https://github.com/qmk/qmk_firmware/pull/23614))
* Add audio driver to keyboard.json schema ([#23616](https://github.com/qmk/qmk_firmware/pull/23616))
* Data-Driven Keyboard Conversions: BastardKB ([#23622](https://github.com/qmk/qmk_firmware/pull/23622))
* Data-Driven Keyboard Conversions: Mechlovin ([#23624](https://github.com/qmk/qmk_firmware/pull/23624))
* Migrate build target markers to keyboard.json - BM ([#23627](https://github.com/qmk/qmk_firmware/pull/23627))
* gh80_3000 - Enable indicator LED functionality ([#23633](https://github.com/qmk/qmk_firmware/pull/23633))
* Iris keymap update ([#23635](https://github.com/qmk/qmk_firmware/pull/23635))
* Migrate build target markers to keyboard.json - Misc ([#23653](https://github.com/qmk/qmk_firmware/pull/23653))
* Add via support for craftwalk ([#23658](https://github.com/qmk/qmk_firmware/pull/23658))
* Align RGBKB keyboards to current standards ([#23663](https://github.com/qmk/qmk_firmware/pull/23663))
* Remove 'split.transport.protocol=serial_usart' ([#23668](https://github.com/qmk/qmk_firmware/pull/23668))
* Remove redundant keymap templates ([#23685](https://github.com/qmk/qmk_firmware/pull/23685))
* Change all RGB mode keycodes to short aliases ([#23691](https://github.com/qmk/qmk_firmware/pull/23691))
* Adjust keycode alignment around `QK_BOOT` ([#23697](https://github.com/qmk/qmk_firmware/pull/23697))
* Remove RGB keycodes from boards with no RGB config ([#23709](https://github.com/qmk/qmk_firmware/pull/23709))
* Miscellaneous Data-Driven Keyboard Conversions ([#23712](https://github.com/qmk/qmk_firmware/pull/23712))
* Delete trivial keymap readmes ([#23714](https://github.com/qmk/qmk_firmware/pull/23714))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: 0-9 ([#23716](https://github.com/qmk/qmk_firmware/pull/23716))
* Add media key support to Riot Pad ([#23719](https://github.com/qmk/qmk_firmware/pull/23719))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: A-C, Part 1 ([#23745](https://github.com/qmk/qmk_firmware/pull/23745))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: A-C, Part 2 ([#23746](https://github.com/qmk/qmk_firmware/pull/23746))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: A-C, Part 3 ([#23747](https://github.com/qmk/qmk_firmware/pull/23747))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: D, Part 1 ([#23749](https://github.com/qmk/qmk_firmware/pull/23749))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: D, Part 2 ([#23750](https://github.com/qmk/qmk_firmware/pull/23750))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: E ([#23751](https://github.com/qmk/qmk_firmware/pull/23751))
* Move VIA config to keymap level ([#23754](https://github.com/qmk/qmk_firmware/pull/23754))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: F ([#23757](https://github.com/qmk/qmk_firmware/pull/23757))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: G ([#23758](https://github.com/qmk/qmk_firmware/pull/23758))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: H, Part 1 ([#23759](https://github.com/qmk/qmk_firmware/pull/23759))
* Remove includes of config.h ([#23760](https://github.com/qmk/qmk_firmware/pull/23760))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: H, Part 2 ([#23762](https://github.com/qmk/qmk_firmware/pull/23762))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: H, Part 3 ([#23763](https://github.com/qmk/qmk_firmware/pull/23763))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: H, Part 4 ([#23764](https://github.com/qmk/qmk_firmware/pull/23764))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: I-J ([#23767](https://github.com/qmk/qmk_firmware/pull/23767))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: K, Part 1 ([#23768](https://github.com/qmk/qmk_firmware/pull/23768))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: K, Part 2 ([#23769](https://github.com/qmk/qmk_firmware/pull/23769))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: K, Part 3 ([#23770](https://github.com/qmk/qmk_firmware/pull/23770))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: L ([#23771](https://github.com/qmk/qmk_firmware/pull/23771))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: M, Part 1 ([#23772](https://github.com/qmk/qmk_firmware/pull/23772))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: M, Part 2 ([#23773](https://github.com/qmk/qmk_firmware/pull/23773))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: N ([#23774](https://github.com/qmk/qmk_firmware/pull/23774))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: O ([#23778](https://github.com/qmk/qmk_firmware/pull/23778))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: P, Part 1 ([#23779](https://github.com/qmk/qmk_firmware/pull/23779))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: P, Part 2 ([#23780](https://github.com/qmk/qmk_firmware/pull/23780))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: Q-R ([#23781](https://github.com/qmk/qmk_firmware/pull/23781))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: S, Part 1 ([#23783](https://github.com/qmk/qmk_firmware/pull/23783))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: S, Part 2 ([#23784](https://github.com/qmk/qmk_firmware/pull/23784))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: T ([#23785](https://github.com/qmk/qmk_firmware/pull/23785))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: U-V ([#23786](https://github.com/qmk/qmk_firmware/pull/23786))
* Remove some useless code from keymaps ([#23787](https://github.com/qmk/qmk_firmware/pull/23787))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: W, Part 1 ([#23788](https://github.com/qmk/qmk_firmware/pull/23788))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: W, Part 2 ([#23789](https://github.com/qmk/qmk_firmware/pull/23789))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: X-Z ([#23790](https://github.com/qmk/qmk_firmware/pull/23790))
* Update GPIO macros in keymaps ([#23792](https://github.com/qmk/qmk_firmware/pull/23792))
* noroadsleft's 0.25.0 Changelogs and Touch-Ups ([#23793](https://github.com/qmk/qmk_firmware/pull/23793))
Keyboard fixes:
* Fix mapping of GUI/ALT for Win/Mac layers ([#22662](https://github.com/qmk/qmk_firmware/pull/22662))
* Adding standard keymap for wave keyboard to fix #22695 ([#22741](https://github.com/qmk/qmk_firmware/pull/22741))
* Fixup qk100 (firmware size) ([#23169](https://github.com/qmk/qmk_firmware/pull/23169))
* Fixup mechlovin/octagon ([#23179](https://github.com/qmk/qmk_firmware/pull/23179))
* Fix up scanning for Djinn, post-asyncUSB. ([#23188](https://github.com/qmk/qmk_firmware/pull/23188))
* Fixup annepro2 ([#23206](https://github.com/qmk/qmk_firmware/pull/23206))
* Fixed keychron q1v1 led config for iso layout ([#23222](https://github.com/qmk/qmk_firmware/pull/23222))
* Fixes for idobao vendor keymaps ([#23246](https://github.com/qmk/qmk_firmware/pull/23246))
* Fixup work_board ([#23266](https://github.com/qmk/qmk_firmware/pull/23266))
* Linworks FAve 87H Keymap Refactor/Bugfix ([#23292](https://github.com/qmk/qmk_firmware/pull/23292))
* Align encoder layout validation with encoder.h logic ([#23330](https://github.com/qmk/qmk_firmware/pull/23330))
* 0xcb/splaytoraid: remove `CONVERT_TO` at keyboard level ([#23395](https://github.com/qmk/qmk_firmware/pull/23395))
* 40percentclub/gherkin: remove `CONVERT_TO` at keyboard level ([#23396](https://github.com/qmk/qmk_firmware/pull/23396))
* Fix spaceholdings/nebula68b ([#23399](https://github.com/qmk/qmk_firmware/pull/23399))
* Fix failing keyboards on develop ([#23406](https://github.com/qmk/qmk_firmware/pull/23406))
* Corrections to split keyboard migrations ([#23462](https://github.com/qmk/qmk_firmware/pull/23462))
* Fix iris via keymap ([#23652](https://github.com/qmk/qmk_firmware/pull/23652))
* xiudi/xd75 - Fix backlight compilation issues ([#23655](https://github.com/qmk/qmk_firmware/pull/23655))
Bugs:
* WS2812 PWM: prefix for DMA defines ([#23111](https://github.com/qmk/qmk_firmware/pull/23111))
* Fix rgblight init ([#23335](https://github.com/qmk/qmk_firmware/pull/23335))
* Fix WAIT_FOR_USB handling ([#23598](https://github.com/qmk/qmk_firmware/pull/23598))
* Fix PS/2 Trackpoint mouse clicks (#22265) ([#23694](https://github.com/qmk/qmk_firmware/pull/23694))

261
docs/__capabilities.md Normal file
View File

@@ -0,0 +1,261 @@
# Documentation Capabilities
This page lays out the capabilities used by the QMK Firmware documentation, in order to aid future transitions to other page generators. Focuses mainly on things other than normal Markdown, as it's assumed that markdown generators should still function accordingly.
## Overall capabilities
Unrelated to styling, high-level tech.
* I18n -- translations to other languages: [_langs.md](_langs.md)
* Sidebar -- listing of pages by category: [_summary.md](_summary.md)
* Title anchors -- `:id=some-anchor-name`, used for direct linking to sections
* Links to anchors:
* Style 1: [early initialization](platformdev_chibios_earlyinit.md?id=board-init)
* Style 2: [early initialization](platformdev_chibios_earlyinit.md#board-init)
* Links to anchors on the same page, i.e. [Emoji](#emoji)
* Specifying CNAME for root domain -- `docs.qmk.fm`
* Moved pages, see `index.html`
* Text search
* Footnotes [like this][1]
<!-- Comments should not show up -->
<!-- Nor should
multiline
comments with
newlines show up -->
### Dividing lines
---
<hr>
<hr/>
### Images
![QMK Color Wheel with HSV Values](https://i.imgur.com/vkYVo66.jpg)
<img src="gitbook/images/color-wheel.svg" alt="HSV Color Wheel" width="250"/>
### Lists
Newlines with `<br>`:
Line one<br>
Line two<br/>
Line three
Nested dotted:
* The PR is complete and ready to merge
* GitHub checks for the PR are green whenever possible
* A "red" check may be disregarded by maintainers if the items flagged are unrelated to the change proposed in the PR
* Modifications to existing files should not need to add license headers to pass lint, for instance.
* If it's not directly related to your PR's functionality, prefer avoiding making a change.
Nested dashed:
- The PR is complete and ready to merge
- GitHub checks for the PR are green whenever possible
- A "red" check may be disregarded by maintainers if the items flagged are unrelated to the change proposed in the PR
- Modifications to existing files should not need to add license headers to pass lint, for instance.
- If it's not directly related to your PR's functionality, prefer avoiding making a change.
Nested numbered:
1. The PR is complete and ready to merge
1. GitHub checks for the PR are green whenever possible
1. A "red" check may be disregarded by maintainers if the items flagged are unrelated to the change proposed in the PR
1. Modifications to existing files should not need to add license headers to pass lint, for instance.
1. If it's not directly related to your PR's functionality, prefer avoiding making a change.
Nested mixed:
1. Add it to the schema in `data/schemas/keyboards.jsonschema`
1. Add a mapping in `data/maps`
1. (optional and discouraged) Add code to extract/generate it to:
* `lib/python/qmk/info.py`
* `lib/python/qmk/cli/generate/config_h.py`
* `lib/python/qmk/cli/generate/rules_mk.py`
### Emoji :id=emoji
#### Direct:
👍🎉 First off, thanks for taking the time to read this and contribute! 🎉👍
#### As colon-name-colon:
:heavy_check_mark: : works and was tested
:o: : does not apply
:x: : not supported by MCU
### XML Entities
[`clueboard`](https://github.com/qmk/qmk_firmware/tree/master/keyboards/clueboard) &larr; This is the organization folder, there's no `rules.mk` file
1&ndash;4
Command+<code>&#96;</code>
## Styling
### CSS-ish
<b style="font-size:150%">This is 150% of normal sizing, and bold!</b>
### Tables
| Column A | Column B |
|----------|----------|
| Left | Right |
### Indented sections
> Indent without any sort of marker
?> Query, this?
!> Notification, damnit!
### Keyboard keys
<kbd>,</kbd>
<kbd>Right Alt</kbd>+<kbd>Right Shift</kbd>
1. Click <kbd>File</kbd> > <kbd>New</kbd> > <kbd>Makefile Project with Existing Code</kbd>
1. Click <kbd><kbd>File</kbd> > <kbd>Preferences ></kbd> > <kbd>Settings</kbd> </kbd>
1. Hit Ctrl-<code>&#96;</code> (Grave) to bring up the terminal or go to <kbd><kbd>View</kbd> > <kbd>Terminal</kbd></kbd> (command `workbench.action.terminal.toggleTerminal`). A new terminal will be opened if there isnt one already.
This should start the terminal in the workspace's folder (so the `qmk_firmware` folder), and then you can compile your keyboard.
### Code Blocks
Inline code with tag: <code>test</code>
Inline code with backticks: `test`
This is preformatted
Indented by 4 spaces
The letters lined up
```c
int c_code(void) {
return -1;
}
```
```makefile
ifeq ($(BUILD),)
CHUNDER_REQUIRED = yes
endif
```
```python
from pathlib import Path
p = Path('/path/to/qmk_firmware')
```
```json
{
"a": "b",
"c": 4,
"d": {
"e": [
0, 1, 2, 3
]
}
}
```
```diff
#undef RGBLIGHT_LED_COUNT
+#undef RGBLIGHT_EFFECT_STATIC_GRADIENT
+#undef RGBLIGHT_EFFECT_RAINBOW_SWIRL
#define RGBLIGHT_LED_COUNT 12
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
```
Indented code as part of a list:
* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (recommended GUI)
* [Teensy Loader](https://www.pjrc.com/teensy/loader.html)
* [Teensy Loader Command Line](https://www.pjrc.com/teensy/loader_cli.html) / `:teensy` target in QMK (recommended command line)
```
teensy_loader_cli -v -mmcu=<mcu> <filename>
```
### Sub/Superscript
<sub>This is subscripted, apparently.</sub>
<sup>This is superscripted, apparently.</sup>
I<sup>2</sup>C
T<sub>0H</sub>, T<sub>0L</sub>
### Tabs
Tabs are based on section headers, with `**` enclosing the tab title.
<!-- tabs:start -->
#### ** Tab one **
Content one
<!-- tabs:start -->
##### ** Nested one **
Nested content one
##### ** Nested two **
Nested content two
<!-- tabs:end -->
#### ** Tab two **
Content two
#### ** Tab three **
Content three
<!-- tabs:end -->
## Details sections
Expandable:
<details>
<summary>Some summary text that shows up before expanding</summary>
!> Embedded notification!
This is some inner content.
</details>
[1]: https://en.wikipedia.org/wiki/Eclipse_(software)
## Embed
[example embed](__capabilities_inc.md ':include')

View File

@@ -0,0 +1 @@
Lorem ipsum dolor sit amet.

View File

@@ -138,7 +138,7 @@
* Breaking Changes
* [Overview](breaking_changes.md)
* [My Pull Request Was Flagged](breaking_changes_instructions.md)
* [Most Recent ChangeLog](ChangeLog/20240225.md "QMK v0.24.0 - 2024 Feb 25")
* [Most Recent ChangeLog](ChangeLog/20240526.md "QMK v0.25.0 - 2024 May 26")
* [Past Breaking Changes](breaking_changes_history.md)
* C Development

View File

@@ -10,25 +10,25 @@ Practically, this means QMK merges the `develop` branch into the `master` branch
## What has been included in past Breaking Changes?
* [2024 May 26](ChangeLog/20240526.md)
* [2024 Feb 25](ChangeLog/20240225.md)
* [2023 Nov 26](ChangeLog/20231126.md)
* [2023 Aug 27](ChangeLog/20230827.md)
* [Older Breaking Changes](breaking_changes_history.md)
## When is the next Breaking Change?
The next Breaking Change is scheduled for May 26, 2024.
The next Breaking Change is scheduled for August 25, 2024.
### Important Dates
* 2024 Feb 25 - `develop` is tagged with a new release version. Each push to `master` is subsequently merged to `develop` by GitHub actions.
* 2024 Apr 28 - `develop` closed to new PRs.
* 2024 Apr 28 - Call for testers.
* 2024 May 5 - Last day for merges -- after this point `develop` is locked for testing and accepts only bugfixes
* 2024 May 19 - `develop` is locked, only critical bugfix PRs merged.
* 2024 May 23 - `master` is locked, no PRs merged.
* 2024 May 26 - Merge `develop` to `master`.
* 2024 May 26 - `master` is unlocked. PRs can be merged again.
* 2024 May 26 - `develop` is tagged with a new release version. Each push to `master` is subsequently merged to `develop` by GitHub actions.
* 2024 Jul 28 - `develop` closed to new PRs.
* 2024 Jul 28 - Call for testers.
* 2024 Aug 4 - Last day for merges -- after this point `develop` is locked for testing and accepts only bugfixes
* 2024 Aug 18 - `develop` is locked, only critical bugfix PRs merged.
* 2024 Aug 22 - `master` is locked, no PRs merged.
* 2024 Aug 25 - Merge `develop` to `master`.
* 2024 Aug 25 - `master` is unlocked. PRs can be merged again.
## What changes will be included?

View File

@@ -2,6 +2,7 @@
This page links to all previous changelogs from the QMK Breaking Changes process.
* [2024 May 26](ChangeLog/20240526.md) - version 0.25.0
* [2024 Feb 25](ChangeLog/20240225.md) - version 0.24.0
* [2023 Nov 26](ChangeLog/20231126.md) - version 0.23.0
* [2023 Aug 27](ChangeLog/20230827.md) - version 0.22.0

View File

@@ -322,6 +322,18 @@ Creates a keymap.json from a keymap.c.
qmk c2json -km KEYMAP -kb KEYBOARD [-q] [--no-cpp] [-o OUTPUT] filename
```
**Examples**:
```
qmk c2json -km default -kb handwired/dactyl_promicro
```
or with filename:
```
qmk c2json keyboards/handwired/dactyl_promicro/keymaps/default/keymap.c
```
## `qmk lint`
Checks over a keyboard and/or keymap and highlights common errors, problems, and anti-patterns.
@@ -791,3 +803,39 @@ This command converts a TTF font to an intermediate format for editing, before c
This command converts an intermediate font image to the QFF File Format. See the [Quantum Painter](quantum_painter.md?id=quantum-painter-cli) documentation for more information on this command.
## `qmk test-c`
This command runs the C unit test suite. If you make changes to C code you should ensure this runs successfully.
**Usage**:
```
qmk test-c [-h] [-t TEST] [-l] [-c] [-e ENV] [-j PARALLEL]
options:
-h, --help show this help message and exit
-t TEST, --test TEST Test to run from the available list. Supports wildcard globs. May be passed multiple times.
-l, --list List available tests.
-c, --clean Remove object files before compiling.
-e ENV, --env ENV Set a variable to be passed to make. May be passed multiple times.
-j PARALLEL, --parallel PARALLEL
Set the number of parallel make jobs; 0 means unlimited.
```
**Examples**:
Run entire test suite:
qmk test-c
List available tests:
qmk test-c --list
Run matching test:
qmk test-c --test unicode*
Run single test:
qmk test-c --test basic

View File

@@ -237,7 +237,7 @@ If you define these options you will enable the associated feature, which may in
* units to step when in/decreasing saturation
* `#define RGBLIGHT_VAL_STEP 12`
* units to step when in/decreasing value (brightness)
* `#define RGBW`
* `#define WS2812_RGBW`
* Enables RGBW LED support
## Mouse Key Options
@@ -446,7 +446,7 @@ Use these to enable or disable building certain features. The more you have enab
* Allows replacing the standard matrix scanning routine with a custom one.
* `DEBOUNCE_TYPE`
* Allows replacing the standard key debouncing routine with an alternative or custom one.
* `WAIT_FOR_USB`
* `USB_WAIT_FOR_ENUMERATION`
* Forces the keyboard to wait for a USB connection to be established before it starts up
* `NO_USB_STARTUP_CHECK`
* Disables usb suspend check after keyboard startup. Usually the keyboard waits for the host to wake it up before any tasks are performed. This is useful for split keyboards as one half will not get a wakeup call but must send commands to the master.

View File

@@ -171,29 +171,31 @@ The available keycodes for audio are:
## 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 QK_BOOT 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) |
| 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. |
|`AUDIO_POWER_CONTROL_PIN` | *Not defined* |Enables power control code to enable or cut off power to speaker (such as with PAM8302 amp). |
|`AUDIO_POWER_CONTROL_PIN_ON_STATE`| `1` |The state of the audio power control pin when audio is "on" - `1` for high, `0` for low. |
|`STARTUP_SONG` | `STARTUP_SOUND` |Plays when the keyboard starts up (audio.c) |
|`GOODBYE_SONG` | `GOODBYE_SOUND` |Plays when you press the QK_BOOT 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 lengths are defined relative to that.

View File

@@ -17,11 +17,12 @@ combo_t key_combos[] = {
This will send "Escape" if you hit the A and B keys, and Ctrl+Z when you hit the C and D keys.
## Mod-Tap Support
[Mod-Tap](mod_tap.md) feature is also supported together with combos. You will need to use the full Mod-Tap keycode in the combo definition, e.g.:
## Advanced Keycodes Support
Advanced keycodes, such as [Mod-Tap](mod_tap.md) and [Tap Dance](feature_tap_dance.md) are also supported together with combos. If you use these advanced keycodes in your keymap, you will need to place the full keycode in the combo definition, e.g.:
```c
const uint16_t PROGMEM test_combo1[] = {LSFT_T(KC_A), LT(1, KC_B), COMBO_END};
const uint16_t PROGMEM test_combo2[] = {TD(TD_ESC_CAPS), KC_F1, COMBO_END};
```
## Overlapping Combos

View File

@@ -217,16 +217,17 @@ As mentioned earlier, the center of the keyboard by default is expected to be `{
## Keycodes :id=keycodes
All LED matrix keycodes are currently shared with the [Backlight feature](feature_backlight.md).
| Key | Aliases | Description |
|-------------------------|-----------|-------------------------------|
| `QK_BACKLIGHT_TOGGLE` | `BL_TOGG` | Toggle LED Matrix on or off |
| `QK_BACKLIGHT_STEP` | `BL_STEP` | Cycle through modes |
| `QK_BACKLIGHT_ON` | `BL_ON` | Turn on LED Matrix |
| `QK_BACKLIGHT_OFF` | `BL_OFF` | Turn off LED Matrix |
| `QK_BACKLIGHT_UP` | `BL_UP` | Increase the brightness level |
| `QK_BACKLIGHT_DOWN` | `BL_DOWN` | Decrease the brightness level |
|Key |Aliases |Description |
|-------------------------------|---------|-----------------------------------|
|`QK_LED_MATRIX_ON` |`LM_ON` |Turn on LED Matrix |
|`QK_LED_MATRIX_OFF` |`LM_OFF` |Turn off LED Matrix |
|`QK_LED_MATRIX_TOGGLE` |`LM_TOGG`|Toggle LED Matrix on or off |
|`QK_LED_MATRIX_MODE_NEXT` |`LM_NEXT`|Cycle through animations |
|`QK_LED_MATRIX_MODE_PREVIOUS` |`LM_PREV`|Cycle through animations in reverse|
|`QK_LED_MATRIX_BRIGHTNESS_UP` |`LM_BRIU`|Increase the brightness level |
|`QK_LED_MATRIX_BRIGHTNESS_DOWN`|`LM_BRID`|Decrease the brightness level |
|`QK_LED_MATRIX_SPEED_UP` |`LM_SPDU`|Increase the animation speed |
|`QK_LED_MATRIX_SPEED_DOWN` |`LM_SPDD`|Decrease the animation speed |
## LED Matrix Effects :id=led-matrix-effects

View File

@@ -780,6 +780,9 @@ There are several functions that allow for more advanced interaction with the au
| `get_auto_mouse_timeout(void)` | Return the current timeout for turing off the layer | | `uint16_t` |
| `set_auto_mouse_debounce(uint16_t timeout)` | Change/set the debounce for preventing layer activation | | `void`(None) |
| `get_auto_mouse_debounce(void)` | Return the current debounce for preventing layer activation | | `uint8_t` |
| `is_auto_mouse_active(void)` | Returns the active state of the auto mouse layer (eg if the layer has been triggered)| | `bool` |
| `get_auto_mouse_key_tracker(void)` | Gets the current count for the auto mouse key tracker. | | `int8_t` |
| `set_auto_mouse_key_tracker(int8_t key_tracker)` | Sets/Overrides the current count for the auto mouse key tracker. | | `void`(None) |
_NOTES:_
- _Due to the nature of how some functions work, the `auto_mouse_trigger_reset`, and `auto_mouse_layer_off` functions should never be called in the `layer_state_set_*` stack as this can cause indefinite loops._

View File

@@ -6,7 +6,7 @@ QMK has the ability to control RGB LEDs attached to your keyboard. This is commo
Some keyboards come with RGB LEDs preinstalled. Others must have them installed after the fact. See the [Hardware Modification](#hardware-modification) section for information on adding RGB lighting to your keyboard.
Currently QMK supports the following addressable LEDs (however, the white LED in RGBW variants is not supported):
Currently QMK supports the following addressable LEDs:
* WS2811, WS2812, WS2812B, WS2812C, etc.
* SK6812, SK6812MINI, SK6805
@@ -356,27 +356,12 @@ Usually lighting layers apply their configured brightness once activated. If you
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 |
|--------------------------------------------|-------------------------------------------------------------------|
|`sethsv(hue, sat, val, ledbuf)` |Set ledbuf to the given HSV value |
|`sethsv_raw(hue, sat, val, ledbuf)` |Set ledbuf to the given HSV value without RGBLIGHT_LIMIT_VAL check |
|`setrgb(r, g, b, ledbuf)` |Set ledbuf to the given RGB value where `r`/`g`/`b` |
### Low level Functions
|Function |Description |
|--------------------------------------------|-------------------------------------------|
|`rgblight_set()` |Flush out led buffers to LEDs |
|`rgblight_set_clipping_range(pos, num)` |Set clipping Range. see [Clipping Range](#clipping-range) |
Example:
```c
sethsv(HSV_WHITE, (rgb_led_t *)&led[0]); // led 0
sethsv(HSV_RED, (rgb_led_t *)&led[1]); // led 1
sethsv(HSV_GREEN, (rgb_led_t *)&led[2]); // led 2
rgblight_set(); // Utility functions do not call rgblight_set() automatically, so they need to be called explicitly.
```
### Effects and Animations Functions
#### effect range setting
|Function |Description |

View File

@@ -44,7 +44,7 @@ While the tempo defines the absolute speed at which the sequencer goes through t
|-------------------------------|---------|---------------------------------------------------|
|`QK_SEQUENCER_ON` |`SQ_ON` |Start the step sequencer |
|`QK_SEQUENCER_OFF` |`SQ_OFF` |Stop the step sequencer |
|`QK_SEQUENCER_TOGGLE` |`SQ_TOG` |Toggle the step sequencer playback |
|`QK_SEQUENCER_TOGGLE` |`SQ_TOGG`|Toggle the step sequencer playback |
|`QK_SEQUENCER_STEPS_ALL` |`SQ_SALL`|Enable all the steps |
|`QK_SEQUENCER_STEPS_CLEAR` |`SQ_SCLR`|Disable all the steps |
|`QK_SEQUENCER_TEMPO_DOWN` |`SQ_TMPD`|Decrease the tempo |

View File

@@ -266,7 +266,7 @@ This enables syncing of the Host LED status (caps lock, num lock, etc) between b
#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 enables transmitting modifier state (normal, weak, oneshot and oneshot locked) 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).
```c
#define SPLIT_WPM_ENABLE

View File

@@ -236,7 +236,7 @@ Flashing sequence:
## 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.
All USB-capable STM32 and APM32 MCUs, except for a small handful (such as STM32F103 -- see the [STM32duino section](#stm32duino)) come preloaded with a factory bootloader that cannot be modified nor deleted.
To ensure compatibility with the STM32-DFU bootloader, make sure this block is present in your `rules.mk` (optionally with `apm32-dfu` instead):

View File

@@ -175,7 +175,7 @@ As you move along, be sure that the controller is staying in place - recutting a
From here, you should have a working keyboard once you program a firmware.
Simple firmware can be created easily using the [Keyboard Firmware Builder](https://kbfirmware.com/) website. Recreate your layout using [Keyboard Layout Editor](https://www.keyboard-layout-editor.com), import it and recreate the matrix (if not already done as part of [planning the matrix](#planning-the-matrix).
Simple firmware can be created easily using the [Keyboard Firmware Builder](https://kbfirmware.com/) website. Recreate your layout using [Keyboard Layout Editor](https://www.keyboard-layout-editor.com), import it and recreate the matrix (if not already done as part of [planning the matrix](#planning-the-matrix)).
Go through the rest of the tabs, assigning keys until you get to the last one where you can compile and download your firmware. The .hex file can be flashed straight onto your keyboard, or for advanced functionality, compiled locally after [Setting up Your Environment](newbs_getting_started.md).

View File

@@ -378,7 +378,7 @@ QMK での全ての利用可能な設定にはデフォルトがあります。
* 標準マトリックス走査ルーチンを独自のものに置き換えることができます。
* `DEBOUNCE_TYPE`
* 標準キーデバウンスルーチンを代替または独自のものに置き換えることができます。
* `WAIT_FOR_USB`
* `USB_WAIT_FOR_ENUMERATION`
* キーボードが起動する前に、USB 接続が確立されるのをキーボードに待機させます
* `NO_USB_STARTUP_CHECK`
* キーボードの起動後の usb サスペンドチェックを無効にします。通常、キーボードはタスクが実行される前にホストがウェイク アップするのを待ちます。分割キーボードは半分はウェイクアップコールを取得できませんが、マスタにコマンドを送信する必要があるため、役に立ちます。

View File

@@ -398,6 +398,22 @@ See also: [Leader Key](feature_leader_key.md)
|---------|------------------------|
|`QK_LEAD`|Begins a leader sequence|
## LED Matrix :id=led-matrix
See also: [LED Matrix](feature_led_matrix.md)
|Key |Aliases |Description |
|-------------------------------|---------|-----------------------------------|
|`QK_LED_MATRIX_ON` |`LM_ON` |Turn on LED Matrix |
|`QK_LED_MATRIX_OFF` |`LM_OFF` |Turn off LED Matrix |
|`QK_LED_MATRIX_TOGGLE` |`LM_TOGG`|Toggle LED Matrix on or off |
|`QK_LED_MATRIX_MODE_NEXT` |`LM_NEXT`|Cycle through animations |
|`QK_LED_MATRIX_MODE_PREVIOUS` |`LM_PREV`|Cycle through animations in reverse|
|`QK_LED_MATRIX_BRIGHTNESS_UP` |`LM_BRIU`|Increase the brightness level |
|`QK_LED_MATRIX_BRIGHTNESS_DOWN`|`LM_BRID`|Decrease the brightness level |
|`QK_LED_MATRIX_SPEED_UP` |`LM_SPDU`|Increase the animation speed |
|`QK_LED_MATRIX_SPEED_DOWN` |`LM_SPDD`|Decrease the animation speed |
## Magic Keycodes :id=magic-keycodes
See also: [Magic Keycodes](keycodes_magic.md)

View File

@@ -7,7 +7,7 @@ QMK tries to put a lot of power into your hands by making easy things easy, and
Not sure if your keyboard can run QMK? If it's a mechanical keyboard you built yourself chances are good it can. We support a [large number of hobbyist boards](https://qmk.fm/keyboards/). If your current keyboard can't run QMK there are a lot of choices out there for boards that do.
?> **Is This Guide For Me?**<br>
If the thought of programming intimidates you, please [take a look at our online GUI](newbs_building_firmware_configurator.md) instead.</div>
If the thought of programming intimidates you, please [take a look at our online GUI](newbs_building_firmware_configurator.md) instead.
## Overview

View File

@@ -148,6 +148,13 @@ https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard
- For instance, only `wilba_tech` boards shall include `keyboards/wilba_tech/wt_main.c` and `keyboards/wilba_tech/wt_rgb_backlight.c`. But including `drivers/sensors/pmw3360.c` is absolutely fine for any and all boards that require it.
- Code that needs to be used by multiple boards is a candidate for core code changes, and should be separated out.
Wireless-capable boards:
- Given license abuse from vendors, QMK does not accept any vendor PRs for wireless- or Bluetooth-capable keyboards without wireless and/or Bluetooth code
- Historically, vendors have done this in bad faith in order to attain downstream VIA compatibility with no intention of releasing wireless sources
- QMK's license, the GPL2+, requires full source disclosure for any distributed binary -- including full sources for any keyboard shipped by vendors containing QMK and/or firmware-side VIA code
- If a vendor's wireless-capable keyboard PR submission is lacking wireless capability, then the PR will be left on-hold and unmergeable until wireless bindings are provided
- If a vendor's wireless-capable keyboard is merged into QMK before it's known that the board is wireless, then all existing and future PRs from the same vendor will be put on hold until wireless bindings for the offending keyboard are provided
Also, specific to ChibiOS:
- **strong** preference to using existing ChibiOS board definitions.
- a lot of the time, an equivalent Nucleo board can be used with a different flash size or slightly different model in the same family

View File

@@ -118,15 +118,24 @@ Configures the [Audio](feature_audio.md) feature.
* `clicky`
* The default audio clicky enabled state.
* Default: `true`
* `driver`
* The driver to use. Must be one of `dac_additive`, `dac_basic`, `pwm_software`, `pwm_hardware`.
* `macro_beep`
* Play a short beep for `\a` (ASCII `BEL`) characters in Send String macros.
* Default: `false`
* `pins` (Required)
* The GPIO pin(s) connected to the speaker(s).
* `power_control`
* `on_state`
* The logical GPIO state required to turn the speaker on.
* Default: `1` (on = high)
* `pin`
* The GPIO pin connected to speaker power circuit.
* `voices`
* Use multiple audio voices.
* Default: `false`
## Backlight :id=backlight
Configures the [Backlight](feature_backlight.md) feature.
@@ -579,9 +588,6 @@ Configures the [RGB Lighting](feature_rgblight.md) feature.
* `max_brightness`
* The maximum value which the HSV "V" component is scaled to, from 0 to 255.
* Default: `255`
* `rgbw`
* Enable RGBW LEDs.
* Default: `false`
* `saturation_steps`
* The number of saturation adjustment steps.
* Default: `17`
@@ -633,7 +639,7 @@ Configures the [RGB Matrix](feature_rgb_matrix.md) feature.
* The default animation speed.
* Default: `128`
* `driver` (Required)
* The driver to use. Must be one of `aw20216s`, `custom`, `is31fl3218`, `is31fl3729`, `is31fl3731`, `is31fl3733`, `is31fl3736`, `is31fl3737`, `is31fl3741`, `is31fl3742a`, `is31fl3743a`, `is31fl3745`, `is31fl3746a`, `snled27351`, `ws2812`.
* The driver to use. Must be one of `aw20216s`, `custom`, `is31fl3218`, `is31fl3236`, `is31fl3729`, `is31fl3731`, `is31fl3733`, `is31fl3736`, `is31fl3737`, `is31fl3741`, `is31fl3742a`, `is31fl3743a`, `is31fl3745`, `is31fl3746a`, `snled27351`, `ws2812`.
* `hue_steps`
* The number of hue adjustment steps.
* Default: `8`
@@ -733,7 +739,7 @@ Configures the [Split Keyboard](feature_split_keyboard.md) feature.
* Default: `1`
* `transport`
* `protocol`
* The split transport protocol to use. Must be one of `custom`, `i2c`, `serial`, `serial_usart`.
* The split transport protocol to use. Must be one of `custom`, `i2c`, `serial`.
* `sync`
* `activity`
* Mirror the activity timestamps to the secondary half.
@@ -826,7 +832,7 @@ Configures the [Stenography](feature_stenography.md) feature.
* `suspend_wakeup_delay`
* The amount of time to wait after sending a wakeup packet, in milliseconds.
* Default: `0` (disabled)
* `wait_for`
* `wait_for_enumeration`
* Force the keyboard to wait for USB enumeration before starting up.
* Default: `false`
@@ -846,3 +852,6 @@ Configures the [WS2812](ws2812_driver.md) driver.
* `i2c_timeout`
* The I²C timeout in milliseconds (`i2c` driver only).
* Default: `100` (100 ms)
* `rgbw`
* Enable RGBW LEDs.
* Default: `false`

View File

@@ -23,6 +23,8 @@ These headers are located in [`quantum/keymap_extras/`](https://github.com/qmk/q
|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` |
|Czech (macOS, ANSI) |`keymap_czech_mac_ansi.h` |`sendstring_czech_mac_ansi.h` |
|Czech (macOS, ISO) |`keymap_czech_mac_iso.h` |`sendstring_czech_mac_iso.h` |
|Danish |`keymap_danish.h` |`sendstring_danish.h` |
|Dutch (Belgium) |`keymap_belgian.h` |`sendstring_belgian.h` |
|English (Ireland) |`keymap_irish.h` | |

View File

@@ -2,7 +2,7 @@
AVR is severely resource-constrained, and as QMK continues to grow, it is approaching a point where support for AVR may need to be moved to legacy status as newer development is unable to fit into those constraints.
However, if you need to reduce the compiled size of your firmware, there are a number of options to do so.
However, if you need to reduce the compiled size of your firmware to fit the controller's limited flash size, there are a number of options to do so.
## `rules.mk` Settings
First and foremost is enabling link time optimization. To do so, add this to your rules.mk:
@@ -91,15 +91,19 @@ Or if you're not using layers at all, you can outright remove the functionality
There are two `__attribute__ ((weak))` placeholder functions available to customize magic keycodes. If you are not using that feature to swap keycodes, such as backslash with backspace, add the following to your `keymap.c` or user space code:
```c
#ifndef MAGIC_ENABLE
uint16_t keycode_config(uint16_t keycode) {
return keycode;
}
#endif
```
Likewise, if you are not using magic keycodes to swap modifiers, such as Control with GUI, add the following to your `keymap.c` or user space code:
```c
#ifndef MAGIC_ENABLE
uint8_t mod_config(uint8_t mod) {
return mod;
}
#endif
```
Both of them will overwrite the placeholder functions with a simple return statement to reduce firmware size.
@@ -197,11 +201,7 @@ For RGB Matrix, these need to be explicitly enabled as well. To disable any that
# Final Thoughts
If you've done all of this, and your firmware is still too large, then it's time. It's time to consider making the switch to ARM. Unfortunately, right now is the worst possible time for that, due to the silicon shortage, and supply chain issues. Getting an ARM chip is difficult, at best, and significantly overpriced, at worst.
-- Drashna
That said, there are a number of Pro Micro replacements with ARM controllers:
* [Proton C](https://qmk.fm/proton-c/) (out of stock)
If you've done all of this, and your firmware is still too large, then it is time to consider making the switch to ARM. There are a number of Pro Micro replacements with an ARM controller:
* [Bonsai C](https://github.com/customMK/Bonsai-C) (Open Source, DIY/PCBA)
* [STeMCell](https://github.com/megamind4089/STeMCell) (Open Source, DIY/PCBA)
* [Adafruit KB2040](https://learn.adafruit.com/adafruit-kb2040)
@@ -212,6 +212,7 @@ That said, there are a number of Pro Micro replacements with ARM controllers:
* [Liatris](https://splitkb.com/products/liatris)
* [Imera](https://splitkb.com/products/imera)
* [Michi](https://github.com/ci-bus/michi-promicro-rp2040)
* [Proton C](https://qmk.fm/proton-c/) (out of stock)
There are other, non-Pro Micro compatible boards out there. The most popular being:
* [WeAct Blackpill F411](https://www.aliexpress.com/item/1005001456186625.html) (~$6 USD)

View File

@@ -33,6 +33,7 @@ Add the following to your `config.h`:
|`WS2812_T0H` |`350` |The length of a "0" bit's high phase in nanoseconds |
|`WS2812_TRST_US` |`280` |The length of the reset phase in microseconds |
|`WS2812_BYTE_ORDER`|`WS2812_BYTE_ORDER_GRB`|The byte order of the RGB data |
|`WS2812_RGBW` |*Not defined* |Enables RGBW support (except `i2c` driver) |
### Timing Adjustment :id=timing-adjustment
@@ -58,6 +59,27 @@ Where the byte order may be one of:
|`RGB` |WS2812B-2020 |
|`BGR` |TM1812 |
### RGBW Support :id=rgbw-support
Rendering the color white with RGB LEDs is typically inconsistent due to inherent variations between each individual LED die. However, some WS2812 variants (such as SK6812RGBW) also possess a white LED along with the red, green, and blue channels, which allows for a more accurate white to be displayed.
QMK can automatically convert the RGB data to be sent to the LEDs to mix in the white channel:
```
w = min(r, g, b)
r -= w
g -= w
b -= w
```
Thus, an RGB triplet of `255,255,255` will simply turn on the white LED fully (`0,0,0,255`).
To enable RGBW conversion, add the following to your `config.h`:
```c
#define WS2812_RGBW
```
## Driver Configuration :id=driver-configuration
Driver selection can be configured in `rules.mk` as `WS2812_DRIVER`, or in `info.json` as `ws2812.driver`. Valid values are `bitbang` (default), `i2c`, `spi`, `pwm`, `vendor`, or `custom`. See below for information on individual drivers.
@@ -208,9 +230,9 @@ The following `#define`s apply only to the `pwm` driver:
|`WS2812_PWM_DRIVER` |`PWMD2` |The PWM driver to use |
|`WS2812_PWM_CHANNEL` |`2` |The PWM channel to use |
|`WS2812_PWM_PAL_MODE` |`2` |The pin alternative function to use |
|`WS2812_DMA_STREAM` |`STM32_DMA1_STREAM2`|The DMA Stream for `TIMx_UP` |
|`WS2812_DMA_CHANNEL` |`2` |The DMA Channel for `TIMx_UP` |
|`WS2812_DMAMUX_ID` |*Not defined* |The DMAMUX configuration for `TIMx_UP` - only required if your MCU has a DMAMUX peripheral|
|`WS2812_PWM_DMA_STREAM` |`STM32_DMA1_STREAM2`|The DMA Stream for `TIMx_UP` |
|`WS2812_PWM_DMA_CHANNEL` |`2` |The DMA Channel for `TIMx_UP` |
|`WS2812_PWM_DMAMUX_ID` |*Not defined* |The DMAMUX configuration for `TIMx_UP` - only required if your MCU has a DMAMUX peripheral|
|`WS2812_PWM_COMPLEMENTARY_OUTPUT`|*Not defined* |Whether the PWM output is complementary (`TIMx_CHyN`) |
?> Using a complementary timer output (`TIMx_CHyN`) is possible only for advanced-control timers (1, 8 and 20 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.

View File

@@ -74,20 +74,20 @@ bool mcp23018_set_output_all(uint8_t slave_addr, uint8_t confA, uint8_t confB) {
return true;
}
bool mcp23018_readPins(uint8_t slave_addr, mcp23018_port_t port, uint8_t* out) {
bool mcp23018_read_pins(uint8_t slave_addr, mcp23018_port_t port, uint8_t* out) {
uint8_t addr = SLAVE_TO_ADDR(slave_addr);
uint8_t cmd = port ? CMD_GPIOB : CMD_GPIOA;
i2c_status_t ret = i2c_read_register(addr, cmd, out, sizeof(uint8_t), TIMEOUT);
if (ret != I2C_STATUS_SUCCESS) {
dprintf("mcp23018_readPins::FAILED::%u\n", ret);
dprintf("mcp23018_read_pins::FAILED::%u\n", ret);
return false;
}
return true;
}
bool mcp23018_readPins_all(uint8_t slave_addr, uint16_t* out) {
bool mcp23018_read_pins_all(uint8_t slave_addr, uint16_t* out) {
uint8_t addr = SLAVE_TO_ADDR(slave_addr);
typedef union {
@@ -99,7 +99,7 @@ bool mcp23018_readPins_all(uint8_t slave_addr, uint16_t* out) {
i2c_status_t ret = i2c_read_register(addr, CMD_GPIOA, &data.u8[0], sizeof(data), TIMEOUT);
if (ret != I2C_STATUS_SUCCESS) {
dprintf("mcp23018_readPins::FAILED::%u\n", ret);
dprintf("mcp23018_read_pins_all::FAILED::%u\n", ret);
return false;
}

View File

@@ -55,11 +55,16 @@ bool mcp23018_set_output_all(uint8_t slave_addr, uint8_t confA, uint8_t confB);
/**
* Read state of a given port
*/
bool mcp23018_readPins(uint8_t slave_addr, mcp23018_port_t port, uint8_t* ret);
bool mcp23018_read_pins(uint8_t slave_addr, mcp23018_port_t port, uint8_t* ret);
/**
* Read state of both ports sequentially
*
* - slightly faster than multiple readPins
*/
bool mcp23018_readPins_all(uint8_t slave_addr, uint16_t* ret);
bool mcp23018_read_pins_all(uint8_t slave_addr, uint16_t* ret);
// DEPRECATED - DO NOT USE
#define mcp23018_readPins mcp23018_read_pins
#define mcp23018_readPins_all mcp23018_read_pins_all

View File

@@ -133,7 +133,7 @@ bool pca9505_set_output(uint8_t slave_addr, pca9505_port_t port, uint8_t conf) {
return true;
}
bool pca9505_readPins(uint8_t slave_addr, pca9505_port_t port, uint8_t* out) {
bool pca9505_read_pins(uint8_t slave_addr, pca9505_port_t port, uint8_t* out) {
uint8_t addr = SLAVE_TO_ADDR(slave_addr);
uint8_t cmd = 0;
switch (port) {
@@ -156,7 +156,7 @@ bool pca9505_readPins(uint8_t slave_addr, pca9505_port_t port, uint8_t* out) {
i2c_status_t ret = i2c_read_register(addr, cmd, out, sizeof(uint8_t), TIMEOUT);
if (ret != I2C_STATUS_SUCCESS) {
print("pca9505_readPins::FAILED\n");
print("pca9505_read_pins::FAILED\n");
return false;
}

View File

@@ -64,4 +64,8 @@ bool pca9505_set_output(uint8_t slave_addr, pca9505_port_t port, uint8_t conf);
/**
* Read state of a given port
*/
bool pca9505_readPins(uint8_t slave_addr, pca9505_port_t port, uint8_t* ret);
bool pca9505_read_pins(uint8_t slave_addr, pca9505_port_t port, uint8_t* ret);
// DEPRECATED - DO NOT USE
#define pca9505_readPins pca9505_read_pins

View File

@@ -70,20 +70,20 @@ bool pca9555_set_output_all(uint8_t slave_addr, uint8_t confA, uint8_t confB) {
return true;
}
bool pca9555_readPins(uint8_t slave_addr, pca9555_port_t port, uint8_t* out) {
bool pca9555_read_pins(uint8_t slave_addr, pca9555_port_t port, uint8_t* out) {
uint8_t addr = SLAVE_TO_ADDR(slave_addr);
uint8_t cmd = port ? CMD_INPUT_1 : CMD_INPUT_0;
i2c_status_t ret = i2c_read_register(addr, cmd, out, sizeof(uint8_t), TIMEOUT);
if (ret != I2C_STATUS_SUCCESS) {
print("pca9555_readPins::FAILED\n");
print("pca9555_read_pins::FAILED\n");
return false;
}
return true;
}
bool pca9555_readPins_all(uint8_t slave_addr, uint16_t* out) {
bool pca9555_read_pins_all(uint8_t slave_addr, uint16_t* out) {
uint8_t addr = SLAVE_TO_ADDR(slave_addr);
typedef union {
@@ -95,7 +95,7 @@ bool pca9555_readPins_all(uint8_t slave_addr, uint16_t* out) {
i2c_status_t ret = i2c_read_register(addr, CMD_INPUT_0, &data.u8[0], sizeof(data), TIMEOUT);
if (ret != I2C_STATUS_SUCCESS) {
print("pca9555_readPins_all::FAILED\n");
print("pca9555_read_pins_all::FAILED\n");
return false;
}

View File

@@ -78,11 +78,16 @@ bool pca9555_set_output_all(uint8_t slave_addr, uint8_t confA, uint8_t confB);
/**
* Read state of a given port
*/
bool pca9555_readPins(uint8_t slave_addr, pca9555_port_t port, uint8_t* ret);
bool pca9555_read_pins(uint8_t slave_addr, pca9555_port_t port, uint8_t* ret);
/**
* Read state of both ports sequentially
*
* - slightly faster than multiple readPins
*/
bool pca9555_readPins_all(uint8_t slave_addr, uint16_t* ret);
bool pca9555_read_pins_all(uint8_t slave_addr, uint16_t* ret);
// DEPRECATED - DO NOT USE
#define pca9555_readPins pca9555_read_pins
#define pca9555_readPins_all pca9555_read_pins_all

View File

@@ -67,7 +67,9 @@ static void apa102_send_byte(uint8_t byte) {
}
static void apa102_start_frame(void) {
apa102_init();
gpio_write_pin_low(APA102_DI_PIN);
gpio_write_pin_low(APA102_CI_PIN);
for (uint16_t i = 0; i < 4; i++) {
apa102_send_byte(0);
}
@@ -103,7 +105,8 @@ static void apa102_end_frame(uint16_t num_leds) {
apa102_send_byte(0);
}
apa102_init();
gpio_write_pin_low(APA102_DI_PIN);
gpio_write_pin_low(APA102_CI_PIN);
}
static void apa102_send_frame(uint8_t red, uint8_t green, uint8_t blue, uint8_t brightness) {
@@ -116,9 +119,6 @@ static void apa102_send_frame(uint8_t red, uint8_t green, uint8_t blue, uint8_t
void apa102_init(void) {
gpio_set_pin_output(APA102_DI_PIN);
gpio_set_pin_output(APA102_CI_PIN);
gpio_write_pin_low(APA102_DI_PIN);
gpio_write_pin_low(APA102_CI_PIN);
}
void apa102_setleds(rgb_led_t *start_led, uint16_t num_leds) {

View File

@@ -0,0 +1,168 @@
// Copyright 2024 QMK
// SPDX-License-Identifier: GPL-2.0-or-later
#include "is31fl3236-mono.h"
#include "i2c_master.h"
#include "gpio.h"
#define IS31FL3236_PWM_REGISTER_COUNT 36
#define IS31FL3236_LED_CONTROL_REGISTER_COUNT 36
#ifndef IS31FL3236_I2C_TIMEOUT
# define IS31FL3236_I2C_TIMEOUT 100
#endif
#ifndef IS31FL3236_I2C_PERSISTENCE
# define IS31FL3236_I2C_PERSISTENCE 0
#endif
#ifndef IS31FL3236_PWM_FREQUENCY
# define IS31FL3236_PWM_FREQUENCY IS31FL3236_PWM_FREQUENCY_3K_HZ // OFS - IS31FL3236A only
#endif
const uint8_t i2c_addresses[IS31FL3236_DRIVER_COUNT] = {
IS31FL3236_I2C_ADDRESS_1,
#ifdef IS31FL3236_I2C_ADDRESS_2
IS31FL3236_I2C_ADDRESS_2,
# ifdef IS31FL3236_I2C_ADDRESS_3
IS31FL3236_I2C_ADDRESS_3,
# ifdef IS31FL3236_I2C_ADDRESS_4
IS31FL3236_I2C_ADDRESS_4,
# endif
# endif
#endif
};
typedef struct is31fl3236_driver_t {
uint8_t pwm_buffer[IS31FL3236_PWM_REGISTER_COUNT];
bool pwm_buffer_dirty;
uint8_t led_control_buffer[IS31FL3236_LED_CONTROL_REGISTER_COUNT];
bool led_control_buffer_dirty;
} PACKED is31fl3236_driver_t;
is31fl3236_driver_t driver_buffers[IS31FL3236_DRIVER_COUNT] = {{
.pwm_buffer = {0},
.pwm_buffer_dirty = false,
.led_control_buffer = {0},
.led_control_buffer_dirty = false,
}};
void is31fl3236_write_register(uint8_t index, uint8_t reg, uint8_t data) {
#if IS31FL3236_I2C_PERSISTENCE > 0
for (uint8_t i = 0; i < IS31FL3236_I2C_PERSISTENCE; i++) {
if (i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3236_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
}
#else
i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3236_I2C_TIMEOUT);
#endif
}
void is31fl3236_write_pwm_buffer(uint8_t index) {
#if IS31FL3236_I2C_PERSISTENCE > 0
for (uint8_t i = 0; i < IS31FL3236_I2C_PERSISTENCE; i++) {
if (i2c_write_register(i2c_addresses[index] << 1, IS31FL3236_REG_PWM, driver_buffers[index].pwm_buffer, 36, IS31FL3236_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
}
#else
i2c_write_register(i2c_addresses[index] << 1, IS31FL3236_REG_PWM, driver_buffers[index].pwm_buffer, 36, IS31FL3236_I2C_TIMEOUT);
#endif
}
void is31fl3236_init_drivers(void) {
i2c_init();
#if defined(IS31FL3236_SDB_PIN)
gpio_set_pin_output(IS31FL3236_SDB_PIN);
gpio_write_pin_high(IS31FL3236_SDB_PIN);
#endif
for (uint8_t i = 0; i < IS31FL3236_DRIVER_COUNT; i++) {
is31fl3236_init(i);
}
for (uint8_t i = 0; i < IS31FL3236_LED_COUNT; i++) {
is31fl3236_set_led_control_register(i, true);
}
for (uint8_t i = 0; i < IS31FL3236_DRIVER_COUNT; i++) {
is31fl3236_update_led_control_registers(i);
}
}
void is31fl3236_init(uint8_t index) {
// In case we ever want to reinitialize (?)
is31fl3236_write_register(index, IS31FL3236_REG_RESET, 0x00);
// Turn off software shutdown
is31fl3236_write_register(index, IS31FL3236_REG_SHUTDOWN, 0x01);
// Set all PWM values to zero
for (uint8_t i = 0; i < IS31FL3236_PWM_REGISTER_COUNT; i++) {
is31fl3236_write_register(index, IS31FL3236_REG_PWM + i, 0x00);
}
// turn off all LEDs in the LED control register
for (uint8_t i = 0; i < IS31FL3236_LED_CONTROL_REGISTER_COUNT; i++) {
is31fl3236_write_register(index, IS31FL3236_REG_LED_CONTROL + i, 0x00);
}
// Set PWM frequency (IS31FL3236A)
is31fl3236_write_register(index, IS31FL3236_REG_PWM_FREQUENCY, IS31FL3236_PWM_FREQUENCY);
// Load PWM registers and LED Control register data
is31fl3236_write_register(index, IS31FL3236_REG_UPDATE, 0x01);
}
void is31fl3236_set_value(int index, uint8_t value) {
is31fl3236_led_t led;
if (index < IS31FL3236_LED_COUNT) {
memcpy_P(&led, (&g_is31fl3236_leds[index]), sizeof(led));
if (driver_buffers[led.driver].pwm_buffer[led.v] == value) {
return;
}
driver_buffers[led.driver].pwm_buffer[led.v] = value;
driver_buffers[led.driver].pwm_buffer_dirty = true;
}
}
void is31fl3236_set_value_all(uint8_t value) {
for (uint8_t i = 0; i < IS31FL3236_LED_COUNT; i++) {
is31fl3236_set_value(i, value);
}
}
void is31fl3236_set_led_control_register(uint8_t index, bool value) {
is31fl3236_led_t led;
memcpy_P(&led, (&g_is31fl3236_leds[index]), sizeof(led));
driver_buffers[led.driver].led_control_buffer[led.v] = value ? 0x01 : 0x00;
driver_buffers[led.driver].led_control_buffer_dirty = true;
}
void is31fl3236_update_pwm_buffers(uint8_t index) {
if (driver_buffers[index].pwm_buffer_dirty) {
is31fl3236_write_pwm_buffer(index);
// Load PWM registers and LED Control register data
is31fl3236_write_register(index, IS31FL3236_REG_UPDATE, 0x01);
driver_buffers[index].pwm_buffer_dirty = false;
}
}
void is31fl3236_update_led_control_registers(uint8_t index) {
if (driver_buffers[index].led_control_buffer_dirty) {
for (uint8_t i = 0; i < IS31FL3236_LED_CONTROL_REGISTER_COUNT; i++) {
is31fl3236_write_register(index, IS31FL3236_REG_LED_CONTROL + i, driver_buffers[index].led_control_buffer[i]);
}
driver_buffers[index].led_control_buffer_dirty = false;
}
}
void is31fl3236_flush(void) {
for (uint8_t i = 0; i < IS31FL3236_DRIVER_COUNT; i++) {
is31fl3236_update_pwm_buffers(i);
}
}

View File

@@ -0,0 +1,101 @@
// Copyright 2024 QMK
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include <stdint.h>
#include <stdbool.h>
#include "progmem.h"
#include "util.h"
#define IS31FL3236_REG_SHUTDOWN 0x00
#define IS31FL3236_REG_PWM 0x01
#define IS31FL3236_REG_UPDATE 0x25
#define IS31FL3236_REG_LED_CONTROL 0x26
#define IS31FL3236_REG_GLOBAL_CONTROL 0x4A
#define IS31FL3236_REG_PWM_FREQUENCY 0x4B
#define IS31FL3236_REG_RESET 0x4F
#define IS31FL3236_I2C_ADDRESS_GND 0x3C
#define IS31FL3236_I2C_ADDRESS_SCL 0x3D
#define IS31FL3236_I2C_ADDRESS_SDA 0x3E
#define IS31FL3236_I2C_ADDRESS_VCC 0x3F
#if defined(LED_MATRIX_IS31FL3236)
# define IS31FL3236_LED_COUNT LED_MATRIX_LED_COUNT
#endif
#if defined(IS31FL3236_I2C_ADDRESS_4)
# define IS31FL3236_DRIVER_COUNT 4
#elif defined(IS31FL3236_I2C_ADDRESS_3)
# define IS31FL3236_DRIVER_COUNT 3
#elif defined(IS31FL3236_I2C_ADDRESS_2)
# define IS31FL3236_DRIVER_COUNT 2
#elif defined(IS31FL3236_I2C_ADDRESS_1)
# define IS31FL3236_DRIVER_COUNT 1
#endif
typedef struct is31fl3236_led_t {
uint8_t driver : 2;
uint8_t v;
} PACKED is31fl3236_led_t;
extern const is31fl3236_led_t PROGMEM g_is31fl3236_leds[IS31FL3236_LED_COUNT];
void is31fl3236_init_drivers(void);
void is31fl3236_init(uint8_t index);
void is31fl3236_write_register(uint8_t index, uint8_t reg, uint8_t data);
void is31fl3236_set_value(int index, uint8_t value);
void is31fl3236_set_value_all(uint8_t value);
void is31fl3236_set_led_control_register(uint8_t index, bool value);
void is31fl3236_update_pwm_buffers(uint8_t index);
void is31fl3236_update_led_control_registers(uint8_t index);
void is31fl3236_flush(void);
#define IS31FL3236_PWM_FREQUENCY_3K_HZ 0b0
#define IS31FL3236_PWM_FREQUENCY_22K_HZ 0b1
#define OUT1 0x00
#define OUT2 0x01
#define OUT3 0x02
#define OUT4 0x03
#define OUT5 0x04
#define OUT6 0x05
#define OUT7 0x06
#define OUT8 0x07
#define OUT9 0x08
#define OUT10 0x09
#define OUT11 0x0A
#define OUT12 0x0B
#define OUT13 0x0C
#define OUT14 0x0D
#define OUT15 0x0E
#define OUT16 0x0F
#define OUT17 0x10
#define OUT18 0x11
#define OUT19 0x12
#define OUT20 0x13
#define OUT21 0x14
#define OUT22 0x15
#define OUT23 0x16
#define OUT24 0x17
#define OUT25 0x18
#define OUT26 0x19
#define OUT27 0x1A
#define OUT28 0x1B
#define OUT29 0x1C
#define OUT30 0x1D
#define OUT31 0x1E
#define OUT32 0x1F
#define OUT33 0x20
#define OUT34 0x21
#define OUT35 0x22
#define OUT36 0x23

View File

@@ -0,0 +1,172 @@
// Copyright 2024 QMK
// SPDX-License-Identifier: GPL-2.0-or-later
#include "is31fl3236.h"
#include "i2c_master.h"
#include "gpio.h"
#define IS31FL3236_PWM_REGISTER_COUNT 36
#define IS31FL3236_LED_CONTROL_REGISTER_COUNT 36
#ifndef IS31FL3236_I2C_TIMEOUT
# define IS31FL3236_I2C_TIMEOUT 100
#endif
#ifndef IS31FL3236_I2C_PERSISTENCE
# define IS31FL3236_I2C_PERSISTENCE 0
#endif
#ifndef IS31FL3236_PWM_FREQUENCY
# define IS31FL3236_PWM_FREQUENCY IS31FL3236_PWM_FREQUENCY_3K_HZ // OFS - IS31FL3236A only
#endif
const uint8_t i2c_addresses[IS31FL3236_DRIVER_COUNT] = {
IS31FL3236_I2C_ADDRESS_1,
#ifdef IS31FL3236_I2C_ADDRESS_2
IS31FL3236_I2C_ADDRESS_2,
# ifdef IS31FL3236_I2C_ADDRESS_3
IS31FL3236_I2C_ADDRESS_3,
# ifdef IS31FL3236_I2C_ADDRESS_4
IS31FL3236_I2C_ADDRESS_4,
# endif
# endif
#endif
};
typedef struct is31fl3236_driver_t {
uint8_t pwm_buffer[IS31FL3236_PWM_REGISTER_COUNT];
bool pwm_buffer_dirty;
uint8_t led_control_buffer[IS31FL3236_LED_CONTROL_REGISTER_COUNT];
bool led_control_buffer_dirty;
} PACKED is31fl3236_driver_t;
is31fl3236_driver_t driver_buffers[IS31FL3236_DRIVER_COUNT] = {{
.pwm_buffer = {0},
.pwm_buffer_dirty = false,
.led_control_buffer = {0},
.led_control_buffer_dirty = false,
}};
void is31fl3236_write_register(uint8_t index, uint8_t reg, uint8_t data) {
#if IS31FL3236_I2C_PERSISTENCE > 0
for (uint8_t i = 0; i < IS31FL3236_I2C_PERSISTENCE; i++) {
if (i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3236_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
}
#else
i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3236_I2C_TIMEOUT);
#endif
}
void is31fl3236_write_pwm_buffer(uint8_t index) {
#if IS31FL3236_I2C_PERSISTENCE > 0
for (uint8_t i = 0; i < IS31FL3236_I2C_PERSISTENCE; i++) {
if (i2c_write_register(i2c_addresses[index] << 1, IS31FL3236_REG_PWM, driver_buffers[index].pwm_buffer, 36, IS31FL3236_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break;
}
#else
i2c_write_register(i2c_addresses[index] << 1, IS31FL3236_REG_PWM, driver_buffers[index].pwm_buffer, 36, IS31FL3236_I2C_TIMEOUT);
#endif
}
void is31fl3236_init_drivers(void) {
i2c_init();
#if defined(IS31FL3236_SDB_PIN)
gpio_set_pin_output(IS31FL3236_SDB_PIN);
gpio_write_pin_high(IS31FL3236_SDB_PIN);
#endif
for (uint8_t i = 0; i < IS31FL3236_DRIVER_COUNT; i++) {
is31fl3236_init(i);
}
for (uint8_t i = 0; i < IS31FL3236_LED_COUNT; i++) {
is31fl3236_set_led_control_register(i, true, true, true);
}
for (uint8_t i = 0; i < IS31FL3236_DRIVER_COUNT; i++) {
is31fl3236_update_led_control_registers(i);
}
}
void is31fl3236_init(uint8_t index) {
// In case we ever want to reinitialize (?)
is31fl3236_write_register(index, IS31FL3236_REG_RESET, 0x00);
// Turn off software shutdown
is31fl3236_write_register(index, IS31FL3236_REG_SHUTDOWN, 0x01);
// Set all PWM values to zero
for (uint8_t i = 0; i < IS31FL3236_PWM_REGISTER_COUNT; i++) {
is31fl3236_write_register(index, IS31FL3236_REG_PWM + i, 0x00);
}
// turn off all LEDs in the LED control register
for (uint8_t i = 0; i < IS31FL3236_LED_CONTROL_REGISTER_COUNT; i++) {
is31fl3236_write_register(index, IS31FL3236_REG_LED_CONTROL + i, 0x00);
}
// Set PWM frequency (IS31FL3236A)
is31fl3236_write_register(index, IS31FL3236_REG_PWM_FREQUENCY, IS31FL3236_PWM_FREQUENCY);
// Load PWM registers and LED Control register data
is31fl3236_write_register(index, IS31FL3236_REG_UPDATE, 0x01);
}
void is31fl3236_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
is31fl3236_led_t led;
if (index < IS31FL3236_LED_COUNT) {
memcpy_P(&led, (&g_is31fl3236_leds[index]), sizeof(led));
if (driver_buffers[led.driver].pwm_buffer[led.r] == red && driver_buffers[led.driver].pwm_buffer[led.g] == green && driver_buffers[led.driver].pwm_buffer[led.b] == blue) {
return;
}
driver_buffers[led.driver].pwm_buffer[led.r] = red;
driver_buffers[led.driver].pwm_buffer[led.g] = green;
driver_buffers[led.driver].pwm_buffer[led.b] = blue;
driver_buffers[led.driver].pwm_buffer_dirty = true;
}
}
void is31fl3236_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
for (uint8_t i = 0; i < IS31FL3236_LED_COUNT; i++) {
is31fl3236_set_color(i, red, green, blue);
}
}
void is31fl3236_set_led_control_register(uint8_t index, bool red, bool green, bool blue) {
is31fl3236_led_t led;
memcpy_P(&led, (&g_is31fl3236_leds[index]), sizeof(led));
driver_buffers[led.driver].led_control_buffer[led.r] = red ? 0x01 : 0x00;
driver_buffers[led.driver].led_control_buffer[led.g] = green ? 0x01 : 0x00;
driver_buffers[led.driver].led_control_buffer[led.b] = blue ? 0x01 : 0x00;
driver_buffers[led.driver].led_control_buffer_dirty = true;
}
void is31fl3236_update_pwm_buffers(uint8_t index) {
if (driver_buffers[index].pwm_buffer_dirty) {
is31fl3236_write_pwm_buffer(index);
// Load PWM registers and LED Control register data
is31fl3236_write_register(index, IS31FL3236_REG_UPDATE, 0x01);
driver_buffers[index].pwm_buffer_dirty = false;
}
}
void is31fl3236_update_led_control_registers(uint8_t index) {
if (driver_buffers[index].led_control_buffer_dirty) {
for (uint8_t i = 0; i < IS31FL3236_LED_CONTROL_REGISTER_COUNT; i++) {
is31fl3236_write_register(index, IS31FL3236_REG_LED_CONTROL + i, driver_buffers[index].led_control_buffer[i]);
}
driver_buffers[index].led_control_buffer_dirty = false;
}
}
void is31fl3236_flush(void) {
for (uint8_t i = 0; i < IS31FL3236_DRIVER_COUNT; i++) {
is31fl3236_update_pwm_buffers(i);
}
}

View File

@@ -0,0 +1,103 @@
// Copyright 2024 QMK
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include <stdint.h>
#include <stdbool.h>
#include "progmem.h"
#include "util.h"
#define IS31FL3236_REG_SHUTDOWN 0x00
#define IS31FL3236_REG_PWM 0x01
#define IS31FL3236_REG_UPDATE 0x25
#define IS31FL3236_REG_LED_CONTROL 0x26
#define IS31FL3236_REG_GLOBAL_CONTROL 0x4A
#define IS31FL3236_REG_PWM_FREQUENCY 0x4B
#define IS31FL3236_REG_RESET 0x4F
#define IS31FL3236_I2C_ADDRESS_GND 0x3C
#define IS31FL3236_I2C_ADDRESS_SCL 0x3D
#define IS31FL3236_I2C_ADDRESS_SDA 0x3E
#define IS31FL3236_I2C_ADDRESS_VCC 0x3F
#if defined(RGB_MATRIX_IS31FL3236)
# define IS31FL3236_LED_COUNT RGB_MATRIX_LED_COUNT
#endif
#if defined(IS31FL3236_I2C_ADDRESS_4)
# define IS31FL3236_DRIVER_COUNT 4
#elif defined(IS31FL3236_I2C_ADDRESS_3)
# define IS31FL3236_DRIVER_COUNT 3
#elif defined(IS31FL3236_I2C_ADDRESS_2)
# define IS31FL3236_DRIVER_COUNT 2
#elif defined(IS31FL3236_I2C_ADDRESS_1)
# define IS31FL3236_DRIVER_COUNT 1
#endif
typedef struct is31fl3236_led_t {
uint8_t driver : 2;
uint8_t r;
uint8_t g;
uint8_t b;
} PACKED is31fl3236_led_t;
extern const is31fl3236_led_t PROGMEM g_is31fl3236_leds[IS31FL3236_LED_COUNT];
void is31fl3236_init_drivers(void);
void is31fl3236_init(uint8_t index);
void is31fl3236_write_register(uint8_t index, uint8_t reg, uint8_t data);
void is31fl3236_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
void is31fl3236_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
void is31fl3236_set_led_control_register(uint8_t index, bool red, bool green, bool blue);
void is31fl3236_update_pwm_buffers(uint8_t index);
void is31fl3236_update_led_control_registers(uint8_t index);
void is31fl3236_flush(void);
#define IS31FL3236_PWM_FREQUENCY_3K_HZ 0b0
#define IS31FL3236_PWM_FREQUENCY_22K_HZ 0b1
#define OUT1 0x00
#define OUT2 0x01
#define OUT3 0x02
#define OUT4 0x03
#define OUT5 0x04
#define OUT6 0x05
#define OUT7 0x06
#define OUT8 0x07
#define OUT9 0x08
#define OUT10 0x09
#define OUT11 0x0A
#define OUT12 0x0B
#define OUT13 0x0C
#define OUT14 0x0D
#define OUT15 0x0E
#define OUT16 0x0F
#define OUT17 0x10
#define OUT18 0x11
#define OUT19 0x12
#define OUT20 0x13
#define OUT21 0x14
#define OUT22 0x15
#define OUT23 0x16
#define OUT24 0x17
#define OUT25 0x18
#define OUT26 0x19
#define OUT27 0x1A
#define OUT28 0x1B
#define OUT29 0x1C
#define OUT30 0x1D
#define OUT31 0x1E
#define OUT32 0x1F
#define OUT33 0x20
#define OUT34 0x21
#define OUT35 0x22
#define OUT36 0x23

View File

@@ -88,6 +88,8 @@ void ps2_mouse_task(void) {
# endif
} else {
if (debug_mouse) print("ps2_mouse: fail to get mouse packet\n");
/* return here to avoid updating the mouse button state */
return;
}
#else
if (pbuf_has_data()) {
@@ -99,6 +101,8 @@ void ps2_mouse_task(void) {
# endif
} else {
if (debug_mouse) print("ps2_mouse: fail to get mouse packet\n");
/* return here to avoid updating the mouse button state */
return;
}
#endif

View File

@@ -62,6 +62,8 @@
# define WS2812_LED_COUNT RGB_MATRIX_LED_COUNT
#endif
void ws2812_init(void);
/* User Interface
*
* Input:

View File

@@ -1,38 +0,0 @@
/* Copyright 2020 Vinam Arora <vinam@posteo.de>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
/* 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

View File

@@ -20,6 +20,12 @@
"build": {
"lto": true
},
"qmk": {
"locking": {
"enabled": true,
"resync": true
}
},
"processor": "atmega32u4",
"bootloader": "caterina",
"layouts": {

View File

@@ -154,7 +154,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_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,
_______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
_______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
_______, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______

View File

@@ -1 +0,0 @@
# The default 0-Sixty layout - largely based on the Preonic's and Planck's

View File

@@ -111,7 +111,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_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,
_______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______

View File

@@ -1 +0,0 @@
# The default via-supported 0-Sixty layout - largely based on the Preonic's and Planck's

View File

@@ -1,39 +0,0 @@
/*
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 <http://www.gnu.org/licenses/>.
*/
#pragma once
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
/*
* 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

View File

@@ -1,92 +0,0 @@
{
"keyboard_name": "61Key",
"manufacturer": "0xC7",
"url": "",
"maintainer": "RealEmanGaming",
"usb": {
"vid": "0xE117",
"pid": "0x6161",
"device_version": "0.0.1"
},
"matrix_pins": {
"cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "F7", "F6", "F5", "F4", "F1", "F0"],
"rows": ["B0", "B1", "B2", "B3", "B7"]
},
"diode_direction": "COL2ROW",
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"layout_aliases": {
"LAYOUT": "LAYOUT_60_ansi"
},
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
{"matrix": [1, 1], "x": 1.5, "y": 1},
{"matrix": [1, 2], "x": 2.5, "y": 1},
{"matrix": [1, 3], "x": 3.5, "y": 1},
{"matrix": [1, 4], "x": 4.5, "y": 1},
{"matrix": [1, 5], "x": 5.5, "y": 1},
{"matrix": [1, 6], "x": 6.5, "y": 1},
{"matrix": [1, 7], "x": 7.5, "y": 1},
{"matrix": [1, 8], "x": 8.5, "y": 1},
{"matrix": [1, 9], "x": 9.5, "y": 1},
{"matrix": [1, 10], "x": 10.5, "y": 1},
{"matrix": [1, 11], "x": 11.5, "y": 1},
{"matrix": [1, 12], "x": 12.5, "y": 1},
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2, 1], "x": 1.75, "y": 2},
{"matrix": [2, 2], "x": 2.75, "y": 2},
{"matrix": [2, 3], "x": 3.75, "y": 2},
{"matrix": [2, 4], "x": 4.75, "y": 2},
{"matrix": [2, 5], "x": 5.75, "y": 2},
{"matrix": [2, 6], "x": 6.75, "y": 2},
{"matrix": [2, 7], "x": 7.75, "y": 2},
{"matrix": [2, 8], "x": 8.75, "y": 2},
{"matrix": [2, 9], "x": 9.75, "y": 2},
{"matrix": [2, 10], "x": 10.75, "y": 2},
{"matrix": [2, 11], "x": 11.75, "y": 2},
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
{"matrix": [3, 1], "x": 2.25, "y": 3},
{"matrix": [3, 2], "x": 3.25, "y": 3},
{"matrix": [3, 3], "x": 4.25, "y": 3},
{"matrix": [3, 4], "x": 5.25, "y": 3},
{"matrix": [3, 5], "x": 6.25, "y": 3},
{"matrix": [3, 6], "x": 7.25, "y": 3},
{"matrix": [3, 7], "x": 8.25, "y": 3},
{"matrix": [3, 8], "x": 9.25, "y": 3},
{"matrix": [3, 9], "x": 10.25, "y": 3},
{"matrix": [3, 10], "x": 11.25, "y": 3},
{"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
{"matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25},
{"matrix": [4, 8], "x": 10, "y": 4, "w": 1.25},
{"matrix": [4, 9], "x": 11.25, "y": 4, "w": 1.25},
{"matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.25},
{"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
]
}
}
}

View File

@@ -0,0 +1,110 @@
{
"keyboard_name": "61Key",
"manufacturer": "0xC7",
"url": "",
"maintainer": "RealEmanGaming",
"usb": {
"vid": "0xE117",
"pid": "0x6161",
"device_version": "0.0.1"
},
"build": {
"lto": true
},
"features": {
"bootmagic": true,
"command": true,
"console": false,
"extrakey": false,
"key_lock": true,
"mousekey": false,
"nkro": false
},
"qmk": {
"locking": {
"enabled": true,
"resync": true
}
},
"matrix_pins": {
"cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "F7", "F6", "F5", "F4", "F1", "F0"],
"rows": ["B0", "B1", "B2", "B3", "B7"]
},
"diode_direction": "COL2ROW",
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"layout_aliases": {
"LAYOUT": "LAYOUT_60_ansi"
},
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
{"matrix": [1, 1], "x": 1.5, "y": 1},
{"matrix": [1, 2], "x": 2.5, "y": 1},
{"matrix": [1, 3], "x": 3.5, "y": 1},
{"matrix": [1, 4], "x": 4.5, "y": 1},
{"matrix": [1, 5], "x": 5.5, "y": 1},
{"matrix": [1, 6], "x": 6.5, "y": 1},
{"matrix": [1, 7], "x": 7.5, "y": 1},
{"matrix": [1, 8], "x": 8.5, "y": 1},
{"matrix": [1, 9], "x": 9.5, "y": 1},
{"matrix": [1, 10], "x": 10.5, "y": 1},
{"matrix": [1, 11], "x": 11.5, "y": 1},
{"matrix": [1, 12], "x": 12.5, "y": 1},
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2, 1], "x": 1.75, "y": 2},
{"matrix": [2, 2], "x": 2.75, "y": 2},
{"matrix": [2, 3], "x": 3.75, "y": 2},
{"matrix": [2, 4], "x": 4.75, "y": 2},
{"matrix": [2, 5], "x": 5.75, "y": 2},
{"matrix": [2, 6], "x": 6.75, "y": 2},
{"matrix": [2, 7], "x": 7.75, "y": 2},
{"matrix": [2, 8], "x": 8.75, "y": 2},
{"matrix": [2, 9], "x": 9.75, "y": 2},
{"matrix": [2, 10], "x": 10.75, "y": 2},
{"matrix": [2, 11], "x": 11.75, "y": 2},
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
{"matrix": [3, 1], "x": 2.25, "y": 3},
{"matrix": [3, 2], "x": 3.25, "y": 3},
{"matrix": [3, 3], "x": 4.25, "y": 3},
{"matrix": [3, 4], "x": 5.25, "y": 3},
{"matrix": [3, 5], "x": 6.25, "y": 3},
{"matrix": [3, 6], "x": 7.25, "y": 3},
{"matrix": [3, 7], "x": 8.25, "y": 3},
{"matrix": [3, 8], "x": 9.25, "y": 3},
{"matrix": [3, 9], "x": 10.25, "y": 3},
{"matrix": [3, 10], "x": 11.25, "y": 3},
{"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
{"matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25},
{"matrix": [4, 8], "x": 10, "y": 4, "w": 1.25},
{"matrix": [4, 9], "x": 11.25, "y": 4, "w": 1.25},
{"matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.25},
{"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
]
}
}
}

View File

@@ -1,15 +0,0 @@
# 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
NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
LTO_ENABLE = yes
KEY_LOCK_ENABLE = yes

View File

@@ -19,10 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* default setup after eeprom reset */
#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_EFFECT_BREATHING + 2
/* 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 Size */
#define OLED_DISPLAY_128X64
#define OLED_FONT_END 255

View File

@@ -1,77 +0,0 @@
{
"keyboard_name": "1337",
"manufacturer": "0xCB",
"url": "https://0xCB.dev",
"maintainer": "Conor-Burns",
"usb": {
"vid": "0xCB00",
"pid": "0x1337",
"device_version": "0.0.1"
},
"backlight": {
"pin": "B5",
"levels": 7,
"breathing": true
},
"encoder": {
"rotary": [
{"pin_a": "F6", "pin_b": "F5"}
]
},
"qmk": {
"tap_keycode_delay": 10
},
"qmk_lufa_bootloader": {
"led": "B0"
},
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
"led_count": 4,
"sleep": true,
"animations": {
"breathing": true,
"rainbow_mood": true,
"rainbow_swirl": true,
"snake": true,
"knight": true,
"christmas": true,
"static_gradient": true,
"rgb_test": true,
"alternating": true,
"twinkle": true
},
"default": {
"hue": 152,
"sat": 232,
"speed": 2
}
},
"ws2812": {
"pin": "D3"
},
"processor": "atmega32u4",
"bootloader": "qmk-dfu",
"matrix_pins": {
"direct": [
["D2", "D4", "F4"],
["D7", "B1", "B3"],
["E6", "B4", "B2"]
]
},
"layouts": {
"LAYOUT": {
"layout": [
{"x": 0, "y": 0, "matrix": [0, 0]},
{"x": 1, "y": 0, "matrix": [0, 1]},
{"x": 2, "y": 0, "matrix": [0, 2]},
{"x": 0, "y": 1, "matrix": [1, 0]},
{"x": 1, "y": 1, "matrix": [1, 1]},
{"x": 2, "y": 1, "matrix": [1, 2]},
{"x": 0, "y": 2, "matrix": [2, 0]},
{"x": 1, "y": 2, "matrix": [2, 1]},
{"x": 2, "y": 2, "matrix": [2, 2]}
]
}
}
}

View File

@@ -0,0 +1,98 @@
{
"keyboard_name": "1337",
"manufacturer": "0xCB",
"url": "https://0xCB.dev",
"maintainer": "Conor-Burns",
"usb": {
"vid": "0xCB00",
"pid": "0x1337",
"device_version": "0.0.1"
},
"backlight": {
"pin": "B5",
"levels": 7,
"breathing": true
},
"encoder": {
"rotary": [
{"pin_a": "F6", "pin_b": "F5"}
]
},
"qmk": {
"locking": {
"enabled": true,
"resync": true
},
"tap_keycode_delay": 10
},
"qmk_lufa_bootloader": {
"led": "B0"
},
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
"led_count": 4,
"sleep": true,
"animations": {
"breathing": true,
"rainbow_mood": true,
"rainbow_swirl": true,
"snake": true,
"knight": true,
"christmas": true,
"static_gradient": true,
"rgb_test": true,
"alternating": true,
"twinkle": true
},
"default": {
"hue": 152,
"sat": 232,
"speed": 2
}
},
"ws2812": {
"pin": "D3"
},
"processor": "atmega32u4",
"bootloader": "qmk-dfu",
"build": {
"lto": true
},
"features": {
"backlight": true,
"bootmagic": true,
"command": false,
"console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
"nkro": false,
"oled": true,
"rgblight": true
},
"matrix_pins": {
"direct": [
["D2", "D4", "F4"],
["D7", "B1", "B3"],
["E6", "B4", "B2"]
]
},
"layouts": {
"LAYOUT": {
"layout": [
{"x": 0, "y": 0, "matrix": [0, 0]},
{"x": 1, "y": 0, "matrix": [0, 1]},
{"x": 2, "y": 0, "matrix": [0, 2]},
{"x": 0, "y": 1, "matrix": [1, 0]},
{"x": 1, "y": 1, "matrix": [1, 1]},
{"x": 2, "y": 1, "matrix": [1, 2]},
{"x": 0, "y": 2, "matrix": [2, 0]},
{"x": 1, "y": 2, "matrix": [2, 1]},
{"x": 2, "y": 2, "matrix": [2, 2]}
]
}
}
}

View File

@@ -1,16 +0,0 @@
# 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
NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
ENCODER_ENABLE = yes
LTO_ENABLE = yes
OLED_ENABLE = yes

View File

@@ -0,0 +1,27 @@
{
"development_board": "promicro",
"bootloader": "qmk-dfu",
"matrix_pins": {
"cols": ["F5", "F6", "F7", "F4", "B3", "B1", "B2"],
"rows": ["D3", "D2", "D1", "D4", "D7", "E6", "B4", "C6"]
},
"diode_direction": "COL2ROW",
"rgb_matrix": {
"animations": {
"band_sat": true,
"band_spiral_val": true,
"breathing": true,
"cycle_all": true,
"cycle_left_right": true,
"raindrops": true
}
},
"encoder": {
"rotary": [
{"pin_a": "B5", "pin_b": "B6"}
]
},
"ws2812": {
"pin": "D0"
}
}

View File

@@ -3,13 +3,6 @@
"keyboard_name": "splaytoraid",
"maintainer": "freya-irl",
"url": "https://github.com/freya-irl/splaytoraid40",
"development_board": "promicro",
"bootloader": "qmk-dfu",
"diode_direction": "COL2ROW",
"matrix_pins": {
"cols": ["F5", "F6", "F7", "F4", "B3", "B1", "B2"],
"rows": ["D3", "D2", "D1", "D4", "D7", "E6", "B4", "C6"]
},
"usb": {
"device_version": "1.0.0",
"pid": "0xCB00",
@@ -21,7 +14,8 @@
"bootmagic": true,
"console": true,
"mousekey": true,
"nkro": true
"nkro": true,
"encoder": true
},
"bootmagic": {
"matrix": [1, 0]
@@ -29,21 +23,7 @@
"build": {
"lto": true
},
"encoder": {
"enabled": true,
"rotary": [
{"pin_a": "B5", "pin_b": "B6", "resolution": 4}
]
},
"rgb_matrix": {
"animations": {
"breathing": true,
"band_sat": true,
"band_spiral_val": true,
"cycle_all": true,
"raindrops": true,
"cycle_left_right": true
},
"default": {
"animation": "breathing",
"hue": 152,
@@ -73,9 +53,6 @@
],
"max_brightness": 200
},
"ws2812": {
"pin": "D0"
},
"layouts": {
"LAYOUT_36": {
"layout": [

View File

@@ -1,26 +0,0 @@
{
"rgb_matrix": {
"animations": {
"cycle_up_down": true,
"jellybean_raindrops": true,
"cycle_out_in": true,
"cycle_out_in_dual": true,
"pixel_fractal": true,
"rainbow_moving_chevron": true,
"cycle_pinwheel": true,
"pixel_rain": true,
"dual_beacon": true,
"hue_breathing": true,
"typing_heatmap": true,
"digital_rain": true,
"solid_reactive_simple": true,
"solid_reactive": true,
"splash": true,
"multisplash": true,
"solid_splash": true
}
},
"ws2812": {
"driver": "vendor"
}
}

View File

@@ -0,0 +1,44 @@
{
"development_board": "promicro_rp2040",
"matrix_pins": {
"cols": ["GP28", "GP27", "GP26", "GP29", "GP20", "GP22", "GP23"],
"rows": ["GP0", "GP1", "GP2", "GP4", "GP6", "GP7", "GP8", "GP5"]
},
"diode_direction": "COL2ROW",
"rgb_matrix": {
"animations": {
"band_sat": true,
"band_spiral_val": true,
"breathing": true,
"cycle_all": true,
"cycle_left_right": true,
"cycle_out_in": true,
"cycle_out_in_dual": true,
"cycle_pinwheel": true,
"cycle_up_down": true,
"digital_rain": true,
"dual_beacon": true,
"hue_breathing": true,
"jellybean_raindrops": true,
"multisplash": true,
"pixel_fractal": true,
"pixel_rain": true,
"rainbow_moving_chevron": true,
"raindrops": true,
"solid_reactive": true,
"solid_reactive_simple": true,
"solid_splash": true,
"splash": true,
"typing_heatmap": true
}
},
"encoder": {
"rotary": [
{"pin_a": "GP9", "pin_b": "GP21"}
]
},
"ws2812": {
"pin": "GP3",
"driver": "vendor"
}
}

View File

@@ -1 +0,0 @@
CONVERT_TO = rp2040_ce

View File

@@ -16,11 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
/* oled custom font */
#define OLED_FONT_END 255
#define OLED_FONT_H "gfxfont.c"

View File

@@ -1,132 +0,0 @@
{
"keyboard_name": "Static",
"manufacturer": "0xCB",
"url": "https://0xCB.dev",
"maintainer": "Conor-Burns",
"usb": {
"vid": "0xCB00",
"pid": "0xA455",
"device_version": "0.0.1"
},
"matrix_pins": {
"cols": ["B5", "D4", "C0", "C1", "C2", "C3"],
"rows": ["D5", "D6", "D7", "B0", "B1", "B2", "B3", "B4"]
},
"diode_direction": "COL2ROW",
"encoder": {
"rotary": [
{"pin_a": "D0", "pin_b": "D1"}
]
},
"qmk": {
"tap_keycode_delay": 10
},
"processor": "atmega328p",
"bootloader": "usbasploader",
"layout_aliases": {
"LAYOUT": "LAYOUT_all"
},
"layouts": {
"LAYOUT_all": {
"layout": [
{"matrix": [1, 5], "x": 11, "y": 0},
{"matrix": [0, 0], "x": 0, "y": 1},
{"matrix": [1, 0], "x": 1, "y": 1},
{"matrix": [0, 1], "x": 2, "y": 1},
{"matrix": [1, 1], "x": 3, "y": 1},
{"matrix": [0, 2], "x": 4, "y": 1},
{"matrix": [1, 2], "x": 5, "y": 1},
{"matrix": [0, 3], "x": 6, "y": 1},
{"matrix": [1, 3], "x": 7, "y": 1},
{"matrix": [0, 4], "x": 8, "y": 1},
{"matrix": [1, 4], "x": 9, "y": 1},
{"matrix": [0, 5], "x": 10, "y": 1},
{"matrix": [3, 5], "x": 11, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.25},
{"matrix": [3, 0], "x": 1.25, "y": 2},
{"matrix": [2, 1], "x": 2.25, "y": 2},
{"matrix": [3, 1], "x": 3.25, "y": 2},
{"matrix": [2, 2], "x": 4.25, "y": 2},
{"matrix": [3, 2], "x": 5.25, "y": 2},
{"matrix": [2, 3], "x": 6.25, "y": 2},
{"matrix": [3, 3], "x": 7.25, "y": 2},
{"matrix": [2, 4], "x": 8.25, "y": 2},
{"matrix": [3, 4], "x": 9.25, "y": 2},
{"matrix": [2, 5], "x": 10.25, "y": 2, "w": 1.75},
{"matrix": [4, 0], "x": 0, "y": 3, "w": 1.75},
{"matrix": [4, 1], "x": 1.75, "y": 3},
{"matrix": [5, 1], "x": 2.75, "y": 3},
{"matrix": [4, 2], "x": 3.75, "y": 3},
{"matrix": [5, 2], "x": 4.75, "y": 3},
{"matrix": [4, 3], "x": 5.75, "y": 3},
{"matrix": [5, 3], "x": 6.75, "y": 3},
{"matrix": [4, 4], "x": 7.75, "y": 3},
{"matrix": [5, 4], "x": 8.75, "y": 3},
{"matrix": [4, 5], "x": 9.75, "y": 3},
{"matrix": [5, 5], "x": 10.75, "y": 3, "w": 1.25},
{"matrix": [6, 0], "x": 0, "y": 4},
{"matrix": [7, 0], "x": 1, "y": 4},
{"matrix": [6, 1], "x": 2, "y": 4},
{"matrix": [7, 1], "x": 3, "y": 4, "w": 2.75},
{"matrix": [7, 2], "x": 5.75, "y": 4},
{"matrix": [6, 4], "x": 6.75, "y": 4, "w": 2.25},
{"matrix": [7, 4], "x": 9, "y": 4},
{"matrix": [6, 5], "x": 10, "y": 4},
{"matrix": [7, 5], "x": 11, "y": 4}
]
},
"LAYOUT_bigbar": {
"layout": [
{"matrix": [1, 5], "x": 11, "y": 0},
{"matrix": [0, 0], "x": 0, "y": 1},
{"matrix": [1, 0], "x": 1, "y": 1},
{"matrix": [0, 1], "x": 2, "y": 1},
{"matrix": [1, 1], "x": 3, "y": 1},
{"matrix": [0, 2], "x": 4, "y": 1},
{"matrix": [1, 2], "x": 5, "y": 1},
{"matrix": [0, 3], "x": 6, "y": 1},
{"matrix": [1, 3], "x": 7, "y": 1},
{"matrix": [0, 4], "x": 8, "y": 1},
{"matrix": [1, 4], "x": 9, "y": 1},
{"matrix": [0, 5], "x": 10, "y": 1},
{"matrix": [3, 5], "x": 11, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.25},
{"matrix": [3, 0], "x": 1.25, "y": 2},
{"matrix": [2, 1], "x": 2.25, "y": 2},
{"matrix": [3, 1], "x": 3.25, "y": 2},
{"matrix": [2, 2], "x": 4.25, "y": 2},
{"matrix": [3, 2], "x": 5.25, "y": 2},
{"matrix": [2, 3], "x": 6.25, "y": 2},
{"matrix": [3, 3], "x": 7.25, "y": 2},
{"matrix": [2, 4], "x": 8.25, "y": 2},
{"matrix": [3, 4], "x": 9.25, "y": 2},
{"matrix": [2, 5], "x": 10.25, "y": 2, "w": 1.75},
{"matrix": [4, 0], "x": 0, "y": 3, "w": 1.75},
{"matrix": [4, 1], "x": 1.75, "y": 3},
{"matrix": [5, 1], "x": 2.75, "y": 3},
{"matrix": [4, 2], "x": 3.75, "y": 3},
{"matrix": [5, 2], "x": 4.75, "y": 3},
{"matrix": [4, 3], "x": 5.75, "y": 3},
{"matrix": [5, 3], "x": 6.75, "y": 3},
{"matrix": [4, 4], "x": 7.75, "y": 3},
{"matrix": [5, 4], "x": 8.75, "y": 3},
{"matrix": [4, 5], "x": 9.75, "y": 3},
{"matrix": [5, 5], "x": 10.75, "y": 3, "w": 1.25},
{"matrix": [6, 0], "x": 0, "y": 4, "w": 1.25},
{"matrix": [7, 0], "x": 1.25, "y": 4},
{"matrix": [6, 1], "x": 2.25, "y": 4},
{"matrix": [7, 2], "x": 3.25, "y": 4, "w": 6.25},
{"matrix": [6, 5], "x": 9.5, "y": 4, "w": 1.25},
{"matrix": [7, 5], "x": 10.75, "y": 4, "w": 1.25}
]
}
}
}

View File

@@ -0,0 +1,149 @@
{
"keyboard_name": "Static",
"manufacturer": "0xCB",
"url": "https://0xCB.dev",
"maintainer": "Conor-Burns",
"usb": {
"vid": "0xCB00",
"pid": "0xA455",
"device_version": "0.0.1"
},
"build": {
"lto": true
},
"features": {
"bootmagic": true,
"command": false,
"console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
"nkro": false,
"oled": true
},
"matrix_pins": {
"cols": ["B5", "D4", "C0", "C1", "C2", "C3"],
"rows": ["D5", "D6", "D7", "B0", "B1", "B2", "B3", "B4"]
},
"diode_direction": "COL2ROW",
"encoder": {
"rotary": [
{"pin_a": "D0", "pin_b": "D1"}
]
},
"qmk": {
"locking": {
"enabled": true,
"resync": true
},
"tap_keycode_delay": 10
},
"processor": "atmega328p",
"bootloader": "usbasploader",
"layout_aliases": {
"LAYOUT": "LAYOUT_all"
},
"layouts": {
"LAYOUT_all": {
"layout": [
{"matrix": [1, 5], "x": 11, "y": 0},
{"matrix": [0, 0], "x": 0, "y": 1},
{"matrix": [1, 0], "x": 1, "y": 1},
{"matrix": [0, 1], "x": 2, "y": 1},
{"matrix": [1, 1], "x": 3, "y": 1},
{"matrix": [0, 2], "x": 4, "y": 1},
{"matrix": [1, 2], "x": 5, "y": 1},
{"matrix": [0, 3], "x": 6, "y": 1},
{"matrix": [1, 3], "x": 7, "y": 1},
{"matrix": [0, 4], "x": 8, "y": 1},
{"matrix": [1, 4], "x": 9, "y": 1},
{"matrix": [0, 5], "x": 10, "y": 1},
{"matrix": [3, 5], "x": 11, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.25},
{"matrix": [3, 0], "x": 1.25, "y": 2},
{"matrix": [2, 1], "x": 2.25, "y": 2},
{"matrix": [3, 1], "x": 3.25, "y": 2},
{"matrix": [2, 2], "x": 4.25, "y": 2},
{"matrix": [3, 2], "x": 5.25, "y": 2},
{"matrix": [2, 3], "x": 6.25, "y": 2},
{"matrix": [3, 3], "x": 7.25, "y": 2},
{"matrix": [2, 4], "x": 8.25, "y": 2},
{"matrix": [3, 4], "x": 9.25, "y": 2},
{"matrix": [2, 5], "x": 10.25, "y": 2, "w": 1.75},
{"matrix": [4, 0], "x": 0, "y": 3, "w": 1.75},
{"matrix": [4, 1], "x": 1.75, "y": 3},
{"matrix": [5, 1], "x": 2.75, "y": 3},
{"matrix": [4, 2], "x": 3.75, "y": 3},
{"matrix": [5, 2], "x": 4.75, "y": 3},
{"matrix": [4, 3], "x": 5.75, "y": 3},
{"matrix": [5, 3], "x": 6.75, "y": 3},
{"matrix": [4, 4], "x": 7.75, "y": 3},
{"matrix": [5, 4], "x": 8.75, "y": 3},
{"matrix": [4, 5], "x": 9.75, "y": 3},
{"matrix": [5, 5], "x": 10.75, "y": 3, "w": 1.25},
{"matrix": [6, 0], "x": 0, "y": 4},
{"matrix": [7, 0], "x": 1, "y": 4},
{"matrix": [6, 1], "x": 2, "y": 4},
{"matrix": [7, 1], "x": 3, "y": 4, "w": 2.75},
{"matrix": [7, 2], "x": 5.75, "y": 4},
{"matrix": [6, 4], "x": 6.75, "y": 4, "w": 2.25},
{"matrix": [7, 4], "x": 9, "y": 4},
{"matrix": [6, 5], "x": 10, "y": 4},
{"matrix": [7, 5], "x": 11, "y": 4}
]
},
"LAYOUT_bigbar": {
"layout": [
{"matrix": [1, 5], "x": 11, "y": 0},
{"matrix": [0, 0], "x": 0, "y": 1},
{"matrix": [1, 0], "x": 1, "y": 1},
{"matrix": [0, 1], "x": 2, "y": 1},
{"matrix": [1, 1], "x": 3, "y": 1},
{"matrix": [0, 2], "x": 4, "y": 1},
{"matrix": [1, 2], "x": 5, "y": 1},
{"matrix": [0, 3], "x": 6, "y": 1},
{"matrix": [1, 3], "x": 7, "y": 1},
{"matrix": [0, 4], "x": 8, "y": 1},
{"matrix": [1, 4], "x": 9, "y": 1},
{"matrix": [0, 5], "x": 10, "y": 1},
{"matrix": [3, 5], "x": 11, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.25},
{"matrix": [3, 0], "x": 1.25, "y": 2},
{"matrix": [2, 1], "x": 2.25, "y": 2},
{"matrix": [3, 1], "x": 3.25, "y": 2},
{"matrix": [2, 2], "x": 4.25, "y": 2},
{"matrix": [3, 2], "x": 5.25, "y": 2},
{"matrix": [2, 3], "x": 6.25, "y": 2},
{"matrix": [3, 3], "x": 7.25, "y": 2},
{"matrix": [2, 4], "x": 8.25, "y": 2},
{"matrix": [3, 4], "x": 9.25, "y": 2},
{"matrix": [2, 5], "x": 10.25, "y": 2, "w": 1.75},
{"matrix": [4, 0], "x": 0, "y": 3, "w": 1.75},
{"matrix": [4, 1], "x": 1.75, "y": 3},
{"matrix": [5, 1], "x": 2.75, "y": 3},
{"matrix": [4, 2], "x": 3.75, "y": 3},
{"matrix": [5, 2], "x": 4.75, "y": 3},
{"matrix": [4, 3], "x": 5.75, "y": 3},
{"matrix": [5, 3], "x": 6.75, "y": 3},
{"matrix": [4, 4], "x": 7.75, "y": 3},
{"matrix": [5, 4], "x": 8.75, "y": 3},
{"matrix": [4, 5], "x": 9.75, "y": 3},
{"matrix": [5, 5], "x": 10.75, "y": 3, "w": 1.25},
{"matrix": [6, 0], "x": 0, "y": 4, "w": 1.25},
{"matrix": [7, 0], "x": 1.25, "y": 4},
{"matrix": [6, 1], "x": 2.25, "y": 4},
{"matrix": [7, 2], "x": 3.25, "y": 4, "w": 6.25},
{"matrix": [6, 5], "x": 9.5, "y": 4, "w": 1.25},
{"matrix": [7, 5], "x": 10.75, "y": 4, "w": 1.25}
]
}
}
}

View File

@@ -1,16 +0,0 @@
# 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
NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
ENCODER_ENABLE = yes
LTO_ENABLE = yes
OLED_ENABLE = yes

View File

@@ -1,57 +0,0 @@
{
"keyboard_name": "TutelPad",
"manufacturer": "ItsFiremanSam",
"url": "",
"maintainer": "ItsFiremanSam",
"usb": {
"vid": "0xCB00",
"pid": "0xF09F",
"device_version": "0.0.1"
},
"bootmagic": {
"matrix": [1, 0]
},
"rgblight": {
"hue_steps": 10,
"led_count": 4,
"sleep": true,
"animations": {
"breathing": true,
"rainbow_mood": true,
"rainbow_swirl": true,
"snake": true,
"knight": true,
"christmas": true,
"static_gradient": true,
"rgb_test": true,
"alternating": true,
"twinkle": true
}
},
"ws2812": {
"pin": "D3"
},
"processor": "atmega32u4",
"bootloader": "caterina",
"matrix_pins": {
"direct": [
["E6", "D7", "B1", "B3"],
["B5", "B4", "B2", "B6"]
]
},
"layouts": {
"LAYOUT": {
"layout": [
{"x": 0, "y": 0, "matrix": [0, 0]},
{"x": 1, "y": 0, "matrix": [0, 1]},
{"x": 2, "y": 0, "matrix": [0, 2]},
{"x": 3, "y": 0, "matrix": [0, 3]},
{"x": 0, "y": 1, "matrix": [1, 0]},
{"x": 1, "y": 1, "matrix": [1, 1]},
{"x": 2, "y": 1, "matrix": [1, 2]},
{"x": 3, "y": 1, "matrix": [1, 3]}
]
}
}
}

View File

@@ -0,0 +1,67 @@
{
"keyboard_name": "TutelPad",
"manufacturer": "ItsFiremanSam",
"url": "",
"maintainer": "ItsFiremanSam",
"usb": {
"vid": "0xCB00",
"pid": "0xF09F",
"device_version": "0.0.1"
},
"bootmagic": {
"matrix": [1, 0]
},
"rgblight": {
"hue_steps": 10,
"led_count": 4,
"sleep": true,
"animations": {
"breathing": true,
"rainbow_mood": true,
"rainbow_swirl": true,
"snake": true,
"knight": true,
"christmas": true,
"static_gradient": true,
"rgb_test": true,
"alternating": true,
"twinkle": true
}
},
"ws2812": {
"pin": "D3"
},
"processor": "atmega32u4",
"bootloader": "caterina",
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
"oled": true,
"rgblight": true
},
"matrix_pins": {
"direct": [
["E6", "D7", "B1", "B3"],
["B5", "B4", "B2", "B6"]
]
},
"layouts": {
"LAYOUT": {
"layout": [
{"x": 0, "y": 0, "matrix": [0, 0]},
{"x": 1, "y": 0, "matrix": [0, 1]},
{"x": 2, "y": 0, "matrix": [0, 2]},
{"x": 3, "y": 0, "matrix": [0, 3]},
{"x": 0, "y": 1, "matrix": [1, 0]},
{"x": 1, "y": 1, "matrix": [1, 1]},
{"x": 2, "y": 1, "matrix": [1, 2]},
{"x": 3, "y": 1, "matrix": [1, 3]}
]
}
}
}

View File

@@ -1,13 +0,0 @@
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # 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 # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
OLED_ENABLE = yes

View File

@@ -1,63 +0,0 @@
{
"keyboard_name": "10bleoledhub",
"manufacturer": "haierwangwei2005",
"url": "https://github.com/haierwangwei2005/10BLE-OLED-HUB",
"maintainer": "haierwangwei2005",
"usb": {
"vid": "0x7C88",
"pid": "0x7C99",
"device_version": "0.0.1"
},
"bluetooth": {
"driver": "bluefruit_le"
},
"rgblight": {
"led_count": 4,
"animations": {
"breathing": true,
"rainbow_mood": true,
"rainbow_swirl": true,
"snake": true,
"knight": true,
"christmas": true,
"static_gradient": true,
"rgb_test": true,
"alternating": true,
"twinkle": true
}
},
"ws2812": {
"pin": "B7"
},
"matrix_pins": {
"cols": ["D6", "D7", "B5"],
"rows": ["F0", "F5", "F4", "F6"]
},
"diode_direction": "ROW2COL",
"encoder": {
"rotary": [
{"pin_a": "C7", "pin_b": "F7"}
]
},
"processor": "atmega32u4",
"bootloader": "caterina",
"layouts": {
"LAYOUT": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0, "w": 0.8, "h": 0.8},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1, "y": 2},
{"matrix": [2, 2], "x": 2, "y": 2},
{"matrix": [3, 0], "x": 0, "y": 3},
{"matrix": [3, 1], "x": 1, "y": 3},
{"matrix": [3, 2], "x": 2, "y": 3}
]
}
}
}

View File

@@ -0,0 +1,72 @@
{
"keyboard_name": "10bleoledhub",
"manufacturer": "haierwangwei2005",
"url": "https://github.com/haierwangwei2005/10BLE-OLED-HUB",
"maintainer": "haierwangwei2005",
"usb": {
"vid": "0x7C88",
"pid": "0x7C99",
"device_version": "0.0.1"
},
"features": {
"bluetooth": true,
"bootmagic": true,
"encoder": true,
"extrakey": true,
"mousekey": true,
"nkro": false,
"oled": true
},
"bluetooth": {
"driver": "bluefruit_le"
},
"rgblight": {
"led_count": 4,
"animations": {
"breathing": true,
"rainbow_mood": true,
"rainbow_swirl": true,
"snake": true,
"knight": true,
"christmas": true,
"static_gradient": true,
"rgb_test": true,
"alternating": true,
"twinkle": true
}
},
"ws2812": {
"pin": "B7"
},
"matrix_pins": {
"cols": ["D6", "D7", "B5"],
"rows": ["F0", "F5", "F4", "F6"]
},
"diode_direction": "ROW2COL",
"encoder": {
"rotary": [
{"pin_a": "C7", "pin_b": "F7"}
]
},
"processor": "atmega32u4",
"bootloader": "caterina",
"layouts": {
"LAYOUT": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0, "w": 0.8, "h": 0.8},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1, "y": 2},
{"matrix": [2, 2], "x": 2, "y": 2},
{"matrix": [3, 0], "x": 0, "y": 3},
{"matrix": [3, 1], "x": 1, "y": 3},
{"matrix": [3, 2], "x": 2, "y": 3}
]
}
}
}

View File

@@ -1,18 +1,2 @@
# Processor frequency
F_CPU = 8000000
# 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
NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
BLUETOOTH_ENABLE = yes
OLED_ENABLE = yes
ENCODER_ENABLE = yes

View File

@@ -1,29 +0,0 @@
{
"keyboard_name": "1K",
"manufacturer": "MakotoKurauchi",
"url": "",
"maintainer": "MakotoKurauchi",
"usb": {
"vid": "0x0009",
"pid": "0x0001",
"device_version": "0.0.1"
},
"rgblight": {
"led_count": 1
},
"ws2812": {
"pin": "B2"
},
"matrix_pins": {
"direct": [
["B0"]
]
},
"layouts": {
"LAYOUT_ortho_1x1": {
"layout": [
{"x": 0, "y": 0, "matrix": [0, 0]}
]
}
}
}

View File

@@ -0,0 +1,39 @@
{
"keyboard_name": "1K",
"manufacturer": "MakotoKurauchi",
"url": "",
"maintainer": "MakotoKurauchi",
"usb": {
"vid": "0x0009",
"pid": "0x0001",
"device_version": "0.0.1"
},
"processor": "attiny85",
"bootloader": "custom",
"build": {
"lto": true
},
"features": {
"grave_esc": false,
"magic": false,
"space_cadet": false
},
"rgblight": {
"led_count": 1
},
"ws2812": {
"pin": "B2"
},
"matrix_pins": {
"direct": [
["B0"]
]
},
"layouts": {
"LAYOUT_ortho_1x1": {
"layout": [
{"x": 0, "y": 0, "matrix": [0, 0]}
]
}
}
}

View File

@@ -21,5 +21,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
void keyboard_post_init_user(void) {
rgblite_init();
rgblite_increase_hue();
}

View File

@@ -6,6 +6,10 @@
#include "ws2812.h"
#include "color.h"
static inline void rgblite_init(void) {
ws2812_init();
}
static inline void rgblite_setrgb(RGB rgb) {
rgb_led_t leds[RGBLIGHT_LED_COUNT] = {{.r = rgb.r, .g = rgb.g, .b = rgb.b}};
ws2812_setleds(leds, RGBLIGHT_LED_COUNT);

View File

@@ -1,26 +1,2 @@
# MCU name
MCU = attiny85
# Bootloader selection
BOOTLOADER = custom
BOOTLOADER_SIZE = 1862
PROGRAM_CMD = micronucleus --run $(BUILD_DIR)/$(TARGET).hex
# 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
NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
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

View File

@@ -1,39 +0,0 @@
/*
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 <http://www.gnu.org/licenses/>.
*/
#pragma once
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
/*
* 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

View File

@@ -1,116 +0,0 @@
{
"keyboard_name": "1up60hse",
"manufacturer": "1upkeyboards",
"url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x6F75",
"pid": "0x6873",
"device_version": "0.0.1"
},
"matrix_pins": {
"cols": ["C7", "F7", "F6", "F5", "F4", "F1", "E6", "D1", "D0", "D2", "D3", "D5", "D6", "D7"],
"rows": ["B3", "B2", "B1", "B0", "D4"]
},
"diode_direction": "COL2ROW",
"backlight": {
"pin": "B7",
"levels": 5,
"breathing": true
},
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
"led_count": 14,
"sleep": true,
"animations": {
"breathing": true,
"rainbow_mood": true,
"rainbow_swirl": true,
"snake": true,
"knight": true,
"christmas": true,
"static_gradient": true,
"rgb_test": true,
"alternating": true,
"twinkle": true
}
},
"ws2812": {
"pin": "F0"
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"community_layouts": ["60_ansi"],
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
{"matrix": [1, 1], "x": 1.5, "y": 1},
{"matrix": [1, 2], "x": 2.5, "y": 1},
{"matrix": [1, 3], "x": 3.5, "y": 1},
{"matrix": [1, 4], "x": 4.5, "y": 1},
{"matrix": [1, 5], "x": 5.5, "y": 1},
{"matrix": [1, 6], "x": 6.5, "y": 1},
{"matrix": [1, 7], "x": 7.5, "y": 1},
{"matrix": [1, 8], "x": 8.5, "y": 1},
{"matrix": [1, 9], "x": 9.5, "y": 1},
{"matrix": [1, 10], "x": 10.5, "y": 1},
{"matrix": [1, 11], "x": 11.5, "y": 1},
{"matrix": [1, 12], "x": 12.5, "y": 1},
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2, 1], "x": 1.75, "y": 2},
{"matrix": [2, 2], "x": 2.75, "y": 2},
{"matrix": [2, 3], "x": 3.75, "y": 2},
{"matrix": [2, 4], "x": 4.75, "y": 2},
{"matrix": [2, 5], "x": 5.75, "y": 2},
{"matrix": [2, 6], "x": 6.75, "y": 2},
{"matrix": [2, 7], "x": 7.75, "y": 2},
{"matrix": [2, 8], "x": 8.75, "y": 2},
{"matrix": [2, 9], "x": 9.75, "y": 2},
{"matrix": [2, 10], "x": 10.75, "y": 2},
{"matrix": [2, 11], "x": 11.75, "y": 2},
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
{"matrix": [3, 1], "x": 2.25, "y": 3},
{"matrix": [3, 2], "x": 3.25, "y": 3},
{"matrix": [3, 3], "x": 4.25, "y": 3},
{"matrix": [3, 4], "x": 5.25, "y": 3},
{"matrix": [3, 5], "x": 6.25, "y": 3},
{"matrix": [3, 6], "x": 7.25, "y": 3},
{"matrix": [3, 7], "x": 8.25, "y": 3},
{"matrix": [3, 8], "x": 9.25, "y": 3},
{"matrix": [3, 9], "x": 10.25, "y": 3},
{"matrix": [3, 10], "x": 11.25, "y": 3},
{"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
{"matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25},
{"matrix": [4, 9], "x": 10, "y": 4, "w": 1.25},
{"matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25},
{"matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.25},
{"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
]
}
}
}

View File

@@ -0,0 +1,135 @@
{
"keyboard_name": "1up60hse",
"manufacturer": "1upkeyboards",
"url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x6F75",
"pid": "0x6873",
"device_version": "0.0.1"
},
"build": {
"lto": true
},
"features": {
"backlight": true,
"bootmagic": true,
"command": true,
"console": true,
"extrakey": true,
"mousekey": false,
"nkro": true,
"rgblight": true
},
"matrix_pins": {
"cols": ["C7", "F7", "F6", "F5", "F4", "F1", "E6", "D1", "D0", "D2", "D3", "D5", "D6", "D7"],
"rows": ["B3", "B2", "B1", "B0", "D4"]
},
"diode_direction": "COL2ROW",
"backlight": {
"pin": "B7",
"levels": 5,
"breathing": true
},
"qmk": {
"locking": {
"enabled": true,
"resync": true
}
},
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
"led_count": 14,
"sleep": true,
"animations": {
"breathing": true,
"rainbow_mood": true,
"rainbow_swirl": true,
"snake": true,
"knight": true,
"christmas": true,
"static_gradient": true,
"rgb_test": true,
"alternating": true,
"twinkle": true
}
},
"ws2812": {
"pin": "F0"
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"community_layouts": ["60_ansi"],
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
{"matrix": [1, 1], "x": 1.5, "y": 1},
{"matrix": [1, 2], "x": 2.5, "y": 1},
{"matrix": [1, 3], "x": 3.5, "y": 1},
{"matrix": [1, 4], "x": 4.5, "y": 1},
{"matrix": [1, 5], "x": 5.5, "y": 1},
{"matrix": [1, 6], "x": 6.5, "y": 1},
{"matrix": [1, 7], "x": 7.5, "y": 1},
{"matrix": [1, 8], "x": 8.5, "y": 1},
{"matrix": [1, 9], "x": 9.5, "y": 1},
{"matrix": [1, 10], "x": 10.5, "y": 1},
{"matrix": [1, 11], "x": 11.5, "y": 1},
{"matrix": [1, 12], "x": 12.5, "y": 1},
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2, 1], "x": 1.75, "y": 2},
{"matrix": [2, 2], "x": 2.75, "y": 2},
{"matrix": [2, 3], "x": 3.75, "y": 2},
{"matrix": [2, 4], "x": 4.75, "y": 2},
{"matrix": [2, 5], "x": 5.75, "y": 2},
{"matrix": [2, 6], "x": 6.75, "y": 2},
{"matrix": [2, 7], "x": 7.75, "y": 2},
{"matrix": [2, 8], "x": 8.75, "y": 2},
{"matrix": [2, 9], "x": 9.75, "y": 2},
{"matrix": [2, 10], "x": 10.75, "y": 2},
{"matrix": [2, 11], "x": 11.75, "y": 2},
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
{"matrix": [3, 1], "x": 2.25, "y": 3},
{"matrix": [3, 2], "x": 3.25, "y": 3},
{"matrix": [3, 3], "x": 4.25, "y": 3},
{"matrix": [3, 4], "x": 5.25, "y": 3},
{"matrix": [3, 5], "x": 6.25, "y": 3},
{"matrix": [3, 6], "x": 7.25, "y": 3},
{"matrix": [3, 7], "x": 8.25, "y": 3},
{"matrix": [3, 8], "x": 9.25, "y": 3},
{"matrix": [3, 9], "x": 10.25, "y": 3},
{"matrix": [3, 10], "x": 11.25, "y": 3},
{"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
{"matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25},
{"matrix": [4, 9], "x": 10, "y": 4, "w": 1.25},
{"matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25},
{"matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.25},
{"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
]
}
}
}

View File

@@ -1,4 +0,0 @@
# 1up60hse default keymap generated by QMK Configurator
This is the keymap used by [QMK Configurator](https://config.qmk.fm/#/1upkeyboards/1up60hse/LAYOUT_60_ansi) as default.

View File

@@ -1 +0,0 @@
# 1up60hse via keymap

View File

@@ -1,13 +0,0 @@
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # 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
NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
LTO_ENABLE = yes

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