From 52108bb8777fd6afbf3dd0bdbafb224ce2d3c772 Mon Sep 17 00:00:00 2001 From: Toni Wilen Date: Sat, 31 Oct 2020 13:03:13 +0200 Subject: [PATCH] CD insert/eject shortcut. --- aks.def | 2 ++ inputdevice.cpp | 32 ++++++++++++++++++++++++-------- inputevents.def | 2 ++ od-win32/keyboard_win32.cpp | 4 ++-- 4 files changed, 30 insertions(+), 10 deletions(-) diff --git a/aks.def b/aks.def index de9af4ac..93eca019 100644 --- a/aks.def +++ b/aks.def @@ -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) diff --git a/inputdevice.cpp b/inputdevice.cpp index 04d239b1..8124750d 100644 --- a/inputdevice.cpp +++ b/inputdevice.cpp @@ -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; diff --git a/inputevents.def b/inputevents.def index f6428ad3..79a41b3f 100644 --- a/inputevents.def +++ b/inputevents.def @@ -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) diff --git a/od-win32/keyboard_win32.cpp b/od-win32/keyboard_win32.cpp index 627bd4a6..8fed6dc5 100644 --- a/od-win32/keyboard_win32.cpp +++ b/od-win32/keyboard_win32.cpp @@ -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 }, -- 2.47.3