/* joystick/mouse port 1 */

DEFEVENT(JOYPORT1_START,_T("[Joystick port 1]"), AM_INFO, 0,1,0)

DEFEVENT(MOUSE1_FIRST, _T(""), AM_DUMMY, 0,0,0)

DEFEVENT2(MOUSE1_HORIZ,_T("Mouse1 Horizontal"),_T("Horiz"),AM_MOUSE_AXIS|AM_JOY_AXIS,8,1,0,101)
DEFEVENT2(MOUSE1_VERT,_T("Mouse1 Vertical"),_T("Vert"),AM_MOUSE_AXIS|AM_JOY_AXIS,8,1,1,102)
DEFEVENT2(MOUSE1_HORIZ_INV,_T("Mouse1 Horizontal (inverted)"),_T("Horiz Inv"),AM_MOUSE_AXIS|AM_JOY_AXIS,8,1,0|IE_INVERT,103)
DEFEVENT2(MOUSE1_VERT_INV,_T("Mouse1 Vertical (inverted)"),_T("Vert Inv"),AM_MOUSE_AXIS|AM_JOY_AXIS,8,1,1|IE_INVERT,104)
DEFEVENT2(MOUSE1_UP,_T("Mouse1 Up"),_T("Up"),AM_KEY|AM_JOY_BUT|AM_MOUSE_BUT,32,1,DIR_UP,105)
DEFEVENT2(MOUSE1_DOWN,_T("Mouse1 Down"),_T("Down"),AM_KEY|AM_JOY_BUT|AM_MOUSE_BUT,32,1,DIR_DOWN,106)
DEFEVENT2(MOUSE1_LEFT,_T("Mouse1 Left"),_T("Left"),AM_KEY|AM_JOY_BUT|AM_MOUSE_BUT,64,1,DIR_LEFT,107)
DEFEVENT2(MOUSE1_RIGHT,_T("Mouse1 Right"),_T("Right"),AM_KEY|AM_JOY_BUT|AM_MOUSE_BUT,64,1,DIR_RIGHT,108)
DEFEVENT2(MOUSE1_WHEEL,_T("Mouse1 Wheel"),_T("Wheel"),AM_MOUSE_AXIS|AM_JOY_AXIS,8,1,2,109)

DEFEVENT(MOUSE1_LAST, _T(""), AM_DUMMY, 0,0,0)

DEFEVENT(MOUSE_CDTV_HORIZ,_T("CDTV Mouse Horizontal"),AM_JOY_AXIS,8,1,0|IE_CDTV)
DEFEVENT(MOUSE_CDTV_VERT,_T("CDTV Mouse Vertical"),AM_JOY_AXIS,8,1,1|IE_CDTV)
DEFEVENT(MOUSE_CDTV_UP,_T("CDTV Mouse Up"),AM_KEY|AM_JOY_BUT|AM_MOUSE_BUT,32,1,DIR_UP|IE_CDTV)
DEFEVENT(MOUSE_CDTV_DOWN,_T("CDTV Mouse Down"),AM_KEY|AM_JOY_BUT|AM_MOUSE_BUT,32,1,DIR_DOWN|IE_CDTV)
DEFEVENT(MOUSE_CDTV_LEFT,_T("CDTV Mouse Left"),AM_KEY|AM_JOY_BUT|AM_MOUSE_BUT,64,1,DIR_LEFT|IE_CDTV)
DEFEVENT(MOUSE_CDTV_RIGHT,_T("CDTV Mouse Right"),AM_KEY|AM_JOY_BUT|AM_MOUSE_BUT,64,1,DIR_RIGHT|IE_CDTV)

DEFEVENT2(JOY1_HORIZ,_T("Joy1 Horizontal"),_T("Horiz"),AM_JOY_AXIS,0,1,DIR_LEFT|DIR_RIGHT,1)
DEFEVENT2(JOY1_VERT,_T("Joy1 Vertical"),_T("Vert"),AM_JOY_AXIS,0,1,DIR_UP|DIR_DOWN,2)
DEFEVENT2(JOY1_HORIZ_POT,_T("Joy1 Horizontal (Analog)"),_T("Horiz Analog"),AM_JOY_AXIS,128,1,1,3)
DEFEVENT2(JOY1_VERT_POT,_T("Joy1 Vertical (Analog)"),_T("Vert Analog"),AM_JOY_AXIS,128,1,0,4)
DEFEVENT2(JOY1_HORIZ_POT_INV,_T("Joy1 Horizontal (Analog, inverted)"),_T("Horiz Analog Inv"),AM_JOY_AXIS,128,1,1|IE_INVERT,5)
DEFEVENT2(JOY1_VERT_POT_INV,_T("Joy1 Vertical (Analog, inverted)"),_T("Vert Analog Inv"),AM_JOY_AXIS,128,1,0|IE_INVERT,6)

DEFEVENT2(JOY1_LEFT,_T("Joy1 Left"),_T("Left"),AM_K,16,1,DIR_LEFT,7)
DEFEVENT2(JOY1_RIGHT,_T("Joy1 Right"),_T("Right"),AM_K,16,1,DIR_RIGHT,8)
DEFEVENT2(JOY1_UP,_T("Joy1 Up"),_T("UP"),AM_K,16,1,DIR_UP,9)
DEFEVENT2(JOY1_DOWN,_T("Joy1 Down"),_T("Down"),AM_K,16,1,DIR_DOWN,10)
DEFEVENT2(JOY1_LEFT_UP,_T("Joy1 Left+Up"),_T("Left+Up"),AM_K,16,1,DIR_LEFT|DIR_UP,11)
DEFEVENT2(JOY1_LEFT_DOWN,_T("Joy1 Left+Down"),_T("Left+Down"),AM_K,16,1,DIR_LEFT|DIR_DOWN,12)
DEFEVENT2(JOY1_RIGHT_UP,_T("Joy1 Right+Up"),_T("Right+Up"),AM_K,16,1,DIR_RIGHT|DIR_UP,13)
DEFEVENT2(JOY1_RIGHT_DOWN,_T("Joy1 Right+Down"),_T("Right+Down"),AM_K,16,1,DIR_RIGHT|DIR_DOWN,14)

