SWIG_IGNORE(eActionMap);
class eActionMap: public iObject
{
-DECLARE_REF(eActionMap);
+ DECLARE_REF(eActionMap);
#ifdef SWIG
eActionMap();
~eActionMap();
void bindAction(const std::string &context, int priority, SWIG_PYOBJECT(ePyObject) function);
void unbindAction(const std::string &context, SWIG_PYOBJECT(ePyObject) function);
-
- void bindKey(const std::string &device, int key, int flags, const std::string &context, const std::string &action);
+
+ void bindKey(const std::string &domain, const std::string &device, int key, int flags, const std::string &context, const std::string &action);
+ void unbindKeyDomain(const std::string &domain);
void keyPressed(const std::string &device, int key, int flags);
static eActionMap *instance;
struct eActionBinding
{
+ eActionBinding()
+ :m_prev_seen_make_key(-1)
+ {}
// eActionContext *m_context;
std::string m_context; // FIXME
+ std::string m_domain;
ePyObject m_fnc;
eWidget *m_widget;
int m_id;
+ int m_prev_seen_make_key;
};
std::multimap<int, eActionBinding> m_bindings;
struct eNativeKeyBinding
{
std::string m_device;
+ std::string m_domain;
int m_key;
int m_flags;
struct ePythonKeyBinding
{
std::string m_device;
+ std::string m_domain;
int m_key;
int m_flags;
std::multimap<std::string, ePythonKeyBinding> m_python_keys;
#endif
};
-SWIG_TEMPLATE_TYPEDEF_REPLACE(ePtr<eActionMap>, eActionMap);
+SWIG_TEMPLATE_TYPEDEF(ePtr<eActionMap>, eActionMap);
SWIG_EXTEND(ePtr<eActionMap>,
static ePtr<eActionMap> getInstance()
{