From 0804ad2165651dd45997885320eba79050d91cfc Mon Sep 17 00:00:00 2001 From: Ingo Ruhnke <grumbel@gmx.de> Date: Tue, 24 May 2011 14:14:32 +0200 Subject: [PATCH] Reenabled rumble-test, but there is currently a huge delay, to do controller messages getting queed up --- src/uinput_message_processor.cpp | 14 ++++++++++++-- src/uinput_message_processor.hpp | 1 + 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/uinput_message_processor.cpp b/src/uinput_message_processor.cpp index 6f2ea91..d9ec3b7 100644 --- a/src/uinput_message_processor.cpp +++ b/src/uinput_message_processor.cpp @@ -22,13 +22,14 @@ #include "uinput.hpp" UInputMessageProcessor::UInputMessageProcessor(UInput& uinput, - ControllerSlotConfigPtr config, - const Options& opts) : + ControllerSlotConfigPtr config, + const Options& opts) : m_uinput(uinput), m_config(config), m_oldmsg(), m_config_toggle_button(opts.config_toggle_button), m_rumble_gain(opts.rumble_gain), + m_rumble_test(opts.rumble), m_rumble_callback() { memset(&m_oldmsg, 0, sizeof(m_oldmsg)); @@ -45,6 +46,14 @@ UInputMessageProcessor::send(const XboxGenericMsg& msg_in, int msec_delta) { XboxGenericMsg msg = msg_in; + if (m_rumble_test) + { + log_debug("rumble: " << get_axis(msg, XBOX_AXIS_LT) << " " << get_axis(msg, XBOX_AXIS_RT)); + + set_rumble(get_axis(msg, XBOX_AXIS_LT), + get_axis(msg, XBOX_AXIS_RT)); + } + // handling switching of configurations if (m_config_toggle_button != XBOX_BTN_UNKNOWN) { @@ -108,6 +117,7 @@ UInputMessageProcessor::set_config(int num) void UInputMessageProcessor::set_ff_callback(const boost::function<void (uint8_t, uint8_t)>& callback) { + m_rumble_callback = callback; m_config->set_ff_callback(callback); } diff --git a/src/uinput_message_processor.hpp b/src/uinput_message_processor.hpp index 26324b0..613c3cf 100644 --- a/src/uinput_message_processor.hpp +++ b/src/uinput_message_processor.hpp @@ -36,6 +36,7 @@ private: XboxButton m_config_toggle_button; int m_rumble_gain; + bool m_rumble_test; boost::function<void (uint8_t, uint8_t)> m_rumble_callback; public: