mirror of
https://github.com/libretro/RetroArch.git
synced 2026-11-12 18:45:33 -10:00
Every input driver's state call took a flag, keyboard_mapping_blocked: whether the keys are kept from the binds. It mattered when drivers answered the binds themselves. The frontend answers them now, from the keys it asks a driver for once a poll, and applies the flag itself; a driver's state call answers the keyboard, the mouse and the pointer, and none of the twenty-three read the flag. (udev passed it to its touch code, which did not read it either.) The parameter goes: from the interface, the twenty-three drivers, the frontend's own stand-in driver and its nine calls. The frontend's own functions keep theirs - that is where it is used. Measured against this same master built without it, the frame's input work over 300 frames (X11): 3,690,770 instructions to 3,690,476 with no controller, 4,354,940 to 4,354,646 with one. An argument a call. Checked: the frontend harness passes every lane; the X11 keyboard session logs the same as before, and the hotkey and quit-combination sessions what master's binary logged; the raw input keyboards test and the plain Win32 input test, which call a driver's state function themselves, pass under Wine. Built: Linux in full; DirectInput, raw input and the plain Win32 driver with a mingw compiler; the Android unity build with the NDK; Wayland; the Visual C++ 6 project and the QNX driver on their stand-ins; a build with the optional features off. Not compiled, there being no compiler for them here: Cocoa, UWP, the web driver, SDL 1 and the console drivers (DOS, Wii, PS3, PS4, PSP and Vita, Switch, Wii U); theirs is the same one line, taken out by script. The second of three pieces before steps 3 and 4 of the mapping compiler (plan, section 21). The joypad, its info and the binds are handed to the same call, and two drivers use any of it: the Wii's reads one field of the info, the Wii U's asks the joypad for its touch screen. With those two reworked the call would take the port and what is asked, and nothing else.