Benvenuto Ospite,
per utilizzare il Forum ed avere accesso a tutte le sezioni e poter aprire un tuo Topic, rispondere nelle varie discussioni, mandare o ricevere Messaggi Privati devi seguire pochi passaggi:


Leggi il nostro Regolamento -> PREMI QUI <-
Segui il link su come Iscriversi -> PREMI QUI <-


Ricordati di aggiornare l'Avatar usando una immagine che ti distingua nel Forum

La guida completa e definitiva al KEYHACK

Guide, richieste e tutto ciò che c'è da sapere sui controlli del cab
Avatar utente
MasterKOF
Nostalgico
Nostalgico
Messaggi: 324
Iscritto il: 13/01/2012, 10:10
Città: Senigallia

La guida completa e definitiva al KEYHACK

Messaggio da MasterKOF »

A differenza dei joypad la tastiera (se con attacco PS/2) non necessita di
alcun driver e può funzionare indipendentemente sotto qualunque sistema
operativo senza alcun problema. Putroppo nonostante le tastiere abbiano oltre
100 tasti con questa tecnica possiamo utilizzarne solo 25 – 30 senza che
problemi di Ghosting e Blocking rendano i controlli inutilizzabili. Quindi al massimo potremmo crearci un hack per 2 giocatori e non di piu!

Funzionamento della tastiera

Una normalissima tastiera Italiana comprende 105 tasti e alla pressione di ognuno, un controller invia un segnale diverso al pc alla pressione, ed uno al rilascio.
Essendo i tasti 105, non aspettatevi di trovare 106 contatti^^ si impazzirebbe. Le tastiere fortunatamente utilizzano un sistema chiamato a matrice, che riduce di molto la quantità di fili necessari.

Immagine

A prima vista la figura in alto, potrebbe sembrare un sistema molto efficace, ma cosi facendo abbiamo bisogno di 1 comune e di 12 input diversi: TOT 13 fili
Quindi possiamo dire che, il numero dei pulsanti è uguale al numero dei fili + 1

Immagine

La figura qui sopra è un tipico esempio di matrice. Con tre colonne A,B,C e 4 righe 1,2,3,4 possiamo ottenere sempre 12 pulsanti.
Quindi sommando i diversi fili, ce ne serviranno soltanto 7 anzi che i 13 di prima.

Come funziona la matrice?

La matrice funziona in maniera molto semplice. Ciclicamente un controller invia un segnale alle colonne (prima A poi B poi C), contemporaneamente sulle righe viene "ascoltato" se arriva qualcosa. Se ad esempio mentre è attiva la colonna “A” il controller rileva
il segnale sulla riga 3 questo vorrà dire che inequivocabilmente è stato premuto il
tasto 7.
Questo espediente permette di risparmiare un notevole quantitativo di fili (nel nostro
caso 7 anziché 13), infatti il prodotto tra numero di linee e numero di colonne fornisce
quanti tasti la nostra matrice può gestire.
Tutto questo ha però dei limiti, chiamati Ghosting e Blocking!!

Ghosting e Blocking

Allora, il ghosting è il fenomeno per cui alla pressione di 3 tasti disposti in punti critici della matrice la tastiera “crede” che in realtà siano premuti 4 tasti.
Esempio

Immagine

In figura sono stati premuti ad esempio i tasti 1, 3 e 6. La linea verde rappresenta il percorso: si vede che la pressione di questa combinazione di tasti fa si che
quando il controller manda il segnale di check alla colonna A lo ritrovi sia sulla riga 1 che sulla riga 2; quindi lo interpreta come pressione contemporanea dei tasti 1 e 4.
Questo è un esempio di Ghosting!
in linea generale possiamo dire che:
“Ogni qualvolta vengono premuti i tasti corrispondenti ai 3 lati di un rettangolo sulla matrice viene generato il ghosting sul tasto corrispondente al quarto lato”.
Il blocking invece è una condizione di errore che genera il controller per prevenire il ghosting: vengono infatti inabilitati alcuni tasti; nel nostro caso se premessimo 1, 3 e 6 contemporaneamente il controller restituirebbe al pc un messaggio di errore e quest'ultimo non riconoscerebbe la pressione di nessun tasto. Quindi cosa da tenere bene impressa a mente è che in nessun caso dobbiamo generare situazioni di ghosting o blocking!

Creazione delle input necessarie

Prendete una "bella" tastiera, smontatela del tutto e tenete soltanto la PCB interna

Immagine

