Code Monkey home page Code Monkey logo

vitastick's Introduction

vitastick

vitastick is a plugin and an application that lets you use a PSVita as a USB controller. It uses the UDCD (USB Device Controller Driver) infrastructure in the kernel to simulate such controller, and thus, the host thinks the PSVita is a legit USB gamepad.

Download: https://github.com/xerpi/vitastick/releases

Features:

  • When the VPK is activated, it reduces the clock frequencies to reduce power consumption

Installation:

  1. Add vitastick.skprx to taiHEN's config (ur0:/tai/config.txt):
    *KERNEL
    ur0:tai/vitastick.skprx
    
  2. Install vitastick.vpk

Usage:

  1. Open the VPK and the Vita should switch to USB controller mode

Note: If you use Mai, don't put the plugin inside ux0:/plugins because Mai will load all stuff you put in there...

vitastick's People

Contributors

nkrapivin avatar rafaelsamenezes avatar xerpi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vitastick's Issues

use of dpad and start and select

can the analog sticks be used as analogs and the dpad doesnt work well which doesnt work for fighting games and start and select does not work entirely

Windows re-installs another driver

Hello, i have a little problem. But i do not know if my computer is the responsible for this error ... because the plugin in my PS Vita works fine, the screen turns black and if i wake up my PS vita it says "SELECT + STAR" to exit. but the problem comes when i plug the USB cable, the first try, it set up a new device "PS Vita", like a joystick, but a few seconds later i heard the sound that windows makes when you disconnect something. And now install another device. This time is the "Playstation Vita" the original driver of the PS vita for the PC. What can i do to solve this?

Error C2-12828-1

I followed the instructions but when i initialize the aplication i get this error message and it stops working. After changing my config.txt (the kernel thing), i reboot the system to make changes take effect, but i realized that the config.txt is restored to its default form, erasing all the changes i did. other thing to take note is that every time i turn on the device i need to reset taiHEN config.txt to start using homebrew apps, i think thats the problem, but how can i use plugins if every time i need to reboot the system i need to reset the config.txt file? any tips?

psvita disconnects after a few seconds

When I start the program, my psvita connects to the psvita controller pc, but after a few seconds it disconnects and becomes just psvita again without allowing me to use the console with the vitastick program, basically causing the console to connect and disconnect from the pc whenever I want. use it as a gamepad

(psvita fat)

Broken Default Mapping, please fix! [Android/Bug]

This is the default mapping

input_driver = "android"
input_device = "SONY "PS Vita""

input_b_btn = "97"
input_y_btn = "96"
input_select_btn = "104"
input_start_btn = "105"
input_up_btn = "110"
input_down_btn = "106"
input_left_btn = "0"
input_right_btn = "107"
input_a_btn = "98"
input_x_btn = "99"
input_l_btn = "100"
input_r_btn = "101"
input_l_x_plus_axis = "+0"
input_l_x_minus_axis = "-0"
input_l_y_plus_axis = "+1"
input_l_y_minus_axis = "-1"

As you can see, many button has mismatched mapping and missing(no Right Anlalog input and no l2r2l3r4) or outright broken, it should be like this if you want a universal generic mapping:


input_driver = "android"
input_device = "Generic"
input_device_display_name = "Generic"

input_b_btn = "97"
input_y_btn = "100"
input_select_btn = "109"
input_start_btn = "108"
input_a_btn = "96"
input_x_btn = "99"
input_l_btn = "102"
input_r_btn = "103"
input_l2_btn = "104"
input_r2_btn = "105"
input_l3_btn = "106"
input_r3_btn = "107"
input_menu_toggle_btn = "98"

input_up_btn = "h0up"
input_down_btn = "h0down"
input_left_btn = "h0left"
input_right_btn = "h0right"

input_l_x_plus_axis = "+0"
input_l_x_minus_axis = "-0"
input_l_y_plus_axis = "+1"
input_l_y_minus_axis = "-1"
input_r_x_plus_axis = "+2"
input_r_x_minus_axis = "-2"
input_r_y_plus_axis = "+3"
input_r_y_minus_axis = "-3"

or if you want to follow the official SONY Mapping

input_driver = "android"
input_device = "Sony Computer Entertainment Wireless Controller"
input_device_display_name = "PlayStation 4 Controller"
input_vendor_id = "1356"
input_product_id = "1476"
input_b_btn = "96"
input_y_btn = "99"
input_select_btn = "109"
input_start_btn = "108"
input_up_btn = "h0up"
input_down_btn = "h0down"
input_left_btn = "h0left"
input_right_btn = "h0right"
input_a_btn = "97"
input_x_btn = "100"
input_l_btn = "102"
input_r_btn = "103"
input_l2_btn = "104"
input_r2_btn = "105"
input_l3_btn = "106"
input_r3_btn = "107"
input_l_x_plus_axis = "+0"
input_l_x_minus_axis = "-0"
input_l_y_plus_axis = "+1"
input_l_y_minus_axis = "-1"
input_r_x_plus_axis = "+2"
input_r_x_minus_axis = "-2"
input_r_y_plus_axis = "+3"
input_r_y_minus_axis = "-3"

