Amikor a fejlesztői workflow-dat akarod optimalizálni, a legfrusztrálóbb dolog az, ha a hardver lassít le. A legtöbb kész, bolti makrópad vagy gagyi minőségű, vagy olyan szoftvert kényszerít rád, ami a háttérben eszi a RAM-ot. Régóta vágytam egy olyan eszközre, ami pontosan azt csinálja, amit kérek, késleltetés nélkül, sallangok nélkül. Ezért döntöttem úgy, hogy összerakom a saját "zéró-késleltetésű" mechanikus makró-vezérlőt 3D-nyomtatott alkatrészekből és Arduino Pro Micro-ból profi szoftverfejlesztőknek, és ma megosztom veled, hogyan hozhatod ezt össze egyetlen délután alatt.
A hardverválasztás itt a legfontosabb döntésed. Az Arduino Pro Micro lelke az ATmega32U4 chip, ami natív USB HID támogatással rendelkezik. Ez azt jelenti, hogy a számítógéped nem egy "idegen eszközként", hanem szabványos billentyűzetként ismeri fel, amint bedugod. Nincs szükség driverekre, nincs háttérben futó folyamat, csak tiszta, azonnali input.
A legfontosabb technikai előnyök:
A tapintásérzet és a megbízhatóság miatt érdemes valódi mechanikus kapcsolókat használni. Én a klasszikus Cherry MX vagy Gateron kapcsolókra esküszöm, mert ezeknek szabványos a méretük. A házat 3D-nyomtatóval készítettem, ami azért szuper, mert úgy pozicionálhatod a gombokat, ahogy a te kezednek a legkényelmesebb.
Néhány szempont a tervezéshez:
Ha a nyomat kész és a kapcsolók a helyükön vannak, jöhet a huzalozás. A kapcsolókat egy mátrixba kell kötnöd, ha sok gombot használsz, de ha csak 4-6 gombod van, mindegyiket kötheted külön digitális lábra is. Én a közvetlen bekötést szeretem, mert kevesebb gond van a szoftveres mátrix-kezeléssel.
Amire szükséged lesz az összeszereléshez:
Itt két utad van. Ha profi szinten akarod kezelni a makrókat, a QMK firmware a szabvány. Ez egy olyan keretrendszer, amit a profi mechanikus billentyűzeteknél is használnak. Ha viszont szeretsz kódolni és csak valami egyszerűt szeretnél, akkor az Arduino IDE és a Keyboard könyvtár bőven elég.
Így néz ki egy egyszerű kódvázlat:
Miután feltöltötted a kódot, teszteld a válaszidőt egy egyszerű szövegszerkesztőben vagy a kedvenc IDE-dben. Ha érezhető késést tapasztalsz, érdemes ellenőrizni a polling rate-et, de egy megfelelően megírt Arduino kódnál ennek elvileg nem szabad megtörténnie.
Sokaknál visszatérő probléma a véletlenszerű gombnyomás, amit szoftveres "debounce" megoldással lehet kezelni. Ez annyit tesz, hogy a szoftver egy pár milliszekundumos szünetet tart a jel érzékelése után, hogy kiszűrje a mechanikus kapcsoló apró rezgéseit.
A legnagyobb különbség a szabadság. Amikor te építed, a makróidat pontosan a te fejlesztői környezetedre szabhatod. A kedvenc git parancsaid, a gyakran használt terminál parancsok vagy a IDE-specifikus refaktorálási billentyűkombinációk egy gombnyomásra kerülnek. Ráadásul, ha tönkremegy egy kapcsoló, öt perc alatt kicseréled, nem kell az egész eszközt a kukába dobni.
A saját építés további előnyei:
A projekt szépsége nem a bonyolultságában, hanem a hasznosságában rejlik. Egy ilyen makrópad nem csak egy eszköz az asztalon, hanem a munkamorálod egy darabja, amit te hoztál létre a saját igényeidre szabva. Kezdj neki, nyomtasd ki a dobozt, forraszd össze a kapcsolókat, és élvezd, hogy végre pontosan úgy dolgozhatsz, ahogy azt mindig is elképzelted.