Come potete vedere, io ho numerato i primi 18 conttatti da 1 a 18 e i restanti attribuendo le lettere da A a H
Fatto ciò, mi sono creato una bella tabella per fare una mappatura perfetta dei contatti.
In questo ci vengono in aiuto alcuni semplici programmi Ghost Key e KeyScan, che ci permettono di effettuare una mappatura completa della tastiera. Vi ci serve solo un po' di tempo, ma alla fine il risultato è piu o meno come questo

Immagine

Notate come anche se la mia tastiera era da 105 tasti, la mappatura ne ha sviluppati 144, anche se alla fine si possono notare che ci sono molti tasti che neanche sapevate di avere (apertura Windows media player, Outlook e cavolate simili)

A questo punto c'è da scegliere quali tasti utilizzare nel nostro controller stando bene
attenti a non causare il ghosting; in prima istanza possiamo dire che se io uso un tasto
per ogni riga posso stare certo che non avrò mai ghosting.. quindi sono partito da
questa considerazione ed ho colorato le caselle che avrei avuto intenzione di usare

Immagine

Molto bene, in questo modo siamo arrivati a 16 tasti disponibili; peccato che a me ne
servissero 25! (6 tasti per giocatore + 2 manopole direzionali da 4 contatti l'una + i
due contatti delle gettoniere + i due pulsanti per selezionare 1 o 2 player + il bottone
per far avviare il gioco selezionato nel menù) quindi son dovuto scendere a
compromessi:
– innanzitutto nei joystick c'è da considerare che tasti come “destra” e “sinistra” o
“su” e “giu” non possono fisicamente essere premuti contemporaneamente
– poi c'è da considerare che alcuni tasti, tipo il contatto della gettoniera per
aumentare i credits, è decisamente improbabile che vengano premuti in
contemporanea ad altri tasti.
Ho applicato questi concetti ed ho colorato in rosa le caselle da dare ai
comandi che si autoescludono: ad esempio F3 e D potrebbero essere affibiati ai
pulsanti DX e SX mentre H e M potrebbero essere UP e DOWN nel joystick 1.
Ho inoltre spostato un paio di caselle rosse che erano capitate su incroci che non
fornivano nulla.
In ogni caso, potete facilmente apprezzare che nel peggiore dei casi sarebbe premuto
al più un tasto per ogni riga quindi stiamo certi che non si possa creare ghosting.

Immagine

Ok il lavoro è quasi completato; ci mancano solo altri 5 tasti.
Purtroppo la mappa non ci da molte possibilità quindi i 5 tasti che assegneremo ora
avranno qualche possibilità di avere ghosting. Per fortuna ormai tutti e 12 i tasti di
gioco ed entrambe le manopole sono state mappate quindi quelli che rimangono sono
tasti di servizio che non verranno mai premuti contemporaneamente ad altri.

Immagine

Potete apprezzare l'assegnazione completa dei tasti: ho colorato di verde le
caselle che possono dare problemi infatti a titolo di esempio fo notare che Z genera
ghosting se premuto assieme a Q e a un tasto a scelta tra M INVIO o la virgola.
Stessa cosa pure per F1, 4, U, O.
però questo non rappresenta un problema, l'importante è che i tasti di gioco non diano
noie e con la nostra mappa possiamo stare tranquilli di poter giocare anche un doppio a
Street Fighter senza che i tasti che diano ghosting!

Spero che questo piccolo tutor serva a qualche pazzo che si vuole cimentare come me in quest'impresa!!
Ricordatevi una cosa che ho scoperto solo dopo. Ogni tastiera ha una propria matrice, quindi la tabella è solo un esempio. Il sistema anti-ghosting va bene, ma i risultati degli incroci non prendeteli per buoni!!!


Costruiamoci il Controller

Questa è forse la parte un po' piu pratica nella quale dovrete eseguire qualche saldatura (a me molto ostiche); in sostanza si tratta di collegare i contatti della PCB della tastiera ad una normalissima morsettiera. Di modi per farlo c'è ne sono a valanga, piu o meno ordinati. Io personalmente ho realizzato il mio controller come in figura (la foto non è la mia, ma è quella da cui presi spunto) in modo da ottenere una unica base e poter star sicuro che bruschi movimenti non potessero staccare qualche saldatura; (che mi è successo un mare di volte)

Immagine

Collegamenti ai tasti di gioco

Questa è la fase che richiede maggiore attenzione ma soprattutto maggiore ordine; è facile sbagliare un filo e toppare tutto il cablaggio. In pratica i microswitch non sono altro che dei deviatori ;

Immagine

