dopo due giorni con autoit devo arrendermi... l'eseguibile del post precedente creato da autoit in effetti va d'accordo perfettamente con AM, peccato che il programma non permetta di usare hotkeys (parlo della funzione "hotkeyset") come ctrl e alt (fondamentali in mame in quanto tasti fire del player1), in alternativa l'uso di altri sistemi come le funzioni "_ispressed" e "send" (che permettono di usare i suddetti tasti) porta a ulteriori problemi dovuti ad effetti ghosting (solo sul tasto control... che fortuna..), e anche una volta risolti questi salta fuori che usando questo sistema poi non si riesce a lanciare il dosbox.. insomma un gran mal di testa
oltretutto gli script di ahk sono molto più semplici, peccato solo per questa strana interazione tra AM,Dosbox e AHK che causa questo ritardo all'uscita (piccola cosa, per carità, è che sono "pignolo" io
![[gelato.gif] [gelato.gif]](./images/smilies/gelato.gif)
)
in ogni modo ecco lo script per modificare al volo un certo tasto:
Codice: Seleziona tutto
#include <Misc.au3>
While 1
Sleep (50)
If _IsPressed("A2") Then
Send("{ENTER}")
; Wait until key is released.
While _IsPressed("A2")
Sleep(50)
WEnd
EndIf
WEnd
RunWait ("C:\Program Files (x86)\DOSBox-0.74\DOSBox.exe C:\xenon2\xenon2.exe")
il comando _ispressed richiede l'uso dei codici esadecimali, nell'esempio A2 corrisponde al LEFT CONTROL , che viene mappato su ENTER.. pensare che in AHK basta scrivere LCTRL::ENTER per ottenere lo stesso risultato
![[on_eek.gif] [on_eek.gif]](./images/smilies/icon_cheesygrin.gif)
il vero problema comunque è che come detto sopra lo script parte, riassegna i tasti ma poi non esegue il dosbox, resta semplicemente attivo nel system tray di windows...
so che si crea un loop, ma non posso mettere il runwait all'interno del medesimo altrimenti si incasina tutto (ora mi rammarico di aver sempre dormito durante le lezioni di C++ a scuola!!
![[rofl.gif] [rofl.gif]](./images/smilies/rofl.gif)
)