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