mirror of
https://github.com/libretro/ppsspp.git
synced 2024-11-30 03:40:32 +00:00
7e7e9a0452
Removes the windows-specific hack from sceCtrl to read keyboard input and instead add a hack to PPSSPPWindows. The input mapping is still hardcoded and is the same as it was in sceCtrl. Add an std::list to WindowsHost that, curretly, contains a hardcoded list of preferred `InputDevice`s. Devices are tried in-order until one of them reports success. Xinput is preferred over Keyboard. Keyboard always returns success. Pointers are stored in the std::list for polymorphism. Change XinputDevice to report failure as soon as a device can't be queried, instead of only a frame later.
14 lines
388 B
C++
14 lines
388 B
C++
#include "InputDevice.h"
|
|
#include "XinputDevice.h"
|
|
#include "KeyboardDevice.h"
|
|
#include <list>
|
|
#include <memory>
|
|
|
|
#define PUSH_BACK(Cls) do { list.push_back(std::shared_ptr<InputDevice>(new Cls())); } while (0)
|
|
std::list<std::shared_ptr<InputDevice>> getInputDevices() {
|
|
std::list<std::shared_ptr<InputDevice>> list;
|
|
PUSH_BACK(XinputDevice);
|
|
PUSH_BACK(KeyboardDevice);
|
|
return list;
|
|
}
|