dei tre contatti disponibili il primo è comune, il secondo è normalmente aperto mentre il terzo è normalmente chiuso, noi useremo quindi i contatti 1 e 2 cablati in modo che alla pressione del tasto vengano messi in corto la riga e la colonna da
noi prescelti. Prima di iniziare i collegamenti occorre decidere dove disporremo il nostro controller, dopodiché dovremo procurarci un filo colorato per ogni riga e colonna.
Una volta posizionato il controller e fatti arrivare i fili alla plancia dovrete iniziare a collegare i fili ai rispettivi interruttori; praticamente tutti i fili dovranno andare ad almeno un paio di switch, ad esempio dalla tabella in figura si vede chiaramente che il filo della colonna A dovrà andare a due pulsanti di gioco e a due di servizio, il filo della colonna B invece andrà a due pulsanti di gioco e a uno switch del joystick, ecc...

Note personali

Il Keyhack è senza ombra di dubbio una operazione che richiede un po' di attenzione, ma non è di difficoltà estrema, anzi! E' un ottimo espediente per fare anche un po' di pratica con le saldature e poi, come penso sempre, quando un lavoro te lo fai da te...è meglio!!
Ultima modifica di MasterKOF il 10/05/2012, 17:15, modificato 1 volta in totale.
Black Tiger : 832.200 / The King Of Fighters 2002 : 810.500
Visit my new blog
Avatar utente
PaTrYcK
Moderatore
Moderatore
Messaggi: 11588
Iscritto il: 12/10/2009, 20:35
Città: Cagliari
Grazie Ricevuti: 27 volte

Re: La guida completa e definitiva al KEYHACK

Messaggio da PaTrYcK »

MasterKOF complimenti!
Karma +1 x te <-clap->
Avatar utente
MasterKOF
Nostalgico
Nostalgico
Messaggi: 324
Iscritto il: 13/01/2012, 10:10
Città: Senigallia

Re: La guida completa e definitiva al KEYHACK

Messaggio da MasterKOF »

PaTrYcK ha scritto:MasterKOF complimenti!
Karma +1 x te <-clap->
8-)
Black Tiger : 832.200 / The King Of Fighters 2002 : 810.500
Visit my new blog
Avatar utente
Puccilillo
Newbie
Newbie
Messaggi: 91
Iscritto il: 20/03/2012, 1:55
Città: Ancona

Re: La guida completa e definitiva al KEYHACK

Messaggio da Puccilillo »

Fresca fresca sembra fatta apposta per me... ora vado in cantina a finire il lavoro :D

+1 a te, sisi !!!
Puccilillo ...since 1998
Progetto cab a parete Completato <-gamer-> <-gamers3-> <-gogogo-> <-w00t-anim-> <-clap-> :rofl2: <-tease-> :P <-rotfl-> <-yahoo-> <-on_lol-> <-lol-> \:D/ <-gogogo-> <-ciao-> <-on_wink->
Avatar utente
Kernel
God of Arcade
God of Arcade
Messaggi: 6794
Iscritto il: 25/07/2005, 10:54
Grazie Inviati: 2 volte
Grazie Ricevuti: 2 volte

Re: La guida completa e definitiva al KEYHACK

Messaggio da Kernel »

Ho pinnato il thread <-happy->
Avatar utente
MasterKOF
Nostalgico
Nostalgico
Messaggi: 324
Iscritto il: 13/01/2012, 10:10
Città: Senigallia

Re: La guida completa e definitiva al KEYHACK

Messaggio da MasterKOF »

Kernel ha scritto:Ho pinnato il thread <-happy->
Thank you!! Oggi aggiungo anche la seconda parte, quella relativa al cablaggio!!
Black Tiger : 832.200 / The King Of Fighters 2002 : 810.500
Visit my new blog
Avatar utente
r77

Silver Medal Donatore
God of Arcade
God of Arcade
Messaggi: 2817
Iscritto il: 08/07/2009, 10:37
Medaglie: 2
Città: Verona
Grazie Ricevuti: 2 volte

Re: La guida completa e definitiva al KEYHACK

Messaggio da r77 »

Bravo MasterKOF <-thumbup->
CLRMAMEPRO guida passo a passo viewtopic.php?f=27&t=11373
Avatar utente
inuyaksa
Meccanico del Forum
Meccanico del Forum
Messaggi: 842
Iscritto il: 24/09/2008, 11:57
Città: Milan
Località: Milano
Grazie Inviati: 4 volte
Grazie Ricevuti: 1 volta
Contatta:

Re: La guida completa e definitiva al KEYHACK

Messaggio da inuyaksa »

Ottimo lavoro, complimenti!
- - -
Avatar utente
eldiau

