AnalogsEnhancerKai Vita
More actions
| AnalogsEnhancerKai | |
|---|---|
| File:AnalogsEnhKaiVita.png | |
| General | |
| Author | t0mizwf26, yakit4k0, Rinnegatamante |
| Type | Plugins |
| Version | 1.1.0 |
| License | GPL-3.0 |
| Last Updated | 2025/08/02 |
| Links | |
| Download | |
| Website | |
| Source | |
A Modified version of AnalogEnhancer plugin for PSVITA. Now with outer deadzone and 8-way digital.
Based on the original AnalogsEnhancer v1.1 code (commit 0629c4b) With "Outer Dead Zone" idea from u/lizin5ths (fork Haasman0 / AnalogsEnhancer)
Features Explained
Introduction
If .txt config file is missing, the following default config will be used instead.
l=0,127,n,s=0,0;r=0,127,n,s=0,0;n
Which means every feature offered by this plugin is turned OFF.
2) Inner Dead Zone
Classic feature from the original Rinnegatamante/AnalogsEnhancer.
With 2 different modes to choose from: Rescaling On & Rescaling Off.
2.1) Inner Dead Zone - Rescaling On (Scaled Radial Dead Zone)
l=64,127,y,s=0,0;r=64,127,y,s=0,0;n
This is probably the most common Dead Zone people would use to fix drifting analogue sticks.
The full range is available, no input is ignored (skipped), allowing low-magnitude adjustments.
2.2) Inner Dead Zone - Rescaling Off (Radial Dead Zone)
l=16,127,n,s=0,0;r=16,127,n,s=0,0;n
Fewer people would choose to use this. Less ideal, some input is ignored (skipped).
In this example, low-magnitude adjustments with magnitude < 16 are impossible.
There's one advantage, though. Notice the gradient here is still 1?
Unlike the previous Rescaling On example with gradient 2.
This means it's a little easier to make precise adjustments for the remaining range (16 to Max).
3) Outer Dead Zone
Outer Dead Zone is useful with situations like
"since putting little joystick covers on them makes it extremely difficult to hit the maximum values." u/lizin5ths
Outer Dead Zone with Rescaling On could help to solve the problem by reaching the max earlier. The code is based on u/lizin5ths's implementation (fork Haasman0 / AnalogsEnhancer), with many improvements.
Outer Dead Zone with Rescaling Off however, is something a little different. More on that below.
3.1) Outer Dead Zone - Rescaling On (360-Degree Movement)
l=0,80,y,s=0,0;r=0,80,y,s=0,0;n
In this example, the stick reaches the max much earlier. Bring more cute cat paw claw grip cap cover!!.
3.2) Outer Dead Zone - Rescaling Off (8-Way, "Axial Dead Zone")
l=0,80,n,s=0,0;r=0,80,n,s=0,0;n
The problem is solved by using Rescaling On.
Q: What should Rescaling Off do? A: Go retro.
Now here's something niche.
3.3) Whoa, hang on a second!
Why should people use a normal 360-degree analogue stick with only the outer one-third as 8-Way?
Right, but we could use Inner & Outer Dead Zone together.
l=80,80,n,s=0,0;r=80,80,n,s=0,0;n
Note the 8-Way always has an "Axial Dead Zone" of magnitude 49.
So by setting "Inner Dead Zone = Outer Dead Zone", we could have an 8-Way joystick with customisable actuation point (49 to 126)
l=80,80,y,s=0,0;r=80,80,y,s=0,0;n
You probably guessed we could do the same with Rescaling On, 360-Degree Movement with Max output only.
However, personally, I can't think of a reason to.
4) S for Sniper? Snail? Shooter? ...Well, it's "Slow Mode"
Very boring name I know. Just call it Sniper / Snail / Shooter / High-Precision Mode, or whatever you like.
I'm just way too lazy to change all related names in the code, so I will keep calling it: "Slow Mode".
Remember earlier example in 2.1) Inner Dead Zone - Rescaling On (Scaled Radial Dead Zone)?
l=64,127,y,s=0,0;r=64,127,y,s=0,0;n
Inner 50% = Dead Zone, gradient is "2" instead of the normal "1". Everything's so fast, it's hard to make tiny adjustments!
Let's try to fix this, but unfortunately with a price to pay.
4.1) Slow Mode - Rescaling On
l=64,127,y,s=32,16;r=64,127,y,s=32,16;n
Change s=0,0 to s=32,16, here's the result:
Now it's easier to sneak / snipe.
However, the outer half is sacrificed. Gradient is increased, making the outer half even harder to do tiny adjustments.
4.2) Slow Mode - Rescaling Off
l=16,127,n,s=32,16;r=16,127,n,s=32,16;n
Also change s=0,0 to s=32,16, see what happens here when Rescaling Off:
In this particular example, within Slow Mode range (32), the output magnitude will always be "16".
4.3) Have some fun
l=16,80,n,s=32,8;r=16,80,n,s=32,8;n
Who's going to do this?
5) ANALOG_WIDE
That last "n" in l=0,127,n,s=0,0;r=0,127,n,s=0,0;n
Also a classic feature from the original Rinnegatamante/AnalogsEnhancer.
Please allow me to quote from Rinnegatamante
"ANALOG_WIDE is one of the two modalities to poll analogs from Vita OS (one being ANALOG that simulates PSP polling and ANALOG_WIDE)."
"In ANALOG mode (used even in several commercial games as well as PSP and PSX titles), max range of analogs is reduced thus making analogs feel less reactive."
It's a very nice feature but might "causes issues in some games".
So it's disabled by default in AnalogsEnhancerKai.
If needed, please re-enable it manually (by changing that last n into y).
How to Use
- Copy AnalogsEnhancerKai.skprx into ur0:tai/
- Customise AnalogsEnhancerKai's config.txt config file
- Copy config.txt into ux0:data/AnalogsEnhancerKai
Alternatively, if you prefer to use ur0:tai/ instead:
Rename config.txt to AnaEnKaiCfg.txt Copy AnaEnKaiCfg.txt directly into ur0:tai/
( !! Handle "ur0:tai/", or anything "ur0:" with Caution !! ) ( If both ur0:tai/AnaEnKaiCfg.txt & ux0:data/AnalogsEnhancerKai/config.txt are present, will use AnaEnKaiCfg.txt )
Edit ur0:tai/config.txt, add the following, and save
# AnalogsEnhancerKai *KERNEL ur0:tai/AnalogsEnhancerKai.skprx
Reboot PS Vita
Understand & Customise Config File
l=0,127,n,s=0,0;r=0,127,n,s=0,0;n
Break it into 3 sections:
| Section | Content |
|---|---|
| Left Stick | l=0,127,n,s=0,0; |
| Right Stick | r=0,127,n,s=0,0; |
| ----------- | ---------------- |
| ANALOG_WIDE | n |
Now, we could see Left Stick and Right Stick configs sharing the same structure:
l(/r)=0,127,n,s=0,0;
Each part means:
| Config | Meaning |
|---|---|
| l(/r)=0,127, | Inner Dead Zone, Outer Dead Zone |
| n, | Rescaling (y=ON ; n=OFF) |
| s=0,0; | Slow Mode Range, Slow Mode Max Output |
| ------------ | ------------------------------------- |
| n | 5) ANALOG_WIDE, (y=ON ; n=OFF) |
For each non-"y/n" config:
| Config | Legit Range if "ON" | Special Cases (switch OFF, etc.) |
|---|---|---|
| Inner Dead Zone | 1 ~ 126 | 0 : Inner DZ OFF |
| > 126 : Stick Disabled (Always Centre) | ||
| -------------------- | ---------------------- | ------------------------------------------------------------- |
| Outer Dead Zone | 1 ~ 126 | 0 or 127 : Outer DZ OFF |
| Never overlap, Autocorrect if Outer DZ < Inner DZ | ||
| -------------------- | ---------------------- | ------------------------------------------------------------- |
| Slow Mode Range | 5 ~ "50% Non-DZ range" | 0 : Slow Mode OFF |
| "50% Non-DZ range" means 0.5 * (Outer DZ - Inner DZ) | ||
| Autocorrect to Legit Min/Max | ||
| if both Inner DZ & Outer DZ = OFF, Slow Mode OFF | ||
| if 0.5 * (Outer DZ - Inner DZ) < 5, Slow Mode OFF | ||
| -------------------- | ---------------------- | ------------------------------------------------------------- |
| Slow Mode Max Output | 5 ~ "Slow Mode Range" | Autocorrect to Legit Min/Max |
Eagle-eyed readers might spot in 4.1) Slow Mode - Rescaling On
l=64,127,y,s=32,16;r=64,127,y,s=32,16;n
32 > (127-64)/2, s=32,16 will get autocorrected to s=31,16
Changelog
- 1.1.0
- Add new Slow Mode feature for better low-magnitude stick movement
- Can use either ur0:tai or ux0:data/AnalogsEnhancerKai as config file folder
- Config structure changed and is no longer compatible with older versions
- 1.0.1
- Initial Release
- Add new Outer Dead Zone feature
- Config file moved to ur0:tai/
Acknowledgements
- Rinnegatamante, for the original plugin
- yakit4k0, for compiling, testing, making README images, and helping to implement Outer Dead Zone & Slow Mode
- u/lizin5ths, for the idea of Outer Dead Zone (fork Haasman0/AnalogsEnhancer)
- HENkaku 変革 / Vita SDK Community