Can you like change the default mapping into this two setup I listed

Not Responsive in Games

[FIXED] - Used Steam Big Picture to configure the controller

I have managed to turn the PS Vita into a recognized controller and all buttons and analog stick work accordingly (I checked using Devices and Printers). I however, don't understand how I can use it in games. I have tried in Forza Horizon 4 and Hollow Knight, both tell me that they recognize or detect a controller but when I try to remap it, it just doesn't work (I select to remap a key, but then clicking on the PS Vita does not replace the button set before) and the keyboard is the only thing I can use still. Am I missing any extra steps? I would appreciate any help, thank you for reading!

It doesn't work on usb 3.0

Just like in the title it doesn't work on usb 3.0
I posted it here because all of usb ports in my laptop is 3.0 and it doesn't have 2.0

Weird Glitch

I'm drawing a blank on this one, when using vitastick and plugging the now controller, the left joystick works however everything else doesn't, and after 5 seconds, the system starts to identify the controller as "PS Vita" Type B and removes every input
image
This really bums me out, feels like I'm a few inches away from using the vita as a controller.
Could someone please help me?

turns off at startup

When i launch vitastick 4.1, it turns off (sleep mode) then when i turn it back on, it says that its okay but the computer doesn't recognise it as a controller.

Vita-PS3 disconnects on sleep

If my Vita goes to sleep while running Vitastick, my PS3 tries to connect to the Vita (gives a prompt about Playstation Network accounts) and Vitastick no longer seems to work until I restart the Vita completely.

Error when opening Vitastick

I get the following error message:

"An error has occurred in the following application.
(C2-12828-1)
Saved Core File Succeeded.
ux0:data/psp2core-1538362918-0x00002d24bd-eboot.bin.psp2dmp"

How can I fix it?

Reducing the clock/current apparently makes it not work on USB 3.0

So, there are a couple of issues apparently describing the same problem.

I only have USB 3.0 ports available (M1 Air), so I can't test it on USB 2.0.
Considering another issue #30 suggests it work on 2.0 but not on 3.0, I think this might be the case for me as well.
Issues like #41 #34 and maybe #29 , all describe something about the controller getting recognised, but not accepting any inputs as a dead controller or something.

I've spotted that, when I open the apk, and connect the usb, it recognises the "controller" in the system as "PS Vita", this one will appear on softwares as a valid usb controller.

psvita1

psvita2

After some seconds, it will lose the connection and the controller is not "connected" anymore.
Then, the operational system will recognise the usb input with a different name "PS Vita Type B", this one doesn't show on software as a valid usb controller.

psvitatypeb

Even if I unblock the screen, it's still Type B.
(Should unblocking the screen increases the clock and current? This might invalidate my assumptions about the problem)

The difference the OS shows between the two is that:

PS Vita, as a valid input usb have

Current Available (mA):	500
Current Required (mA): 500

PS Vita Type B, not a valid input usb:

Current Available (mA):	500
Current Required (mA): 2

So, maybe that's because USB 3.0 needs more current to work?
I never modded PSVita and my C programming is rust (if it was any good ever), but I would like to try to change something and make it work. I don't know though if I can compile Vita SDK on M1, but I'll try that later.

Any tips about it? Does it sounds reasonable that this might be the problem (current) on USB 3.0?
Maybe the fix is not reduce the clock?

