ultimatepp/uppsrc/CtrlLib/key_source.h
cxl 763f442a4f .cosmetics
git-svn-id: svn://ultimatepp.org/upp/trunk@10940 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2017-03-13 11:13:35 +00:00

42 lines
874 B
C++

//#BLITZ_APPROVE
#ifndef KEYGROUPNAME
#ifdef KEYNAMESPACE
#define KEYGROUPNAME #KEYNAMESPACE
#else
#define KEYGROUPNAME ""
#endif
#endif
#include <CtrlLib/akt_.h>
#ifdef KEYNAMESPACE
namespace KEYNAMESPACE {
#endif
#define KEY(id, name, def) KeyInfo& COMBINE(AK_, id)() { static KeyInfo x = { name, { def } }; return x; }
#define KEY2(id, name, def1, def2) KeyInfo& COMBINE(AK_, id)() { static KeyInfo x = { name, { def1, def2 } }; return x; }
#include KEYFILE
#undef KEY
#undef KEY2
#define KEY(id, name, def) RegisterKeyBinding(KEYGROUPNAME, #id, COMBINE(AK_, id));
#define KEY2(id, name, def1, def2) RegisterKeyBinding(KEYGROUPNAME, #id, COMBINE(AK_, id));
INITBLOCK {
#include KEYFILE
}
#undef KEY
#undef KEY2
#ifdef KEYNAMESPACE
}
#endif
#include <Core/t_.h>
#ifdef KEYNAMESPACE
#undef KEYNAMESPACE
#endif
#undef KEYGROUPNAME
#undef KEYFILE