Breve guida alla riassegnazione dei tasti nel cab

Area dedicata alle guide tecniche,consigli e suggerimenti.
Rispondi
Avatar utente
josef 1975
Extreme Arcader
Extreme Arcader
Messaggi: 2401
Iscritto il: 05/08/2004, 14:07
Reputation: 40

Breve guida alla riassegnazione dei tasti nel cab

Messaggio da josef 1975 » 27/03/2018, 22:10

INTRODUZIONE
Se avete un cabinato o bartop basato su Keyboard Hack o JammASD non avrete probabilmente problemi coi classici emulatori (che solitamente permettono di personalizzare e riassegnare ogni singolo tasto a vostro piacimento) ma la cosa si complica, ad esempio, coi classici giochi per Windows (come Questi indicati dal buon Band1to) dato che la gran parte ha spesso comandi fissi e non modificabili; dunque diventa difficile gestire il gioco usando i soli comandi della plancia del cab, e magari diventa necessario (e scomodo) ricorrere ad una tastiera esterna; questa guida spiegherà un metodo semplice per risolvere il problema usando il noto programma AutoHotKey (AHK).

PROCEDIMENTO
Scaricate AHK dal Sito; potete scegliere la versione "Installer" cliccando sul rettangolo azzurro (il programma si installerà in maniera classica creando le relative icone nel menù start) oppure la variante .zip usando il link subito sotto (dovrete poi scompattare il programma in una cartella e avviarlo da lì, se non vi va di installarlo).
Prima di avviare AHK dovrete creare un file di script che verrà poi usato per riassegnare i tasti: è un banale file di testo che potete creare direttamente usando il classico Blocco Note note di Windows, basta ricordarsi di rinominarlo da .txt a .ahk (es. prova.ahk). La sintassi all'interno è molto semplice, ad es. per il gioco Sine Mora EX che usa normalmente i tasti di fuoco A,S,D possiamo impostare gli stessi controlli usati tipicamente dal Mame (CRTL Sinistro, ALT Sinistro, Barra Spazio per i Tasti Fuoco 1,2,3) così:

Codice: Seleziona tutto