(In the images it shows USB2.0 Hub but it's in fact a hub of USB 3)

Features:
When the VPK is activated, it reduces the clock frequencies to reduce power consumption

POSSIBLE solution on comment/Works fine for a couple momments, then gets disconnected and recognized as normal Vita.

I have nosleep plugin, vitastick works for a couple momments, recognizes input and stuff then it fails, momments later gets recognized as normal PS Vita. If i dont have that plugin installed, the same happens when it goes to sleep, like 30 seconds after its plugged.
If i unplug it and close the app and do it again, the exact same thing happens. I made sure i have QCMA closed.

Any idea what it may be?

Using 0.4.1, Windows 7 SP1, enso 3.65.

Vita stick cant play games.

The vita is recognised as game controller in the device and printer settings even the sticks are responsive in the properties menu. But when i launch game via Steam there is no response. Also incompatible with Play Station TV

Consider adopting Xinput control mapping as standard

As it is currently, vitastick's control mapping is a bit odd at best and completely unusable at worst. That said, I don't want to leave this issue if it's just a complaint; this would be the fifth issue to do so if I did.

Thus, I'd like to formally suggest adjusting the control mapping to better match Xinput controllers. It would allow most games to work near-flawlessly out of the box and, as a de facto standard in controllers, would have great support on most if not all platforms.

I tried to make this work myself and submit a PR instead, but I hit a couple of roadblocks in the process of making that work, so I'll leave my notes here for any developers who are much better than myself.

The following table is what each control on the Vita maps to, and what it should be on an Xinput mapping:

Control vitastick mapping xinput mapping
CROSS 1 0
CIRCLE 2 1
SQUARE 0 4
TRIANGLE 3 5
L 4 6
R 5 7
LT/L2 6 8
RT/R2 7 9
LS/L3 10 13
RS/R3 11 14
SELECT 8 10
START 9 11
HOME unmapped 12
STICK L axis 1,2 axis 1,2
STICK R axis 3,4 axis 3,4
D-PAD buttons 12-15 axis 7,8
ANA LT,RT unmapped axis 6 (LT),5 (RT)

It was suggested in #39 that the code could be changed to change the mapping; however, I ran into issues with having vitastick report 8 axes instead of 4, and I have no idea where in the code I'd have to change that because it's not the part of the code that handles mapping the buttons.

Implementing this would not only close this issue but also close issues #4, #7, #18, #39, and potentially #27 if back-touchpad support gets added.

EDIT: Maybe not #4 unless PS3XPAD is used.

Turn off UVC on startup / back on at exit?

Hello

I frequently use UVC for when I am at home - but VitaStick for when I am on the go and wanting to play games on my laptop. Since these two plugins both want the UDCD protocol, it's obvious that the one that loads first, is the one who gets the shot. It'd be pretty cool if there was a way to switch between them. Would it be doable?

Thanks and kind regards,
Ingwie

Throwing the USB in on a throws up Content Manager

Unsure what exactly goes on.
I have the skprx in my ux0:/tai/ folder along with a few other plugins, (adrenaline, Framecounter)
it's added to the KERNEL block, and I have rebooted a few times

Launching the VPK gives me a black screen, and plugging in the USB opens up the content manager warnings

controller not working on pc

I used vitastick when it was on release 0.3 and my vita was on 3.60 enso
now im using the latest 0.4.1 vitastick release and im running 3.65 enso (upgraded from 3.60 enso, not from 3.65 using h encore)
and now the controller doesn't work anymore
it is detected by windows, and it installs a driver and lists it as a usb controller, but it doesn't register any input, be it from buttons, triggers or analog sticks

Button Layout Incorrect on PS3

When plugged into a PS3, the joysticks and L1/R1 are mapped correctly, but the button layout is as follows:
Down: Start
Up: Select
Left: R3
Right: L3
Cross: Square
Circle: Cross
Square: Circle
Select: L2
Start: R2

It would also be a good idea to add rear touch panel support (for users with a grip such as the hori-143 which adds L2/L3/R2/R3 triggers)

plugin stops working if the vita is kept in standby

if I open the latest version of vitastick the vita switches to standby mode, which is nice
but if I leave it like that for more than a minute, the plugins stops working and the pc recognizes the vita as a vita again, instead of a usb controller

Not Working

My PC is detected vita as a controller but it doesn't register any input.

Device gets recognized as a controller but doesn't work

Hi, I'm on 3.65 Enso and this is my config file
(I deleted the "#" to avoid weird formatting)
This file is used as an alternative if ux0:tai/config.txt is not found.
For users plugins, you must refresh taiHEN from HENkaku Settings for
changes to take place.
For kernel plugins, you must reboot for changes to take place.
*KERNEL
ur0:vitacheat/vitacheat.skprx
ur0:tai/gamesd_ux0.skprx
ur0:tai/nonpdrm.skprx
ur0:tai/repatch.skprx
ur0:tai/reF00D.skprx
ur0:tai/noavls.skprx
ur0:tai/vitabright.skprx
ur0:tai/lolicon.skprx
ur0:tai/nopsmdrm.skprx
ur0:tai/vitastick.skprx
*main
ur0:tai/download_enabler.suprx
ur0:tai/pngshot.suprx
*ALL
ur0:tai/trophax2.0.suprx

Any chance any of these plugins are causing this issue?

The Vita connects as you would expect, black screen, I connect the USB cable and it gets recognized as a controller, then I press the power button and unlock the Vita and it shows the regular message with the "press start+select to close" but if I go the device properties on the PC it doesn't recognize any input, it's like the controller is "dead".

It has to be loaded very early - error at startup

More of a note to other people who will encounter this problem than a bugreport.
I installed vitastick with easyplugin and it put it on the bottom of config.txt, as it usually does. But the app caused an error on startup. After I moved ux0:tai/vitastick.skprx to 4th line above most and under only adrenaline it simply started working.
After disabling every other plugin one by one I can find which one caused it

Doesn't work under OS X 10.5.8

Tried it on my PowerBook G4 (old tech I know but even 10.4.11 supports USB gamepads) and it detected the Vita as an unkown composite device when with VitaStick open which is quite a shame.

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.