fixed navigating players list from gamepad
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/branches/irrlicht@3429 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
parent
a18250a599
commit
36f5450c88
@ -436,7 +436,22 @@ void Screen::processAction(const int action, const unsigned int value, Input::In
|
||||
{
|
||||
IGUIListBox* list = dynamic_cast<IGUIListBox*>(w->m_element);
|
||||
assert(list != NULL);
|
||||
if(list->getSelected()>0) break;
|
||||
|
||||
const bool stay_within_list = list->getSelected()>0;
|
||||
|
||||
if(type == Input::IT_STICKMOTION)
|
||||
{
|
||||
// simulate a key press
|
||||
irr::SEvent::SKeyInput evt;
|
||||
evt.PressedDown = true;
|
||||
evt.Key = KEY_UP;
|
||||
irr::SEvent wrapper;
|
||||
wrapper.KeyInput = evt;
|
||||
wrapper.EventType = EET_KEY_INPUT_EVENT;
|
||||
GUIEngine::getDevice()->postEventFromUser(wrapper);
|
||||
}
|
||||
|
||||
if(stay_within_list) break;
|
||||
}
|
||||
|
||||
if(el != NULL && el->getTabGroup() != NULL &&
|
||||
@ -468,7 +483,22 @@ void Screen::processAction(const int action, const unsigned int value, Input::In
|
||||
{
|
||||
IGUIListBox* list = dynamic_cast<IGUIListBox*>(w->m_element);
|
||||
assert(list != NULL);
|
||||
if(list->getSelected() < (int)list->getItemCount()-1) break;
|
||||
|
||||
const bool stay_within_list = list->getSelected() < (int)list->getItemCount()-1;
|
||||
|
||||
if(type == Input::IT_STICKMOTION)
|
||||
{
|
||||
// simulate a key press
|
||||
irr::SEvent::SKeyInput evt;
|
||||
evt.PressedDown = true;
|
||||
evt.Key = KEY_DOWN;
|
||||
irr::SEvent wrapper;
|
||||
wrapper.KeyInput = evt;
|
||||
wrapper.EventType = EET_KEY_INPUT_EVENT;
|
||||
GUIEngine::getDevice()->postEventFromUser(wrapper);
|
||||
}
|
||||
|
||||
if(stay_within_list) break;
|
||||
}
|
||||
|
||||
if(el != NULL && el->getTabGroup() != NULL &&
|
||||
|
@ -187,27 +187,9 @@ InputManager::~InputManager()
|
||||
|
||||
|
||||
#define MAX_VALUE 32768
|
||||
/*
|
||||
void InputManager::postIrrLichtMouseEvent(irr::EMOUSE_INPUT_EVENT type, const int x, const int y)
|
||||
{
|
||||
irr::SEvent::SMouseInput evt;
|
||||
|
||||
evt.Event = type;
|
||||
evt.X = x;
|
||||
evt.Y = y;
|
||||
|
||||
irr::SEvent wrapper;
|
||||
wrapper.MouseInput = evt;
|
||||
wrapper.EventType = EET_MOUSE_INPUT_EVENT;
|
||||
|
||||
GUIEngine::getDevice()->postEventFromUser(wrapper);
|
||||
}
|
||||
*/
|
||||
// TODO - make this do something
|
||||
|
||||
void InputManager::handleStaticAction(int key, int value)
|
||||
{
|
||||
//if (value) return;
|
||||
|
||||
static int isWireframe = false;
|
||||
|
||||
switch (key)
|
||||
@ -388,14 +370,6 @@ void InputManager::input(const SEvent& event)
|
||||
|
||||
if(event.EventType == EET_JOYSTICK_INPUT_EVENT)
|
||||
{
|
||||
/*
|
||||
std::cout << "x=" << event.JoystickEvent.Axis[SEvent::SJoystickEvent::AXIS_X]
|
||||
<< " y=" << event.JoystickEvent.Axis[SEvent::SJoystickEvent::AXIS_Y]
|
||||
<< " 1=" << event.JoystickEvent.IsButtonPressed(0)
|
||||
<< " 2=" << event.JoystickEvent.IsButtonPressed(1)
|
||||
<< " 3=" << event.JoystickEvent.IsButtonPressed(2)
|
||||
<< " 4=" << event.JoystickEvent.IsButtonPressed(3) << std::endl;
|
||||
*/
|
||||
// Axes - FIXME, instead of checking all of them, ask the bindings which ones to poll
|
||||
for(int axis_id=0; axis_id<SEvent::SJoystickEvent::NUMBER_OF_AXES ; axis_id++)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user