Turn your PS Vita into a gamepad for your PC!
Based on VitaPad by Rinnegatamante and Rust-based VitaPad by saidsay-so.
VitaPad is a client-server application that turns your PS Vita into (almost) a DualShock 4. The PS Vita acts as a server to which the PC client will be connected within the local network (WiFi).
The server part is written in C, the client part is written in Rust.
This will NOT work with DS4Windows.
Feature | Support | Details |
---|---|---|
Buttons | ✅ | - |
Sticks | ✅ | - |
L1 and R1 | ✅ | Press only, as the PS Vita does not have analog triggers. This emulates a full press |
L2/R2 and L3/R3 emulation | ✅ | Can be used of the back or front PS Vita digitizer for it |
Select and Start | ✅ | - |
Accelerometer and gyroscope | ✅ | A little less accurate than the DualShock 4, but still usable |
DualShock 4 digitizer emulation | ✅ | Emulates up to two-finger simultaneous input, same as DualShock 4 |
Any configuration | ✅ | You can choose from ready-made configurations |
Sound | ❌ | - |
$ VitaPad-x64.exe --help
Usage: VitaPad-x64.exe <ip> [-p <port>] [-c <config>] [--polling-interval <polling-interval>] [-d]
Create a virtual controller and fetch its data from a Vita over the network.
Positional Arguments:
ip IP address of the Vita to connect to
Options:
-p, --port port to connect to (default: 5000)
-c, --config buttons and touchpads config (default: standart)
--polling-interval
polling interval in microseconds (minimum = 4000)
-d, --debug enable debug mode
--help display usage information
There are currently 4 configurations that can be selected at client startup:
standart
(default): Rear PS Vita digitizer emulates L2\R2, front PS Vita digitizer emulates L3\R3;alt_triggers
: Rear PS Vita digitizer emulates L1\R1, front PS Vita digitizer emulates L3\R3, PS Vita triggers emulates L2\R2;rear_touchpad
: Rear PS Vita digitizer emulates DualShock 4 digitizer, front upper PS Vita digitizer area emulates L2\R2 and front lower PS Vita digitizer area emulates L3\R3;front_touchpad
: Front PS Vita digitizer emulates DualShock 4 digitizer, rear upper PS Vita digitizer area emulates L2\R2 and rear lower PS Vita digitizer area emulates L3\R3;
To better understand the emulation behavior, you can run 3D Controller Overlay after connecting your PS Vita.
- Rarely, a server on PS Vita can crash with an error. The causes are being investigated. Happened to me more than once in 3-4 hours of play;
- Sometimes, the imput-lag increases a lot. This may be due to a bad WiFi connection.
The server has to be installed on the PS Vita and the client on the PC.
To compile on Windows you will need
- Make and Cmake;
- Rust (Cargo).
You can use MSYS2, which provides this in a convenient way.
Dependencies you will need for MSYS2 MINGW64:
pacman -S mingw-w64-x86_64-rust mingw-w64-x86_64-flatbuffers make git wget cmake
Clone the repository and log into it:
git clone --recurse-submodules https://github.com/DvaMishkiLapa/VitaPad.git
cd ./VitaPad
Build the client side:
cd ./client
cargo build --release --bin cli
You can check the finished binary by running in it:
./target/release/cli.exe your_PS_Vita_IP
- Make sure that you have
cmake
installed; - Make sure you have VitaSDK installed and configured (try vdpm);
Sometimes, for whatever reason, flatbuffers
are not installed in the VitaSDK (fatal error: flatbuffers/flatbuffers.h: No such file or directory
).
You can install it manually via vdpm. Do this after installing the VitaSDK via vdpm:
./vdpm flatbuffers
- Install
flatc
for your system. For Linux:
git clone https://github.com/google/flatbuffers.git && cd flatbuffers
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release
make -j
./flattests # this is quick, and should print "ALL TESTS PASSED"
sudo make install
sudo ldconfig
flatc --version
- Build the project with the following commands:
cmake -S server -B build
cmake --build build
Then, install the generated VitaPad.vpk
file on your PS Vita.
- Thanks to all the people who contributed to VitaSDK, Vitadev Package manager and ViGEm Bus Driver;
- Rinnegatamante for the original VitaPad version;
- saidsay-so for the improved Rust VitaPad version;
- santarl for advice and help with accelerometer, gyroscope and also adding DualShock 4 digitizer emulation;
- CasualX for ViGEm client in Rust.