This PR implements several features to improve playability of mouse controlled games using touch or joystick, for example Per.Oxyd and Bolo. Touch/Analog controls are improved in general. And they are also more customizable in the menu now.
In addition, I added an option to max out all Vita clocks, not just CPU. It set CPU to 444 MHz, bus to 222 MHz and GPU to 222 MHz.
A detailed description of the new features follows:
Rear touch. This enables relative touch controls on the back panel similar to what is used in ScummVM Vita. Useful to play mouse controlled games. Rear touch can be disabled or enabled in the menu. The rear touch controls are indirect, and the same as in ScummVM. Indirect touch behaves similar as a touchpad on a laptop, e.g. move pointer by dragging a finger, and use taps for mouse clicks.
Single finger short tap: left mouse button.
One finger short tap while holding another finger: right mouse button.
Long second finger tap while holding another finger: initiate left mouse button drag and drop, useful to hold left button down to bring up menus.
Long third finger tap while holding two other fingers: initiate right mouse button drag and drop. Drag and drop stops when last finger is released.
Indirect front touch. This enables indirect control of the mouse pointer on the front panel that follow the same control scheme as the back panel. Can be enabled/disabled in the menu.
Pointer speed setting. Mouse pointer speed can be set in the menu between 0.25 and 2.0 in steps of 0.25. This setting is used by the indirect touch controls as well as the new analog joystick mouse control. The default is 1.0 which gives the old behavior.
Improved analog joystick pointer resolution. The analog joystick pointer control now uses higher resolution to allow slow precise mouse pointer movements even with velocities of <1 pixel per frame.
Radial scaled deadzone: The new deadzone improves the analog joystick mouse control, and is user-adjustable between 5% and 30%. The default setting is 15%, similar to the old behavior. However, the new deadzone does not 'lock' to horizontal or vertical axes anymore. See also here for more details on radial scaled deadzones.
New "Max CPU/GPU/BUS" frequency setting. This should slightly improve the speed because the Bus and GPU frequencies are increased to 222 MHz in addition to setting CPU frequency to 444 MHz.
This PR implements several features to improve playability of mouse controlled games using touch or joystick, for example Per.Oxyd and Bolo. Touch/Analog controls are improved in general. And they are also more customizable in the menu now.
In addition, I added an option to max out all Vita clocks, not just CPU. It set CPU to 444 MHz, bus to 222 MHz and GPU to 222 MHz.
A detailed description of the new features follows:
Rear touch. This enables relative touch controls on the back panel similar to what is used in ScummVM Vita. Useful to play mouse controlled games. Rear touch can be disabled or enabled in the menu. The rear touch controls are indirect, and the same as in ScummVM. Indirect touch behaves similar as a touchpad on a laptop, e.g. move pointer by dragging a finger, and use taps for mouse clicks. Single finger short tap: left mouse button. One finger short tap while holding another finger: right mouse button. Long second finger tap while holding another finger: initiate left mouse button drag and drop, useful to hold left button down to bring up menus. Long third finger tap while holding two other fingers: initiate right mouse button drag and drop. Drag and drop stops when last finger is released.
Indirect front touch. This enables indirect control of the mouse pointer on the front panel that follow the same control scheme as the back panel. Can be enabled/disabled in the menu.
Pointer speed setting. Mouse pointer speed can be set in the menu between 0.25 and 2.0 in steps of 0.25. This setting is used by the indirect touch controls as well as the new analog joystick mouse control. The default is 1.0 which gives the old behavior.
Improved analog joystick pointer resolution. The analog joystick pointer control now uses higher resolution to allow slow precise mouse pointer movements even with velocities of <1 pixel per frame.
Radial scaled deadzone: The new deadzone improves the analog joystick mouse control, and is user-adjustable between 5% and 30%. The default setting is 15%, similar to the old behavior. However, the new deadzone does not 'lock' to horizontal or vertical axes anymore. See also here for more details on radial scaled deadzones.
New "Max CPU/GPU/BUS" frequency setting. This should slightly improve the speed because the Bus and GPU frequencies are increased to 222 MHz in addition to setting CPU frequency to 444 MHz.