void remap_KeyboardSpecialEventCallback(ParamsUnion& paramsUnion) { Params_KeyboardSpecialEventCallback* params = paramsUnion.get_Params_KeyboardSpecialEventCallback(); if (! params) return; RemapParams remapParams(paramsUnion); RemapClassManager::remap(remapParams); // ---------------------------------------- if (! remapParams.isremapped) { Params_KeyboardSpecialEventCallback p(params->eventType, FlagStatus::globalFlagStatus().makeFlags(), params->key, params->flavor, params->guid, false); KeyboardRepeat::set(p); EventOutputQueue::FireConsumer::fire(p); } resetWhenNumHeldDownKeysIsZero(); RemapFunc::PointingRelativeToScroll::cancelScroll(); }
void remap_KeyboardSpecialEventCallback(const Params_Base& paramsBase) { auto params = paramsBase.get_Params_KeyboardSpecialEventCallback(); if (!params) return; PhysicalEventType physicalEventType = PhysicalEventType::UP; if (params->ex_iskeydown) { physicalEventType = PhysicalEventType::DOWN; } RemapParams remapParams(*params, physicalEventType); RemapClassManager::prepare(remapParams); RemapClassManager::remap(remapParams); // ---------------------------------------- if (!remapParams.isremapped) { Params_KeyboardSpecialEventCallback p(params->eventType, FlagStatus::globalFlagStatus().makeFlags(), params->key, params->flavor, params->guid, false); KeyboardRepeat::set(p, AutogenId::maxValue()); EventOutputQueue::FireConsumer::fire(p, AutogenId::maxValue(), physicalEventType); } RemapFunc::PointingRelativeToScroll::cancelScroll(); }
// ====================================================================== void remap_KeyboardEventCallback(Params_KeyboardEventCallBack& params) { RemapParams remapParams(params); // ------------------------------------------------------------ FlagStatus::set(params.key, params.flags); RemapClassManager::remap_key(remapParams); // ------------------------------------------------------------ if (! remapParams.isremapped) { Params_KeyboardEventCallBack::auto_ptr ptr(Params_KeyboardEventCallBack::alloc(params.eventType, FlagStatus::makeFlags(), params.key, params.charCode, params.charSet, params.origCharCode, params.origCharSet, params.keyboardType, false)); if (ptr) { KeyboardRepeat::set(*ptr); EventOutputQueue::FireKey::fire(*ptr); } } if (NumHeldDownKeys::iszero()) { NumHeldDownKeys::reset(); KeyboardRepeat::cancel(); EventWatcher::reset(); FlagStatus::reset(); ButtonStatus::reset(); VirtualKey::reset(); EventOutputQueue::FireModifiers::fire(FlagStatus::makeFlags()); EventOutputQueue::FireRelativePointer::fire(); PressDownKeys::clear(); } RemapFunc::PointingRelativeToScroll::cancelScroll(); }
void remap_KeyboardSpecialEventCallback(Params_KeyboardSpecialEventCallback& params) { RemapConsumerParams remapParams(params); // ------------------------------------------------------------ RemapClassManager::remap_consumer(remapParams); if (params.key == ConsumerKeyCode::POWER) { CommonData::set_isPowerKeyChanged(remapParams.isremapped); if (params.ex_eventOrigin == EventOrigin::USERSPACE) { // We need to send a power key event even if it is changed. remapParams.isremapped = false; } } // ---------------------------------------- if (! remapParams.isremapped) { Params_KeyboardSpecialEventCallback::auto_ptr ptr(Params_KeyboardSpecialEventCallback::alloc(params.eventType, FlagStatus::makeFlags(), params.key, params.flavor, params.guid, false)); if (ptr) { KeyboardRepeat::set(*ptr); EventOutputQueue::FireConsumer::fire(*ptr, true); } } RemapFunc::PointingRelativeToScroll::cancelScroll(); }
void remap_KeyboardSpecialEventCallback(ParamsUnion& paramsUnion) { Params_KeyboardSpecialEventCallback* params = paramsUnion.get_Params_KeyboardSpecialEventCallback(); if (! params) return; RemapParams remapParams(paramsUnion); RemapClassManager::remap(remapParams); // ---------------------------------------- if (! remapParams.isremapped) { Params_KeyboardSpecialEventCallback::auto_ptr ptr( Params_KeyboardSpecialEventCallback::alloc( params->eventType, FlagStatus::globalFlagStatus().makeFlags(), params->key, params->flavor, params->guid, false)); if (ptr) { KeyboardRepeat::set(*ptr); EventOutputQueue::FireConsumer::fire(*ptr); } } RemapFunc::PointingRelativeToScroll::cancelScroll(); }
void remap_ScrollWheelEventCallback(Params_ScrollWheelEventCallback& params) { RemapPointingParams_scroll remapParams(params); RemapClassManager::remap_pointing_scroll(remapParams); if (! remapParams.isremapped) { EventOutputQueue::FireScrollWheel::fire(params); RemapFunc::PointingRelativeToScroll::cancelScroll(); } }
void remap_ScrollWheelEventCallback(const Params_Base& paramsBase) { auto params = paramsBase.get_Params_ScrollWheelEventCallback(); if (!params) return; RemapParams remapParams(*params); RemapClassManager::prepare(remapParams); RemapClassManager::remap(remapParams); if (!remapParams.isremapped) { EventOutputQueue::FireScrollWheel::fire(*params); RemapFunc::PointingRelativeToScroll::cancelScroll(); } }
void remap_ScrollWheelEventCallback(const Params_Base& paramsBase) { auto params = paramsBase.get_Params_ScrollWheelEventCallback(); if (!params) return; PhysicalEventType physicalEventType = PhysicalEventType::DOWN; RemapParams remapParams(*params, physicalEventType); RemapClassManager::prepare(remapParams); RemapClassManager::remap(remapParams); if (!remapParams.isremapped) { EventOutputQueue::FireScrollWheel::fire(*params, AutogenId::maxValue(), physicalEventType); RemapFunc::PointingRelativeToScroll::cancelScroll(); } }
void remap_ScrollWheelEventCallback(ParamsUnion& paramsUnion) { Params_ScrollWheelEventCallback* params = paramsUnion.get_Params_ScrollWheelEventCallback(); if (! params) return; RemapParams remapParams(paramsUnion); RemapClassManager::remap(remapParams); if (! remapParams.isremapped) { EventOutputQueue::FireScrollWheel::fire(*params); RemapFunc::PointingRelativeToScroll::cancelScroll(); } }
// ====================================================================== void remap_KeyboardEventCallback(const Params_Base& paramsBase) { auto params = paramsBase.get_Params_KeyboardEventCallBack(); if (!params) return; PhysicalEventType physicalEventType = PhysicalEventType::UP; if (params->ex_iskeydown) { physicalEventType = PhysicalEventType::DOWN; } RemapParams remapParams(*params, physicalEventType); // Call `prepare` before FlagStatus::set. // // For example, with this autogen: // // <autogen> // __HoldingKeyToKey__ // KeyCode::I, // __{ KeyCode::A }__ // __{ KeyCode::B }__ // </autogen> // // Hitting `i` and `shift` immediately (`i` down, `shift` down, `i` up, `shift` up), // `a` and `shift` should be sent (`a` down, `shift` down, `a` up, `shift` up). // // If we call prepare after FlagStatus::set, // `shift-a` will be sent. It's not intended. RemapClassManager::prepare(remapParams); FlagStatus::globalFlagStatus().set(params->key, params->flags); RemapClassManager::remap(remapParams); // ------------------------------------------------------------ if (!remapParams.isremapped) { Params_KeyboardEventCallBack p(params->eventType, FlagStatus::globalFlagStatus().makeFlags(), params->key, params->charCode, params->charSet, params->origCharCode, params->origCharSet, params->keyboardType, false); KeyboardRepeat::set(p, AutogenId::maxValue()); EventOutputQueue::FireKey::fire(p, AutogenId::maxValue(), physicalEventType); } RemapFunc::PointingRelativeToScroll::cancelScroll(); }
void remap_RelativePointerEventCallback(Params_RelativePointerEventCallback& params) { RemapPointingParams_relative remapParams(params); ButtonStatus::set(params.ex_button, params.ex_isbuttondown); RemapClassManager::remap_pointing(remapParams); // ------------------------------------------------------------ if (! remapParams.isremapped) { EventOutputQueue::FireRelativePointer::fire(ButtonStatus::makeButtons(), params.dx, params.dy); } }
void remap_RelativePointerEventCallback(ParamsUnion& paramsUnion) { Params_RelativePointerEventCallback* params = paramsUnion.get_Params_RelativePointerEventCallback(); if (! params) return; ButtonStatus::set(params->ex_button, params->ex_isbuttondown); RemapParams remapParams(paramsUnion); RemapClassManager::remap(remapParams); // ------------------------------------------------------------ if (! remapParams.isremapped) { EventOutputQueue::FireRelativePointer::fire(ButtonStatus::makeButtons(), params->dx, params->dy); } }
void remap_RelativePointerEventCallback(const Params_Base& paramsBase) { auto params = paramsBase.get_Params_RelativePointerEventCallback(); if (!params) return; ButtonStatus::set(params->ex_button, params->ex_isbuttondown); RemapParams remapParams(*params); RemapClassManager::prepare(remapParams); RemapClassManager::remap(remapParams); // ------------------------------------------------------------ if (!remapParams.isremapped) { EventOutputQueue::FireRelativePointer::fire(ButtonStatus::makeButtons(), params->dx, params->dy); } if (params->ex_button != PointingButton::NONE) { resetWhenPressingPhysicalKeysIsEmpty(); } }
void remap_RelativePointerEventCallback(const Params_Base& paramsBase) { auto params = paramsBase.get_Params_RelativePointerEventCallback(); if (!params) return; ButtonStatus::set(params->ex_button, params->ex_isbuttondown); PhysicalEventType physicalEventType = PhysicalEventType::UP; if (params->ex_button != PointingButton::NONE && params->ex_isbuttondown) { physicalEventType = PhysicalEventType::DOWN; } RemapParams remapParams(*params, physicalEventType); RemapClassManager::prepare(remapParams); RemapClassManager::remap(remapParams); // ------------------------------------------------------------ if (!remapParams.isremapped) { EventOutputQueue::FireRelativePointer::fire(AutogenId::maxValue(), physicalEventType, ButtonStatus::makeButtons(), params->dx, params->dy); } }
void remap_KeyboardSpecialEventCallback(Params_KeyboardSpecialEventCallback& params) { RemapConsumerParams remapParams(params); // ------------------------------------------------------------ RemapClassManager::remap_consumer(remapParams); // ---------------------------------------- if (! remapParams.isremapped) { Params_KeyboardSpecialEventCallback::auto_ptr ptr(Params_KeyboardSpecialEventCallback::alloc(params.eventType, FlagStatus::makeFlags(), params.key, params.flavor, params.guid, false)); if (ptr) { KeyboardRepeat::set(*ptr); EventOutputQueue::FireConsumer::fire(*ptr); } } RemapFunc::PointingRelativeToScroll::cancelScroll(); }
void remap_KeyboardSpecialEventCallback(const Params_Base& paramsBase) { auto params = paramsBase.get_Params_KeyboardSpecialEventCallback(); if (!params) return; RemapParams remapParams(*params); RemapClassManager::prepare(remapParams); RemapClassManager::remap(remapParams); // ---------------------------------------- if (!remapParams.isremapped) { Params_KeyboardSpecialEventCallback p(params->eventType, FlagStatus::globalFlagStatus().makeFlags(), params->key, params->flavor, params->guid, false); KeyboardRepeat::set(p); EventOutputQueue::FireConsumer::fire(p); } resetWhenPressingPhysicalKeysIsEmpty(); RemapFunc::PointingRelativeToScroll::cancelScroll(); }
// ====================================================================== void remap_KeyboardEventCallback(Params_KeyboardEventCallBack& params) { params.log(); //Haci //-------------------------------------------------------------- // 連打遅延対策の処理(リマップするキー、しないキー共通) // 10.2.15〜16 関数化, 2011.01.13(木)〜02.05(土)、04.27(水) //************************************************************** VirtualKey::ControlWorkspaceData(params, VirtualKey::POST_REMAP); // ------------------------------------------------------------ RemapParams remapParams(params); // ------------------------------------------------------------ FlagStatus::set(params.key, params.flags); RemapClassManager::remap_key(remapParams); //Haci //-------------------------------------------------------------- // リマップ直後 // 2011.04.06(水)、04.27(水) //************************************************************** VirtualKey::ControlWorkspaceData(params, VirtualKey::JUST_AFTER_REMAP); // ------------------------------------------------------------ if (! remapParams.isremapped) { Params_KeyboardEventCallBack::auto_ptr ptr(Params_KeyboardEventCallBack::alloc(params.eventType, FlagStatus::makeFlags(), params.key, params.charCode, params.charSet, params.origCharCode, params.origCharSet, params.keyboardType, false)); //Haci // 全くリマップ指定のないキーはここに来る。 VirtualKey::ControlWorkspaceData(params, VirtualKey::NON_REMAPPED); // 全くリマップ指定のないキーの場合は、 // ・キーダウン時にモードを戻し(1つ前のキーがVK系のときのため)、 // ・モード変更キーが押されたのであれば、キーアップ時に作業用のworkspacedataの更新を行う。 // 2010.2.16〜27,2011.01.20(木)、04.27(水) if (ptr) { KeyboardRepeat::set(*ptr); EventOutputQueue::FireKey::fire(*ptr); } } if (NumHeldDownKeys::iszero()) { NumHeldDownKeys::reset(); KeyboardRepeat::cancel(); EventWatcher::reset(); FlagStatus::reset(); ButtonStatus::reset(); VirtualKey::reset(); EventOutputQueue::FireModifiers::fire(FlagStatus::makeFlags()); EventOutputQueue::FireRelativePointer::fire(); PressDownKeys::clear(); } RemapFunc::PointingRelativeToScroll::cancelScroll(); }