
Akko 5075S VIAL/QMK firmware
- Hardware
- 2025. február 20.
Tartalomjegyzék
A mechanikus billentyűzetek hypeja engem kicsit későn ért el, de amikor elkapott, teljesen beszippantott. Azonnal vásároltam egy Akko 5075S VIA típusú barebone billentyűzetet (barebone = csupasz, gombok és műanyag billentyűsapkák nélkül), amit aztán fel is szereltem a számomra legjobban tetsző gombokkal és a témához illő sapkákkal (Error 404 keycaps és Outemu Silent Peach V3 kapcsolók). Ezt követően beleástam magam a QMK firmware világába, rájöttem, hogy miért jobb számomra a VIAL nyílt forráskódú firmware, és elkészítettem a saját buildemet. Az első próbálkozás nem ment túl könnyen, ezért úgy döntöttem, leírom a lépéseket, hogy legközelebb egyszerűbb legyen, és talán másoknak is segíthetek vele.
Mi az a QMK?
A QMK (Quantum Mechanical Keyboard) egy nyílt forráskódú firmware mikrokontrollerekhez, amelyek számítógépes billentyűzeteket irányítanak. A QMK Configurator egy szabadon elérhető szoftver, amely megkönnyíti a billentyűzetkiosztások tervezését, majd azok firmware fájlokká alakítását. A QMK Toolkit egy szabadon elérhető szoftver, amely megkönnyíti a firmware kiírását vagy alkalmazását programozható billentyűzetekre.
Mi az a VIAL?
A VIAL egy olyan nyílt forráskódú billentyűzet-programozó szoftver, amely a VIA-ra épül, de több fejlesztés van mögötte, rögtön nyílt forráskódú volt és új funkciókat kínál, amelyek kényelmesebbé teszik a billentyűzetek konfigurálását és testreszabását. A VIA egy hasonló programozó szoftver, amely lehetővé teszi a billentyűzetek könnyű testreszabását anélkül, hogy szükség lenne firmware-feltöltésre.
A VIAL számos előnyt kínál a VIA-hoz képest:
- Többfunkciós támogatás: A VIAL sokkal több funkciót kínál a billentyűzetek számára, mint a VIA. Például támogatja a többszörös rétegeket és dinamikus billentyűkiosztásokat is, amelyek sokkal rugalmasabbá teszik a billentyűzetek beállítását.
- Több billentyűzettípus támogatása: A VIAL szélesebb körben támogatja a különböző billentyűzetmodelleket, így nem csak a VIA-kompatibilis eszközöket, hanem más típusokat is könnyen beállíthatsz vele.
- Hibatűrés és stabilitás: A VIAL gyorsabb és stabilabb működést kínál a VIA-hoz képest, mivel gyakrabban frissítik, és gyorsabban reagálnak a felhasználói visszajelzésekre.
- Jobb fejlesztői támogatás: A VIAL fejlesztői közössége aktívan dolgozik a szoftver további javításán és bővítésén, miközben teljes mértékben nyílt forráskódú, így bárki hozzájárulhat a fejlesztéshez.
Összességében a VIAL előnyei közé tartozik a nagyobb testreszabhatóság, többféle billentyűzettípus támogatása, és a jobb felhasználói élmény, különösen azoknak, akik komplexebb billentyűzet-konfigurációkat szeretnének létrehozni.
VIA vs VIAL
Vannak különbségek, amelyek relevánsak lehetnek számodra. A VIA és a Vial egyaránt lehetővé teszi a billentyűk átprogramozását valós időben, tehát nagyjából ugyanazt csinálják. Azonban amikor a Vial-t létrehozták (néhány évvel ezelőtt), a VIA még zárt forráskódú szoftver volt, és nem támogatta megfelelően a forgó enkódereket, míg a Vial nyílt forráskódú volt és megfelelően támogatta ezeket. Most, hogy a VIA is nyílt forráskódú és támogatja a forgó enkódereket, ezek a különbségek már nem relevánsak, de akkoriban elég jelentősek voltak.
Jelenleg a legnagyobb különbségek, amikről tudomásom van, azok, hogy a Vial támogatja a billentyűzetek átprogramozásának zárolását/oldását, és hogy a Vial nem igényel harmadik fél általi jóváhagyást a billentyűzet natív támogatásához.
A zárolás/oldás esetében a programok és a Chromium alapú böngészők hozzáférhetnek az USB HID protokollokhoz, ami az a módszer, amellyel a VIA és a Vial kommunikálnak a billentyűzetekkel az átprogramozáshoz. A VIA esetében nincs sok, ami megakadályozza, hogy egy rogue program vagy weboldal rosszindulatúan átprogramozza a billentyűidet (de legalább a weboldalak esetében jóvá kell hagynod az eszközhöz való hozzáférést a böngészőn keresztül). A zárolási mechanizmusok arra kényszerítenek, hogy egy bizonyos billentyűkombinációt nyomj le, mielőtt engedélyeznéd az átprogramozást. Szóval ez gyakorlatilag egy biztonsági funkció, és a Vial támogatja ezt a képességet, míg a VIA nem.
A harmadik fél általi jóváhagyásokkal kapcsolatban, ha a VIA esetében szeretnéd, hogy a billentyűzetet a VIA felismerje, akkor vagy hivatalosan jóvá kell hagyatnod egy VIA JSON fájlt a VIA karbantartókkal (ami azt igényli, hogy már megkapta a QMK jóváhagyást), vagy el kell várnod a billentyűzet felhasználóitól, hogy manuálisan telepítsenek egy VIA JSON fájlt. Ezzel szemben a Vial esetében a JSON fájl információit a billentyűzet programmemóriájában tárolják, és a Vial közvetlenül a billentyűzetről szerzi be. Ez a megközelítés azt jelenti, hogy nincs szükség jóváhagyási folyamatra… ha a billentyűzet biztosítja a JSON információkat, akkor a Vialnak nincs szüksége előzetes tudásra a billentyűzetről (kiosztás, név stb.), mert ezeket az információkat a billentyűzet csatlakoztatásakor szerzi meg.
Természetesen vannak más különbségek is, de ezek azok, amelyekről tudomásom van és a legnagyobbak.
Készítsük el a firmware-t
Minden elismerés a VIAL fájlokért jonylee1986-nak (https://github.com/jonylee1986).
Mivel ez egy nyílt forráskódú közösségi projekt, ezért a firmwaret egyedül kell kompilálnunk és megépítenünk, amihez egy fejlesztői környezetre van szükség.
A QMK WSL telepítése
A QMK WSL egy előre konfigurált WSL disztró a QMK CLI-vel való munkához
Többszöri próbálkozás után ennél a megoldásnál maradtam, mert a python3 és a többi szükséges csomag ebben a disztróban már előre fel vanak telepítve és a Windows 11 Pro alatt könnyen be is tudtam húzni a WSL alá.
A WSL telepítéséről egy másik bejegyzésben írtam.
Töltsük le a QMK WSL telepítőjét a https://wsl.qmk.fm/ webhelyen is megtalálható GitHub reporól
Telepítsük fel úgy, hogy kiválasszuk az Install drivers lehetőséget. Más egyéb beállításra a telepítés során nincs szükség.
Miután véget ért a telepítés a Terminálban a
wsl -d QMK
paranccsal el is tudjuk indítani a WSL disztrót, de a telepítés sikerességét előbb awsl --list
parancs segítségével is leellenőrizhetjük.PS C:\Users\szabi> wsl --list Linuxos Windows-alrendszer disztribúciók: Ubuntu (alapértelmezett) QMK <<< itt van :)
A VIAL firmware építése
Immár a QMK disztrón belül klónozzuk
git clone
segítségével a VIAL firmware repozitóriumát a home könyvtárunkba:git clone https://github.com/vial-kb/vial-qmk /home/qmk/qmk_firmware
Ezután lépjünk be a könyvtárba és futtassuk le sorban az alábbi parancsokat:
cd qmk_firmware make git-submodule
Ezután megkérdezi tőlünk, hogy:
Could not find module appdirs! Would you like to install the required Python modules? [y/n] y
Amire bátran nyomjunk egy Yes-t.
Miután végzett a fenti
make
művelet (ami elég hosszúra nyúlhat) ellenőrizzük a fejlesztői környezetet aqmk doctor
paranccsal, ami, ha mindent rendben talál, az alábbi üzenetet adja vissza minimális problémákat említve:$ qmk doctor Ψ QMK Doctor is checking your environment. Ψ CLI version: 1.1.6 Ψ QMK home: /home/qmk/qmk_firmware Ψ Detected Linux (WSL, Debian GNU/Linux 11 (bullseye)). Ψ Userspace enabled: False Ψ Git branch: vial ⚠ The official repository does not seem to be configured as git remote "upstream". Ψ All dependencies are installed. Ψ Found arm-none-eabi-gcc version 8.3.1 Ψ Found avr-gcc version 8.3.0 Ψ Found avrdude version 7.0 Ψ Found dfu-programmer version 1.1.0 Ψ Found dfu-util version 0.11 Ψ Submodules are up to date. Ψ Submodule status: Ψ - lib/chibios: 2024-02-17 19:20:06 +0000 -- (be44b3305f) Ψ - lib/chibios-contrib: 2024-04-03 20:39:24 +0800 -- (77cb0a4f) Ψ - lib/googletest: 2021-06-11 06:37:43 -0700 -- (e2239ee6) Ψ - lib/lufa: 2022-08-26 12:09:55 +1000 -- (549b97320) Ψ - lib/vusb: 2022-06-13 09:18:17 +1000 -- (819dbc1) Ψ - lib/printf: 2022-06-29 23:59:58 +0300 -- (c2e3b4e) Ψ - lib/pico-sdk: 2023-02-12 20:19:37 +0100 -- (a3398d8) Ψ - lib/lvgl: 2022-04-11 04:44:53 -0600 -- (e19410f8) Ψ QMK is ready to go, but minor problems were found
A firmware végleges kompilálásához/építéséhez az alábbi parancsot szükséges kiadnunk (figyeljünk, hogy még mindig a qmk_firmware könyvtárban legyünk!)
make akko/5075:vial
Egy sikeres build után a
qmk_firmware
könytárban megtalálhatjuk azakko_5075_vial.bin
fájlt, amit én úgy másoltam át a Windows gazdagép egyik meghajtójára, hogy telepítettem a disztróban a Midnight Commandert:sudo apt install mc -y
Ezután
mc
paranccsal indítottam a Midnight Commandert, megtaláltam az/mnt/
könyvtárban a meghajtóimat és F5-el kimásoltam a.bin
fájlt.
Firmware írása QMK Toolbox segítségével
Első lépésben töltsük le a QMK Toolboxot a https://qmk.fm/toolbox oldalról, majd telepítsük VAGY töltsük le a GitHub repójukról a portable változatot (qmk_toolbox.exe). Én az utóbbit választottam.
A QMK Toolbox is felajánlja a driverek telepítését az indítása után, én biztosra menten és Igent mondtam erre is. Ha mégsem ajánlja fel magától, akkor a Tool > Install drivers… menüpont alatt indíthatjuk el a driverek telepítését.
FONTOS LÉPÉS: a firmware flasheléséhez tegyük DFU módba a billentyűzetet, vagyis az ESC billentyűt nyomva tartva csatlakoztassuk az USB-kábelt a billentyűzethez. (Persze, ha előtte már csatlakoztatva volt a géphez, akkor előtte csatlakoztassuk le :) Ha jól csináltuk a QMK Toolbox felismeri az eszközt:
Nyomjunk a Flash gombra és várjuk meg, hogy a program feltöltse a firmware-t a billentyűzetünkre.
Itt a vége! Gratulálok az új VIAL firmware-es mechanikus billentyűzetedhez!
A Vial platform használata
A Vial platform szoftverét és részletes dokumentációját a https://get.vial.today/ oldalon találod.