Example #1
0
    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();
    }
Example #2
0
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();
}
Example #3
0
    // ======================================================================
    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();
    }
Example #4
0
    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();
    }
Example #5
0
    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();
    }
Example #6
0
    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();
      }
    }
Example #7
0
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();
  }
}
Example #8
0
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();
  }
}
Example #9
0
    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();
      }
    }
Example #10
0
// ======================================================================
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();
}
Example #11
0
    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);
      }
    }
Example #12
0
    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);
      }
    }
Example #13
0
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();
  }
}
Example #14
0
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);
  }
}
Example #15
0
    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();
    }
Example #16
0
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();
}
Example #17
0
// ======================================================================
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();
}