Ciao a tutti, innanzitutto sono nuovo, mi chiamo Danilo, ho un'esperienza davvero blanda, conosco le info di base, ma non sono elettrotecnico o comunque uno che opera con corrente elettrica e/o sistemi integrati, di lavoro faccio tutt'altro. Sono bravo a cercarmi le informazioni, e questo mi ha permesso quasi sempre di arraggiarmi, dove, come in questo caso, c'è un forte limite di competenze, o qualche tricks per esperti da sapere che richiederebbe probabilmente settimane di test, come tutti, utilizzo le community per capire se qualche anima buon mi possa aiutare, in attesa qual'ora riesca, a ricambiare il favore!
Ho un problema, sto realizzando un sistemino che mi permetta di sostituire i click da tastiera, con una superficie di controllo per comandare il mio simulatore di treni (TRAIN SIMULATOR 2019).
Non la faccio difficile, sto facendo una semplice superficie che al CLICK del tasto, simuli il click della tastiera, carico il software sulla scheda, e prima che inizi a girare vado su BLOCCO NOTE per vedere quali tasti mi preme.
Ho notato che la libreria non funziona con tutte le board, così ho preso una board compatibile:
Ho verificato prima di prenderla, la scheda dovrebbe essere compatibile per usare la libreria perché usa ATMega 32U4.
Prima di venire qui a disturbare ho fatto vari tentativi, ho usato la libreria Keyboard, facendo test con write, usando sia il font, che il codice ascii. E finché si trattava di caratteri normali nessun problema. Quando è stata ora dei simboli [] (parentesi quadre, solo per fare un esempio), sono iniziati i problemi.
D'apprima, inserendo le semplici parentesi tra apici:
Keyboard.write('[');
Mi venivano restituiti dei caratteri diversi, se non erro la è+ (che sono i tasti privi dell'ALT GR).
Così ho cercato una tabella ascii e ho inserito il codice ascii
Keyboard.write(93);
93 e 91 sono se non erro i due codici per i due simboli. Ma niente, ho provato con l'hex...
poi ho anche provato a cercare tra i forum, e qualcuno usava questo sistema, ma non sapevo come trovare l'ALTGR
Keyboard.press(ctrlKey);
Keyboard.press('n');
delay(100);
Keyboard.releaseAll();
Ovviamente avevo settato la variabile char provando a sostituirla con il tasto
Siccome ho una tastiera con layout inglese (anche se il layout su windows è settato su italiano) ho anche provato ad inserire tutti i codici asci, uno per uno, da 1 a 255 per vedere cosa mi restituivano, ma niente parentesi quadra...
Ho cambiato tastiera, mettendo una logitech scrausa con layout italiano, ma ancora niente... non so piu davvero che altro provare...
Io non riesco a capire quale tabella devo seguire per fargli digitare la parentesi quadra, e già che ci sono, vi chiedo se qualcuno mi può suggerire un link ad una tabella GIUSTA.
Grazie!
P.S. non ho inserito tutto il codice per risparmiare spazio, il codice è corretto, non restituisce nessun errore, e gira, solo mi da altri caratteri.
Questo è l'ultimo test che ho fatto: (avevo trovato una tabella differente)
#include <Keyboard.h>
int s = 200;
void setup() {
// put your setup code here, to run once:
Keyboard.begin();
}
void loop() {
// put your main code here, to run repeatedly:
delay(5000);
Keyboard.write('E');
delay(s);
Keyboard.write('P');
delay(s);
Keyboard.write('c');
delay(s);
Keyboard.press(100);
Keyboard.press('è');
delay(100);
Keyboard.releaseAll();
delay(s);
Keyboard.write(0XBD); //ASCII for ]
delay(s);
Keyboard.write('W');
Keyboard.write('W');
Keyboard.write('W');
Keyboard.write('W');
Keyboard.write('W');
Keyboard.write('W');
Keyboard.write('W');
Keyboard.write('W');
delay(s);
Keyboard.write('A');
Keyboard.write('A');
Keyboard.write('A');
Keyboard.write('A');
Keyboard.write('A');
Keyboard.write('A');
Keyboard.write('A');
Keyboard.write('A');
Keyboard.write('A');
Keyboard.write('A');
Keyboard.write('A');
Keyboard.write('A');
Keyboard.write('A');
Keyboard.write('A');
delay(100000);
}
Mi restituisce: EPcd3\WWWWWWWWAAAAAAAAAAAAAA
Ho letto il regolamento, cercato di seguire le indicazioni, "spero di avervi aiutato, ad aiutarmi!" (se ci sono errori, vi prego di segnalarmeli che appronto subito le correzioni). Grazie!