DvaMishkiLapa / VitaPad

Turn your PS Vita into a gamepad for your PC!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

VitaPad

Turn your PS Vita into a gamepad for your PC!

Based on VitaPad by Rinnegatamante and Rust-based VitaPad by saidsay-so.

Description

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.

What works

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 -

Uses and options

$ 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

Configurations

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.

Bugs

  • 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.

Installation

The server has to be installed on the PS Vita and the client on the PC.

Requirements for Windows

Client compilation

Windows

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

Server

  1. Make sure that you have cmake installed;
  2. 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
  1. 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
  1. 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

About

Turn your PS Vita into a gamepad for your PC!


Languages

Language:Rust 42.5%Language:C++ 23.0%Language:Python 18.7%Language:CMake 12.3%Language:TypeScript 1.5%Language:Svelte 1.0%Language:JavaScript 0.6%Language:HTML 0.2%Language:CSS 0.2%Language:C 0.1%