Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Using a mouse as a controller
06-25-2018, 05:07 PM (This post was last modified: 06-25-2018 05:45 PM by Rekrul.)
Post: #1
Using a mouse as a controller
First off, let me state that I know full well that using a mouse to fake button presses for moving the camera is never going to be the same as real mouse support. I'm perfectly 100% OK with that.

The problem is that unless I'm doing something wrong, PPSSPP's implementation of mouse control doesn't seem to work very well.

I've enabled mouse support in the control section, the sensitivity is turned up to max, but yet when I go to control mapping and click the "M", I have to move the mouse a lot to get it to recognize that I'm moving the mouse. This problem carries over into the game. On Syphon Filter's default settings, moving the mouse barely makes the camera twitch. I have to turn them all up to max and even then, it still feels sluggish.

You might say that this is just the nature of using a mouse in place of buttons, but you'd be wrong. There's a program called GlovePIE that can read the mouse and output key presses to fool programs. I used the following script to allow the mouse movements to send the default keys that PPSSPP uses for the face buttons;

Code:
s = delta(Mouse.DirectInputY) < -1
z = delta(Mouse.DirectInputY) > 1
a = delta(Mouse.DirectInputX) < -1
x = delta(Mouse.DirectInputX) > 1

Using this, the game is MUCH more responsive than PPSSPP's own mouse support, even with the game settings at the default.

Mission accomplished, right? Unfortunately no. Using a program/script that translates mouse movements into key presses messes with all sorts of things while you're just trying to run the program or even to select games from the opening screen because PPSSPP keeps seeing key presses as you move the mouse.

Also, there's apparently no way to permanently hide the mouse pointer in fullscreen. When you move the mouse, it re-appears, and you'll kind of be moving the mouse a lot if you're using it for controlling the camera. Apparently the only way around this, since it was deemed not important that PPSSPP permanently hide the pointer in fullscreen mode, is to set Windows to use a blank pointer image, which makes even undoing the change a pain in the butt.

So the point is, why is PPSSPP's native mouse input so slow and is there any way to increase it? Remember, the sensitively slider is at max.

EDIT:

OK, now it's making a liar out of me. I tried it last night and results sucked, but I just tried using mouse control in PPSSPP and it worked better. Although using GlovePIE gives a smoother feeling of control. Using PPSSPP's mouse control feels kind of twitchy.
Find all posts by this user
Quote this message in a reply
06-25-2018, 10:34 PM
Post: #2
RE: Using a mouse as a controller
Sensitivity and smoothing settings of the PPSSPP will NOT affect how it behaves in game, however it does alters how PPSSPP itself maps values, to obtain what you have by using external program to simply map one to another you have to set smoothing to 0.0 and sensitivity to 1.0. Personally I find default values better for cases where I would actually want to use mouse like games which uses thumbstick as real analog, definitely wouldn't have fun trying to use mouse to simulating a press of 4 face buttons as that just sucks to anyone which actually is used to real PC shooters.

Overall the only almost-real-mouse-aim in PSP games is currently available in Metal Gear Solid Peace Walker with right analog patch and an addon to make it highly oversensitive.
Most PSP games did not even had a proper analog support and even the thumbstick was commonly used as 4 to 8 directions + acceleration, you have to continuosly move the mouse and the movement of the camera will speed up over time depending on how long you keep moving it and NOT how fast you do it, it's not even close to be accurate without patching the game as MGSTongueW is.

http://forums.ppsspp.org/showthread.php?tid=6594 - Custom PPSSPP Shaders!
http://forums.ppsspp.org/showthread.php?tid=3590&pid=117172#pid117172 - simple CE scripts to help creating CWCheats,
https://github.com/LunaMoo/PPSSPP_workarounds - CWCheat workarounds.
Find all posts by this user
Quote this message in a reply
06-26-2018, 03:11 AM
Post: #3
RE: Using a mouse as a controller
(06-25-2018 10:34 PM)LunaMoo Wrote:  Sensitivity and smoothing settings of the PPSSPP will NOT affect how it behaves in game, however it does alters how PPSSPP itself maps values
I discovered that you can increase the sensitivity beyond 1.0 in the INI file, which does make the mouse more responsive, but it doesn't really improve the handling though.

