<spanclass="line"><spanstyle="--shiki-light:#D73A49;--shiki-dark:#F97583;">#endif</span></span></code></pre></div><h3id="qp-updates"tabindex="-1">Quantum Painter updates (<ahref="https://github.com/qmk/qmk_firmware/pull/18521"target="_blank"rel="noreferrer">#18521</a>, <ahref="https://github.com/qmk/qmk_firmware/pull/20645"target="_blank"rel="noreferrer">#20645</a>, <ahref="https://github.com/qmk/qmk_firmware/pull/22358"target="_blank"rel="noreferrer">#22358</a>) <aclass="header-anchor"href="#qp-updates"aria-label="Permalink to "Quantum Painter updates ([#18521](https://github.com/qmk/qmk_firmware/pull/18521), [#20645](https://github.com/qmk/qmk_firmware/pull/20645), [#22358](https://github.com/qmk/qmk_firmware/pull/22358)) {#qp-updates}""></a></h3><p>Quantum Painter picked up support for the following:</p><ul><li>ILI9486 displays</li><li>SSD1306 displays, including smaller OLEDs</li><li>Native panel pixel format support for fonts</li></ul><p>Quantum Painter now supports the majority of common OLED panels supported by the basic OLED driver, so if you're using an ARM-based board you may find Quantum Painter a much more feature-rich API in comparison.</p><h2id="full-changelist"tabindex="-1">Full changelist <aclass="header-anchor"href="#full-changelist"aria-label="Permalink to "Full changelist {#full-changelist}""></a></h2><p>Core:</p><ul><li>[Driver] ILI9486 on Quantum Painter (<ahref="https://github.com/qmk/qmk_firmware/pull/18521"target="_blank"rel="noreferrer">#18521</a>)</li><li>Insert delay between shifted chars in send_string_with_delay (<ahref="https://github.com/qmk/qmk_firmware/pull/19280"target="_blank"rel="noreferrer">#19280</a>)</li><li>[QP] Native palette support for fonts (<ahref="https://github.com/qmk/qmk_firmware/pull/20645"target="_blank"rel="noreferrer">#20645</a>)</li><li>I2C driver cleanup (<ahref="https://github.com/qmk/qmk_firmware/pull/21273"target="_blank"rel="noreferrer">#21273</a>)</li><li>Add option for auto mouse movement threshold (<ahref="https://github.com/qmk/qmk_firmware/pull/21398"target="_blank"rel="noreferrer">#21398</a>)</li><li>Add Canadian French input locale (<ahref="https://github.com/qmk/qmk_firmware/pull/21456"target="_blank"rel="noreferrer">#21456</a>)</li><li>Add encoder abstraction. (<ahref="https://github.com/qmk/qmk_firmware/pull/21548"target="_blank"rel="noreferrer">#21548</a>)</li><li>Converted RGB matrix to use last_input_activity_elapsed(). (<ahref="https://github.com/qmk/qmk_firmware/pull/21687"target="_blank"rel="noreferrer">#21687</a>)</li><li>Ignore space cadet key release when caps word is active (<ahref="https://github.com/qmk/qmk_firmware/pull/21721"target="_blank"rel="noreferrer">#21721</a>)</li><li>Add OS detection callbacks (<ahref="https://github.com/qmk/qmk_firmware/pull/21777"target="_blank"rel="noreferrer">#21777</a>)</li><li>joystick weights (<ahref="https://github.com/qmk/qmk_firmware/pull/21883"target="_blank"rel="noreferrer">#21883</a>)</li><li>Add RGB matrix & LED Matrix support for IS31FL3729 (<ahref="https://github.com/qmk/qmk_firmware/pull/21944"target="_blank"rel="noreferrer">#21944</a>)</li><li>dac_additive: Decouple the buffer length from the waveform length (<ahref="https://github.com/qmk/qmk_firmware/pull/22276"target="_blank"rel="noreferrer">#22276</a>)</li><li>Add missing rgb matrix default parameters (<ahref="https://github.com/qmk/qmk_firmware/pull/22281"target="_blank"rel="noreferrer">#22281</a>)</li><li>Remove console out endpoint (<ahref="https://github.com/qmk/qmk_firmware/pull/22304"target="_blank"rel="noreferrer">#22304</a>)</li><li>Add ADC support STM32L4xx and STM32G4xx series MCUs (<ahref="https://github.com/qmk/qmk_firmware/pull/22341"target="_blank"rel="noreferrer">#22341</a>)</li><li>Add QP support for smaller OLED displays and SSD1306 (<ahref="https://github.com/qmk/qmk_firmware/pull/22358"target="_blank"rel="noreferrer">#22358</a>)</li><li>Add Imera converter (<ahref="https://github.com/qmk/qmk_firmware/pull/22419"targe