DEFEVENT2(JOY1_FIRE_BUTTON,_T("Joy1 Fire/Mouse1 Left Button"),_T("B1"),AM_K,4,1,JOYBUTTON_1,15)
DEFEVENT2(JOY1_2ND_BUTTON,_T("Joy1 2nd Button/Mouse1 Right Button"),_T("B2"),AM_K,4,1,JOYBUTTON_2,16)
DEFEVENT2(JOY1_3RD_BUTTON,_T("Joy1 3rd Button/Mouse1 Middle Button"),_T("B3"),AM_K,4,1,JOYBUTTON_3,17)
DEFEVENT2(JOY1_CD32_PLAY,_T("Joy1 CD32 Play"),_T("CD32 PLAY"),AM_K,4,1,JOYBUTTON_CD32_PLAY,18)
DEFEVENT2(JOY1_CD32_RWD,_T("Joy1 CD32 RWD"),_T("CD32 RWD"),AM_K,4,1,JOYBUTTON_CD32_RWD,19)
DEFEVENT2(JOY1_CD32_FFW,_T("Joy1 CD32 FFW"),_T("CD32 FFW"),AM_K,4,1,JOYBUTTON_CD32_FFW,20)
DEFEVENT2(JOY1_CD32_GREEN,_T("Joy1 CD32 Green"),_T("CD32 G"),AM_K,4,1,JOYBUTTON_CD32_GREEN,21)
DEFEVENT2(JOY1_CD32_YELLOW,_T("Joy1 CD32 Yellow"),_T("CD32 Y"),AM_K,4,1,JOYBUTTON_CD32_YELLOW,22)
DEFEVENT2(JOY1_CD32_RED,_T("Joy1 CD32 Red"),_T("CD32 R"),AM_K,4,1,JOYBUTTON_CD32_RED,23)
DEFEVENT2(JOY1_CD32_BLUE,_T("Joy1 CD32 Blue"),_T("CD32 B"),AM_K,4,1,JOYBUTTON_CD32_BLUE,24)

/* joystick/mouse port 2 */

DEFEVENT(JOYPORT2_START,_T("[Joystick port 2]"), AM_INFO, 0,2,0)

DEFEVENT(MOUSE2_FIRST, _T(""), AM_DUMMY, 0,0,0)

DEFEVENT2(MOUSE2_HORIZ,_T("Mouse2 Horizontal"),_T("Horiz"),AM_MOUSE_AXIS|AM_JOY_AXIS,8,2,0,101)
DEFEVENT2(MOUSE2_VERT,_T("Mouse2 Vertical"),_T("Vert"),AM_MOUSE_AXIS|AM_JOY_AXIS,8,2,1,102)
DEFEVENT2(MOUSE2_HORIZ_INV,_T("Mouse2 Horizontal (inverted)"),_T("Horiz Inv"),AM_MOUSE_AXIS|AM_JOY_AXIS,8,2,0|IE_INVERT,103)
DEFEVENT2(MOUSE2_VERT_INV,_T("Mouse2 Vertical (inverted)"),_T("Vert Inv"),AM_MOUSE_AXIS|AM_JOY_AXIS,8,2,1|IE_INVERT,104)
DEFEVENT2(MOUSE2_UP,_T("Mouse2 Up"),_T("UP"),AM_KEY|AM_JOY_BUT|AM_MOUSE_BUT,32,2,DIR_UP,105)
DEFEVENT2(MOUSE2_DOWN,_T("Mouse2 Down"),_T("Down"),AM_KEY|AM_JOY_BUT|AM_MOUSE_BUT,32,2,DIR_DOWN,106)
DEFEVENT2(MOUSE2_LEFT,_T("Mouse2 Left"),_T("Left"),AM_KEY|AM_JOY_BUT|AM_MOUSE_BUT,64,2,DIR_LEFT,107)
DEFEVENT2(MOUSE2_RIGHT,_T("Mouse2 Right"),_T("Right"),AM_KEY|AM_JOY_BUT|AM_MOUSE_BUT,64,2,DIR_RIGHT,108)

DEFEVENT(MOUSE2_LAST, _T(""), AM_DUMMY, 0,0,0)

DEFEVENT2(JOY2_HORIZ,_T("Joy2 Horizontal"),_T("Horiz"),AM_JOY_AXIS,0,2,DIR_LEFT|DIR_RIGHT,1)
DEFEVENT2(JOY2_VERT,_T("Joy2 Vertical"),_T("Vert"),AM_JOY_AXIS,0,2,DIR_UP|DIR_DOWN,2)
DEFEVENT2(JOY2_HORIZ_POT,_T("Joy2 Horizontal (Analog)"),_T("Horiz Analog"),AM_JOY_AXIS,128,2,1,3)
DEFEVENT2(JOY2_VERT_POT,_T("Joy2 Vertical (Analog)"),_T("Vert Analog"),AM_JOY_AXIS,128,2,0,4)
DEFEVENT2(JOY2_HORIZ_POT_INV,_T("Joy2 Horizontal (Analog, inverted)"),_T("Horiz Analog Inv"),AM_JOY_AXIS,128,2,1|IE_INVERT,5)
DEFEVENT2(JOY2_VERT_POT_INV,_T("Joy2 Vertical (Analog, inverted)"),_T("Vert Analog Inv"),AM_JOY_AXIS,128,2,0|IE_INVERT,6)

DEFEVENT2(JOY2_LEFT,_T("Joy2 Left"),_T("Left"),AM_K,16,2,DIR_LEFT,7)
DEFEVENT2(JOY2_RIGHT,_T("Joy2 Right"),_T("Right"),AM_K,16,2,DIR_RIGHT,8)
DEFEVENT2(JOY2_UP,_T("Joy2 Up"),_T("Up"),AM_K,16,2,DIR_UP,9)
DEFEVENT2(JOY2_DOWN,_T("Joy2 Down"),_T("Down"),AM_K,16,2,DIR_DOWN,10)
DEFEVENT2(JOY2_LEFT_UP,_T("Joy2 Left+Up"),_T("Left+Up"),AM_K,16,2,DIR_LEFT|DIR_UP,11)
DEFEVENT2(JOY2_LEFT_DOWN,_T("Joy2 Left+Down"),_T("Left+Down"),AM_K,16,2,DIR_LEFT|DIR_DOWN,12)
DEFEVENT2(JOY2_RIGHT_UP,_T("Joy2 Right+Up"),_T("Right+Up"),AM_K,16,2,DIR_RIGHT|DIR_UP,13)
DEFEVENT2(JOY2_RIGHT_DOWN,_T("Joy2 Right+Down"),_T("J Right+Down"),AM_K,16,2,DIR_RIGHT|DIR_DOWN,14)

DEFEVENT2(JOY2_FIRE_BUTTON,_T("Joy2 Fire/Mouse2 Left Button"),_T("B1"),AM_K,4,2,JOYBUTTON_1,15)
DEFEVENT2(JOY2_2ND_BUTTON,_T("Joy2 2nd Button/Mouse2 Right Button"),_T("B2"),AM_K,4,2,JOYBUTTON_2,16)
DEFEVENT2(JOY2_3RD_BUTTON,_T("Joy2 3rd Button/Mouse2 Middle Button"),_T("B3"),AM_K,4,2,JOYBUTTON_3,17)
DEFEVENT2(JOY2_CD32_PLAY,_T("Joy2 CD32 Play"),_T("CD32 PLAY"),AM_K,4,2,JOYBUTTON_CD32_PLAY,18)
DEFEVENT2(JOY2_CD32_RWD,_T("Joy2 CD32 RWD"),_T("CD32 RWD"),AM_K,4,2,JOYBUTTON_CD32_RWD,19)
DEFEVENT2(JOY2_CD32_FFW,_T("Joy2 CD32 FFW"),_T("CD32 FFW"),AM_K,4,2,JOYBUTTON_CD32_FFW,20)
DEFEVENT2(JOY2_CD32_GREEN,_T("Joy2 CD32 Green"),_T("CD32 G"),AM_K,4,2,JOYBUTTON_CD32_GREEN,21)
DEFEVENT2(JOY2_CD32_YELLOW,_T("Joy2 CD32 Yellow"),_T("CD32 Y"),AM_K,4,2,JOYBUTTON_CD32_YELLOW,22)
DEFEVENT2(JOY2_CD32_RED,_T("Joy2 CD32 Red"),_T("CD32 R"),AM_K,4,2,JOYBUTTON_CD32_RED,23)
DEFEVENT2(JOY2_CD32_BLUE,_T("Joy2 CD32 Blue"),_T("CD32 B"),AM_K,4,2,JOYBUTTON_CD32_BLUE,24)

