Page 1 of 1

[Script Release] Gyro Aim "uJSM"

PostPosted: Mon Dec 19, 2022 11:07 pm
by aelius
Hello everyone. I have written a script for the Titan Two which takes controller motion aiming and translates it to mouse output. I call it uJSM, aka micro Joy Shock Mapper, because a lot of the feature set and code was referenced from JoyShockMapper, a controller remapper software with emphasis on gyro aiming and flickstick.

You can find the script in Gtuner's online resources by searching for uJSM.

I'm sharing here to the XIM subforum because the most effective way to make use of my script is to feed the titantwo's mouse output into any XIM device. In doing so, you effectively make a XIM Nexus out of any gyro controller.

The elevator pitch for those not familiar: gyro aim done right is roughly on par with mouse aim. In many ways, gyro aim IS a form of mouse input. Programmatically, you can treat gyro outtput as if it were mouse output. Which is why my script works very well with the XIM, and why the XIM Nexus exists in the first place: XIM specializes in mouse-to-joystick mapping, and gyro is a mouse.

For those without a XIM, I've also implemented much of the mouse-to-joystick logic from JSM. It requires fiddling, though.
Additionally, you can use the mouse output directly on PC- in this mode, I have implemented flickstick. I intend to add flickstick to the joystick output in a future update.

Most of the documentation is in the script's interactive config, and you can read more about many of the settings over at JSM's github page linked above. I intend to make some video demonstrations because I'm sure much of this will be confusing and difficult to use for those just starting out. Please feel free to ask questions in this thread.

Note: I consider this alpha quality. Please read through what documentation I have written into the interactive config. If you intend to use mouse output directly to PC, you will need to add your own bindings to the GPC code.

I made this largely as an educational exercise, and am sharing it here in case others find some value in it. Unfortunately, my uJSM script does not work as well as the PC version of JSM. I believe this is an inherent limitation of the way TitanTwo reports gyro information. The accel and gyro sensors, like all other inputs on TitanTwo, are reported on an abstracted scale of -100:100. This has created some headaches for me, and ultimately compromises the Titan's ability to have accurate gyro controls. I hope to get Jefferson's attention, because to truly work with gyro and accel data, I need access to the raw controller data in degrees per second.

Enjoy!

Re: [Script Release] Gyro Aim "uJSM"

PostPosted: Wed Dec 28, 2022 10:24 pm
by halloll
Currently I make use of gyro aiming by strapping an arduino board that functions as a gyro mouse to a controller and connecting both to a Titan 2, while this method works really well especially since I can use any pre existing input translator script, my method is rather cumbersome though and it means I'm using both usb ports on the Titan 2.
I tried using your script and indeed found it confusing, I don't have a XIM device so I did most of my testing with mouse-to-joystick method but never quite managed to remove the deadzone.

Looking forward to your video :)