..:: PCSX2 Forums ::..

Full Version: ScpToolkit (XInput Wrapper aka ScpServer Reloaded)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Question: I'm using Windows 7, and I am wondering if you need to install the controller every time you want to use it. Is it possible to, like DS4Windows, have the SCPToolkit plugin activate when Windows starts up?
Flak Master it should install as a Windows Service and start automatically each time you start your computer. Are you using the latest version of ScpToolkit?
Yeah. Is there some setting I'm overlooking?
Hmm well first of all are you running the Driver Installer at any point I assume to install your DS3/4 drivers and bluetooth? If you are then I think all of the versions recently should have the "Install Windows Service" box checked and disabled (meaning that you can't actually change the value -- it should always install the service).

Past that you could go to Windows Services (start > run > services.msc) and look for the service to see if it is started and set to Automatic start (I believe it is called something like SCP DS3 Service ??) ??
(04-04-2016, 10:33 PM)joshg Wrote: [ -> ]Hi Nefarius!

I registered here to post and just wanted to pass this over to everyone else as well if it is helpful.  I put a pretty lengthy comment on the GitHub Issue #241 ... It includes my experience with 3 different controllers that are all reporting the PANHAI name and some technical information and debugging that I tried.  Not sure if any of it helps but hopefully it does Smile

It does seem as if some of the controllers reporting the PANHAI name work fine and some do not.  They are also pretty different in the data bytes that they are sending back to the host. Way more detail in my issue post but I guess some food for thought.

I wanted to repeat my closing question that I asked there, here ...

Does anyone know of any good 3rd party controllers that are currently working over bluetooth with ScpToolkit?  The Compatible Controllers list only seems to mention one that uses bluetooth (BigBen?) but it looks like it is showing exactly the same device ID as all of these PANHAI controllers?  I also don't really see that controller available anywhere (2012?) and several forum posts and issues with it with Scp as well so maybe it suffers from the same issue?

Thank you kindly for your feedback. Be assured that I read everything you guys post, although on a slight delay since my inbox is going mayhem Wacko I'll compose a more in-depth answer once I have more time.

(04-05-2016, 09:12 AM)jingvar Wrote: [ -> ]Hi all
I don't understand why fake controller is work with PS3, is work with Android (Sixaxis Controller), but it is don't work on Linux and Windows.
What is needed?

Linux  + Android Emulator + Bluetooth dongle + fake DS3 + Sniffer (log bluetooth rx-tx ) ?

Because someone actually has to set up a test environment like you described, sniff the traffic, interpret it and implement it in C#? Ninja I'd do it if I'd have a more sophisticated knowledge of the Bluetooth specs and not a lot of other important stuff to fix the community likes to see implemented.

TL;DR: 'cause I'm just lazy Laugh
(04-05-2016, 04:59 PM)joshg Wrote: [ -> ]jingvar you are right and I haven't even tried this yet... my PANHAI controller seems to work perfectly on Android with bluetooth.  I used their SixAxisPairTool to put in my phone's bluetooth MAC address and it connected immediately and all of the inputs were recognized perfectly in the testing area.  Hrmm. Mellow

I actually tried to get in touch with the developer of the Android Sixaxis App a few month back but never got any response so... Sad

(04-05-2016, 09:04 PM)joshg Wrote: [ -> ]Also my GAME-O pad works great in Linux using sixad .... see my attached screenshot in a Ubuntu 15.10 live environment.

I had to use a modified QtSixA repo from here: https://github.com/supertypo/qtsixa

It even supports gyroscope (Axis 4, 5, and 6 in screenshot). Edit: also .. pressure sensitive buttons.  All of them.  That's why it is a "29 axes" controller here.. all of those axes are for the pressure sensitivity for each button. Wow, this is actually pretty cool Wink  LOL

Good news with this is that the source is all open I believe... maybe we can try to pick it apart and see how they are connecting and interfacing with the controller?

I bookmarked the repository, thanks. Will have a nice long read once I've got more free time.
(04-06-2016, 07:44 PM)Nefarius Wrote: [ -> ]I actually tried to get in touch with the developer of the Android Sixaxis App a few month back but never got any response so... Sad
Well based on some of the stuff that I found when digging into using this with Linux, I would guess that they are probably either using some of the existing Linux kernel modules for sixaxis support and/or sixad similar to what I posted before but modified to work with Android. I am not certain on this though.

(04-06-2016, 07:44 PM)Nefarius Wrote: [ -> ]I bookmarked the repository, thanks. Will have a nice long read once I've got more free time.
I have tried to do a little debugging and comparison and so far my general initial assessment is as follows...

1) In the Linux daemon they are not seemingly doing anywhere near as much of the back and forth with HCI / L2CAP as what I am seeing with ScpToolkit. Some of this might be just using existing bluetooth functionality already in Linux or maybe they are just keeping it much lighter in that regard?