(06-25-2018 10:34 PM)LunaMoo Wrote:  to obtain what you have by using external program to simply map one to another you have to set smoothing to 0.0 and sensitivity to 1.0.
Setting the smoothing to 0.0 makes mouse control COMPLETELY unusable in the Syphon Filter games. Moving the mouse barely registers in the game at all.

(06-25-2018 10:34 PM)LunaMoo Wrote:  Personally I find default values better for cases where I would actually want to use mouse like games which uses thumbstick as real analog, definitely wouldn't have fun trying to use mouse to simulating a press of 4 face buttons as that just sucks to anyone which actually is used to real PC shooters.
While using the mouse to simulate pressing the face buttons isn't ideal, it's a lot better and more intuitive than using four separate buttons to control the camera/aim. No, it's not the same as having true mouselook, but with a properly configured program, it can come pretty close.

After more experimenting, I still can't find any settings I really like for the internal mouse control. It seems that no matter what the sensitivity is set to, PPSSPP ignores small mouse movements. So you need larger mouse movements for it to register and then it seems to buffer the movements so that it keeps pressing the button for another half-second or so after you stop moving the mouse. The result is that small camera adjustments are very hard to do and it always moves further than you wanted, then stops like it hit some kind of limit. Reducing the smoothing setting makes PPSSPP ignore the mouse even more.

Using the external program GlovePIE, it registers as a button press at the slightest mouse movement and immediately stops as soon as you stop moving the mouse. If you open a copy of Notepad so you can see it generate the key presses, you can move the mouse by such a small amount so as to generate a single key press, or make a big movement and it will generate multiple presses.

In Syphon Filter, this translates to much smoother, albeit it slower, movement than with the internal mouse support. You can easily make fine adjustments to the aim. The downside being that it takes larger mouse movements to make larger camera moves. That and being constantly distracted by the mouse pointer. Seriously, the pointer serves absolutely no purpose while a game is running fullscreen, why isn't it permanently hidden?