Donatore
Cab-maniaco
Cab-maniaco
Messaggi: 1021
Iscritto il: 20/01/2012, 9:57
Medaglie: 1
Città: Torino
Grazie Ricevuti: 2 volte

Re: La guida completa e definitiva al KEYHACK

Messaggio da eldiau »

Bello, grazie, dovrebbe passare nel wiki
Progetti:
*BarettoCab80 viewtopic.php?t=8756
*Mariocab
*TrashSticks

Guide:
*Guida a Linux nel Cab: http://www.arcadeitalia.net/viewtopic.php?t=9608
*Effetti GLSL in SDLMAME: http://www.arcadeitalia.net/viewtopic.php?t=9494
*Versioni di MAME "importanti": http://www.arcadeitalia.net/viewtopic.php?t=12209
Avatar utente
MasterKOF
Nostalgico
Nostalgico
Messaggi: 324
Iscritto il: 13/01/2012, 10:10
Città: Senigallia

Re: La guida completa e definitiva al KEYHACK

Messaggio da MasterKOF »

mi fate piangere.... :on_cry: :on_cry: :on_cry:

cmq, oggi finisco con la seconda parte, poi ci potete fare quello che volete :love:
Black Tiger : 832.200 / The King Of Fighters 2002 : 810.500
Visit my new blog
Avatar utente
Tox Nox Fox

BanHammer Silver Medal Helper Donatore
Moderatore
Moderatore
Messaggi: 12458
Iscritto il: 14/01/2007, 23:35
Medaglie: 4
Grazie Inviati: 205 volte
Grazie Ricevuti: 324 volte

Re: La guida completa e definitiva al KEYHACK

Messaggio da Tox Nox Fox »

ed infatti l'idea di metterlo nel wikicab è già in cantiere..
se si può quando è tutto a posto e ho qualche ora la metterei su ... ^^
WP.ARCADEITALIA.NET
La Guida al MameCab
Kraftwerk
Newbie
Newbie
Messaggi: 15
Iscritto il: 24/09/2012, 17:05
Città: Bologna

Re: La guida completa e definitiva al KEYHACK

Messaggio da Kraftwerk »

Scusate l'ignoranza, ma così facendo, ho anche il movimento in diagonale del joystick?

Se non fosse così la configurazione di MasterKOF di 25 tasti (6 tasti per giocatore + 2 manopole direzionali da 4 contatti l'una + i due contatti delle gettoniere + i due pulsanti per selezionare 1 o 2 player + il bottone per far avviare il gioco selezionato nel menù), salirebbe a 33.
E' fattibile?
Si potrebbe usufruire anche dei 2 tasti del mouse?

Dimenticavo!!! HO (oltre ad una tastiera con porta ps/2) una tastiera con una connessione vecchia che era su un pentium120, può essermi utile? O è meglio tenerla come cimelio insieme al pc?
Avatar utente
MasterKOF
Nostalgico
Nostalgico
Messaggi: 324
Iscritto il: 13/01/2012, 10:10
Città: Senigallia

Re: La guida completa e definitiva al KEYHACK

Messaggio da MasterKOF »

Kraftwerk ha scritto:Scusate l'ignoranza, ma così facendo, ho anche il movimento in diagonale del joystick?

Se non fosse così la configurazione di MasterKOF di 25 tasti (6 tasti per giocatore + 2 manopole direzionali da 4 contatti l'una + i due contatti delle gettoniere + i due pulsanti per selezionare 1 o 2 player + il bottone per far avviare il gioco selezionato nel menù), salirebbe a 33.
E' fattibile?
Si potrebbe usufruire anche dei 2 tasti del mouse?

Dimenticavo!!! HO (oltre ad una tastiera con porta ps/2) una tastiera con una connessione vecchia che era su un pentium120, può essermi utile? O è meglio tenerla come cimelio insieme al pc?
Scusami se rispondo adesso, ma problemi gravi e etc...
Le diagonali di uno stick le hai sommando i valori di Up o Down con Left o Right! Se prendi uno stick ti accorgerai da solo che gli swicth sono 4 e mai 8!
Black Tiger : 832.200 / The King Of Fighters 2002 : 810.500
Visit my new blog
Avatar utente
torrest

Gold Medal
Affezionato
Affezionato
Messaggi: 225
Iscritto il: 10/05/2012, 22:34
Medaglie: 1
Città: martellago
Località: Martellago

Re: La guida completa e definitiva al KEYHACK

Messaggio da torrest »

Della serie ci ho provato anch'io!! E funziona anche bene.
Messo un pentium 4 a 3 ghz con lcd 17 pollici dentro un cabinato "piccolo". Utilizzato pcb di una vecchia tastiera IBM
con matrici uguali all'80% a quelle del tutorial e unico punto difficile la saldatura sulla schedina.
Armarsi di: pazienza, fili finissimi e attenzione a quello che si fa.
Però alla fine il risultato è grande!!
Karma a MasterKof per la guida e un'ultima nota:
alla fine la tastiera modificata ps2 può "convivere" tranquillamente con un' altra su porta USB, con cui
si può continuare col lavoro di configurazione (oltre ad un eventuale mouse etc etc).
Vedo se riesco a mettere qualche foto...
Avatar utente
paolinux78
Nostalgico
Nostalgico
Messaggi: 307
Iscritto il: 10/04/2013, 13:01
Città: Thiene
Località: Vicenza prov.
Grazie Ricevuti: 4 volte

Re: La guida completa e definitiva al KEYHACK

Messaggio da paolinux78 »

ho creato un keyhack per creare un nuovo mamecab, ma mi trovo in difficoltà col joystick sanwa che ha 5 fili per il cablaggio, praticamente i 4 dei vari switch + uno comune, mentre per collegarlo al keyhack dovrei averne 8 per collegare ogni switch a 2 fili, cosa posso fare?
Ultima modifica di paolinux78 il 07/10/2013, 22:30, modificato 1 volta in totale.
Flipper >>> Addams Family ::: Scared Stiff ::: Funhouse ::: Road Show :::
Avatar utente
NEOGENIO
Cab-maniaco
Cab-maniaco
Messaggi: 1318
Iscritto il: 11/07/2013, 3:53
Città: Sicilia

Re: La guida completa e definitiva al KEYHACK

Messaggio da NEOGENIO »

Molto interessante, mi aggiungo per seguire il topic!
Arcade a vita... dagli anni '80 per sempre!
Avatar utente
Cia91

Silver Medal Bronze Medal Donatore
Cab-dipendente
Cab-dipendente
Messaggi: 747
Iscritto il: 14/04/2013, 19:42
Medaglie: 3
Città: Pavia

Re: La guida completa e definitiva al KEYHACK

Messaggio da Cia91 »

Il comune lo squadruplichi e via, tanto è appunto comune...
ImmagineImmagineImmagineImmagine
RaspberryGaming non è piu .tk ma è sul altervista ora...
Avatar utente
paolinux78
Nostalgico
Nostalgico
Messaggi: 307
Iscritto il: 10/04/2013, 13:01
Città: Thiene
Località: Vicenza prov.
Grazie Ricevuti: 4 volte

Re: La guida completa e definitiva al KEYHACK

Messaggio da paolinux78 »

Cia91 ha scritto:Il comune lo squadruplichi e via, tanto è appunto comune...
nuoooo già provato, infatti se metti in comune il nero, ogni movimento che fai è come che pigiassi 4 tasti in una volta sola! mi sa che il keyhack non è compatibile col mio joystick :(
Flipper >>> Addams Family ::: Scared Stiff ::: Funhouse ::: Road Show :::
Avatar utente
cyborg

Donatore
Cab-maniaco
Cab-maniaco
Messaggi: 1880
Iscritto il: 01/04/2013, 23:53
Medaglie: 1
Città: Frosinone
Grazie Inviati: 24 volte
Grazie Ricevuti: 1 volta

Re: La guida completa e definitiva al KEYHACK

Messaggio da cyborg »

Bellissima guida, complimenti <-clap->
Ora come ora non mi servirebbe un altro joystick, ma quasi quasi...... <-gamer->
Grazie di tutto ARCADE IT AL IA

*Cybercab: arcadeitalia.net/viewtopic.php?f=21&t=15552
*Cybercab 2.0: arcadeitalia.net/viewtopic.php?f=21&t=16180
*Cybercab MAXI: arcadeitalia.net/viewtopic.php?f=67&t=21582&hilit=cybercab+maxi
TRACKBALL fai da te: viewtopic.php?f=14&t=20941
Avatar utente
Cia91

Silver Medal Bronze Medal Donatore
Cab-dipendente
Cab-dipendente
Messaggi: 747
Iscritto il: 14/04/2013, 19:42
Medaglie: 3
Città: Pavia

Re: La guida completa e definitiva al KEYHACK

Messaggio da Cia91 »

Posta una foto del circuito del joystick va...
ImmagineImmagineImmagineImmagine
RaspberryGaming non è piu .tk ma è sul altervista ora...
Rispondi

Torna a “Controlli (joystick, pulsanti, trackball, spinner, volanti, ecc...)”