1::Enter
LCtrl::s
LAlt::a
Space::d
In sotanza basta inserire i due tasti separati da :: (nell'esempio ho associato anche il tasto 1 usato dal Mame per il Player1 al tasto Enter per poter navigare nei menù del gioco).
A questo punto se avete scaricato il programma in formato .zip entrate nella cartella dove lo avete estratto, andate nella sottocartella "Compiler" ed avviate il programma Ahk2exe.exe, vi apparirà la seguente schermata:

Immagine

Cliccate ora sul tasto "browse" indicato al punto 1 e caricate lo script che avete fatto in precedenza
Cliccate poi sul tasto "browse" indicato al punto 2 e date un nome a vostro piacimento al file .exe che verrà creato
Volendo potete scegliere un'icona personalizzata (magari in tema col gioco), se non l'avete potete crearla partendo anche da un'immagine, non servono programmi specifici (basta andare per es. su Questo sito) e una volta ottenuto il file .ico cliccare sul tasto "Browse" n.3 e selezionarlo;
Sotto vedrete anche l'opzione "Use MPRESS to compress resulting exe", utile per ridurre le dimensioni del file finale (che sarà comunque piccolo, ad ogni modo se volete basta scaricare il programmino aggiuntivo da Qui e metterlo sempre nella cartella compiler)
Ora non vi resta che premere il tasto "Convert" al punto 4 ed otterrete così un file .exe (ad esempio SM.EXE) che dovrà essere eseguito prima del gioco; il programma resterà attivo nel system tray di windows (vedretre l'icona a destra in basso nel solito posto vicino all'orologio) e manterrà la mappatura dei tasti finchè non verrà terminato (nel caso potete farlo cliccandoci sopra col tasto destro e scegliendo di uscire).
Per comodità, visto che ogni gioco avrà dei settaggi diversi (e quindi un eseguibile "personale") conviene creare un file .bat che si occupi di avviare prima l'eseguibile e quindi il gioco vero e proprio, oltre che provvedere poi all'uscita a terminare il programma così da far tornare i tasti "normali":

Codice: Seleziona tutto

@echo off
start sm.exe
SinemoraEX.exe
taskkill /IM sm.exe /F
Ricordate anche di avviare il file .bat come amministratore altrimenti il comando taskkill non avrà effetto.

UPDATE:
in alternativa è possibile fare a meno del file .bat, basta aggiungere allo script le istruzioni per lanciare il gioco e la relativa opzione per terminare lo script stesso quando si esce:

Codice: Seleziona tutto

RunWait, SineMoraEX.exe
ExitApp
1::Enter
LCtrl::s
LAlt::a
Space::d
ovviamente l'eseguibile andrà messo nella stessa cartella del gioco [wink.gif]
Questo è tutto... almeno fino alla prossima guida! [joint.gif]
Ultima modifica di josef 1975 il 27/03/2018, 22:17, modificato 3 volte in totale.
PC: ARCADE 0.197-WORKING ONLY ROMS - CAB: GROOVYMAME+ARCADE+NONAG 0.194
PC: i5 3750k 3.80ghz 16Gb Ram Nvidia GTX 970 4Gb SSD128gb + HDD 1TB
CAB: E8400 3.15Ghz 4Gb Ram AMD HD5450 512MB SSD 64Gb+HDD 320GB Immagine


Avatar utente
bisus
Arcade Maniac
Arcade Maniac
Messaggi: 3518
Iscritto il: 03/11/2015, 2:16
Reputation: 574
Contatta:

Re: Breve guida alla riassegnazione dei tasti nel cab

Messaggio da bisus » 27/03/2018, 22:13

Grande josef, ottima guida [clap2.gif] [clap2.gif] [clap2.gif] [shake2.gif]
Segnalazioni problemi Forum
Non esitate a contattarmi in privato se doveste avere problemi sul forum http://www.arcademania.eu
grazie


Avatar utente
masez21
Super Arcader
Super Arcader
Messaggi: 1112
Iscritto il: 08/12/2015, 1:53
Medaglie: 22
Reputation: 282
Località: Senigallia
:
Medaglia d'oro Medaglia d'argento Medaglia di bronzo Medaglia di legno
Contatta:

Re: Breve guida alla riassegnazione dei tasti nel cab

Messaggio da masez21 » 28/03/2018, 16:16

ottimo josef 1975, grazie! [clap2.gif]
[Laie_73.gif] PARTECIPA ANCHE TU ALLE SFIDE DELLA [gamer.gif]
BACHECA RECORDS
THRASH RALLY
1)Skywalker76 4.4 - 39 pt
2)masez21 4.4 - 37 pt
2)nik 4.4 - 37 pt
3)furiola 3.4 - 22 pt

TETRIS
1)masez21 100962
2)furiola 90962
3)giuppo 88941
4)gibranx 87897

THE NEW ZEALAND STORY
1)giuppo 275640
2)izius 156840
3)
4)


Avatar utente
josef 1975
Extreme Arcader
Extreme Arcader
Messaggi: 2401
Iscritto il: 05/08/2004, 14:07
Reputation: 40

Re: Breve guida alla riassegnazione dei tasti nel cab

Messaggio da josef 1975 » 28/03/2018, 22:04

piccola correzione, la sintassi corretta per il file bat è la seguente:

Codice: Seleziona tutto

@echo off
start sm.exe
SinemoraEX.exe
taskkill /IM sm.exe /F
[wink.gif]
PC: ARCADE 0.197-WORKING ONLY ROMS - CAB: GROOVYMAME+ARCADE+NONAG 0.194
PC: i5 3750k 3.80ghz 16Gb Ram Nvidia GTX 970 4Gb SSD128gb + HDD 1TB
CAB: E8400 3.15Ghz 4Gb Ram AMD HD5450 512MB SSD 64Gb+HDD 320GB Immagine


Avatar utente
josef 1975
Extreme Arcader
Extreme Arcader
Messaggi: 2401
Iscritto il: 05/08/2004, 14:07
Reputation: 40

Re: Breve guida alla riassegnazione dei tasti nel cab

Messaggio da josef 1975 » 29/03/2018, 13:33

in alternativa è possibile fare a meno del file .bat, basta aggiungere allo script le istruzioni per lanciare il gioco e la relativa opzione per terminare lo script stesso quando si esce:

Codice: Seleziona tutto

RunWait, SineMoraEX.exe
ExitApp
1::Enter
LCtrl::s
LAlt::a
Space::d
ovviamente l'eseguibile andrà messo nella stessa cartella del gioco [wink.gif]
PC: ARCADE 0.197-WORKING ONLY ROMS - CAB: GROOVYMAME+ARCADE+NONAG 0.194
PC: i5 3750k 3.80ghz 16Gb Ram Nvidia GTX 970 4Gb SSD128gb + HDD 1TB
CAB: E8400 3.15Ghz 4Gb Ram AMD HD5450 512MB SSD 64Gb+HDD 320GB Immagine


Avatar utente
b4nd1t0
Arcade Maniac
Arcade Maniac
Messaggi: 2995
Iscritto il: 06/06/2016, 17:34
Medaglie: 10
Reputation: 663
Località: Roma
Nazione: Italia
:
Medaglia d'oro Medaglia d'argento Medaglia di bronzo Medaglia di legno
Contatta:

Re: Breve guida alla riassegnazione dei tasti nel cab

Messaggio da b4nd1t0 » 29/03/2018, 13:40

Ottimo, quando cominci non c'è modo di smettere di migliorare lo script è inevitabile [on_eek.gif]
                                                 __ __ 
             _          _ _    ____  _____ _____|  |  |
 _ _ ___ ___| |_ ___   |_| |  |    \|     |   __|  |  |
| | |_ -| .'|  _| -_|  | | |  |  |  |  |  |__   |__|__|
|___|___|__,|_| |___|  |_|_|  |____/|_____|_____|__|__|
                                                       
b4nd1t0's repo here


Avatar utente
josef 1975
Extreme Arcader
Extreme Arcader
Messaggi: 2401
Iscritto il: 05/08/2004, 14:07
Reputation: 40

Re: Breve guida alla riassegnazione dei tasti nel cab

Messaggio da josef 1975 » 01/04/2018, 21:03

vero... aggiungo un'altro script per i giochi DOS emulati tramite dosbox:
qui è necessario aggiungere più paramentri in quanto prima del gioco è necessario lanciare l'emulatore stesso, un esempio con xenon2:

Codice: Seleziona tutto

RunWait, "C:\Program Files (x86)\DOSBox-0.74\DOSBox.exe" "C:\Program Files (x86)\DOSBox-0.74\Games\xenon2\xenon2.exe" -exit
ExitApp
1::Enter
2::F10
LCtrl::Space
(il gioco è ovviamente nella sottocartella \Games\xenon2)
[wink.gif]
PC: ARCADE 0.197-WORKING ONLY ROMS - CAB: GROOVYMAME+ARCADE+NONAG 0.194
PC: i5 3750k 3.80ghz 16Gb Ram Nvidia GTX 970 4Gb SSD128gb + HDD 1TB
CAB: E8400 3.15Ghz 4Gb Ram AMD HD5450 512MB SSD 64Gb+HDD 320GB Immagine


Avatar utente
josef 1975
Extreme Arcader
Extreme Arcader
Messaggi: 2401
Iscritto il: 05/08/2004, 14:07
Reputation: 40

Re: Breve guida alla riassegnazione dei tasti nel cab

Messaggio da josef 1975 » 24/04/2018, 14:03

aggiorno il thread con un nuovo script per i giochi dosbox che nasconde quasi istantaneamente l'avvio dell'emulatore e risolve un problema di compatibilità con attract mode:

Codice: Seleziona tutto

Run, "C:\Program Files (x86)\DOSBox-0.74\DOSBox.exe" "C:\Program Files (x86)\DOSBox-0.74\Games\xenon2\xenon2.exe" -noconsole -exit
WinWait, DOSBox
WinHide
Loop
{
Process,Exist,DOSBox.exe
If !ErrorLevel
 ExitApp
Sleep,100
}
1::Enter
2::F10
LCtrl::Space
già che ci siamo ecco alcuni settaggi consigliati nel caso dosbox sia usato in un cab a 15khz a 640x480 (editate il file dosbox.conf)

Codice: Seleziona tutto

