当前位置: 首页>>代码示例>>C++>>正文


C++ ControllerMessage::get_key_state方法代码示例

本文整理汇总了C++中ControllerMessage::get_key_state方法的典型用法代码示例。如果您正苦于以下问题:C++ ControllerMessage::get_key_state方法的具体用法?C++ ControllerMessage::get_key_state怎么用?C++ ControllerMessage::get_key_state使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ControllerMessage的用法示例。


在下文中一共展示了ControllerMessage::get_key_state方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1:

void
ButtonmapModifier::update(int msec_delta, ControllerMessage& msg, const ControllerMessageDescriptor& desc)
{
  // update all filters in all mappings
  for(std::vector<ButtonMappingPtr>::iterator i = m_buttonmap.begin(); i != m_buttonmap.end(); ++i)
  {
    for(std::vector<ButtonFilterPtr>::iterator j = (*i)->filters.begin(); j != (*i)->filters.end(); ++j)
    {
      (*j)->update(msec_delta);
    }
  }

  std::bitset<256> state = msg.get_key_state();

  for(std::vector<ButtonMappingPtr>::iterator i = m_buttonmap.begin(); i != m_buttonmap.end(); ++i)
  {
    int key_out = (*i)->rhs.get_key();
    bool value  = (*i)->lhs.get(msg);

    // apply the button filter
    for(std::vector<ButtonFilterPtr>::iterator j = (*i)->filters.begin(); j != (*i)->filters.end(); ++j)
    {
      value = (*j)->filter(value);
    }    

    state[key_out] = value || state[key_out];
  }

  msg.set_key_state(state);
}
开发者ID:Ape,项目名称:xboxdrv,代码行数:30,代码来源:buttonmap_modifier.cpp

示例2:

void
EventEmitter::send(const ControllerMessage& msg)
{
  m_btn_map.send(msg.get_key_state());
  m_abs_map.send(msg.get_key_state(), msg.get_abs_state(), msg.get_abs_min(), msg.get_abs_max());

  m_uinput.sync();
}
开发者ID:Ape,项目名称:xboxdrv,代码行数:8,代码来源:event_emitter.cpp


注:本文中的ControllerMessage::get_key_state方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。