1  /*
2   * UAE - The Un*x Amiga Emulator
3   *
4   * Default hotkey mapping
5   *
6   * Copyright 2004-2006 Richard Drummond
7   */
8 
9 #ifndef HOTKEY_MODIFIER
10 #define HOTKEY_MODIFIER   RAWKEY_F12
11 #endif
12 
13 #undef DEFAULT_HOTKEYSEQ2
14 #undef DEFAULT_HOTKEYSEQ3
15 
16 #ifndef HOTKEY_MODIFIER2
17 #define DEFAULT_HOTKEYSEQ2(key2, event)       MAKE_HOTKEYSEQ (HOTKEY_MODIFIER, (key2), -1, -1,    event)
18 #define DEFAULT_HOTKEYSEQ3(key2, key3, event) MAKE_HOTKEYSEQ (HOTKEY_MODIFIER, (key2),(key3), -1, event)
19 #else
20 #define DEFAULT_HOTKEYSEQ2(key2, event)       MAKE_HOTKEYSEQ (HOTKEY_MODIFIER, HOTKEY_MODIFIER2, (key2), -1, event)
21 #define DEFAULT_HOTKEYSEQ3(key2, key3, event) MAKE_HOTKEYSEQ (HOTKEY_MODIFIER, HOTKEY_MODIFIER2, (key2), (key3), event)
22 #endif
23 
24 #define DEFAULT_HOTKEYS \
25 \
26      DEFAULT_HOTKEYSEQ2 (RAWKEY_Q,            INPUTEVENT_SPC_QUIT)}, \
27     {DEFAULT_HOTKEYSEQ2 (RAWKEY_R,            INPUTEVENT_SPC_SOFTRESET)}, \
28     {DEFAULT_HOTKEYSEQ3 (RAWKEY_LEFT_SHIFT, RAWKEY_R, INPUTEVENT_SPC_HARDRESET)}, \
29     {DEFAULT_HOTKEYSEQ2 (RAWKEY_D,            INPUTEVENT_SPC_ENTERDEBUGGER)}, \
30     {DEFAULT_HOTKEYSEQ2 (RAWKEY_S,            INPUTEVENT_SPC_TOGGLEFULLSCREEN)}, \
31     {DEFAULT_HOTKEYSEQ2 (RAWKEY_G,            INPUTEVENT_SPC_TOGGLEMOUSEGRAB)}, \
32     {DEFAULT_HOTKEYSEQ2 (RAWKEY_I,            INPUTEVENT_SPC_INHIBITSCREEN)}, \
33     {DEFAULT_HOTKEYSEQ2 (RAWKEY_P,            INPUTEVENT_SPC_SCREENSHOT)}, \
34     {DEFAULT_HOTKEYSEQ2 (RAWKEY_A,            INPUTEVENT_SPC_SWITCHINTERPOL)}, \
35     {DEFAULT_HOTKEYSEQ2 (RAWKEY_NUMPAD_PLUS,  INPUTEVENT_SPC_INCREASE_REFRESHRATE)}, \
36     {DEFAULT_HOTKEYSEQ2 (RAWKEY_NUMPAD_MINUS, INPUTEVENT_SPC_DECREASE_REFRESHRATE)}, \
37 \
38     {DEFAULT_HOTKEYSEQ2 (RAWKEY_F1,                    INPUTEVENT_SPC_FLOPPY0)}, \
39     {DEFAULT_HOTKEYSEQ2 (RAWKEY_F2,                    INPUTEVENT_SPC_FLOPPY1)}, \
40     {DEFAULT_HOTKEYSEQ2 (RAWKEY_F3,                    INPUTEVENT_SPC_FLOPPY2)}, \
41     {DEFAULT_HOTKEYSEQ2 (RAWKEY_F4,                    INPUTEVENT_SPC_FLOPPY3)}, \
42     {DEFAULT_HOTKEYSEQ3 (RAWKEY_LEFT_SHIFT, RAWKEY_F1, INPUTEVENT_SPC_EFLOPPY0)}, \
43     {DEFAULT_HOTKEYSEQ3 (RAWKEY_LEFT_SHIFT, RAWKEY_F2, INPUTEVENT_SPC_EFLOPPY1)}, \
44     {DEFAULT_HOTKEYSEQ3 (RAWKEY_LEFT_SHIFT, RAWKEY_F3, INPUTEVENT_SPC_EFLOPPY2)}, \
45     {DEFAULT_HOTKEYSEQ3 (RAWKEY_LEFT_SHIFT, RAWKEY_F4, INPUTEVENT_SPC_EFLOPPY3)}, \
46     {DEFAULT_HOTKEYSEQ2 (RAWKEY_ENTER,                 INPUTEVENT_SPC_ENTERGUI)}, \
47     {DEFAULT_HOTKEYSEQ2 (RAWKEY_F,                     INPUTEVENT_SPC_FREEZEBUTTON)}, \
48 \
49     {DEFAULT_HOTKEYSEQ2 (RAWKEY_F5,                    INPUTEVENT_SPC_STATERESTOREDIALOG)}, \
50     {DEFAULT_HOTKEYSEQ3 (RAWKEY_LEFT_SHIFT, RAWKEY_F5, INPUTEVENT_SPC_STATESAVEDIALOG)}, \
51 \
52     {DEFAULT_HOTKEYSEQ2 (RAWKEY_RIGHT_SHIFT,           INPUTEVENT_SPC_STATERESTORE)}, \
53     {DEFAULT_HOTKEYSEQ3 (RAWKEY_NUMPAD_0, RAWKEY_NUMPAD_0, INPUTEVENT_SPC_STATESAVE)
54