Scripting with Autohotkey.
First, the script for the custom screen. Comments after the ;
#IfWinActive MaLa ahk_class TfrmMain ; checks that MaLa main menu is active
~1Joy2:: ; the joy button that will show the screen
IniRead, OutputVar, d:\mala\selection.ini, mame, Gamelist ; depending on the screen orientation (reading selection.ini)...
if OutputVar=verts
{
SoundPlay, d:\mala\2.wav ; plays the same sound I have to other menus
run, d:\mala\CPV2.exe -b=d:\mala\mameuiv.jpg ; and shows the custom screen (this one is the vertical screen)
return
}
else
{
SoundPlay, d:\mala\2.wav
run, d:\mala\CPV2.exe -b=d:\mala\mameuih.jpg
return
}
#IfWinActive CPV2 Viewer ahk_class ThunderRT6FormDC ; when the custom screen is displayed...
~1Joy2:: ; the same joy button sends a keystroke to cancel the viewer
SoundPlay, d:\mala\2.wav
---
and now the quit menu:
#IfWinActive ahk_class TfrmExit ; checks that the active screen is MaLa quit dialogue
~1joy4:: ; joy button assigned to the quit function
send, {Enter}
sleep 3000 ; pause for not showing garbage on screen
run, d:\mala\explorer-pointers.exe ; that's another script, which runs explorer.exe, bringing the desktop/windows environment, apart from other functions (pointers swap, boot screen rotation, etc). You can change this line with run,%windir%\explorer.exe You are supposed to be running MaLa from userinit instead of explorer.exe
return
#IfWinActive ahk_class TfrmExit
~1joy1:: ; button for shutting down
send, {Enter}
sleep 3000
run, d:\mala\qsd.exe -s ; program for silently shutting down your computer
exitapp
#IfWinActive ahk_class TfrmExit
~1joy8:: ; button for canceling the quit dialogue
send, {Esc}
return
send, 0
return