DEFEVENT(LIGHTPEN_FIRST, _T(""), AM_DUMMY, 0,0,0)

DEFEVENT(LIGHTPEN_HORIZ,_T("Lightpen Horizontal"),AM_MOUSE_AXIS|AM_JOY_AXIS,0,5,0)
DEFEVENT(LIGHTPEN_VERT,_T("Lightpen Vertical"),AM_MOUSE_AXIS|AM_JOY_AXIS,0,5,1)
DEFEVENT(LIGHTPEN_LEFT,_T("Lightpen Left"),AM_K,1,5,DIR_LEFT)
DEFEVENT(LIGHTPEN_RIGHT,_T("Lightpen Right"),AM_K,1,5,DIR_RIGHT)
DEFEVENT(LIGHTPEN_UP,_T("Lightpen Up"),AM_K,1,5,DIR_UP)
DEFEVENT(LIGHTPEN_DOWN,_T("Lightpen Down"),AM_K,1,5,DIR_DOWN)

DEFEVENT(LIGHTPEN_LAST, _T(""), AM_DUMMY, 0,0,0)

/* parallel port joystick adapter */

DEFEVENT(PAR_JOY1_START, _T("[Parallel port joystick adapter]"), AM_INFO, 0,3,0)

DEFEVENT2(PAR_JOY1_HORIZ,_T("Parallel Joy1 Horizontal"),_T("Horiz"),AM_JOY_AXIS,0,3,DIR_LEFT|DIR_RIGHT,1)
DEFEVENT2(PAR_JOY1_VERT,_T("Parallel Joy1 Vertical"),_T("Vert"),AM_JOY_AXIS,0,3,DIR_UP|DIR_DOWN,2)
DEFEVENT2(PAR_JOY1_LEFT,_T("Parallel Joy1 Left"),_T("Left"),AM_K,16,3,DIR_LEFT,7)
DEFEVENT2(PAR_JOY1_RIGHT,_T("Parallel Joy1 Right"),_T("Right"),AM_K,16,3,DIR_RIGHT,8)
DEFEVENT2(PAR_JOY1_UP,_T("Parallel Joy1 Up"),_T("Up"),AM_K,16,3,DIR_UP,9)
DEFEVENT2(PAR_JOY1_DOWN,_T("Parallel Joy1 Down"),_T("Down"),AM_K,16,3,DIR_DOWN,10)
DEFEVENT2(PAR_JOY1_LEFT_UP,_T("Parallel Joy1 Left+Up"),_T("Left+Up"),AM_K,16,3,DIR_LEFT|DIR_UP,11)
DEFEVENT2(PAR_JOY1_LEFT_DOWN,_T("Parallel Joy1 Left+Down"),_T("Left+Down"),AM_K,16,3,DIR_LEFT|DIR_DOWN,12)
DEFEVENT2(PAR_JOY1_RIGHT_UP,_T("Parallel Joy1 Right+Up"),_T("Right+Up"),AM_K,16,3,DIR_RIGHT|DIR_UP,13)
DEFEVENT2(PAR_JOY1_RIGHT_DOWN,_T("Parallel Joy1 Right+Down"),_T("Right+Down"),AM_K,16,3,DIR_RIGHT|DIR_DOWN,14)
DEFEVENT2(PAR_JOY1_FIRE_BUTTON,_T("Parallel Joy1 Fire Button"),_T("B1"),AM_K,4,3,JOYBUTTON_1,15)
DEFEVENT2(PAR_JOY1_2ND_BUTTON,_T("Parallel Joy1 Spare/2nd Button"),_T("B2"),AM_K,4,3,JOYBUTTON_2,16)

DEFEVENT(PAR_JOY2_START, _T(""), AM_DUMMY, 0,4,0)

DEFEVENT2(PAR_JOY2_HORIZ,_T("Parallel Joy2 Horizontal"),_T("Horiz"),AM_JOY_AXIS,0,4,DIR_LEFT|DIR_RIGHT,1)
DEFEVENT2(PAR_JOY2_VERT,_T("Parallel Joy2 Vertical"),_T("Vert"),AM_JOY_AXIS,0,4,DIR_UP|DIR_DOWN,2)
DEFEVENT2(PAR_JOY2_LEFT,_T("Parallel Joy2 Left"),_T("Left"),AM_K,16,4,DIR_LEFT,7)
DEFEVENT2(PAR_JOY2_RIGHT,_T("Parallel Joy2 Right"),_T("Right"),AM_K,16,4,DIR_RIGHT,8)
DEFEVENT2(PAR_JOY2_UP,_T("Parallel Joy2 Up"),_T("Up"),AM_K,16,4,DIR_UP,9)
DEFEVENT2(PAR_JOY2_DOWN,_T("Parallel Joy2 Down"),_T("Down"),AM_K,16,4,DIR_DOWN,10)
DEFEVENT2(PAR_JOY2_LEFT_UP,_T("Parallel Joy2 Left+Up"),_T("Left+Up"),AM_K,16,4,DIR_LEFT|DIR_UP,11)
DEFEVENT2(PAR_JOY2_LEFT_DOWN,_T("Parallel Joy2 Left+Down"),_T("Left+Down"),AM_K,16,4,DIR_LEFT|DIR_DOWN,12)
DEFEVENT2(PAR_JOY2_RIGHT_UP,_T("Parallel Joy2 Right+Up"),_T("Right+Up"),AM_K,16,4,DIR_RIGHT|DIR_UP,13)
DEFEVENT2(PAR_JOY2_RIGHT_DOWN,_T("Parallel Joy2 Right+Down"),_T("Right+Down"),AM_K,16,4,DIR_RIGHT|DIR_DOWN,14)
DEFEVENT2(PAR_JOY2_FIRE_BUTTON,_T("Parallel Joy2 Fire Button"),_T("B1"),AM_K,4,4,JOYBUTTON_1,15)
DEFEVENT2(PAR_JOY2_2ND_BUTTON,_T("Parallel Joy2 Spare/2nd Button"),_T("B2"),AM_K,4,4,JOYBUTTON_2,16)

DEFEVENT(PAR_JOY_END, _T(""), AM_DUMMY, 0,0,0)

/* qualifiers */

DEFEVENT(SPC_QUALIFIER_START,_T("[Qualifiers]"),AM_INFO, 0,0,0)

