Emulare tastiera ps2

Salve a tutti, come da titolo vorrei emulare una tastiera collegata in ps2 ad un pc, vorrei usare una arduino mega per poter avere un numero di pulsanti maggiore senza extender, cercando nel forum ho trovato questo. http://www.arduino.cc/playground/Main/PS2Keyboard

Vi chiedo se avete info in merito ai tempi di reazione, visto che vorrei poi usarlo per collegarlo ad un pc per creare un arcade control per il mame

Grazie vic

Ma tu cosa vuoi fare? Non l'ho capito.
Quel progetto linkato serve per leggere una tastiera PS/2 e spedire sulla seriale il tasto letto, non serve per "emulare" una tastiera PS/2.

Se il tuo intento è quello di "emulare" una tastiera, potresti comprarti la Leonardo, è una scheda basata su un microcontrollore che contiene anche l'hardware per farsi riconoscere come periferica HID ed una libreria per essere riconosciuto dal sistema operativo come una tastiera a tutti gli effetti, potendo quindi "spedire" tasti come se fosse proprio una tale periferica.

Grazie della risposta, mi sono accorto del mio errore nel link solo dopo un po', e avevo già scritto il post,
avevo già visto la possibilità di arduino Leonardo ma non volevo usare una USB per la connessione con il pc ma una ps2, anche perché sono in possesso di una mega per il momento inutilizzata.
Purtroppo non ho letto bene il link postato in precedenza e non mi sono accorto che era ps2 in input verso arduino e non in output, farò ulteriori ricerche per vedere se trovo qualcosa.

Se qualcuno a notizie utili......

Grazie vic

volevi che il PC vedesse Arduino come una tastiera PS2?

http://playground.arduino.cc/componentLib/Ps2mouse

http://forum.arduino.cc/index.php/topic,156107.0.html

Ciao Uwe

Purtroppo ultimamente di tempo da dedicare ad arduino ne ho veramente poco, comunque dai link postati se non sbaglio devo usare la libreria ps2dev.h, collegando i piedini 2 e tre dell' arduino
PS2dev keyboard(3,2); // PS2dev object (2:data, 3:clock), fino a qui dovrebbe essere giusto, poi per scrivere sul pc un determinato carattere devo inviargli keyboard.write() con il valore del pulsante in hex giusto?

domanda ma un pc non dovrebbe sentire sia la pressione che il rilascio del pulsante? quindi se tutto quello che ho scritto prima e giusto…. non sono molto sicuro visto che con l'inglese non me la cavo molto bene, devo anche inviare un comando che simuli il rilascio del pulsante??

come sempre grazie per l'aiuto

Aspetta un'attimo ... vuoi semplicemente emulare i comandi di una console da videogioco per usarla con un'emulatore MAME ? ... Allora perche' non usi un chip da tastiera usb ?

leo72:
Se il tuo intento è quello di "emulare" una tastiera, potresti comprarti la Leonardo, è una scheda basata su un microcontrollore che contiene anche l'hardware per farsi riconoscere come periferica HID ed una libreria per essere riconosciuto dal sistema operativo come una tastiera a tutti gli effetti, potendo quindi "spedire" tasti come se fosse proprio una tale periferica.

Etemenanki:
Aspetta un'attimo ... vuoi semplicemente emulare i comandi di una console da videogioco per usarla con un'emulatore MAME ? ... Allora perche' non usi un chip da tastiera usb ?

Cosa intendi per chip da tastiera?

Capisco che acquistare un arduino predisposto per essere riconosciuto come tastiera USB sarebbe molto più facile, ma primo sono in possesso di una mega per il momento ferma, secondo la mega mi da la possibilità di avere un numero di ingressi non indifferente, comodo per fare ciò che mi serve con l'aggiunta di una manciata di resistenze......

