2024-09-18 08:58:07 +00:00
|
|
|
|
import { _ as _export_sfc, c as createElementBlock, o as openBlock, a8 as createStaticVNode } from "./chunks/framework.Clpp4x2N.js";
|
2024-05-30 09:01:49 +00:00
|
|
|
|
const __pageData = JSON.parse('{"title":"QMK Keyboard Guidelines","description":"","frontmatter":{},"headers":[],"relativePath":"hardware_keyboard_guidelines.md","filePath":"hardware_keyboard_guidelines.md"}');
|
|
|
|
|
const _sfc_main = { name: "hardware_keyboard_guidelines.md" };
|
2024-06-02 02:43:43 +00:00
|
|
|
|
const _hoisted_1 = /* @__PURE__ */ createStaticVNode('<h1 id="qmk-keyboard-guidelines" tabindex="-1">QMK Keyboard Guidelines <a class="header-anchor" href="#qmk-keyboard-guidelines" aria-label="Permalink to "QMK Keyboard Guidelines""></a></h1><p>Since starting, QMK has grown by leaps and bounds thanks to people like you who contribute to creating and maintaining our community keyboards. As we've grown we've discovered some patterns that work well, and ask that you conform to them to make it easier for other people to benefit from your hard work.</p><h2 id="use-qmk-lint" tabindex="-1">Use QMK Lint <a class="header-anchor" href="#use-qmk-lint" aria-label="Permalink to "Use QMK Lint""></a></h2><p>We have provided a tool, <code>qmk lint</code>, which will let you check over your keyboard for problems. We suggest using it frequently while working on your keyboard and keymap.</p><p>Example passing check:</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span>$ qmk lint -kb rominronin/katana60/rev2</span></span>\n<span class="line"><span>Ψ Lint check passed!</span></span></code></pre></div><p>Example failing check:</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span>$ qmk lint -kb clueboard/66/rev3</span></span>\n<span class="line"><span>☒ Missing keyboards/clueboard/66/rev3/readme.md</span></span>\n<span class="line"><span>☒ Lint check failed!</span></span></code></pre></div><h2 id="naming-your-keyboard-project" tabindex="-1">Naming Your Keyboard/Project <a class="header-anchor" href="#naming-your-keyboard-project" aria-label="Permalink to "Naming Your Keyboard/Project""></a></h2><p>All keyboard names are in lower case, consisting only of letters, numbers, and underscore (<code>_</code>). Names may not begin with an underscore. Forward slash (<code>/</code>) is used as a sub-folder separation character.</p><p>The names <code>test</code>, <code>keyboard</code>, and <code>all</code> are reserved for make commands and may not be used as a keyboard or subfolder name.</p><p>Valid Examples:</p><ul><li><code>412_64</code></li><li><code>chimera_ortho</code></li><li><code>clueboard/66/rev3</code></li><li><code>planck</code></li><li><code>v60_type_r</code></li></ul><h2 id="sub-folders" tabindex="-1">Sub-folders <a class="header-anchor" href="#sub-folders" aria-label="Permalink to "Sub-folders""></a></h2><p>QMK uses sub-folders both for organization and to share code between revisions of the same keyboard. You can nest folders up to 4 levels deep:</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span>qmk_firmware/keyboards/top_folder/sub_1/sub_2/sub_3/sub_4</span></span></code></pre></div><p>If a sub-folder has a <code>rules.mk</code> file it will be considered a compilable keyboard. It will be available in QMK Configurator and tested with <code>make all</code>. If you are using a folder to organize several keyboards from the same maker you should not have a <code>rules.mk</code> file.</p><p>Example:</p><p>Clueboard uses sub-folders for both purposes, organization and keyboard revisions.</p><ul><li><a href="https://github.com/qmk/qmk_firmware/tree/master" target="_blank" rel="noreferrer"><code>qmk_firmware</code></a><ul><li><a href="https://github.com/qmk/qmk_firmware/tree/master/keyboards" target="_blank" rel="noreferrer"><code>keyboards</code></a><ul><li><a href="https://github.com/qmk/qmk_firmware/tree/master/keyboards/clueboard" target="_blank" rel="noreferrer"><code>clueboard</code></a> ← This is the organization folder, there's no <code>rules.mk</code> file <ul><li><a href="https://github.
|
2024-05-30 09:01:49 +00:00
|
|
|
|
const _hoisted_79 = [
|
|
|
|
|
_hoisted_1
|
|
|
|
|
];
|
|
|
|
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
|
|
return openBlock(), createElementBlock("div", null, _hoisted_79);
|
|
|
|
|
}
|
|
|
|
|
const hardware_keyboard_guidelines = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
|
|
|
|
export {
|
|
|
|
|
__pageData,
|
|
|
|
|
hardware_keyboard_guidelines as default
|
|
|
|
|
};
|