2) He has modified to essentially push some of the stuff that you have in BthDs3.cs, specifically like with this:
Code:
               if (IsFake)
               {
                   //_hidOutputReport[0] = 0xA2;
                   //_hidOutputReport[3] = 0xFF;
                   //_hidOutputReport[5] = 0x00;
               }

But in the Linux sixad they are instead pushing the "fake" first and then just executing the enable command for original immediately after.  Also he is pushing both of these pretty early in the process from what I can tell .. by contrast with my GAME-O pad and ScpToolkit none of the code in BthDs3 is never even called because the device is never Start()ed .. it just gets into that disconnect / connect loop and never even gets to the point where the BthDs3 code could modify the buffer like that even if we were to uncomment these lines of code.

What I am seeing on their side is almost even a little different process entirely....

Start up the bluetooth and then the worker process looks like it is under void hid_server.  Line 316 of bluetooth.cpp you can see the loop (while (!io_canceled())) which looks relatively synonymous to the loop in ScpToolkit's ScpControl for Bluetooth, in BthDongle.Tasks.cs void HicWorker

Then if things check out it seems like it is calling over to l2cap_accept which is basically just setting up a new device ? (creates instance of sixad-sixaxis ) .. and when this is done, it is opening some kind of stream for the device with uinput and running enable_sixaxis which pushes that buffer for both fake and original. 

Not sure if I am seeing this wrong, but on initial glance it looks like what they are doing is much more streamlined and there isn't anywhere near as much of this "back and forth" that seems to be happening with Scp ... am I getting that part wrong?
hi im a newbie here ,. just installed my fake ds3. was working plugged and unplugged. then suddenly it just stop working when unplugged. before when i press the ps button. system will detect fake ds3 looking for woraround, but now it doesent do that anymore. i tried reinstalling it but no luck. i found scpcontroll note pad that under fake controllers supported name = PLAYSTATION®3Controller but mine was named PLAYSTATION®3 controller (with space between ® and 3)
I tried this package


Also, I used another fake gamepad



They can not connect.  In QtSixA,  i see gamepad in device list after press button, but After a short time is lost

(04-05-2016, 09:04 PM)joshg Wrote: [ -> ]Also my GAME-O pad works great in Linux using sixad .... see my attached screenshot in a Ubuntu 15.10 live environment.

I had to use a modified QtSixA repo from here: https://github.com/supertypo/qtsixa

It even supports gyroscope (Axis 4, 5, and 6 in screenshot). Edit: also .. pressure sensitive buttons.  All of them.  That's why it is a "29 axes" controller here.. all of those axes are for the pressure sensitivity for each button. Wow, this is actually pretty cool Wink  LOL

Good news with this is that the source is all open I believe... maybe we can try to pick it apart and see how they are connecting and interfacing with the controller?
Hi, I have a problem. Scp does not recognice my dualshock 3 controller. I re-installed it so many times and nothing happens, all 4 player lights keep flashing.

Pls halp.

my os: w10