Intendo prendere una di quelle tastiere da 5 Euro usb, tirarci fuori il chip, e collegarlo ai comandi della tua console in modo da emulare i corrispondenti tasti (e' una matrice semplice a righe e colonne, e' facile vedere a quali corrispondono i tasti che ti servono e collegarli ai pulsanti ed agli switch del joystick ;))

Avevo già preso in considerazione la possibilità di fare il cosiddetto keyboard hack, ma poi mi e venuto in mente dell'arduino mega nel cassetto e ho iniziato a cercare notizie, anche perché tramite arduino, mi sarebbe molto più facile poi implementare la scheda per fargli fare anche altro, pilotare luci, inviargli comandi particolari dcc, insomma riprodurre una scheda simile alla jpac o simili, solo sviluppata da me, per ora non ho molto tempo da dedicargli, ma penso che riuscito ad ottenere qualcosa di valido……..
Per inciso, la mia scelta di usare il connettore ps2, sta nel fatto che dopo posso anche collegargli una tastiera usb, senza far andare in conflitto le due periferiche, in modo da poter comunque pilotare il pc..

Se qualcuno a voglia di cimentarsi in questo, o a proposte sono ben accette per ora appena posso inizierò a fare delle prove.

vic_20, ho già realizzato un progetto molto simile a quello che vuoi realizzare tu e mi piacerebbe condividere con te il progetto o informazioni empiriche sull'uso della libreria ps2dev e ps2keyboard.

  • Dopo aver inviato (tramite ps2dev) i comandi per la pressione di un tasto bisogna inviare necessariamente i comandi per il suo rilascio (altrimenti il tasto continua ad essere visto dal pc come premuto). Questo avviene per qualsiasi tastiera ed è il protocollo ps2 che lo richiede.
  • I tempi di reazione di queste due librerie sono istantanei quindi puoi usarlo per Mame o emulare una normalissima tastiera ps2.
  • Nel mio progetto ho collegato una vecchia tastiera ps2 all'Arduino Mega tramite la libreria ps2keyboard e usato tutti quei tasti per avere interrupt in più, e sfruttare la pressione di alcuni tasti ed inviare al pc comandi diversi tramite la libreria ps2dev.
    Esempio: ricevo il tasto ctrl dalla tastiera connessa all'arduino (tramite ps2keyboard) ed invio al pc via ps2 (usando la libreria ps2dev) la codifica per il tasto speciale che alza il volume.
  • Non credo possa interessare al tuo progetto, ma la libreria ps2dev consente anche di ricevere dati tramite la ps2 del pc (nel mio progetto ho sfruttato questa caratteristica per inviare tramite la ps2 dei testi da visualizzare su un pannello lcd).
  • Se non vuoi combattere con la libreria ps2dev ti faccio presente che esiste sempre la funzione: Keyboard.write() - Arduino Reference

Tienimi aggiornato su eventuali sviluppi.

sono in possesso di una mega per il momento ferma, secondo la mega mi da la possibilità di avere un numero di ingressi non indifferente, comodo per fare ciò che mi serve con l'aggiunta di una manciata di resistenze......

mi sa che hai le idee poco chiare, una tastiera da 105 tasti non ha una matrice di pin da 21x5 fili, il connettore ps2 ne ha al max 5 di pin, che tu usi una mega solo per avere più pin è la strada sbagliata, il conn ps2 invia i segnali in modalità seriale la combinazione x-y della tastiera la fa un chip contenuto nella tastiera stessa, ti dovrebbero bastare 3 pin, se colleghi arduino con alimentatore usb del pc forse anche 2 fili solo

ciao

Ciao a tutti, scusate se riprendo questa vecchia discussione ma non ho trovato nulla a riguardo.

Ho un palmare con winCE a cui è collegato un lettore di codice a barre PS/2.

senza stravolgere il software gestionale di raccolta dati vorrei interporre un arduino uno (perchè è quello che ho a casa) tra palmare e barcode in modo tale da continuare a utilizzare il barcode per la raccolta dati ma come alternativa un sistema NFC o RFID.

Come potrei implementare il tutto?