1 //#BLITZ_APPROVE
2 
3 #ifndef KEYGROUPNAME
4 #ifdef  KEYNAMESPACE
5 #define KEYGROUPNAME #KEYNAMESPACE
6 #else
7 #define KEYGROUPNAME ""
8 #endif
9 #endif
10 
11 #include <CtrlLib/akt_.h>
12 
13 #ifdef KEYNAMESPACE
14 namespace KEYNAMESPACE {
15 #endif
16 
17 #define KEY(id, name, def)         KeyInfo& COMBINE(AK_, id)() { static KeyInfo x = { name, { def } }; return x; }
18 #define KEY2(id, name, def1, def2) KeyInfo& COMBINE(AK_, id)() { static KeyInfo x = { name, { def1, def2 } }; return x; }
19 #include KEYFILE
20 #undef  KEY
21 #undef  KEY2
22 
23 #define KEY(id, name, def)         RegisterKeyBinding(KEYGROUPNAME, #id, COMBINE(AK_, id));
24 #define KEY2(id, name, def1, def2) RegisterKeyBinding(KEYGROUPNAME, #id, COMBINE(AK_, id));
25 INITBLOCK {
26 #include KEYFILE
27 }
28 #undef KEY
29 #undef KEY2
30 
31 #ifdef KEYNAMESPACE
32 }
33 #endif
34 
35 #include <Core/t_.h>
36 
37 #ifdef KEYNAMESPACE
38 #undef KEYNAMESPACE
39 #endif
40 
41 #undef KEYGROUPNAME
42 #undef KEYFILE
43