I have been using Mupen64plus Nintendo 64 Emulator to play some good N64 games.
I liked Goldeneye First person shooter game very much. But in N64 console emulation of analogue joystick, I used my laptop touchpad, but it was not working properly.
Whenever I tried to focus crosswire/crosshair to target using touchpad, it just used to return to it's original location.
This was due to the obvious fact that in using actual N64 controller, the analogue stick is springy. We have to keep pressing analogue stick e.g. let say right to keep crosshair/crosswire right. If thumb is removed from stick, then the analogue stick returns to it's origin/centre position.
But the mouse/touchpad is not like that. If we take mouse to the right and leave it there, it doesn't return to it's previous position automatically. (Obviously no spring is attached to our mice.
)
The problem with plugin was that it was used to emulate analogue stick, so it automatically resets pointer to center without moving mice back. Hence only one way emulation with mice/touchpads was possible, where we can not hold the pointer/crosswire to a position.
Hence something needs to be changed. So I first check out internet to find whether there is any solution, I got names of some plugins but I found none for Linux except the default provided with Mupen64plus.
So I decided to look into source code of default plugin mupen64plus-input-sdl.so and changed it such that input plugin don't reset x,y axis to center, hence now the crosshair/crosswire doesn't return to original position unless Left Alt key is pressed.
Although there have been a drawback of doing this. After doing this, I am more indulged in playing Goldeneye which caused me a minor nausea.
(You know the fps, when you try to focus crosshair/crosswire, it oscillated slightly to give realistic effect of shooting, where a person can not exactly point the gun to desired point.)