In addition, change the encoding of ppsspp.rc to UCS-2/UTF-16 LE as it seems to be the only way to fix displaying of a certain non-ASCII character 'å' used in the version info of the compiled executable under cp1252-incompatible Windows locales.
This turns it into a very viable option for many games. You do lose some FX
but it can as a result even be used as a workaround for the massive glow
in Wipeout...
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.
Picks the first Xinput device available, waits 100 frames between
retries when no devices are available.
Controls are hardcoded so every x360 controller button corresponds
to the PSP button in the same physical position. Input from right
stick and from analog triggers is ignored.
The Xinput code though is overriden by SampleControls' hardcoded
keyboard input. XinputDevice was tested to work with
samples/controller/basic when SampleControls is disabled.