lunedì 8 febbraio 2021

La tastiera personalizzata, parte seconda


Iniziamo a fare qualche lavoretto interessante con i dati raccolti dalla mappatura della tastiera!


La settimana scorsa ci eravamo fermati alla matrice della tastiera, vediamo di andare oltre e di dare qualche spiegazione ulteriore.

Il layout dei tasti

Il mio scopo è quello di fare una tastiera che funzioni con la mia cnc, per la quale ho deciso di usare Universal GCODE Sender, quindi sono andato a vedere se esistono degli shortcut utili.
Ho scoperto, con grande gioia, che UGS ha una feature che si chiama keybinding, che permette di assegnare azioni a singoli tasti.



Perfetto, questo mi consente di non preoccuparmi di quale carattere assegnare ai tasti, intanto posso legare ogni carattere ad una specifica azione! Adesso si tratta di ricreare on line la tastiera fisica, per fare questo userò il Keyboard Layout Editor.



Questo strumento on line mi permette di avere una rappresentazione della tastiera e dei tasti assegnati. Ma non solo, lavora in congiunzione con un altro strumento che mi consentirà di creare la matrice a partire da questo layout!

Alla fine ho esportato questo layout e me lo sono stampato, poi ho fatto alcuni esperimenti  per vedere quali tasti mi potrebbero servire:


Devo ancora decidere quale delle opzioni mettere in piedi, ma c'è tempo per ragionarci con calma.

Questo software non è supportato direttamente da QMK, ma è basato su QMK ed è un grosso aiuto se si è alle prime armi.
Una volta inseriti i tasti, ho salvato tutto (basta fare un account su GitHub, che è gratis!) ed ho salvato i Raw Data.

Questi non sono altro che la definizione di cosa fa ogni singolo tasto della matrice.
Ora bisogna creare una matrice via software che riproduca il funzionamento della matrice reale, prossimo passaggio!

La matrice

La matrice è una sorta di battaglia navale. Il microcontrollore che si occupa della gestione della tastiera controlla sempre se un tasto è premuto e quali sono le sue coordinate. Una volta che individua le coordinate, si occupa di mandare al computer il simbolo (o l'azione) corrispondente.

Prendendo i Raw Data di Keyboard Layout Editor ed importandoli in Keyboard Firmware Builder ecco come appare la matrice:




In un mondo popolato da unicorni, le colonne dovrebbero essere delle linee dritte, invece io ho degli zig zag. Poco male (relativamente), ho adattato la matrice proposta alla mia.


Fatto questo, ho provveduto a salvare il tutto almeno come file JSON in modo da poterci lavorare anche in un secondo momento.

Per avere un pochino di comodità ho deciso di codificare per colori i tasti e le colonne corrispondenti, ecco a cosa sono arrivato:


Bene, almeno una base di partenza c'è, ora andiamo avanti con i ragionamenti!

Alcune considerazioni sui tasti

I tasti per una tastiera vera e propria sono diversi da questa.
Anzitutto, questa mini tastiera non necessita di particolari accorgimenti che escludano la pressione simultanea di più tasti, funzione chiamata anti-ghosting.
Si tratta di interporre un diodo tra ogni tasto e la relativa colonna (o riga), molto semplice e molto veloce da fare, volendo.
Solo che io non voglio, per come ho pensato di usare la tastiera, premerò un tasto alla volta e non di più.
Se invece fosse una tastiera di uso quotidiano sicuramente avrei implementato tale tecnologia!

Altra considerazione da fare è la personalizzazione della grafica dei tasti.
Se fosse una tastiera normale, mi rivolgerei a qualche produttore e mi farei mandare i tasti con il font ed il colore che più mi piace.



Ma questa tastiera ha dei tasti particolari, con una protezione in plastica trasparente. Levando la protezione, è possibile inserire un quadrato di carta con il disegno del tasto e rimettendo al suo posto il cappuccio si ha il tasto personalizzato in maniera velocissima.
Questo molto probabilmente sarà uno dei prossimi lavori!

Nessun commento:

Posta un commento

Sei davvero sicuro di voler sprecare tempo prezioso per scrivere qualcosa? Non è che preferisci andare su Google?

Cerca nel blog

I post più letti di sempre