fullscreen=true
output=ddraw
aspect=true
fullresolution=640X480
windowresolution=640X480
PC: ARCADE 0.197-WORKING ONLY ROMS - CAB: GROOVYMAME+ARCADE+NONAG 0.194
PC: i5 3750k 3.80ghz 16Gb Ram Nvidia GTX 970 4Gb SSD128gb + HDD 1TB
CAB: E8400 3.15Ghz 4Gb Ram AMD HD5450 512MB SSD 64Gb+HDD 320GB Immagine


XandroTS
Gamer
Gamer
Messaggi: 20
Iscritto il: 30/04/2018, 14:52
Reputation: 3
Località: Trieste

Re: Breve guida alla riassegnazione dei tasti nel cab

Messaggio da XandroTS » 11/05/2018, 12:20

Ho letto questa guida ed e' molto ben fatta e molto chiara. [clap2.gif]
Infatti ho fatto con estrema facilità uno script ed ho provato a creare il mio primo exe.
Usando questo eseguibile creato ad hoc per far partire Prince of persia, il gioco si avvia ma i tasti non vengono riassegnati.
Non riesco a far assegnare il CTRL+S e analoghi che in Prince sono praticamente tutti, sopratutto il CTRL+Q per uscire dal gioco.
Ho anche letto la qguida ufficiale di AHK che dice di usare il simbolo ^ per il tasto ctrl, <^ per il ctrl left e >^ per quello right ecc..
Ho fatto diversi tentativi con varie sintassi, ma non riesco ad ottenere risultati.
Per esempio che quando premo F sia come premere ctrl+S per abilitare o meno il suono. [wallbash.gif]

Ecco lo script che ho usato per generare l'exe
RunWait, "C:\Emulators\DOS\DOSBox\DOSBox.exe" "C:\DATA\DOS\C\PRINCE1\Prince.exe" -userconf -noconsole -exit
ExitApp
<^::<+ ;Left control = left shift
<!::Space ;left ALT = spazio
Space::^a ;space= CTRL+A
<+::<+l ;left shift = leftshift+L
R::^v ;ctrl+v
F::^s ;CTRL+S
A::^l ;CTRL+L
S::^g ;CTRL+G
W::esc
Escape::^q ;CTRL+Q
5::^r ;CTRL+R
6::^r ;CTRL+R

Ho provato anche ad avviarlo da FEEL, cioe' far eseguire questo anziche direttamente il Prince e non funziona proprio dandomi un errore dos dicendo che non e' un eseguibile dos valido.


Avatar utente
josef 1975
Extreme Arcader
Extreme Arcader
Messaggi: 2401
Iscritto il: 05/08/2004, 14:07
Reputation: 40

Re: Breve guida alla riassegnazione dei tasti nel cab

Messaggio da josef 1975 » 11/05/2018, 15:15

lo script mi sembra giusto, però io uso LCTRL o RCTRL distinguendo i control destro e sinistro (in particolare pechè nel mio cab LCTRL è il tasto fire1) e vedo che anche tu all'inizio hai riassegnato il control sinistro, forse questo poi va in conflitto col control "generico", proverei a specificare il control destro per le altre combinazioni...
gli altri tasti (es W::esc) li riassengna?
per il discorso feel non saprei dato che io uso attract mode, il quale richiede un file lnk (link) che punti all'eseguibile
PC: ARCADE 0.197-WORKING ONLY ROMS - CAB: GROOVYMAME+ARCADE+NONAG 0.194
PC: i5 3750k 3.80ghz 16Gb Ram Nvidia GTX 970 4Gb SSD128gb + HDD 1TB
CAB: E8400 3.15Ghz 4Gb Ram AMD HD5450 512MB SSD 64Gb+HDD 320GB Immagine


XandroTS
Gamer
Gamer
Messaggi: 20
Iscritto il: 30/04/2018, 14:52
Reputation: 3
Località: Trieste

Re: Breve guida alla riassegnazione dei tasti nel cab

Messaggio da XandroTS » 11/05/2018, 17:47

Non riassegna nulla se lancio Prince.
Se invece elimino le prime 2 righe e provo solo a riassegnare i tasti, li riassegna in parte, diciamo solo certe righe funzionano.
Purtroppo non e' semplice verificare in quanto sono tutte combinazioni di tasti ctrl+.....
Per esempio spazio mi fa il ctrl+A, ma il left alt non mi fa lo spazio [wallbash.gif]


