]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
CD insert/eject shortcut.
authorToni Wilen <twilen@winuae.net>
Sat, 31 Oct 2020 11:03:13 +0000 (13:03 +0200)
committerToni Wilen <twilen@winuae.net>
Sat, 31 Oct 2020 11:03:13 +0000 (13:03 +0200)
aks.def
inputdevice.cpp
inputevents.def
od-win32/keyboard_win32.cpp

diff --git a/aks.def b/aks.def
index de9af4ac77d4d448461d2a6ba10af7d34e5d2c8c..93eca0191bd4ac1c3932692a85fe29f7b14829d9 100644 (file)
--- 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)
index 04d239b18a5d7aa21a790ecdfae28c810abc24db..8124750dfe67c651da65c88d2c0018e474e6f69a 100644 (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;
index f6428ad3b82108895bec0c3691f7bcc1333bc492..79a41b3fdeb2d140202a2f50fc15850bcd839f66 100644 (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)
index 627bd4a6db7c2ca7a36743aac0d1b7b03e5c36a2..8fed6dc55ddd89896e184f8fdceb61b56ec143f8 100644 (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 },