Configura 12 key Macro Pad with Knob ti mostra un metodo alternativo, e davvero efficace, per programmare la mini tastiera a 12 tasti e due manopole di cui hai seguito l’haking nel precedente articolo.
Come sempre i mie esperimenti e gli articoli che leggi derivano da una esigenza.
In questo caso la difficoltà difronte alla quale potresti trovarti è quella di utilizzare questo modello di tastiera con un sistema operativo differente da Windows.
Istruzioni: configura 12 key Macro Pad with Knob
Nella pagina da cui hai acquistato la mini 12 key, trovi descritto in modo chiaro il problema:
ossia che la tastiera è compatibile con i sistemi operativi Windows,Linux e Mac ma il software di gestione e configurazione funziona solo su Windows.
Inoltre se hai provato ad usare il software che il produttore ti rilascia per eseguire la configurazione del layout di sei già accorto che è davvero macchinoso:
Dovrai configurare un tasto alla volta ed un layer alla volta, in pratica, sarai costretto ad eseguire 42 upload
(12 tasti + 2 knob + 2 pulsanti nelle knob) x 3 = 42 upload
questo ti costringe a dedicare tanto tempo alla configura 12 key Macro Pad with Knob, almeno la prima volta:
Per entrambi i motivi ho deciso di cercare una alternativa che mi permettesse di configurare la mini keyboard anche su Mac OS X e magari in modo più veloce.
Configurare la 12 key Macro Pad su Mac OS X
Il primo passo è stato smontare la tastiera, cosa che ho fatto anche per eseguirne l’hacking, e controllare il micro controllore che gestisce la tastiera:
come puoi vedere nell’ingrandimento dell’immagine questo modello usa il CH570(V) e cercando sul web ho trovato un tool scritto da kriomant proprio per tastiere come questa:
puoi trovare il tool di configurazione su gitHub.
Ch57x Keyboard Tool
Grazie al lavoro fatto da kriomant puoi configurare la mini 12 keys anche su Mac e Linux.
Il tool è in grado di gestire differenti device, come riportato sul sito dello sviluppatore:
- 3×4 with 2 knobs (Bluetooth version)
- 3×3 with 2 knobs
- 3×2 with 1 knob
- 3×1 with 1 knob
il linguaggio in cui è scritto il tool è rust e puoi installare il tool usando i comandi cargo come descritto nella sezione di installazione del tool stesso:
in pratica dopo aver scaricato i files sorgenti non devi far altro che lanciare “Terminale” su MAc OS X o cliccare con il tasto destro sulla finestra in cui hai scaricato il software e scegliere “nuovo pannello terminale dalla cartella”.
Quindi nella finestra che ti compare potrai digitare il comando:
cargo install ch57x-keyboard-too
ed attendere la fine dell’installazione:
Dopo aver installato il tool puoi eseguire un semplice comando come:
ls -la
ed avere la lista dei file installati:
tra i quali troverai il file di esempio: example-mapping.yaml in cui ci sono già degli esempi di configurazione per configura 12 key Macro Pad with Knob.
Riporto di seguito anche il file che ho preparato per il mio dispositivo:
# Natural keyboard orienation is when buttons are on the left # side and knobs are on the right. However you may want to use # keyboard in another orienation. To avoid remapping button # positions in your head, just given it here. # Possible values are: # (horizontal) # - 'normal': button on the left, knobs on the right # - 'upsidedown': button on the right, knobs on the left # (vertical) # - 'clockwise': button on the top, knobs on the bottom # - 'counterclockwise': button on the bottom, knobs on the top orientation: normal # There are different models of keyboard with different number # buttons and knobs. Write it here for proper handling. # Count rows and columns when keyboard is in normal orienation, # with knobs on the right side. rows: 3 columns: 4 knobs: 2 # Layers are alternative key mappings which may be programmed. # Current layer is changed using button on the side of keyboard # and displayed with LEDs on top (only for the moment of changing). # All keyboards I saw had three layers, but I suppose other variants # exist. layers: #Da Vinci Resolve - buttons: # Array of buttons. In horizontal orienations it's `rows` rows # `columns` buttons each. In vertical: `columns` rows # `rows` buttons each. # Each entry is either a sequence of 'accords' or mouse event. # Accord is a combination of key with optional modifiers, # like 'b', 'ctrl-alt-a' or 'win-rctrl-backspace'. It can also # be just modifiers without key: 'ctrl-alt'. # You may combine several accords into sequence using comma: 'ctrl-v,ctrl-c'. - ["a", "b", "cmd-shift-l", "z"] - ["j", "k", "l", "delete"] # Arbitrary scan code may be given like this: "<101>", code is decimal. - ["cmd-c", "cmd-v", "enter", "escape"] knobs: # Knobs are numbered from left to right in horizontal orientation # and from top to bottom in vertical one. # Knobs can be rotated either counter-clockwise (ccw) or clockwise (cw) # and pressed. - ccw: 'wheelup' press: 'z' cw: 'wheeldown' - ccw: 'left' press: 'home' cw: 'right' # PhotoShop - buttons: # Mouse events are clicks ('click/lclick', 'rclick', 'mclick') or # wheel events ('wheelup', 'wheeldown') with optional single modifier, # only 'ctrl', 'shift' and 'alt' are supported ('ctrl-wheeldown'). # Clicks may combine several buttons, like this: 'click+rclick'. - ["m", "shift-m", "s", "cmd-0"] - ["cmd-z", "cmd-t", "alt-cmd-i", "alt-shift-cmd-s"] - ["cmd-c", "cmd-v", "enter", "escape"] knobs: - ccw: 'alt-wheelup' press: 'z' cw: 'alt-wheeldown' - ccw: 'ctrl-left' press: 'ctrl-enter' cw: 'ctrl-right' #Fusion 360 - buttons: # Multimedia commands may be emitted. They cannot be mixed with # normal keyboard events and modifiers are not supported. - ["l", "r", "c", "d"] - ["cmd-z", "t", "m", "e"] - ["cmd-c", "cmd-v", "enter", "escape"] knobs: - ccw: 'wheelup' press: 'mute' cw: 'wheeldown' - ccw: 'ctrl-wheelup' press: 'shift' cw: 'ctrl-wheeldown'
in modo che tu possa usarlo come esempio o direttamente se ti piace il layout che ho impostato.
Ecco come puoi modificare il file per ottenere il tuo layout:
linea 12: definisce se desideri usare la tastiera in orizzontale o verticale;
linee 18-20: ti permettono di impostare il numero di tasti di cui è composta la tua mini tastiera e se ci sono manopole;
linea 27: è dove inizia la configurazione dei layers;
per ciascuna sezione della parte layers avrai due blocchi, rispettivamente buttons e knobs in cui definire i comandi da associare al pulsante specifico o alla manopola.
Se già non sapevi come fosse fatto un file yaml a questo punto dovresti averlo capito, ogni sezione è definita da una diversa indentazione, ossia ogni sezione è rientrata rispetto a quella che la raggruppa.
Le linee 38-41: definiscono ciascuna una linea di tasti della mini keyboard, in particolare l’impostazione di ogni tasto è separata da una virgola.
Osservando la prima linea, la 38, avrai notato che il primo tasto simulerà la pressione della a ( a minuscola ) il secondo della b, il terzo è un tasto composto command+shift+l e l’ultimo tatso della linea, per questo layout, è una z.
Notice
Per comprendere il significato delle operazioni associate ad ogni pulsante puoi far riferimento alla lista degli shortcut del programma in cui vuoi utilizzare il layout:
nel file esempio ho deciso di utilizzare:
il layer 1 con DaVinci Resolve ( commento alla linea 28 );
il layer 2 con Photoshop ( commento alla linea 53 );
il layer 3 con Fusion 360 ( commento alla linea 69 );
Una volta compilato il file .yaml potrai usarlo per configura 12 key Macro Pad with Knob usando i comandi messi a disposizione dallo sviluppatore.
Validate configuration
Prima di eseguire la configurazione ti consiglio di eseguire una verifica del file yaml e della sintassi definita usanto il tool “validate”
Non accade nulla se cerchi di inviare un file errato sulla mini tastiera, il tool evita di eseguire l’upload, tuttavia il processo è più lento che eseguire prima una verifica della sintassi.
Procedi sempre dal terminale a linea di comando di Mac OS X o Linux:
./ch57x-keyboard-tool validate < [nome del file .yaml ]
sostituendo il nome del file .yaml con il file appena compilato da te.
Se il tool restituisce, come in figura: “config is valid” puoi procedere con la fase successiva.
Upload configuration
Sempre dal terminale Mac OS X esegui:
./ch57x-keyboard-tool upload < [ nome del file .yaml ]
sempre sostituendo il [nome del file .yaml ] con il nome corretto e prendo invio, riceverai, dopo qualche secondo:
che ti indica la corretta configurazione della 12 key Macro Pad with Knob.
Puoi finalmente utilizzare la tua tastiera con i programmi che utilizzi di più, ricorda solo:
la posizione dei comandi che hai impostato;
di cambiare layout corrispondente al programma che desideri utilizzare usando il micro swith;
Se nel tuo modello di mini tastiera a 12 tasti manca il microswitch potresti aver bisogno di eseguire un Hacking 12 key Macro Pad with Knob
Buon divertimento e grazie kriomant per il tuo lavoro.