Avatar utente
josef 1975
Extreme Arcader
Extreme Arcader
Messaggi: 2401
Iscritto il: 05/08/2004, 14:07
Reputation: 40

Re: Breve guida alla riassegnazione dei tasti nel cab

Messaggio da josef 1975 » 11/05/2018, 18:48

Allora proverei ad usare il mio ultimo script con run al posto di runwait, a me va perfettamente anche con alcune combinazioni del tasto ctrl (pure io ho prince of persia 1 col dosbox e va senza problemi)

Ho anche il sospetto che c ‘entri il fatto che cerchi di assegnare tasti uguali:
Spazio ctrl+A, left alt spazio
Forse ciò crea un conflitto al programma, proverei le combinazioni da sole
PC: ARCADE 0.197-WORKING ONLY ROMS - CAB: GROOVYMAME+ARCADE+NONAG 0.194
PC: i5 3750k 3.80ghz 16Gb Ram Nvidia GTX 970 4Gb SSD128gb + HDD 1TB
CAB: E8400 3.15Ghz 4Gb Ram AMD HD5450 512MB SSD 64Gb+HDD 320GB Immagine


XandroTS
Gamer
Gamer
Messaggi: 20
Iscritto il: 30/04/2018, 14:52
Reputation: 3
Località: Trieste

Re: Breve guida alla riassegnazione dei tasti nel cab

Messaggio da XandroTS » 11/05/2018, 19:22

Risolto !
Dopo mille tentativi a son di prove ho capito una cosa.
Se assegno il esc che faccia ctrl+Q, e poi assegno W che faccia esc. Il programma li preme entrambe.
Stessa cosa per il tasto Spazio.
Ho tolto i 2 conflitti in questione e qualche piccolo errore di sintassi e adesso funziona anche avviando il Prince !!!

Alla fine il mio script finale e' questo:
RunWait, "C:\Emulators\DOS\DOSBox\DOSBox.exe" "C:\DATA\DOS\C\PRINCE1\Prince.exe" -userconf -noconsole -exit
ExitApp
Esc::Send ^q ;esc = ctrl+Q Exit Prince
;W::Send, {Esc} ;w = esc Pausa
LCtrl::Send, {lshift} ;Left ctrl = left shift Azione principe
5::Send ^r ;5 = ctrl+R Riavvia Prince
6::Send ^r ;6 = ctrl+R Riavvia Prince
R::Send ^v ;R = ctrl+v Versione gioco
F::Send ^s ;F = ctrl+S Suono on/off
A::Send ^l ;A = ctrl+L Load Game
S::Send ^g ;S = ctrl+G Save Game
Q::Send ^a ;Q = ctrl+A Riavvia livello
LShift::Send, {lshift}+l ;left shift = left shift+L Salta livello
LAlt::Send, {Space} ;left ALT = spazio Tempo rimanente

Devo per forza rinunciare alla pausa in quanto ho un bel tasto EXIT collegato al tasto esc della tastiera e mi serve per uscire e tornare al frontend.
Forse c'e' un modo di non far interagire i 2 comandi, ho provato anche a invertire la sequenza portando prima uno poi l'altro ma non va.
Vista la complessità dei comandi, credo di aver fatto un ottimo lavoro, me lo farò bastare. [w00t-anim.gif]


Avatar utente
josef 1975
Extreme Arcader
Extreme Arcader
Messaggi: 2401
Iscritto il: 05/08/2004, 14:07
Reputation: 40

Re: Breve guida alla riassegnazione dei tasti nel cab

Messaggio da josef 1975 » 11/05/2018, 21:38

Bravo! Allora era come pensavo... Ben fatto [up.gif]
PC: ARCADE 0.197-WORKING ONLY ROMS - CAB: GROOVYMAME+ARCADE+NONAG 0.194
PC: i5 3750k 3.80ghz 16Gb Ram Nvidia GTX 970 4Gb SSD128gb + HDD 1TB
CAB: E8400 3.15Ghz 4Gb Ram AMD HD5450 512MB SSD 64Gb+HDD 320GB Immagine


Rispondi