const__pageData=JSON.parse('{"title":"List of Useful Core Functions To Make Your Keyboard Better","description":"","frontmatter":{},"headers":[],"relativePath":"ref_functions.md","filePath":"ref_functions.md"}');
const_hoisted_1=/* @__PURE__ */createStaticVNode('<h1id="list-of-useful-core-functions-to-make-your-keyboard-better"tabindex="-1">ListofUsefulCoreFunctionsToMakeYourKeyboardBetter<aclass="header-anchor"href="#list-of-useful-core-functions-to-make-your-keyboard-better"aria-label="Permalink to "List of Useful Core Functions To Make Your Keyboard Better""></a></h1><p>TherearealotofhiddenfunctionsinQMKthatareincrediblyuseful,ormayaddabitoffunctionalitythatyou'vebeenwanting.Functionsthatarespecifictocertainfeaturesarenotincludedhere,asthosewillbeontheirrespectivefeaturepage.</p><h2id="olkb-tri-layers"tabindex="-1">(OLKB)TriLayers<aclass="header-anchor"href="#olkb-tri-layers"aria-label="Permalinkto"(OLKB)TriLayers{#olkb-tri-layers}""></a></h2><p>Thereareactuallyseparatefunctionsthatyoucanusethere,dependingonwhatyou'reafter.</p><h3id="update-tri-layer-x-y-z"tabindex="-1"><code>update_tri_layer(x,y,z)</code><aclass="header-anchor"href="#update-tri-layer-x-y-z"aria-label="Permalinkto"`update_tri_layer(x,y,z)`""></a></h3><p>Thefirstisthe<code>update_tri_layer(x,y,z)</code>function.Thisfunctionchecktoseeiflayers<code>x</code>and<code>y</code>arebothon.Iftheyarebothon,thenitturnsonlayer<code>z</code>.Otherwise,ifboth<code>x</code>and<code>y</code>arenotbothon(eitheronlyoneis,orneitheris),thenitturnsofflayer<code>z</code>.</p><p>Thisfunctionisusefulifyouwanttocreatespecifickeysthathavethisfunctionality,butotherlayerkeycodeswon'tdothis.</p><h4id="example"tabindex="-1">Example<aclass="header-anchor"href="#example"aria-label="Permalinkto"Example""></a></h4><divclass="language-cvp-adaptive-theme"><buttontitle="CopyCode"class="copy"></button><spanclass="lang">c</span><preclass="shikishiki-themesgithub-lightgithub-darkvp-code"><code><spanclass="line"><spanstyle="--shiki-light:#D73A49;--shiki-dark:#F97583;">bool</span><spanstyle="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">process_record_user</span><spanstyle="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><spanstyle="--shiki-light:#D73A49;--shiki-dark:#F97583;">uint16_t</span><spanstyle="--shiki-light:#E36209;--shiki-dark:#FFAB70;">keycode</span><spanstyle="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span><spanstyle="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">keyrecord_t</span><spanstyle="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><spanstyle="--shiki-light:#E36209;--shiki-dark:#FFAB70;">record</span><spanstyle="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">){</span></span>\n<spanclass="line"><spanstyle="--shiki-light:#D73A49;--shiki-dark:#F97583;">switch</span><spanstyle="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(keycode){</span></span>\n<spanclass="line"><spanstyle="--shiki-light:#D73A49;--shiki-dark:#F97583;">case</span><spanstyle="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">LOWER:</span></span>\n<spanclass="line"><spanstyle="--shiki-light:#D73A49;--shiki-dark:#F97583;">if</span><spanstyle="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(record</span><spanstyle="--shiki-light:#D73A49;--shiki-dark:#F97583;">-></span><spanstyle="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">event.pressed){</span></span>\n<spanclass="line"><spanstyle="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">layer_on</span><spanstyle="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(_LOWER);</span></span>\n<spanclass="line"><spanstyle="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">update_tri_layer</span><spanstyle="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(_LOWER,_RAISE,_ADJUST);</span></span>\n<spanclass="line"><spanstyle="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span><spanstyle="--shiki-light:#D73A49;--shiki-dark:#F97583;">else</span><spanstyle="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>\n<spanclass="line"><spanstyle="--shiki-light