To be clear, when playing the Syphon Filter games (Dark Mirror and Logan's Shadow) it's possible to move the camera in tiny increments by tapping the face buttons/keys. A quick tap will only move the camera a few pixels. This is what happens when using GlovePIE, if you only move the mouse a tiny amount, it only sends one or two presses of the button to the system/PPSSPP, and the camera moves a tiny amount. When you use the internal mouse controls, tiny movements of the mouse are ignored. Then you move it more and it seems to send a whole batch of button presses to the game, causing it to continue moving a little AFTER you've stopped using the mouse.

It's hard to accurately describe the difference I'm seeing. Why don't you try it for yourself?

Just Google for GlovePIE, It comes as a Zip archive, so there's nothing to install, just unpack and run it. Copy my script above, paste it into the window and click the Run button. Moving the mouse up will send "s", right will send "x" and so on. These are PPSSPP's defaults for the face buttons. I suggest running PPSSPP first and then running the game as moving the mouse around in the GUI will send those keys and may inadvertently select something you didn't want, then you can swpa out, click the Run button and switch back to the game. If you want to test the same game I did, try Syphon Filter: Dark Mirror. Just start a game, and go into the first training mission.

Please try it and you'll see what I mean. GlovePIE feels smoother, but slower. The internal mouse control can be faster, but is jerkier.
Find all posts by this user
Quote this message in a reply
06-26-2018, 04:54 PM (This post was last modified: 06-27-2018 01:36 PM by LunaMoo.)
Post: #4
RE: Using a mouse as a controller
Definitely not goint to test a game which I don't have. Mouse control works perfectly fine aside of mouse scroll which doesn't work despite being mappable.

The primary difference between glovePIE and PPSSPP using settings I wrote aside of refresh rate which I have no clue what is in GP, but in PPSSPP it's determined by the game would be the fact that you're translating mouse movement to buttons in GP which is NOT the case in PPSSPP where mouse movement is always translated to gamepad axis before mapping can make use of it.

It works perfectly fine when mapped to analog PSP input, that's what it was made for and how it was tested.
If it's not working as planned when mapped to keys, it would be a separate issue of mapping the analog to psp buttons, ie it could require 50% or more axis before reacting(pressing button) to it or something alike effectively cutting sensitivity to half or less. This could explain why smoothing would be required since it boosts sensitivity.
I never tested that and might not bother since I consider playing games with no analog support whatsoever with a mouse somewhere between complete lack of fun and masochism and I really only like using mouse when game is modded with boosted analog accuracy and real analog patch that supports full range of analog and removes acceleration and I really don't have time to sit there and mass produce such patches despite them being doable in all games quite easily compared to properly working and not buggy fps patches for eample;p.

Edit: Not sure, but that could be this which would mean there's just 1/3 of the sensitivity at max when mapping axis to buttons.
Edit2: Actually looking at it now when I have more time it's probably just this which means you have to almost move the axis all the way for the psp button mapped to it to be triggered. This is quite bad and could be changed, but even mouse mapped to analog stick which is that feature designed use-case is not even close to real mouse control without a game mod to boost sensitivity and make proper use of analog range which PSP games rarely ever used due to poor psp thumbstick.

http://forums.ppsspp.org/showthread.php?tid=6594 - Custom PPSSPP Shaders!
http://forums.ppsspp.org/showthread.php?tid=3590&pid=117172#pid117172 - simple CE scripts to help creating CWCheats,
https://github.com/LunaMoo/PPSSPP_workarounds - CWCheat workarounds.
Find all posts by this user
Quote this message in a reply
06-30-2018, 06:03 AM
Post: #5
RE: Using a mouse as a controller
(06-26-2018 04:54 PM)LunaMoo Wrote:  Definitely not goint to test a game which I don't have.
I'm sure there are plenty of other games that use the face buttons for controlling the camera.

(06-26-2018 04:54 PM)LunaMoo Wrote:  Mouse control works perfectly fine aside of mouse scroll which doesn't work despite being mappable.
It may work perfectly fine as an analog controller, but the performance is rather poor when mapped to buttons, to the point that having it be able to do that seems kind of pointless.

(06-26-2018 04:54 PM)LunaMoo Wrote:  The primary difference between glovePIE and PPSSPP using settings I wrote aside of refresh rate which I have no clue what is in GP,
I have no idea either. You can run GP with my script and then switch to something like Notepad to see how it translates mouse movements into printable characters. I did once see a script for GP that the author said would adjust the mouse sensitivity, but I'm not sure how it worked. It may have just added a delay for cases where the mouse is too sensitive.

(06-26-2018 04:54 PM)LunaMoo Wrote:  but in PPSSPP it's determined by the game would be the fact that you're translating mouse movement to buttons in GP which is NOT the case in PPSSPP where mouse movement is always translated to gamepad axis before mapping can make use of it.
I'll take your word that that's how it works, but my questions is why does it work that way? The analog stick and buttons are two different types of input, wouldn't it make more sense to handle them differently?

Maybe when mapped to a button, simply watch for mouse movement in the given direction and while the mouse is being moved, repeatedly press whatever button is mapped to it. Maybe have a sensitivity slider to adjust how fast the button presses are sent so that the user can speed up or slow down the rate.

I mean I'm not asking that the program have a whole section dedicated to mapping the mouse to the buttons or that there be specific settings for individual games, just that it bypasses the analog routine when a user maps a button to the mouse so that it works more like GP.

(06-26-2018 04:54 PM)LunaMoo Wrote:  It works perfectly fine when mapped to analog PSP input, that's what it was made for and how it was tested.
Unfortunately, not every FPS game on the PSP lets you use the analog stick for aiming.

(06-26-2018 04:54 PM)LunaMoo Wrote:  I never tested that and might not bother since I consider playing games with no analog support whatsoever with a mouse somewhere between complete lack of fun and masochism
But others may want to play them, especially if they're exclusive to the PSP. And such games become much more playable (in my opinion) when you can properly map the controls to the mouse. It's not perfect, but it can be quite usable.

(06-26-2018 04:54 PM)LunaMoo Wrote:  and I really only like using mouse when game is modded with boosted analog accuracy and real analog patch that supports full range of analog and removes acceleration
I agree that true mouse control is the best. However true mouse control isn't available for all games, so when a game uses the face buttons to move the camera, faking it with the mouse is the next best thing.

I don't claim that it's a good replacement for true mouse control, just that it's better than nothing if the alternative is using the buttons.

(06-26-2018 04:54 PM)LunaMoo Wrote:  and I really don't have time to sit there and mass produce such patches despite them being doable in all games quite easily compared to properly working and not buggy fps patches for eample;p.
I wouldn't expect you to, which is why I was looking for a simple solution that could be used with unpatched games.

I delayed responding to this message because I wanted to make a video comparing three different control methods, gamepad, internal mouse control and GlovePIE. I've never tried recording the screen before, so I searched for a freeware program that would work under XP, selected the best options I could and made a video. I've never uploaded anything to YouTube before so rather than mess around and possibly have it degrade the video, I just uploaded it to SendSpace. If you don't want to try GlovePIE yourself, can you please at least watch the video? It's only 17MB.

https://www.sendspace.com/file/uvygb4

All three were done with all the game's control settings on the default. The only thing I changed was to invert the Y axis. I didn't alter the sensitivity to try and fine tune either mouse control method. For the internal mouse control, both the sensitivity and smoothing sliders were at max. For all three, I moved the camera around a little, tried some fine movements, then I aimed at two lights in the distance, as if I was aiming at enemies, finally centering the aim on the junction of a set of windows before moving to the next control method. I paused the recording after the internal mouse control so that I could deactivate it and activate GlovePIE. The yellow circle around the mouse pointer was adding by the recording software, I couldn't find a way to turn it off. You don't see that when actually using GP.

Note that the times during the internal mouse control when there's no movement were because I was trying to make fine movements with the mouse and it just wasn't registering.

Of the three, you'll note that the most precise control was achieved with GP and that was without tweaking the game's settings, which can make it even better. Is it perfect? No, not by a long shot, but it's better than the alternatives. I'd just like to see PPSSPP able to do that without having to use an external program.

On the other hand, if this is deemed to be too much trouble to add to PPSSPP can I PLEASE have an option to permanently hide the mouse pointer while running a game in fullscreen mode? Then I'll just use GlovePIE and call it a day.
Find all posts by this user
Quote this message in a reply
07-01-2018, 02:00 PM
Post: #6
RE: Using a mouse as a controller
i never believed in asking for features to be added
but i always was 100% sure there exist work around

https://www.softwareok.com/?seite=Micros...ouseCursor

Try AntiMicro graphical program used to map keyboard keys and mouse controls to a gamepad/controller.
http://forums.ppsspp.org/showthread.php?tid=12513
or http://www.x360ce.com
Find all posts by this user
Quote this message in a reply
07-01-2018, 08:51 PM
Post: #7
RE: Using a mouse as a controller
(07-01-2018 02:00 PM)ZeroX4 Wrote:  i never believed in asking for features to be added
but i always was 100% sure there exist work around

https://www.softwareok.com/?seite=Micros...ouseCursor
There's a bunch of programs like that. Unfortunately, they're all useless for this purpose. They all hide the pointer after a period of inactivity, or sometimes when you start typing. When you move the mouse, it unhides the pointer, making it visible again. And if you're using the mouse as a controller, you're going to be moving it.

I looked for a program that would let you hide/unhide the pointer with a hotkey, but I couldn't find anything.
Find all posts by this user
Quote this message in a reply
07-02-2018, 09:12 PM
Post: #8
RE: Using a mouse as a controller
http://www.cursorhider.com/2012/03/optio...rn-on.html

Try AntiMicro graphical program used to map keyboard keys and mouse controls to a gamepad/controller.
http://forums.ppsspp.org/showthread.php?tid=12513
or http://www.x360ce.com
Find all posts by this user
Quote this message in a reply
07-02-2018, 09:54 PM
Post: #9
RE: Using a mouse as a controller
I totally not going to read a wall of text, but following the edit I left in my post shortly after posting it - see this issue which is currently blocking me from opening a pull request with an option that allows configurable deadzone for axis mapped to button which currently is set to 75%.

Also whole discussion about software for making mouse invisible just because "ppsspp doesn't work as well when mapping axis to button" seems dumb as you can still keep mouse control of PPSSPP without mapping it to keys leaving that to your external software while leaving invisible cursor to the PPSSPP itself. Not only mouse control activated makes the cursor invisible, it also has an option to limit it's movement inside it's window both features work until pausing the game or opening windows drop down menu(left alt or F10), it also disables double click fullscreen switch automatically.

http://forums.ppsspp.org/showthread.php?tid=6594 - Custom PPSSPP Shaders!
http://forums.ppsspp.org/showthread.php?tid=3590&pid=117172#pid117172 - simple CE scripts to help creating CWCheats,
https://github.com/LunaMoo/PPSSPP_workarounds - CWCheat workarounds.
Find all posts by this user
Quote this message in a reply
07-02-2018, 10:53 PM
Post: #10
RE: Using a mouse as a controller
(07-02-2018 09:12 PM)ZeroX4 Wrote:  http://www.cursorhider.com/2012/03/optio...rn-on.html

Thanks, but it didn't work properly for me. It's a moot point now anyway. (see below)

(07-02-2018 09:54 PM)LunaMoo Wrote:  I totally not going to read a wall of text

I'm sorry my post was too long for you. I'll condense it;

GlovePIE isn't malware and doesn't make ANY changes to your system. Just try it out and see how it works with whatever games you have. It's strange to make PPSSPP map the mouse to an axis, then to the buttons, when they're two different things. Wouldn't it make more sense to just read the mouse directly for the buttons and generate button presses like GP does? While I agree that true analog support is better and modded games are best, not all games have analog support or mods. People still want to play those games and faking it with the mouse is the next best option. If done well, such control can be quite usable and better than the alternative of using the buttons. Watch the video I uploaded to see how gamepad, mouse control and GlovePIE compare. It's only 17MB and 2 minutes.

(07-02-2018 09:54 PM)LunaMoo Wrote:  Also whole discussion about software for making mouse invisible just because "ppsspp doesn't work as well when mapping axis to button" seems dumb as you can still keep mouse control of PPSSPP without mapping it to keys leaving that to your external software while leaving invisible cursor to the PPSSPP itself.

Yes, thank you, that works. It never occurred to me to enable mouse control without actually using it. I had assumed that it would only hide the pointer when the mouse was being used in the program.
Find all posts by this user
Quote this message in a reply
07-03-2018, 08:02 PM
Post: #11
RE: Using a mouse as a controller
Why don't you just use a Gamepad's right analogue stick,set the face buttons to the right analogues controls, works brilliantly on FPS like call of duty / medal of honors, and the star wars games.
Find all posts by this user
Quote this message in a reply
07-03-2018, 08:41 PM
Post: #12
RE: Using a mouse as a controller
(07-03-2018 08:02 PM)The Phoenix Wrote:  Why don't you just use a Gamepad's right analogue stick,set the face buttons to the right analogues controls, works brilliantly on FPS like call of duty / medal of honors, and the star wars games.

Because I've never liked using an analog stick for aiming/controlling the camera. I learned to play FPS games using a mouse and keyboard and that's the only control method I've ever been any good at. I've tried to use dual analog sticks and it's so awkward and imprecise (compared to a mouse) that it makes the games unplayable for me. No matter how I tweak the controls and how well it seems to work in the tutorial sections where you shoot at mostly static targets, once I encounter real enemies that move around, I can't hit them to save my life.
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump: