void RemapClass::Item::remap(RemapConsumerParams& remapParams) { if (remapParams.params.ex_iskeydown) { if (isblocked()) return; } else { // We ignore filters_ if active_ is set at KeyDown. if (isblocked() && ! active_) return; } #define CALL_UNION_FUNCTION(POINTER) { \ if (POINTER) { \ if ((POINTER)->remap(remapParams)) { \ if (remapParams.params.ex_iskeydown) { \ active_ = true; \ } else { \ active_ = false; \ } \ } \ } \ } switch (type_) { case BRIDGE_REMAPTYPE_CONSUMERTOCONSUMER: CALL_UNION_FUNCTION(p_.consumerToConsumer); break; case BRIDGE_REMAPTYPE_CONSUMERTOKEY: CALL_UNION_FUNCTION(p_.consumerToKey); break; case BRIDGE_REMAPTYPE_HOLDINGKEYTOKEY: CALL_UNION_FUNCTION(p_.holdingKeyToKey); break; case BRIDGE_REMAPTYPE_KEYOVERLAIDMODIFIER: CALL_UNION_FUNCTION(p_.keyOverlaidModifier); break; default: // do nothing. (Do not call IOLOG_ERROR) break; } #undef CALL_UNION_FUNCTION }
void RemapClass::Item::remap(RemapParams& remapParams) { if (isblocked()) return; #define CALL_UNION_FUNCTION(POINTER) { \ if (POINTER) { (POINTER)->remap(remapParams); } \ } switch (type_) { case BRIDGE_REMAPTYPE_KEYTOKEY: CALL_UNION_FUNCTION(p_.keyToKey); break; case BRIDGE_REMAPTYPE_KEYTOCONSUMER: CALL_UNION_FUNCTION(p_.keyToConsumer); break; case BRIDGE_REMAPTYPE_KEYTOPOINTINGBUTTON: CALL_UNION_FUNCTION(p_.keyToPointingButton); break; case BRIDGE_REMAPTYPE_DOUBLEPRESSMODIFIER: CALL_UNION_FUNCTION(p_.doublePressModifier); break; case BRIDGE_REMAPTYPE_HOLDINGKEYTOKEY: CALL_UNION_FUNCTION(p_.holdingKeyToKey); break; case BRIDGE_REMAPTYPE_IGNOREMULTIPLESAMEKEYPRESS: CALL_UNION_FUNCTION(p_.ignoreMultipleSameKeyPress); break; case BRIDGE_REMAPTYPE_KEYOVERLAIDMODIFIER: CALL_UNION_FUNCTION(p_.keyOverlaidModifier); break; case BRIDGE_REMAPTYPE_SIMULTANEOUSKEYPRESSES: CALL_UNION_FUNCTION(p_.simultaneousKeyPresses); break; default: // do nothing. (Do not call IOLOG_ERROR) break; } #undef CALL_UNION_FUNCTION }
void RemapClass::Item::call_disabled_callback(void) { #define CALL_UNION_FUNCTION(POINTER) { \ if (POINTER) { (POINTER)->disabled_callback(); } \ } switch (type_) { case BRIDGE_REMAPTYPE_KEYTOKEY: CALL_UNION_FUNCTION(p_.keyToKey); break; case BRIDGE_REMAPTYPE_POINTINGBUTTONTOKEY: CALL_UNION_FUNCTION(p_.pointingButtonToKey); break; default: // do nothing. (Do not call IOLOG_ERROR) break; } #undef CALL_UNION_FUNCTION }
void RemapClass::Item::remap(RemapPointingParams_scroll& remapParams) { if (isblocked()) return; #define CALL_UNION_FUNCTION(POINTER) { \ if (POINTER) { (POINTER)->remap(remapParams); } \ } switch (type_) { case BRIDGE_REMAPTYPE_DROPSCROLLWHEEL: CALL_UNION_FUNCTION(p_.dropScrollWheel); break; case BRIDGE_REMAPTYPE_STRIPMODIFIERFROMSCROLLWHEEL: CALL_UNION_FUNCTION(p_.stripModifierFromScrollWheel); break; default: // do nothing. (Do not call IOLOG_ERROR) break; } #undef CALL_UNION_FUNCTION }
void RemapClass::Item::remap(RemapConsumerParams& remapParams) { if (isblocked()) return; #define CALL_UNION_FUNCTION(POINTER) { \ if (POINTER) { (POINTER)->remap(remapParams); } \ } switch (type_) { case BRIDGE_REMAPTYPE_CONSUMERTOCONSUMER: CALL_UNION_FUNCTION(p_.consumerToConsumer); break; case BRIDGE_REMAPTYPE_CONSUMERTOKEY: CALL_UNION_FUNCTION(p_.consumerToKey); break; default: // do nothing. (Do not call IOLOG_ERROR) break; } #undef CALL_UNION_FUNCTION }
void RemapClass::Item::remap(RemapPointingParams_relative& remapParams) { if (isblocked()) return; #define CALL_UNION_FUNCTION(POINTER) { \ if (POINTER) { (POINTER)->remap(remapParams); } \ } switch (type_) { case BRIDGE_REMAPTYPE_DROPPOINTINGRELATIVECURSORMOVE: CALL_UNION_FUNCTION(p_.dropPointingRelativeCursorMove); break; case BRIDGE_REMAPTYPE_POINTINGBUTTONTOKEY: CALL_UNION_FUNCTION(p_.pointingButtonToKey); break; case BRIDGE_REMAPTYPE_POINTINGBUTTONTOPOINTINGBUTTON: CALL_UNION_FUNCTION(p_.pointingButtonToPointingButton); break; case BRIDGE_REMAPTYPE_POINTINGRELATIVETOSCROLL: CALL_UNION_FUNCTION(p_.pointingRelativeToScroll); break; default: // do nothing. (Do not call IOLOG_ERROR) break; } #undef CALL_UNION_FUNCTION }
void RemapClass::Item::remap(RemapPointingParams_scroll& remapParams) { if (isblocked()) return; #define CALL_UNION_FUNCTION(POINTER) { \ if (POINTER) { (POINTER)->remap(remapParams); } \ } switch (type_) { case BRIDGE_REMAPTYPE_DROPSCROLLWHEEL: CALL_UNION_FUNCTION(p_.dropScrollWheel); break; case BRIDGE_REMAPTYPE_SCROLLWHEELTOSCROLLWHEEL: CALL_UNION_FUNCTION(p_.scrollWheelToScrollWheel); break; case BRIDGE_REMAPTYPE_SCROLLWHEELTOKEY: CALL_UNION_FUNCTION(p_.scrollWheelToKey); break; case BRIDGE_REMAPTYPE_HOLDINGKEYTOKEY: CALL_UNION_FUNCTION(p_.holdingKeyToKey); break; case BRIDGE_REMAPTYPE_KEYOVERLAIDMODIFIER: CALL_UNION_FUNCTION(p_.keyOverlaidModifier); break; default: // do nothing. (Do not call IOLOG_ERROR) break; } #undef CALL_UNION_FUNCTION }
void RemapClass::Item::remap_forcenumlockon(ListHookedKeyboard::Item* item) { if (isblocked()) return; #define CALL_UNION_FUNCTION(POINTER) { \ if (POINTER) { (POINTER)->remap(item); } \ } switch (type_) { case BRIDGE_REMAPTYPE_FORCENUMLOCKON: CALL_UNION_FUNCTION(p_.forceNumLockOn); break; default: // do nothing. (Do not call IOLOG_ERROR) break; } #undef CALL_UNION_FUNCTION }
void RemapClass::Item::remap_setkeyboardtype(KeyboardType& keyboardType) { if (isblocked()) return; #define CALL_UNION_FUNCTION(POINTER) { \ if (POINTER) { (POINTER)->remap(keyboardType); } \ } switch (type_) { case BRIDGE_REMAPTYPE_SETKEYBOARDTYPE: CALL_UNION_FUNCTION(p_.setKeyboardType); break; default: // do nothing. (Do not call IOLOG_ERROR) break; } #undef CALL_UNION_FUNCTION }
bool RemapClass::Item::remap_SimultaneousKeyPresses(void) { if (isblocked()) return false; #define CALL_UNION_FUNCTION(POINTER) { \ if (POINTER) { return (POINTER)->remap(); } \ } switch (type_) { case BRIDGE_REMAPTYPE_SIMULTANEOUSKEYPRESSES: CALL_UNION_FUNCTION(p_.simultaneousKeyPresses); break; default: // do nothing. (Do not call IOLOG_ERROR) break; } #undef CALL_UNION_FUNCTION return false; }
bool RemapClass::Item::drop(const Params_KeyboardEventCallBack& params) { if (isblocked()) return false; #define CALL_UNION_FUNCTION(POINTER) { \ if (POINTER) { return (POINTER)->drop(params); } \ } switch (type_) { case BRIDGE_REMAPTYPE_DROPKEYAFTERREMAP: CALL_UNION_FUNCTION(p_.dropKeyAfterRemap); break; default: // do nothing. (Do not call IOLOG_ERROR) break; } #undef CALL_UNION_FUNCTION return false; }
void RemapClass::Item::remap(RemapPointingParams_relative& remapParams) { if (remapParams.params.ex_isbuttondown) { if (isblocked()) return; } else { // We ignore filters_ if active_ is set at ButtonDown. if (isblocked() && ! active_) return; } #define CALL_UNION_FUNCTION(POINTER) { \ if (POINTER) { \ if ((POINTER)->remap(remapParams)) { \ if (remapParams.params.ex_isbuttondown) { \ active_ = true; \ } else { \ active_ = false; \ } \ } \ } \ } switch (type_) { case BRIDGE_REMAPTYPE_DROPPOINTINGRELATIVECURSORMOVE: CALL_UNION_FUNCTION(p_.dropPointingRelativeCursorMove); break; case BRIDGE_REMAPTYPE_POINTINGBUTTONTOKEY: CALL_UNION_FUNCTION(p_.pointingButtonToKey); break; case BRIDGE_REMAPTYPE_POINTINGBUTTONTOPOINTINGBUTTON: CALL_UNION_FUNCTION(p_.pointingButtonToPointingButton); break; case BRIDGE_REMAPTYPE_POINTINGRELATIVETOSCROLL: CALL_UNION_FUNCTION(p_.pointingRelativeToScroll); break; case BRIDGE_REMAPTYPE_HOLDINGKEYTOKEY: CALL_UNION_FUNCTION(p_.holdingKeyToKey); break; case BRIDGE_REMAPTYPE_KEYOVERLAIDMODIFIER: CALL_UNION_FUNCTION(p_.keyOverlaidModifier); break; default: // do nothing. (Do not call IOLOG_ERROR) break; } #undef CALL_UNION_FUNCTION }