DEFEVENT(SPC_QUALIFIER1,_T("Qualifier 1"),AM_KK,0,0,AKS_QUALIFIER1)
DEFEVENT(SPC_QUALIFIER2,_T("Qualifier 2"),AM_KK,0,0,AKS_QUALIFIER2)
DEFEVENT(SPC_QUALIFIER3,_T("Qualifier 3"),AM_KK,0,0,AKS_QUALIFIER3)
DEFEVENT(SPC_QUALIFIER4,_T("Qualifier 4"),AM_KK,0,0,AKS_QUALIFIER4)
DEFEVENT(SPC_QUALIFIER5,_T("Qualifier 5"),AM_KK,0,0,AKS_QUALIFIER5)
DEFEVENT(SPC_QUALIFIER6,_T("Qualifier 6"),AM_KK,0,0,AKS_QUALIFIER6)
DEFEVENT(SPC_QUALIFIER7,_T("Qualifier 7"),AM_KK,0,0,AKS_QUALIFIER7)
DEFEVENT(SPC_QUALIFIER8,_T("Qualifier 8"),AM_KK,0,0,AKS_QUALIFIER8)
DEFEVENT(SPC_QUALIFIER_SPECIAL,_T("Qualifier Special (END)"),AM_KK,0,0,AKS_QUALIFIER_SPECIAL)
DEFEVENT(SPC_QUALIFIER_SHIFT,_T("Qualifier Shift"),AM_KK,0,0,AKS_QUALIFIER_SHIFT)
DEFEVENT(SPC_QUALIFIER_CONTROL,_T("Qualifier Control"),AM_KK,0,0,AKS_QUALIFIER_CONTROL)
DEFEVENT(SPC_QUALIFIER_ALT,_T("Qualifier Alt"),AM_KK,0,0,AKS_QUALIFIER_ALT)
DEFEVENT(SPC_QUALIFIER_WIN,_T("Qualifier Win"),AM_KK,0,0,AKS_QUALIFIER_WIN)

DEFEVENT(SPC_QUALIFIER_END, _T(""), AM_DUMMY, 0,0,0)

/* keys */

DEFEVENT(KEY_START,_T("[Keyboard]"),AM_INFO, 0,0,0)

DEFEVENT(KEY_F1,_T("F1"),AM_K,0,0,AK_F1)
DEFEVENT(KEY_F2,_T("F2"),AM_K,0,0,AK_F2)
DEFEVENT(KEY_F3,_T("F3"),AM_K,0,0,AK_F3)
DEFEVENT(KEY_F4,_T("F4"),AM_K,0,0,AK_F4)
DEFEVENT(KEY_F5,_T("F5"),AM_K,0,0,AK_F5)
DEFEVENT(KEY_F6,_T("F6"),AM_K,0,0,AK_F6)
DEFEVENT(KEY_F7,_T("F7"),AM_K,0,0,AK_F7)
DEFEVENT(KEY_F8,_T("F8"),AM_K,0,0,AK_F8)
DEFEVENT(KEY_F9,_T("F9"),AM_K,0,0,AK_F9)
DEFEVENT(KEY_F10,_T("F10"),AM_K,0,0,AK_F10)

/* "special" keys */

DEFEVENT(KEY_ESC,_T("ESC"),AM_K,0,0,AK_ESC)
DEFEVENT(KEY_TAB,_T("Tab"),AM_K,0,0,AK_TAB)
DEFEVENT(KEY_CTRL,_T("CTRL"),AM_K,0,0,AK_CTRL)
DEFEVENT(KEY_CAPS_LOCK,_T("Caps Lock"),AM_K,0,0,AK_CAPSLOCK)
DEFEVENT(KEY_SHIFT_LEFT,_T("Left Shift"),AM_K,0,0,AK_LSH)
DEFEVENT(KEY_ALT_LEFT,_T("Left Alt"),AM_K,0,0,AK_LALT)
DEFEVENT(KEY_AMIGA_LEFT,_T("Left Amiga"),AM_K,0,0,AK_LAMI)
DEFEVENT(KEY_AMIGA_RIGHT,_T("Right Amiga"),AM_K,0,0,AK_RAMI)
DEFEVENT(KEY_ALT_RIGHT,_T("Right Alt"),AM_K,0,0,AK_RALT)
DEFEVENT(KEY_SHIFT_RIGHT,_T("Right Shift"),AM_K,0,0,AK_RSH)
DEFEVENT(KEY_SPACE,_T("Space"),AM_K,0,0,AK_SPC)
DEFEVENT(KEY_CURSOR_UP,_T("Cursor Up"),AM_K,0,0,AK_UP)
DEFEVENT(KEY_CURSOR_DOWN,_T("Cursor Down"),AM_K,0,0,AK_DN)
DEFEVENT(KEY_CURSOR_LEFT,_T("Cursor Left"),AM_K,0,0,AK_LF)
DEFEVENT(KEY_CURSOR_RIGHT,_T("Cursor Right"),AM_K,0,0,AK_RT)
DEFEVENT(KEY_HELP,_T("Help"),AM_K,0,0,AK_HELP)
DEFEVENT(KEY_DEL,_T("Del"),AM_K,0,0,AK_DEL)
DEFEVENT(KEY_BACKSPACE,_T("Backspace"),AM_K,0,0,AK_BS)
DEFEVENT(KEY_RETURN,_T("Return"),AM_K,0,0,AK_RET)

DEFEVENT(KEY_A,_T("A"),AM_K,0,0,AK_A)
DEFEVENT(KEY_B,_T("B"),AM_K,0,0,AK_B)
DEFEVENT(KEY_C,_T("C"),AM_K,0,0,AK_C)
DEFEVENT(KEY_D,_T("D"),AM_K,0,0,AK_D)
DEFEVENT(KEY_E,_T("E"),AM_K,0,0,AK_E)
DEFEVENT(KEY_F,_T("F"),AM_K,0,0,AK_F)
DEFEVENT(KEY_G,_T("G"),AM_K,0,0,AK_G)
DEFEVENT(KEY_H,_T("H"),AM_K,0,0,AK_H)
DEFEVENT(KEY_I,_T("I"),AM_K,0,0,AK_I)
DEFEVENT(KEY_J,_T("J"),AM_K,0,0,AK_J)
DEFEVENT(KEY_K,_T("K"),AM_K,0,0,AK_K)
DEFEVENT(KEY_L,_T("L"),AM_K,0,0,AK_L)
DEFEVENT(KEY_M,_T("M"),AM_K,0,0,AK_M)
DEFEVENT(KEY_N,_T("N"),AM_K,0,0,AK_N)
DEFEVENT(KEY_O,_T("O"),AM_K,0,0,AK_O)
DEFEVENT(KEY_P,_T("P"),AM_K,0,0,AK_P)
DEFEVENT(KEY_Q,_T("Q"),AM_K,0,0,AK_Q)
DEFEVENT(KEY_R,_T("R"),AM_K,0,0,AK_R)
DEFEVENT(KEY_S,_T("S"),AM_K,0,0,AK_S)
DEFEVENT(KEY_T,_T("T"),AM_K,0,0,AK_T)
DEFEVENT(KEY_U,_T("U"),AM_K,0,0,AK_U)
DEFEVENT(KEY_V,_T("V"),AM_K,0,0,AK_V)
DEFEVENT(KEY_W,_T("W"),AM_K,0,0,AK_W)
DEFEVENT(KEY_X,_T("X"),AM_K,0,0,AK_X)
DEFEVENT(KEY_Y,_T("Y"),AM_K,0,0,AK_Y)
DEFEVENT(KEY_Z,_T("Z"),AM_K,0,0,AK_Z)

