const_hoisted_1=/* @__PURE__ */createStaticVNode('<h1id="introduction"tabindex="-1">Introduction<aclass="header-anchor"href="#introduction"aria-label="Permalink to "Introduction""></a></h1><p>ThispageattemptstoexplainthebasicinformationyouneedtoknowtoworkwiththeQMKproject.ItassumesthatyouarefamiliarwithnavigatingaUnixshell,butdoesnotassumeyouarefamiliarwithCorwithcompilingusingmake.</p><h2id="basic-qmk-structure"tabindex="-1">BasicQMKStructure<aclass="header-anchor"href="#basic-qmk-structure"aria-label="Permalinkto"BasicQMKStructure""></a></h2><p>QMKisaforkof<ahref="https://github.com/tmk"target="_blank"rel="noreferrer">JunWako</a>'s<ahref="https://github.com/tmk/tmk_keyboard"target="_blank"rel="noreferrer">tmk_keyboard</a>project.TheoriginalTMKcode,withmodifications,canbefoundinthe<code>tmk_core</code>folder.TheQMKadditionstotheprojectmaybefoundinthe<code>quantum</code>folder.Keyboardprojectsmaybefoundinthe<code>keyboards</code>folder.</p><h3id="userspace-structure"tabindex="-1">UserspaceStructure<aclass="header-anchor"href="#userspace-structure"aria-label="Permalinkto"UserspaceStructure""></a></h3><p>Withinthefolder<code>users</code>isadirectoryforeachuser.Thisisaplaceforuserstoputcodethattheymightusebetweenkeyboards.Seethedocsfor<ahref="./feature_userspace">Userspacefeature</a>formoreinformation.</p><h3id="keyboard-project-structure"tabindex="-1">KeyboardProjectStructure<aclass="header-anchor"href="#keyboard-project-structure"aria-label="Permalinkto"KeyboardProjectStructure""></a></h3><p>Withinthefolder<code>keyboards</code>,itssubfolder<code>handwired</code>anditsvendorandmanufacturesubdirectoriese.g.<code>clueboard</code>isadirectoryforeachkeyboardproject,forexample<code>qmk_firmware/keyboards/clueboard/2x1800</code>.Withinit,you'llfindthefollowingstructure:</p><ul><li><code>keymaps/</code>:Differentkeymapsthatcanbebuilt</li><li><code>rules.mk</code>:Thefilethatsetsthedefault"make"options.Donoteditthisfiledirectly,insteaduseakeymapspecific<code>rules.mk</code>.</li><li><code>config.h</code>:Thefilethatsetsthedefaultcompiletimeoptions.Donoteditthisfiledirectly,insteaduseakeymapspecific<code>config.h</code>.</li><li><code>info.json</code>:ThefileusedforsettinglayoutforQMKConfigurator.See<ahref="./reference_configurator_support">ConfiguratorSupport</a>formoreinformation.</li><li><code>readme.md</code>:Abriefoverviewofthekeyboard.</li><li><code><keyboardName>.h</code>:Thisfileiswherethekeyboardlayoutisdefinedagainstthekeyboard'sswitchmatrix.</li><li><code><keyboardName>.c</code>:Thisfileiswhereyoucanfindcustomcodeforthekeyboard.</li></ul><p>Formoreinformationonprojectstructure,see<ahref="./hardware_keyboard_guidelines">QMKKeyboardGuidelines</a>.</p><h3id="keymap-structure"tabindex="-1">KeymapStructure<aclass="header-anchor"href="#keymap-structure"aria-label="Permalinkto"KeymapStructure""></a></h3><p>Ineverykeymapfolder,thefollowingfilesmaybefound.Only<code>keymap.c</code>isrequired,andiftherestofthefilesarenotfoundthedefaultoptionswillbechosen.</p><ul><li><code>config.h</code>:theoptionstoconfigureyourkeymap</li><li><code>keymap.c</code>:allofyourkeymapcode,required</li><li><code>rules.mk</code>:thefeaturesofQMKthatareenabled</li><li><code>readme.md</code>:adescriptionofyourkeymap,howothersmightuseit,andexplanationsoffeatures.Pleaseuploadimagestoaservicelikeimgur.</li></ul><h1id="the-config-h-file"tabindex="-1">The<code>config.h</code>File<aclass="header-anchor"href="#the-config-h-file"aria-label="Permalinkto"The`config.h`File""></a></h1><p>Thereare3possible<code>config.h</code>locations:</p><ul><li>keyboard(<code