Author Topic: How to use Joystick Controller support (for Testers)  (Read 806 times)

Offline vitormm

  • Developer
  • Administrator
  • Legendary Porter
  • *****
  • Posts: 957
How to use Joystick Controller support (for Testers)
« on: June 07, 2018, 05:10:17 PM »
Hello! If you are a tester of the Joystick Controller support feature and is looking for a tutorial, you came to the right place :)

If you wan to join the test team, check here first.

How to login in PK
The first step to use the feature after requesting it is logging in at the Porting Kit application. Firstly, select the Forum User Login option at Porting Kit main menu, like instructed by the image below.

You will be asked if you want to allow PK to use the Porting Kit Forum Login item in your keychain. We store and retrieve it from the keychain so you won't need to type it again in the future. If you want PK to remember it, type your password and press Always Allow. In case you don't want PK to remember, no problem, just press Decline. However, you will need to press Decline in that step every time that you want to login.

After that, we get to the forum login window. Now you just need to use your regular username and password of the forum to login.

How to use the Joystick Controller Support (JCS)
In order to use the JCS, right-click the game that you want to play using it and press Configure Joystick Remapping.

That will launch a smaller window with allows you to access JCS features. In case you want to use a PS4 controller with Bluetooth, you must follow that guide before proceeding. Don't worry, it's a 90 seconds video :)

Before starting, you may want to rename the controller (some controllers have really weird default names). Just double-click the controller name and you should be able to rename it.

Now, select the controller that you want to use in the list and press Rename Controls. That's going to launch a different window, which shows all the buttons, analogs, levers, etc, that your controller has, so you can give each one of them a name. It was made that way so you can localize the names if you want, and because it would take a very long time to add the name of every key of every known HID controller (including the generic ones) to the list, and that's a number that is always growing.

Now, by double-clicking the name of the control, you can rename. How do you know which key is which one? Press the key in your control and it's going to be selected in the list :) Be aware that, in that screen, you are naming in the keys, not their actions in the specific game. These names are going to be shared across every game that you use that control, so keep that in mind.

Also, be aware that analogs are split in their X (left-right) and Y (up-down) axis, always. The image above is from a PS4 controller has a reference. I've renamed my analogs Left Analog Axis X, Left Analog Axis Y, Right Analog Axis X and Right Analog Axis Y to make them easier to identify later.

Note: The PS4 controller touchpad is only supported has a button at the moment. We plan to fix that in the future.

After you have named the controls, press Close and then, back to the prior window, press Configure Remapping.

That's where mapping starts. If you take a closer look, you will see that the window is called Mapping for Application, and below it states the name of the controller and the name of the said application. That's because the mapping of the controller is specific for each application/game.

At this moment, you can map keys (like Circle, Square, Triangle...) and levers (R1, L2, RT, LB...) to keyboard keys, and arrows and analogs to the cursor movement or to keyboard keys, at your choice. So you can, for example, use the A and D keys of your keyboard for your Left Analog Axis X, combined to to the W and S keys for your Left Analog Axis Y, so your left analog is going to be mapped to a WASD control.

Once you have finishing configuring your controller, press Close twice, and then play the game using the Porting Kit's library. That's important. The feature at the moment is implemented in PK, not in the ports, so it will only work if you launch the port using PK's library.
« Last Edit: June 07, 2018, 05:23:28 PM by vitormm »