/* numpad */

DEFEVENT(KEY_ENTER,_T("Numpad Enter"),AM_K,0,0,AK_ENT)
DEFEVENT(KEY_NP_0,_T("Numpad 0"),AM_K,0,0,AK_NP0)
DEFEVENT(KEY_NP_1,_T("Numpad 1"),AM_K,0,0,AK_NP1)
DEFEVENT(KEY_NP_2,_T("Numpad 2"),AM_K,0,0,AK_NP2)
DEFEVENT(KEY_NP_3,_T("Numpad 3"),AM_K,0,0,AK_NP3)
DEFEVENT(KEY_NP_4,_T("Numpad 4"),AM_K,0,0,AK_NP4)
DEFEVENT(KEY_NP_5,_T("Numpad 5"),AM_K,0,0,AK_NP5)
DEFEVENT(KEY_NP_6,_T("Numpad 6"),AM_K,0,0,AK_NP6)
DEFEVENT(KEY_NP_7,_T("Numpad 7"),AM_K,0,0,AK_NP7)
DEFEVENT(KEY_NP_8,_T("Numpad 8"),AM_K,0,0,AK_NP8)
DEFEVENT(KEY_NP_9,_T("Numpad 9"),AM_K,0,0,AK_NP9)
DEFEVENT(KEY_NP_PERIOD,_T("Numpad Period"),AM_K,0,0,AK_NPDEL)
DEFEVENT(KEY_NP_ADD,_T("Numpad Plus"),AM_K,0,0,AK_NPADD)
DEFEVENT(KEY_NP_SUB,_T("Numpad Minus"),AM_K,0,0,AK_NPSUB)
DEFEVENT(KEY_NP_MUL,_T("Numpad Multiply"),AM_K,0,0,AK_NPMUL)
DEFEVENT(KEY_NP_DIV,_T("Numpad Divide"),AM_K,0,0,AK_NPDIV)
DEFEVENT(KEY_NP_LPAREN,_T("Numpad Left Parenthesis"),AM_K,0,0,AK_NPLPAREN)
DEFEVENT(KEY_NP_RPAREN,_T("Numpad Right Parenthesis"),AM_K,0,0,AK_NPRPAREN)
DEFEVENT(KEY_2B,_T("Keycode 0x2b"),AM_K,0,0,0x2b)
DEFEVENT(KEY_30,_T("Keycode 0x30"),AM_K,0,0,0x30)

DEFEVENT(KEY_BACKQUOTE,_T("Back Quote"),AM_K,0,0,AK_BACKQUOTE)
DEFEVENT(KEY_1,_T("1"),AM_K,0,0,AK_1)
DEFEVENT(KEY_2,_T("2"),AM_K,0,0,AK_2)
DEFEVENT(KEY_3,_T("3"),AM_K,0,0,AK_3)
DEFEVENT(KEY_4,_T("4"),AM_K,0,0,AK_4)
DEFEVENT(KEY_5,_T("5"),AM_K,0,0,AK_5)
DEFEVENT(KEY_6,_T("6"),AM_K,0,0,AK_6)
DEFEVENT(KEY_7,_T("7"),AM_K,0,0,AK_7)
DEFEVENT(KEY_8,_T("8"),AM_K,0,0,AK_8)
DEFEVENT(KEY_9,_T("9"),AM_K,0,0,AK_9)
DEFEVENT(KEY_0,_T("0"),AM_K,0,0,AK_0)
DEFEVENT(KEY_SUB,_T("Minus"),AM_K,0,0,AK_MINUS)
DEFEVENT(KEY_EQUALS,_T("Equals"),AM_K,0,0,AK_EQUAL)
DEFEVENT(KEY_BACKSLASH,_T("Backslash"),AM_K,0,0,AK_BACKSLASH)

DEFEVENT(KEY_LEFTBRACKET,_T("Left Bracket"),AM_K,0,0,AK_LBRACKET)
DEFEVENT(KEY_RIGHTBRACKET,_T("Right Bracket"),AM_K,0,0,AK_RBRACKET)
DEFEVENT(KEY_SEMICOLON,_T("Semicolon"),AM_K,0,0,AK_SEMICOLON)
DEFEVENT(KEY_SINGLEQUOTE,_T("Single Quote"),AM_K,0,0,AK_QUOTE)
DEFEVENT(KEY_COMMA,_T("Comma"),AM_K,0,0,AK_COMMA)
DEFEVENT(KEY_PERIOD,_T("Period"),AM_K,0,0,AK_PERIOD)
DEFEVENT(KEY_DIV,_T("Slash"),AM_K,0,0,AK_SLASH)

// DEFEVENT(KEY_,_T(""),AM_K,0,0,0x)

/* mouse wheel "keys" */

DEFEVENT(MOUSEWHEEL_DOWN,_T("Mouse Wheel Down"),AM_K,0,0,0x7a)
DEFEVENT(MOUSEWHEEL_UP,_T("Mouse Wheel Up"),AM_K,0,0,0x7b)

/* misc */

DEFEVENT(KEY_CDTV_STOP,_T("CDTV Stop"),AM_K,0,0,0x72)
DEFEVENT(KEY_CDTV_PLAYPAUSE,_T("CDTV Play/Pause"),AM_K,0,0,0x73)
DEFEVENT(KEY_CDTV_PREV,_T("CDTV Previous"),AM_K,0,0,0x74)
DEFEVENT(KEY_CDTV_NEXT,_T("CDTV Next"),AM_K,0,0,0x75)
DEFEVENT(KEY_CDTV_REW,_T("CDTV Rewind"),AM_K,0,0,0x76)
DEFEVENT(KEY_CDTV_FF,_T("CDTV Fast Forward"),AM_K,0,0,0x77)

DEFEVENT(KEY_0E,_T("Keycode 0x0E"),AM_K,0,0,0x0e)

DEFEVENT(KEY_1C,_T("Keycode 0x1C"),AM_K,0,0,0x1c)

DEFEVENT(KEY_2C,_T("Keycode 0x2C"),AM_K,0,0,0x2C)

DEFEVENT(KEY_3B,_T("Keycode 0x3B"),AM_K,0,0,0x3b)

DEFEVENT(KEY_68,_T("Keycode 0x68"),AM_K,0,0,0x68)
DEFEVENT(KEY_69,_T("Keycode 0x69"),AM_K,0,0,0x69)
DEFEVENT(KEY_6A,_T("Keycode 0x6A"),AM_K,0,0,0x6a)
DEFEVENT(KEY_6C,_T("Keycode 0x6C"),AM_K,0,0,0x6c)

