Пример #1
0
 void rumbler::do_rumble(int wiimote_number)
 {
   if(current_wiimote_state.find(wiimote_number) != current_wiimote_state.end() && !current_wiimote_state[wiimote_number].rumble_active())
   {
     current_wiimote_state[wiimote_number].begin_brief_rumble();
     sender.send(wiimote_message(wiimote_number, serialization::start_rumble(), serialization::rumble_size(), [this](int wiimote_number) {
       auto time_to_end_vibration = steady_time_point::clock::now() + std::chrono::milliseconds(brief_rumble_duration);
       sender.send(wiimote_message(wiimote_number, time_to_end_vibration, serialization::stop_rumble(), serialization::rumble_size(), std::bind(&rumbler::on_end_rumble, this, std::placeholders::_1), false));                         
     }, false));
   }
 }
Пример #2
0
  void rumbler::do_rumble(int wiimote_number, bool enable)
  {
    if(current_wiimote_state.find(wiimote_number) != current_wiimote_state.end() && enable != current_wiimote_state[wiimote_number].rumble_active())
    {
		if (enable) {
			current_wiimote_state[wiimote_number].begin_brief_rumble();
			sender.send(wiimote_message(wiimote_number, serialization::start_rumble(), serialization::rumble_size(), [this](int wiimote_number) {
			}, false));
		}
		else {
			sender.send(wiimote_message(wiimote_number, steady_time_point::clock::now(), serialization::stop_rumble(), serialization::rumble_size(), std::bind(&rumbler::on_end_rumble, this, std::placeholders::_1), false));
		}
    }
  }
Пример #3
0
 void data_reporter::request_reporting_mode(int wiimote, u8 reporting_mode)
 {
   if(reporting_mode >= 0x30 && reporting_mode <= 0x37)
   {
     std::array<u8, 23> reportingMode = { 0xa2, 0x12, 0x00, reporting_mode };
     sender.send(wiimote_message(wiimote, reportingMode, 4));
   }
 }