Deploying to gh-pages from @ qmk/qmk_firmware@15e8658e81 🚀

This commit is contained in:
QMK Bot
2026-04-14 10:03:50 +00:00
parent a00d732af7
commit 8841f5d186
233 changed files with 701 additions and 708 deletions
+2 -2
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+3 -3
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+3 -3
View File
File diff suppressed because one or more lines are too long
+3 -3
View File
File diff suppressed because one or more lines are too long
+3 -3
View File
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
import { R as RawTheme } from "./chunks/theme.PPThYGCR.js";
import { R as RawTheme } from "./chunks/theme.rUWhgqXm.js";
import { V as inBrowser, a9 as useUpdateHead, aa as RouterSymbol, ab as initData, ac as dataSymbol, ad as Content, ae as ClientOnly, af as siteDataRef, ag as createRouter, ah as pathToFile, ai as createSSRApp, d as defineComponent, u as useData, k as onMounted, y as watchEffect, aj as usePrefetch, ak as useCopyCode, al as useCodeGroups, am as h } from "./chunks/framework.DUYk0S7v.js";
function resolveThemeExtends(theme) {
if (theme.extends) {
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -2,8 +2,8 @@ var __defProp = Object.defineProperty;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
import { Y as __vitePreload, j as ref, x as watch, an as unrefElement, ao as tryOnScopeDispose, d as defineComponent, G as shallowRef, ap as computedAsync, h as computed, aq as useSessionStorage, ar as useLocalStorage, y as watchEffect, as as watchDebounced, k as onMounted, S as nextTick, R as onKeyStroke, a6 as useRouter, at as useEventListener, Z as useScrollLock, V as inBrowser, au as onBeforeUnmount, o as openBlock, b as createBlock, l as createBaseVNode, a2 as withModifiers, m as unref, av as withDirectives, aw as vModelText, ax as isRef, c as createElementBlock, n as normalizeClass, e as createCommentVNode, D as renderList, F as Fragment, a as createTextVNode, t as toDisplayString, ay as Teleport, p as pushScopeId, q as popScopeId, az as markRaw, aA as createApp, ac as dataSymbol, ah as pathToFile, aB as escapeRegExp, _ as _export_sfc } from "./framework.DUYk0S7v.js";
import { u as useData, c as createSearchTranslate } from "./theme.PPThYGCR.js";
const localSearchIndex = { "root": () => __vitePreload(() => import("./@localSearchIndexroot.GQjQ-_yL.js"), true ? [] : void 0) };
import { u as useData, c as createSearchTranslate } from "./theme.rUWhgqXm.js";
const localSearchIndex = { "root": () => __vitePreload(() => import("./@localSearchIndexroot.C8I9Blxf.js"), true ? [] : void 0) };
/*!
* tabbable 6.2.0
* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
@@ -1,4 +1,4 @@
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.BndGoQjf.js","assets/chunks/framework.DUYk0S7v.js"])))=>i.map(i=>d[i]);
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.rm65xhCe.js","assets/chunks/framework.DUYk0S7v.js"])))=>i.map(i=>d[i]);
import { d as defineComponent, c as createElementBlock, r as renderSlot, n as normalizeClass, o as openBlock, a as createTextVNode, t as toDisplayString, b as createBlock, w as withCtx, T as Transition, e as createCommentVNode, _ as _export_sfc, u as useData$1, i as isExternal, f as treatAsHtml, g as withBase, h as computed, j as ref, k as onMounted, l as createBaseVNode, m as unref, p as pushScopeId, q as popScopeId, s as isActive, v as useMediaQuery, x as watch, y as watchEffect, z as onUnmounted, A as watchPostEffect, B as onUpdated, C as getScrollOffset, F as Fragment, D as renderList, E as resolveComponent, G as shallowRef, H as onContentUpdated, I as createVNode, J as resolveDynamicComponent, K as EXTERNAL_URL_RE, L as useRoute, M as mergeProps, N as inject, O as useWindowSize, P as normalizeStyle, Q as onClickOutside, R as onKeyStroke, S as nextTick, U as useWindowScroll, V as inBrowser, W as readonly, X as defineAsyncComponent, Y as __vitePreload, Z as useScrollLock, $ as provide, a0 as toHandlers, a1 as withKeys, a2 as withModifiers, a3 as useSlots, a4 as reactive, a5 as toRef, a6 as useRouter, a7 as onBeforeMount } from "./framework.DUYk0S7v.js";
const _sfc_main$Z = /* @__PURE__ */ defineComponent({
__name: "VPBadge",
@@ -2223,7 +2223,7 @@ const _hoisted_3$6 = {
const _sfc_main$l = /* @__PURE__ */ defineComponent({
__name: "VPNavBarSearch",
setup(__props) {
const VPLocalSearchBox = defineAsyncComponent(() => __vitePreload(() => import("./VPLocalSearchBox.BndGoQjf.js"), true ? __vite__mapDeps([0,1]) : void 0));
const VPLocalSearchBox = defineAsyncComponent(() => __vitePreload(() => import("./VPLocalSearchBox.rm65xhCe.js"), true ? __vite__mapDeps([0,1]) : void 0));
const VPAlgoliaSearchBox = () => null;
const { theme: theme2 } = useData();
const loaded = ref(false);
+15
View File
@@ -0,0 +1,15 @@
import { _ as _export_sfc, o as openBlock, c as createElementBlock, a8 as createStaticVNode } from "./chunks/framework.DUYk0S7v.js";
const __pageData = JSON.parse('{"title":"QMK CLI","description":"","frontmatter":{},"headers":[],"relativePath":"cli.md","filePath":"cli.md","lastUpdated":null}');
const _sfc_main = { name: "cli.md" };
const _hoisted_1 = /* @__PURE__ */ createStaticVNode('<h1 id="qmk-cli" tabindex="-1">QMK CLI <a class="header-anchor" href="#qmk-cli" aria-label="Permalink to &quot;QMK CLI {#qmk-cli}&quot;"></a></h1><h2 id="overview" tabindex="-1">Overview <a class="header-anchor" href="#overview" aria-label="Permalink to &quot;Overview {#overview}&quot;"></a></h2><p>The QMK CLI (command line interface) makes building and working with QMK keyboards easier. We have provided a number of commands to simplify and streamline tasks such as obtaining and compiling the QMK firmware, creating keymaps, and more.</p><h3 id="installation" tabindex="-1">Installation <a class="header-anchor" href="#installation" aria-label="Permalink to &quot;Installation {#installation}&quot;"></a></h3><p>The recommended way to install the QMK CLI and all necessary dependencies (toolchains, flashing utilities, udev rules on Linux) is to use the bootstrapper script:</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>curl -fsSL https://install.qmk.fm | sh</span></span></code></pre></div><p>For more options, run:</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>curl -fsSL https://install.qmk.fm | sh -s -- --help</span></span></code></pre></div><p>For detailed setup instructions, see <a href="./newbs_getting_started#set-up-your-environment">Setting Up Your QMK Environment</a>.</p>', 9);
const _hoisted_10 = [
_hoisted_1
];
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return openBlock(), createElementBlock("div", null, _hoisted_10);
}
const cli = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
export {
__pageData,
cli as default
};
@@ -1,12 +1,12 @@
import { _ as _export_sfc, o as openBlock, c as createElementBlock, a8 as createStaticVNode } from "./chunks/framework.DUYk0S7v.js";
const __pageData = JSON.parse('{"title":"QMK CLI","description":"","frontmatter":{},"headers":[],"relativePath":"cli.md","filePath":"cli.md","lastUpdated":null}');
const _sfc_main = { name: "cli.md" };
const _hoisted_1 = /* @__PURE__ */ createStaticVNode("", 18);
const _hoisted_19 = [
const _hoisted_1 = /* @__PURE__ */ createStaticVNode("", 9);
const _hoisted_10 = [
_hoisted_1
];
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return openBlock(), createElementBlock("div", null, _hoisted_19);
return openBlock(), createElementBlock("div", null, _hoisted_10);
}
const cli = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
export {
-15
View File
@@ -1,15 +0,0 @@
import { _ as _export_sfc, o as openBlock, c as createElementBlock, a8 as createStaticVNode } from "./chunks/framework.DUYk0S7v.js";
const __pageData = JSON.parse('{"title":"QMK CLI","description":"","frontmatter":{},"headers":[],"relativePath":"cli.md","filePath":"cli.md","lastUpdated":null}');
const _sfc_main = { name: "cli.md" };
const _hoisted_1 = /* @__PURE__ */ createStaticVNode('<h1 id="qmk-cli" tabindex="-1">QMK CLI <a class="header-anchor" href="#qmk-cli" aria-label="Permalink to &quot;QMK CLI {#qmk-cli}&quot;"></a></h1><h2 id="overview" tabindex="-1">Overview <a class="header-anchor" href="#overview" aria-label="Permalink to &quot;Overview {#overview}&quot;"></a></h2><p>The QMK CLI (command line interface) makes building and working with QMK keyboards easier. We have provided a number of commands to simplify and streamline tasks such as obtaining and compiling the QMK firmware, creating keymaps, and more.</p><h3 id="requirements" tabindex="-1">Requirements <a class="header-anchor" href="#requirements" aria-label="Permalink to &quot;Requirements {#requirements}&quot;"></a></h3><p>QMK requires Python 3.9 or greater. We try to keep the number of requirements small but you will also need to install the packages listed in <a href="https://github.com/qmk/qmk_firmware/blob/master/requirements.txt" target="_blank" rel="noreferrer"><code>requirements.txt</code></a>. These are installed automatically when you install the QMK CLI.</p><h3 id="install-using-homebrew" tabindex="-1">Install Using Homebrew (macOS, some Linux) <a class="header-anchor" href="#install-using-homebrew" aria-label="Permalink to &quot;Install Using Homebrew (macOS, some Linux) {#install-using-homebrew}&quot;"></a></h3><p>If you have installed <a href="https://brew.sh" target="_blank" rel="noreferrer">Homebrew</a> you can tap and install QMK:</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>brew install qmk/qmk/qmk</span></span>\n<span class="line"><span>export QMK_HOME=&#39;~/qmk_firmware&#39; # Optional, set the location for `qmk_firmware`</span></span>\n<span class="line"><span>qmk setup # This will clone `qmk/qmk_firmware` and optionally set up your build environment</span></span></code></pre></div><h3 id="install-using-uv" tabindex="-1">Install Using uv <a class="header-anchor" href="#install-using-uv" aria-label="Permalink to &quot;Install Using uv {#install-using-uv}&quot;"></a></h3><p>If you have installed <a href="https://docs.astral.sh/uv/" target="_blank" rel="noreferrer">uv</a>, the QMK CLI can be installed and managed as a uv tool:</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>uv tool install qmk</span></span>\n<span class="line"><span>export QMK_HOME=&#39;~/qmk_firmware&#39; # Optional, set the location for `qmk_firmware`</span></span>\n<span class="line"><span>qmk setup # This will clone `qmk/qmk_firmware` and optionally set up your build environment</span></span></code></pre></div><p>This installation can be updated via <code>uv tool upgrade qmk</code>. See <a href="https://docs.astral.sh/uv/guides/tools/#upgrading-tools" target="_blank" rel="noreferrer">Upgrading tools</a> for more information.</p><h3 id="install-using-easy_install-or-pip" tabindex="-1">Install Using pip <a class="header-anchor" href="#install-using-easy_install-or-pip" aria-label="Permalink to &quot;Install Using pip {#install-using-easy_install-or-pip}&quot;"></a></h3><p>If your system is not listed above you can install QMK manually. First ensure that you have Python 3.9 (or later) installed and have installed pip. Then install QMK with this command:</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>python3 -m pip install qmk</span></span>\n<span class="line"><span>export QMK_HOME=&#39;~/qmk_firmware&#39; # Optional, set the location for `qmk_firmware`</span></span>\n<span class="line"><span>qmk setup # This will clone `qmk/qmk_firmware` and optionally set up your build environment</span></span></code></pre></div><h3 id="packaging-for-other-operating-systems" tabindex="-1">Packaging For Other Operating Systems <a class="header-anchor" href="#packaging-for-other-operating-systems" aria-label="Permalink to &quot;Packaging For Other Operating Systems {#packaging-for-other-operating-systems}&quot;"></a></h3><p>We are looking for people to create and maintain a <code>qmk</code> package for more operating systems. If you would like to create a package for your OS please follow these guidelines:</p><ul><li>Follow best practices for your OS when they conflict with these guidelines <ul><li>Document why in a comment when you do deviate</li></ul></li><li>Install using a virtualenv</li><li>Instruct the user to set the environment variable <code>QMK_HOME</code> to have the firmware source checked out somewhere other than <code>~/qmk_firmware</code>.</li></ul>', 18);
const _hoisted_19 = [
_hoisted_1
];
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return openBlock(), createElementBlock("div", null, _hoisted_19);
}
const cli = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
export {
__pageData,
cli as default
};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,12 +1,12 @@
import { _ as _export_sfc, o as openBlock, c as createElementBlock, a8 as createStaticVNode } from "./chunks/framework.DUYk0S7v.js";
const __pageData = JSON.parse('{"title":"Frequently Asked Build Questions","description":"","frontmatter":{},"headers":[],"relativePath":"faq_build.md","filePath":"faq_build.md","lastUpdated":null}');
const _sfc_main = { name: "faq_build.md" };
const _hoisted_1 = /* @__PURE__ */ createStaticVNode("", 31);
const _hoisted_32 = [
const _hoisted_1 = /* @__PURE__ */ createStaticVNode("", 30);
const _hoisted_31 = [
_hoisted_1
];
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return openBlock(), createElementBlock("div", null, _hoisted_32);
return openBlock(), createElementBlock("div", null, _hoisted_31);
}
const faq_build = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
export {
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+5 -11
View File
File diff suppressed because one or more lines are too long
+3 -3
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+5 -5
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+3 -3
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+3 -3
View File
File diff suppressed because one or more lines are too long
+3 -3
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+3 -3
View File
File diff suppressed because one or more lines are too long
+3 -3
View File
File diff suppressed because one or more lines are too long
+7 -7
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+3 -3
View File
File diff suppressed because one or more lines are too long
+3 -3
View File
File diff suppressed because one or more lines are too long
+3 -3
View File
File diff suppressed because one or more lines are too long
+3 -3
View File
File diff suppressed because one or more lines are too long
+5 -5
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long

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