DEFEVENT(KEY_INSERT,_T("Insert (PC)"),AM_K,0,0,0x47)
DEFEVENT(KEY_PAGEUP,_T("Page Up (PC)"),AM_K,0,0,0x48)
DEFEVENT(KEY_PAGEDOWN,_T("Page Down (PC)"),AM_K,0,0,0x49)
DEFEVENT(KEY_F11,_T("F11 (PC)"),AM_K,0,0,0x4b)
DEFEVENT(KEY_APPS,_T("Apps (PC)"),AM_K,0,0,0x6b)
DEFEVENT(KEY_SYSRQ,_T("PrtScr/SysRq (PC)"),AM_K,0,0,0x6d)
DEFEVENT(KEY_PAUSE,_T("Pause/Break (PC)"),AM_K,0,0,0x6e)
DEFEVENT(KEY_F12,_T("F12 (PC)"),AM_K,0,0,0x6f)
DEFEVENT(KEY_HOME,_T("Home (PC)"),AM_K,0,0,0x70)
DEFEVENT(KEY_END,_T("End (PC)"),AM_K,0,0,0x71)

DEFEVENT(KEY_78,_T("Keycode 0x78 (Reset Warning)"),AM_K,0,0,0x78)
DEFEVENT(KEY_79,_T("Keycode 0x79"),AM_K,0,0,0x79)
DEFEVENT(KEY_7A,_T("Keycode 0x7A"),AM_K,0,0,0x7a)
DEFEVENT(KEY_7B,_T("Keycode 0x7B"),AM_K,0,0,0x7b)
DEFEVENT(KEY_7C,_T("Keycode 0x7C"),AM_K,0,0,0x7c)
DEFEVENT(KEY_7D,_T("Keycode 0x7D"),AM_K,0,0,0x7d)
DEFEVENT(KEY_7E,_T("Keycode 0x7E"),AM_K,0,0,0x7e)
DEFEVENT(KEY_7F,_T("Keycode 0x7F"),AM_K,0,0,0x7f)

/* special */

DEFEVENT(SPC_START,_T("[Miscellaneous]"),AM_INFO,0,0,0)

DEFEVENT(SPC_CUSTOM_EVENT,_T("<Custom Event>"),AM_K,0,0,0)
DEFEVENT(SPC_ENTERGUI,_T("Enter GUI"),AM_K,0,0,AKS_ENTERGUI)
DEFEVENT(SPC_SCREENSHOT,_T("Screenshot (file)"),AM_K,0,0,AKS_SCREENSHOT_FILE)
DEFEVENT(SPC_SCREENSHOT_CLIPBOARD,_T("Screenshot (clipboard)"),AM_K,0,0,AKS_SCREENSHOT_CLIPBOARD)
DEFEVENT(SPC_VIDEORECORD, _T("Audio/Video recording"),AM_KT,0,0,AKS_VIDEORECORD)
DEFEVENT(SPC_FREEZEBUTTON,_T("Activate Cartridge"),AM_K,0,0,AKS_FREEZEBUTTON)
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_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_PAUSE,_T("Pause emulation"),AM_KT,0,0,AKS_PAUSE)
DEFEVENT(SPC_WARP,_T("Warp mode"),AM_KT,0,0,AKS_WARP)
DEFEVENT(SPC_INHIBITSCREEN,_T("Toggle screen updates"),AM_KT,0,0,AKS_INHIBITSCREEN)
DEFEVENT(SPC_IRQ7,_T("Level 7 interrupt"),AM_K,0,0,AKS_IRQ7)

DEFEVENT(SPC_STATEREWIND,_T("Load previous state capture checkpoint"),AM_K,0,0,AKS_STATEREWIND)
DEFEVENT(SPC_STATECURRENT,_T("Load current state capture checkpoint"),AM_K,0,0,AKS_STATECURRENT)
DEFEVENT(SPC_STATECAPTURE,_T("Save state capture checkpoint"),AM_K,0,0,AKS_STATECAPTURE)

DEFEVENT(SPC_VOLUME_DOWN,_T("Decrease volume level"),AM_K,0,0,AKS_VOLDOWN)
DEFEVENT(SPC_VOLUME_UP,_T("Increase volume level"),AM_K,0,0,AKS_VOLUP)
DEFEVENT(SPC_VOLUME_MUTE,_T("Mute/unmute volume"),AM_KT,0,0,AKS_VOLMUTE)
DEFEVENT(SPC_MASTER_VOLUME_DOWN,_T("Decrease master volume level"),AM_K,0,0,AKS_MVOLDOWN)
DEFEVENT(SPC_MASTER_VOLUME_UP,_T("Increase master volume level"),AM_K,0,0,AKS_MVOLUP)
DEFEVENT(SPC_MASTER_VOLUME_MUTE,_T("Mute/unmute master volume"),AM_K,0,0,AKS_MVOLMUTE)
DEFEVENT(SPC_QUIT,_T("Quit emulator"),AM_K,0,0,AKS_QUIT)
DEFEVENT(SPC_SOFTRESET,_T("Reset emulation"),AM_K,0,0,AKS_SOFTRESET)
DEFEVENT(SPC_HARDRESET,_T("Hard reset emulation"),AM_K,0,0,AKS_HARDRESET)
DEFEVENT(SPC_ENTERDEBUGGER,_T("Activate the built-in debugger"),AM_K,0,0,AKS_ENTERDEBUGGER)
DEFEVENT(SPC_STATESAVE,_T("Quick save state"),AM_K,0,0,AKS_STATESAVEQUICK)
DEFEVENT(SPC_STATERESTORE,_T("Quick restore state"),AM_K,0,0,AKS_STATERESTOREQUICK)
DEFEVENT(SPC_STATESAVEDIALOG,_T("Save state"),AM_K,0,0,AKS_STATESAVEDIALOG)
DEFEVENT(SPC_STATERESTOREDIALOG,_T("Restore state"),AM_K,0,0,AKS_STATERESTOREDIALOG)
DEFEVENT(SPC_TOGGLEFULLSCREEN,_T("Toggle windowed/fullscreen"),AM_KT,0,0,AKS_TOGGLEWINDOWEDFULLSCREEN)
DEFEVENT(SPC_TOGGLEFULLWINDOWFULLSCREEN,_T("Toggle full-window/fullscreen"),AM_KT,0,0,AKS_TOGGLEFULLWINDOWFULLSCREEN)
DEFEVENT(SPC_TOGGLEWINDOWFULLWINDOW,_T("Toggle window/full-window"),AM_KT,0,0,AKS_TOGGLEWINDOWFULLWINDOW)
DEFEVENT(SPC_TOGGLEDEFAULTSCREEN,_T("Toggle window/default screen"),AM_KT,0,0,AKS_TOGGLEDEFAULTSCREEN)
DEFEVENT(SPC_TOGGLEMOUSEGRAB,_T("Toggle between mouse grabbed and un-grabbed"),AM_KT,0,0,AKS_TOGGLEMOUSEGRAB)
DEFEVENT(SPC_DECREASE_REFRESHRATE,_T("Decrease emulation speed"),AM_K,0,0,AKS_DECREASEREFRESHRATE)
DEFEVENT(SPC_INCREASE_REFRESHRATE,_T("Increase emulation speed"),AM_K,0,0,AKS_INCREASEREFRESHRATE)
DEFEVENT(SPC_SWITCHINTERPOL,_T("Switch between audio interpolation methods"),AM_KT,0,0,AKS_SWITCHINTERPOL)
DEFEVENT(SPC_TOGGLERTG,_T("Toggle chipset/RTG screen"),AM_KT,0,0,AKS_TOGGLERTG)
DEFEVENT(SPC_SWAPJOYPORTS,_T("Swap joystick ports"),AM_KT,0,0,AKS_SWAPJOYPORTS)

