CD insert/eject shortcut.

This commit is contained in:
Toni Wilen 2020-10-31 13:03:13 +02:00
parent 00f186b9ee
commit 52108bb877
4 changed files with 30 additions and 10 deletions

View File

@ -7,10 +7,12 @@ AKS(FLOPPY0)
AKS(FLOPPY1)
AKS(FLOPPY2)
AKS(FLOPPY3)
AKS(CD0)
AKS(EFLOPPY0)
AKS(EFLOPPY1)
AKS(EFLOPPY2)
AKS(EFLOPPY3)
AKS(ECD0)
AKS(TOGGLEDEFAULTSCREEN)
AKS(TOGGLEWINDOWEDFULLSCREEN)
AKS(TOGGLEFULLWINDOWFULLSCREEN)

View File

@ -4352,8 +4352,8 @@ static bool inputdevice_handle_inputcode2(int monid, int code, int state, const
#endif
case AKS_FLOPPY0:
if (s) {
_tcsncpy(changed_prefs.floppyslots[0].df, s, MAX_PATH);
changed_prefs.floppyslots[0].df[MAX_PATH - 1] = 0;
_tcsncpy(changed_prefs.floppyslots[0].df, s, MAX_DPATH);
changed_prefs.floppyslots[0].df[MAX_DPATH - 1] = 0;
set_config_changed();
} else {
gui_display (0);
@ -4362,8 +4362,8 @@ static bool inputdevice_handle_inputcode2(int monid, int code, int state, const
break;
case AKS_FLOPPY1:
if (s) {
_tcsncpy(changed_prefs.floppyslots[1].df, s, MAX_PATH);
changed_prefs.floppyslots[1].df[MAX_PATH - 1] = 0;
_tcsncpy(changed_prefs.floppyslots[1].df, s, MAX_DPATH);
changed_prefs.floppyslots[1].df[MAX_DPATH - 1] = 0;
set_config_changed();
} else {
gui_display (1);
@ -4372,8 +4372,8 @@ static bool inputdevice_handle_inputcode2(int monid, int code, int state, const
break;
case AKS_FLOPPY2:
if (s) {
_tcsncpy(changed_prefs.floppyslots[2].df, s, MAX_PATH);
changed_prefs.floppyslots[2].df[MAX_PATH - 1] = 0;
_tcsncpy(changed_prefs.floppyslots[2].df, s, MAX_DPATH);
changed_prefs.floppyslots[2].df[MAX_DPATH - 1] = 0;
set_config_changed();
} else {
gui_display (2);
@ -4382,8 +4382,8 @@ static bool inputdevice_handle_inputcode2(int monid, int code, int state, const
break;
case AKS_FLOPPY3:
if (s) {
_tcsncpy(changed_prefs.floppyslots[3].df, s, MAX_PATH);
changed_prefs.floppyslots[3].df[MAX_PATH - 1] = 0;
_tcsncpy(changed_prefs.floppyslots[3].df, s, MAX_DPATH);
changed_prefs.floppyslots[3].df[MAX_DPATH - 1] = 0;
set_config_changed();
} else {
gui_display (3);
@ -4402,6 +4402,22 @@ static bool inputdevice_handle_inputcode2(int monid, int code, int state, const
case AKS_EFLOPPY3:
disk_eject (3);
break;
case AKS_CD0:
if (s) {
_tcsncpy(changed_prefs.cdslots[0].name, s, MAX_DPATH);
changed_prefs.cdslots[0].name[MAX_DPATH - 1] = 0;
changed_prefs.cdslots[0].inuse = true;
set_config_changed();
}
else {
gui_display(6);
setsystime();
}
break;
case AKS_ECD0:
changed_prefs.cdslots[0].name[0] = 0;
changed_prefs.cdslots[0].inuse = false;
break;
case AKS_IRQ7:
NMI_delayed ();
break;

View File

@ -341,10 +341,12 @@ DEFEVENT(SPC_FLOPPY0,_T("Change disk in DF0:"),AM_K,0,0,AKS_FLOPPY0)
DEFEVENT(SPC_FLOPPY1,_T("Change disk in DF1:"),AM_K,0,0,AKS_FLOPPY1)
DEFEVENT(SPC_FLOPPY2,_T("Change disk in DF2:"),AM_K,0,0,AKS_FLOPPY2)
DEFEVENT(SPC_FLOPPY3,_T("Change disk in DF3:"),AM_K,0,0,AKS_FLOPPY3)
DEFEVENT(SPC_CD0,_T("Change CD"),AM_K,0,0,AKS_CD0)
DEFEVENT(SPC_EFLOPPY0,_T("Eject disk in DF0:"),AM_K,0,0,AKS_EFLOPPY0)
DEFEVENT(SPC_EFLOPPY1,_T("Eject disk in DF1:"),AM_K,0,0,AKS_EFLOPPY1)
DEFEVENT(SPC_EFLOPPY2,_T("Eject disk in DF2:"),AM_K,0,0,AKS_EFLOPPY2)
DEFEVENT(SPC_EFLOPPY3,_T("Eject disk in DF3:"),AM_K,0,0,AKS_EFLOPPY3)
DEFEVENT(SPC_ECD0,_T("Eject CD"),AM_K,0,0,AKS_ECD0)
DEFEVENT(SPC_PAUSE,_T("Pause emulation"),AM_KT,0,0,AKS_PAUSE)
DEFEVENT(SPC_SINGLESTEP,_T("Single step"),AM_KT,0,0,AKS_SINGLESTEP)
DEFEVENT(SPC_WARP,_T("Warp mode"),AM_KT,0,0,AKS_WARP)

View File

@ -57,8 +57,8 @@ static struct uae_input_device_kbr_default keytrans_amiga[] = {
{ DIK_F3, INPUTEVENT_KEY_F3, 0, INPUTEVENT_SPC_FLOPPY2, ID_FLAG_QUALIFIER_SPECIAL, INPUTEVENT_SPC_EFLOPPY2, ID_FLAG_QUALIFIER_SPECIAL | ID_FLAG_QUALIFIER_SHIFT },
{ DIK_F4, INPUTEVENT_KEY_F4, 0, INPUTEVENT_SPC_FLOPPY3, ID_FLAG_QUALIFIER_SPECIAL, INPUTEVENT_SPC_EFLOPPY3, ID_FLAG_QUALIFIER_SPECIAL | ID_FLAG_QUALIFIER_SHIFT },
{ DIK_F5, INPUTEVENT_KEY_F5, 0, INPUTEVENT_SPC_STATERESTOREDIALOG, ID_FLAG_QUALIFIER_SPECIAL, INPUTEVENT_SPC_STATESAVEDIALOG, ID_FLAG_QUALIFIER_SPECIAL | ID_FLAG_QUALIFIER_SHIFT },
{ DIK_F6, INPUTEVENT_KEY_F6 },
{ DIK_F5, INPUTEVENT_KEY_F5, 0, INPUTEVENT_SPC_CD0, ID_FLAG_QUALIFIER_SPECIAL, INPUTEVENT_SPC_ECD0, ID_FLAG_QUALIFIER_SPECIAL | ID_FLAG_QUALIFIER_SHIFT },
{ DIK_F6, INPUTEVENT_KEY_F6, 0, INPUTEVENT_SPC_STATERESTOREDIALOG, ID_FLAG_QUALIFIER_SPECIAL, INPUTEVENT_SPC_STATESAVEDIALOG, ID_FLAG_QUALIFIER_SPECIAL | ID_FLAG_QUALIFIER_SHIFT },
{ DIK_F7, INPUTEVENT_KEY_F7 },
{ DIK_F8, INPUTEVENT_KEY_F8 },
{ DIK_F9, INPUTEVENT_KEY_F9 },