DEFEVENT(SPC_DISKSWAPPER_NEXT,_T("Next slot in Disk Swapper"),AM_K,0,0,AKS_DISKSWAPPER_NEXT)
DEFEVENT(SPC_DISKSWAPPER_PREV,_T("Previous slot in Disk Swapper"),AM_K,0,0,AKS_DISKSWAPPER_PREV)
DEFEVENT(SPC_DISKSWAPPER_INSERT0,_T("Insert disk in current Disk Swapper slot in DF0:"),AM_K,0,0,AKS_DISKSWAPPER_INSERT0)
DEFEVENT(SPC_DISKSWAPPER_INSERT1,_T("Insert disk in current Disk Swapper slot in DF1:"),AM_K,0,0,AKS_DISKSWAPPER_INSERT1)
DEFEVENT(SPC_DISKSWAPPER_INSERT2,_T("Insert disk in current Disk Swapper slot in DF2:"),AM_K,0,0,AKS_DISKSWAPPER_INSERT2)
DEFEVENT(SPC_DISKSWAPPER_INSERT3,_T("Insert disk in current Disk Swapper slot in DF3:"),AM_K,0,0,AKS_DISKSWAPPER_INSERT3)

DEFEVENT(SPC_DISK_PREV0,_T("Previous disk image in DF0:"),AM_K,0,0,AKS_DISK_PREV0)
DEFEVENT(SPC_DISK_PREV1,_T("Previous disk image in DF1:"),AM_K,0,0,AKS_DISK_PREV1)
DEFEVENT(SPC_DISK_PREV2,_T("Previous disk image in DF2:"),AM_K,0,0,AKS_DISK_PREV2)
DEFEVENT(SPC_DISK_PREV3,_T("Previous disk image in DF3:"),AM_K,0,0,AKS_DISK_PREV3)
DEFEVENT(SPC_DISK_NEXT0,_T("Next disk image in DF0:"),AM_K,0,0,AKS_DISK_NEXT0)
DEFEVENT(SPC_DISK_NEXT1,_T("Next disk image in DF1:"),AM_K,0,0,AKS_DISK_NEXT1)
DEFEVENT(SPC_DISK_NEXT2,_T("Next disk image in DF2:"),AM_K,0,0,AKS_DISK_NEXT2)
DEFEVENT(SPC_DISK_NEXT3,_T("Next disk image in DF3:"),AM_K,0,0,AKS_DISK_NEXT3)

DEFEVENT(SPC_INPUT_CONFIG1,_T("Select Input Configuration #1"),AM_K,0,0,AKS_INPUT_CONFIG_1)
DEFEVENT(SPC_INPUT_CONFIG2,_T("Select Input Configuration #2"),AM_K,0,0,AKS_INPUT_CONFIG_2)
DEFEVENT(SPC_INPUT_CONFIG3,_T("Select Input Configuration #3"),AM_K,0,0,AKS_INPUT_CONFIG_3)
DEFEVENT(SPC_INPUT_CONFIG4,_T("Select GamePorts Input Configuration"),AM_K,0,0,AKS_INPUT_CONFIG_4)

DEFEVENT(SPC_ARCADIA_DIAGNOSTICS,_T("Arcadia diagnostics DIP switch"),AM_K,0,0,AKS_ARCADIADIAGNOSTICS)
DEFEVENT(SPC_ARCADIA_PLAYER1,_T("Arcadia player 1"),AM_K,0,0,AKS_ARCADIAPLY1)
DEFEVENT(SPC_ARCADIA_PLAYER2,_T("Arcadia player 2"),AM_K,0,0,AKS_ARCADIAPLY2)
DEFEVENT(SPC_ARCADIA_COIN1,_T("Arcadia coin player 1"),AM_K,0,0,AKS_ARCADIACOIN1)
DEFEVENT(SPC_ARCADIA_COIN2,_T("Arcadia coin player 2"),AM_K,0,0,AKS_ARCADIACOIN2)

DEFEVENT(SPC_CDTV_FRONT_PANEL_STOP,_T("CDTV Front Panel Stop"),AM_K,0,0,AKS_CDTV_FRONT_PANEL_STOP)
DEFEVENT(SPC_CDTV_FRONT_PANEL_PLAYPAUSE,_T("CDTV Front Panel Play/Pause"),AM_K,0,0,AKS_CDTV_FRONT_PANEL_PLAYPAUSE)
DEFEVENT(SPC_CDTV_FRONT_PANEL_PREV,_T("CDTV Front Panel Previous"),AM_K,0,0,AKS_CDTV_FRONT_PANEL_PREV)
DEFEVENT(SPC_CDTV_FRONT_PANEL_NEXT,_T("CDTV Front Panel Next"),AM_K,0,0,AKS_CDTV_FRONT_PANEL_NEXT)
DEFEVENT(SPC_CDTV_FRONT_PANEL_REW,_T("CDTV Front Panel Rewind"),AM_K,0,0,AKS_CDTV_FRONT_PANEL_REW)
DEFEVENT(SPC_CDTV_FRONT_PANEL_FF,_T("CDTV Front Panel Fast Forward"),AM_K,0,0,AKS_CDTV_FRONT_PANEL_FF)

#ifdef FSUAE

DEFEVENT(AUTOFIRE_BEGIN, _T(""), AM_K, 0, 0, 0)
DEFEVENT(JOY1_AUTOFIRE_BUTTON,_T("Joy1 Fire/Mouse1 Left Button (Autofire)"),AM_K,4,1,JOYBUTTON_1)
DEFEVENT(JOY2_AUTOFIRE_BUTTON,_T("Joy2 Fire/Mouse2 Left Button (Autofire)"),AM_K,4,2,JOYBUTTON_1)
DEFEVENT(PAR_JOY1_AUTOFIRE_BUTTON,_T("Parallel Joy1 Fire Button (Autofire)"),AM_K,4,3,JOYBUTTON_1)
DEFEVENT(PAR_JOY2_AUTOFIRE_BUTTON,_T("Parallel Joy2 Fire Button (Autofire)"),AM_K,4,4,JOYBUTTON_1)
DEFEVENT(AUTOFIRE_END, _T(""), AM_K, 0, 0, 0)

DEFEVENT(SPC_STATESAVE1,_T("Quick save state slot 1"),AM_K,0,0,AKS_STATESAVEQUICK1)
DEFEVENT(SPC_STATESAVE2,_T("Quick save state slot 2"),AM_K,0,0,AKS_STATESAVEQUICK2)
DEFEVENT(SPC_STATESAVE3,_T("Quick save state slot 3"),AM_K,0,0,AKS_STATESAVEQUICK3)
DEFEVENT(SPC_STATESAVE4,_T("Quick save state slot 4"),AM_K,0,0,AKS_STATESAVEQUICK4)
DEFEVENT(SPC_STATESAVE5,_T("Quick save state slot 5"),AM_K,0,0,AKS_STATESAVEQUICK5)
DEFEVENT(SPC_STATESAVE6,_T("Quick save state slot 6"),AM_K,0,0,AKS_STATESAVEQUICK6)
DEFEVENT(SPC_STATESAVE7,_T("Quick save state slot 7"),AM_K,0,0,AKS_STATESAVEQUICK7)
DEFEVENT(SPC_STATESAVE8,_T("Quick save state slot 8"),AM_K,0,0,AKS_STATESAVEQUICK8)
DEFEVENT(SPC_STATESAVE9,_T("Quick save state slot 9"),AM_K,0,0,AKS_STATESAVEQUICK9)

DEFEVENT(SPC_STATERESTORE1,_T("Quick restore state slot 1"),AM_K,0,0,AKS_STATERESTOREQUICK1)
DEFEVENT(SPC_STATERESTORE2,_T("Quick restore state slot 2"),AM_K,0,0,AKS_STATERESTOREQUICK2)
DEFEVENT(SPC_STATERESTORE3,_T("Quick restore state slot 3"),AM_K,0,0,AKS_STATERESTOREQUICK3)
DEFEVENT(SPC_STATERESTORE4,_T("Quick restore state slot 4"),AM_K,0,0,AKS_STATERESTOREQUICK4)
DEFEVENT(SPC_STATERESTORE5,_T("Quick restore state slot 5"),AM_K,0,0,AKS_STATERESTOREQUICK5)
DEFEVENT(SPC_STATERESTORE6,_T("Quick restore state slot 6"),AM_K,0,0,AKS_STATERESTOREQUICK6)
DEFEVENT(SPC_STATERESTORE7,_T("Quick restore state slot 7"),AM_K,0,0,AKS_STATERESTOREQUICK7)
DEFEVENT(SPC_STATERESTORE8,_T("Quick restore state slot 8"),AM_K,0,0,AKS_STATERESTOREQUICK8)
DEFEVENT(SPC_STATERESTORE9,_T("Quick restore state slot 9"),AM_K,0,0,AKS_STATERESTOREQUICK9)

// the following "input events" are private to libamiga, and not handled
// by UAE code

DEFEVENT(PRIVATE_START, _T(""), AM_K, 0, 0, 0)

DEFEVENT(SPC_DISKSWAPPER_0_0, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_0_1, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_0_2, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_0_3, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_0_4, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_0_5, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_0_6, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_0_7, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_0_8, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_0_9, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_0_10, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_0_11, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_0_12, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_0_13, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_0_14, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_0_15, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_0_16, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_0_17, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_0_18, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_0_19, _T(""), AM_K, 0, 0, 0)

DEFEVENT(SPC_DISKSWAPPER_1_0, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_1_1, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_1_2, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_1_3, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_1_4, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_1_5, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_1_6, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_1_7, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_1_8, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_1_9, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_1_10, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_1_11, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_1_12, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_1_13, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_1_14, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_1_15, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_1_16, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_1_17, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_1_18, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_1_19, _T(""), AM_K, 0, 0, 0)

DEFEVENT(SPC_DISKSWAPPER_2_0, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_2_1, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_2_2, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_2_3, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_2_4, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_2_5, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_2_6, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_2_7, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_2_8, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_2_9, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_2_10, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_2_11, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_2_12, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_2_13, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_2_14, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_2_15, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_2_16, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_2_17, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_2_18, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_2_19, _T(""), AM_K, 0, 0, 0)

DEFEVENT(SPC_DISKSWAPPER_3_0, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_3_1, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_3_2, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_3_3, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_3_4, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_3_5, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_3_6, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_3_7, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_3_8, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_3_9, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_3_10, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_3_11, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_3_12, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_3_13, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_3_14, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_3_15, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_3_16, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_3_17, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_3_18, _T(""), AM_K, 0, 0, 0)
DEFEVENT(SPC_DISKSWAPPER_3_19, _T(""), AM_K, 0, 0, 0)

DEFEVENT(AMIGA_JOYPORT_MODE_0_NONE, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_MODE_0_MOUSE, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_MODE_0_DJOY, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_MODE_0_GAMEPAD, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_MODE_0_AJOY, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_MODE_0_CDTVJOY, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_MODE_0_CD32JOY, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_MODE_0_LIGHTPEN, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_MODE_0_LAST, _T(""), AM_K, 0, 0, 0)

DEFEVENT(AMIGA_JOYPORT_MODE_1_NONE, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_MODE_1_MOUSE, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_MODE_1_DJOY, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_MODE_1_GAMEPAD, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_MODE_1_AJOY, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_MODE_1_CDTVJOY, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_MODE_1_CD32JOY, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_MODE_1_LIGHTPEN, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_MODE_1_LAST, _T(""), AM_K, 0, 0, 0)

DEFEVENT(AMIGA_JOYPORT_MODE_2_NONE, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_MODE_2_MOUSE, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_MODE_2_DJOY, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_MODE_2_GAMEPAD, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_MODE_2_AJOY, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_MODE_2_CDTVJOY, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_MODE_2_CD32JOY, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_MODE_2_LIGHTPEN, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_MODE_2_LAST, _T(""), AM_K, 0, 0, 0)

DEFEVENT(AMIGA_JOYPORT_MODE_3_NONE, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_MODE_3_MOUSE, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_MODE_3_DJOY, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_MODE_3_GAMEPAD, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_MODE_3_AJOY, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_MODE_3_CDTVJOY, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_MODE_3_CD32JOY, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_MODE_3_LIGHTPEN, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_MODE_3_LAST, _T(""), AM_K, 0, 0, 0)

DEFEVENT(AMIGA_JOYPORT_0_AUTOFIRE, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_1_AUTOFIRE, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_2_AUTOFIRE, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_3_AUTOFIRE, _T(""), AM_K, 0, 0, 0)

DEFEVENT(AMIGA_JOYPORT_0_DEVICE_0, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_0_DEVICE_1, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_0_DEVICE_2, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_0_DEVICE_3, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_0_DEVICE_4, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_0_DEVICE_5, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_0_DEVICE_6, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_0_DEVICE_7, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_0_DEVICE_8, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_0_DEVICE_9, _T(""), AM_K, 0, 0, 0)
DEFEVENT(AMIGA_JOYPORT_0_DEVICE_LAST, _T(""), AM_K, 0, 0, 0)

DEFEVENT(UAE_MODULE_RIPPER, _T(""), AM_K, 0, 0, 0)
DEFEVENT(UAE_MUTE_FLOPPY_SOUNDS, _T(""), AM_K, 0, 0, 0)

#endif
DEFEVENT(SPC_LAST, _T(""), AM_DUMMY, 0,0,0)
