Thanks Thanks:  0

Thread: Schedule and create Virtual Controller profiles in HyperSpin with RocketLauncher

Results 1 to 1 of 1
  1. Collapse Details
    Schedule and create Virtual Controller profiles in HyperSpin with RocketLauncher 
    Junior Member Pegafun's Avatar
    Join Date
    Oct 2015
    Contribute If you enjoy reading the
    content here, click the below
    image to support our site.
    Click Here To Contribute To Our Site
    3.1-Installation of vJoy (SourceForge)
    3.2-Installation of Virtual Controller
    3.3-Installation of NirCmd
    4.2.1-IO Devices

    Please beware that this is a translation of my original post in the Spanish forum InsertMoreCoins:


    To map input devices and assign keys and buttons in the different systems and games within HyperSpin we have several options, with programs integrated natively within RocketLauncher:
    - JoyToKey / Xpadder: The function of these programs is to map game device inputs (commands generally) to keystrokes. For example, that pressing button 1 of a game controller, the computer would be read as the "N" key on the keyboard.
    - Vjoy (from the author Headsoft): Its function is just the opposite of that of previous programs. It allows creating virtual game devices with the driver called "vJoy" (it is named the same as the program, but do not confuse them, since there are more programs that create virtual game devices using the same driver). In this way we can assign keystrokes to each of the buttons of the virtual game devices.

    With these programs you can generally solve all the configuration needs of input devices in HyperSpin with RocketLauncher. Although there are exceptions. One of them is PC games for two players. For a single player most PC games allow you to use keyboard and / or mouse. However for two players there are many, many games that require using two controls, or keyboard + control. And here you have a new problem. Because it turns out that the official control pad on PC is the Xbox / Xbox 360 / Xbox One.

    If for any reason your input devices are not Xbox controls, you won’t be able to play certain games. Some clear examples are Tekken 7, Mortal Kombat Complete Edition and Mortal Kombat XL. These games do not accept two players with keyboard and mouse, or when one or two of the control pads that you use are not Xbox ones. As I have already mentioned, the Vjoy program creates and loads virtual control profiles with the vJoy driver which are not recognized as Xbox controls, but as generic game devices, that cannot be used for these games.

    This is where the Virtual Controller program comes into play, which I introduce you today. It has many advantages over Vjoy, adding functions of Xpadder and JoyToKey.


    These are the main features and advantages of Virtual Controller in front of other mapping programs and key / button assignments:

    - Accepts multiple simultaneous input devices: Unlike JoyToKey and Xpadder (which ONLY accept game devices as input) and Vjoy (which ONLY accepts keyboard and mouse), Virtual Controller accepts, simultaneously, the following variety of input devices:
    - Game devices
    - Keyboard(s)
    - Mouse(s)
    - Allows you to configure multiple simultaneous virtual output devices:
    - Controls
    - Keyboard
    - Mouse
    - Virtual controllers can be created with two different drivers: vJoy and vXbox, and up to a maximum of four of each type. This is a fundamental difference with Vjoy, since the virtual devices created with the vXbox driver are compatible with ALL games and PC programs.


    To integrate Virtual Controller into your PC with HyperSpin and RocketLauncher, you need to install three programs: vJoy drivers (from SourceForge), NirCmd and the actual Virtual Controller.

    [size=18pt]3.1-Installation of vJoy (SourceForge)[/size]

    The Virtual Controller program integrates the vXbox driver, but not the vJoy one. For the current purpose (create Xbox virtual controllers) you do not really need it, but if you want to have a full functionality installation without any problems / errors, the first thing that you should do is to download the vJoy driver installer from the web page of the developer:

    Drivers vJoy (vJoystick program):

    Once you have downloaded the file vJoySetup.exe, execute and install it with all the default options (do not change the installation path or uncheck / remove any option). This is very important for the following steps.

    Next, in the search bar of Windows 7 / Windows 10, write “USB game devices” and press the “Enter” key. The following window will appear, showing you the game devices installed on the computer:

    Now you will see a new device called “vJoy Device”, which was created when the driver was installed. Before proceeding, we must uninstall this device, since it will not be controlled by the Virtual Controller software, as it was created without said program. To eliminate it, within the Windows Start Menu, look for the direct access to the program “Configure vJoy.exe”, inside the "vJoystick" access folder, and execute it. It should open the following window:

    where you must uncheck the box “Enable vJoy”. With this you are erasing the virtual device created when you installed the driver.

    [size=18pt]3.2-Installation of Virtual Controller[/size]

    Now you can proceed to install the Virtual Controller program. Download the installer from the developer's website:

    Virtual Controller download:

    Once the file is downloaded, execute it and install the program in its default folder or wherever you want. In the example the installation folder is:

    C:\HyperSpin\Utilities\Virtual Controller\

    This folder will remain like this:

    [size=18pt]3.3-Installation of NirCmd[/size]

    In addition to the Virtual Controller program, for its correct integration within HyperSpin with RocketLauncher, you will need the assistance of a small utility called NirCmd. You can download the latest version from its website or from the direct link:

    NirCmd web page:
    NirCmd v2.81 32-bit direct download:
    NirCmd v2.81 64-bit direct download:

    Once downloaded, open the ZIP file and decompress its content inside the folder:

    C:\HyperSpin\Utilities\NirCmd v2.81\

    You can change the name and / or the route at your whim. With this you already have NirCmd installed in your system. Here a snapshot of the installation folder:

    [size=18pt]4.-OPTIONS AND PROGRAM INTERFACE [/size]

    Let's see now the options of Virtual Controller program, how to configure it and create profiles, before integrating it into HyperSpin with RocketLauncher.

    Here you have the main program window:

    There are five options:

    Run: Installs the defined virtual devices and loads the selected profile.

    Options: As its name indicates, here you can define the options of the program, the input devices, the output devices, etc.

    Controls: From here you define the profiles of the virtual devices.

    About: It gives access to a window with a brief information about the program and its programmer.

    Exit: Closet he program.

    The most important options of the program are described in detail below.


    Pressing "Run" installs the virtual devices previously defined and loads the active profile. Likewise the color of the drawing in the window will change (from red to green):

    When "Stop" is pressed all the virtual devices are uninstalled and the profile closed.

    Unlike other programs to create virtual devices, with Virtual Controller these devices ONLY are installed while the program is executing a profile.


    [size=18pt]4.2.1-IO Devices[/size]


    From here the (real) input devices options can be configured.

    Keyboard: It can be enabled / disabled and blocked / unlocked. The last option is very important, since it will allow you, when allocating virtual buttons to physical keys blocking the keyboard, that pressing the keys would only be read as the assigned virtual buttons, but not as physical keys. This avoids conflicts.
    If your arcade cabinet have an I-PAC interface installed or a keyboard hack, you must enable the keyboard as an input device and block it.

    Mouse: As with the keyboard, it can be enabled / disabled and locked / unlocked.

    Joystick: It can only be enabled / disabled.


    From this tab the (virtual) output devices options can be configured.

    vJoy: Opens a window where it can be enabled up to four virtual controls with the Virtual Joystick driver. As already indicated, these are not the ones intended to be used, since they have more incompatibilities than the Xbox virtual controls.

    vXbox: In this window the virtual input devices that use the Xbox 360 Virtual Driver can be enabled (up to four).

    vKeyboard: Here it can be enabled / disabled a virtual keystrokes output. I already warn you to activate it, since when blocking the physical keyboard it is needed to assign some keystrokes to certain keys (such as "Escape") to exit the games in HyperSpin.

    vMouse: You can also enable a virtual mouse to assign pulsations and movements. It can be very useful to control shooting games or strategy games from a digital arcade lever.

    Device List: The following window will open, showing you only the input and output devices already enabled. Input devices created with the vXbox driver will be shown both as input and output devices.


    As the name suggests, some special configuration options.


    Boolean Devices:

    NetJoy: You can also enable and configure network game devices, both input and output.

    To enable a network entry device you will have to configure the firewall posts.


    From here three important interface options can be configured:

    Auto Run on Startup: Leave this tab unchecked. The program must only run when a PC game (that needs it) is launched.

    Auto Minimiced on Startup: Tick this tab to not allow the program to create a popup window at the beginning, which could get HyperSpin loosing the “focus” on the game.

    Enabled Log: I do not advise checking this tab unless you have problems with the program.


    Clicking on the "Controls" button will open the window Bind Manager, where you can achieve the assignments from the input devices to the virtual output devices. At the end you can save the profile, always inside the "Binds" folder. It is important to point out that all the devices to be mapped will do so within a single profile. That is, unlike Xpadder, there is no profile for each input device, but only one for them all.

    To perform a quick assignment it is best to click on the "Quick Binding" button, which will open the following window:

    You will find a drop-down called "Output Device", where you can select the virtual devices to which you want to make the assignments. Once you finish and close this window, it will return to the previous one (Bind Manager).

    If you made a mistake when making an assignment, or want to edit it, it is as simple as marking it with the mouse and clicking on the edit button. You have many options, not only to assign keys and buttons, but also program actions:

    If you have activated the keyboard lock in section ---> Keyboard ---> Lock and if you have not assigned a key in the profile to allow the keyboard unlock, the following informative picture will appear at activating the controls profile:

    This message is a warning about the possibility to get the keyboard permanently blocked and loose control.

    To avoid this error message you must add at least one assignment to allow unlocking the keyboard. For example:

    Keyboard [Button] [Esc] [Press] => Program [Close] ----------------> Where the "Esc" key closes the program (unlocking the keyboard)


    Keyboard [Button] [Esc] [Press] => Program [Keyboard Lock] Off ---> Where the "Esc" key unlocks the keyboard

    It is important to avoid the appearance of the information box for the integration of Virtual Controller in HyperSpin with RocketLauncher, since it will break the script. In the example the F12 key (or the key you prefer) is assigned to close the program when leaving the games:

    Keyboard [Button] [F12] [Press] => Program [Close]

    You can configure the rest of assignments to your liking, but do not forget to make an assignment to close the program.

    [size=18pt]5.-COMMAND-LINE INSTRUCTIONS [/size]

    Here you have ALL the instructions that Virtual Controller accepts by command line, and that allows to carry out the integration of the program in HyperSpin with RocketLauncher:

    /vxbox1 - plug in vXbox Device #1
    /vxbox2 - plug in vXbox Device #2
    /vxbox3 - plug in vXbox Device #3
    /vxbox4 - plug in vXbox Device #4
    /minimized - minimized main form
    /loadcontrols - load controls from custom file (in folder "Binds")
    /loadoptions - load options from custom file (in Root folder)
    /installbus - install virtual bus for vXbox Devices
    /removebus - remove virtual bus
    /capture - begin input capture

    Command sequence is important. Most commands don't work after /capture command.

    Example: "...\VirtualController.exe /vxbox1 /loadcontrols custom01.bnd /capture /minimized"

    /minimized command does work after /capture command.

    Our problem with the program is that it does not accept instructions by command line while it is open. Therefore, before changing profiles, you must necessarily close it. Another problem is that there is no specific command to close the program by command line. In the next section it will be shown how to overcome these obstacles during integration.


    This tutorial is based on the premise of that you already have a “PC Games” system integrated within Hyperspin / RocketLauncher with at least one game. With this premise, once installed the three programs that are needed (as indicated in section 3):

    - Drivers vJoy (Sourceforge).
    - Virtual Controller
    - NirCmd

    and once the Virtual Controller program has been configured (as indicated in section 4), the first step will be to create and save a profile (as indicated in section 4.3). In the example the profile name is PC_Games.bnd. Please note that the name of the profile should never contain blank spaces. Otherwise it will not accept calls to the program by command line:

    Remember that a key / button must be assigned to close the program. This is essential for two reasons:

    - The program cannot be closed by command line and forces to press a key / button to do so.
    - If you have activated the keyboard lock in the box in section ---> Keyboard ---> Lock and in your profile a key has not been assigned to unlock the keyboard, you will see an informative box at activating the controls profile that will stop the script.

    In the example an I-PAC 2 is used as a game interface, and F12 key is used to close the program when exiting games:

    but you can use the key/button you wish for this purpose.

    Now, inside the Virtual Controller folder create a .BAT file to load the profile already created. You can name this .BAT whatever you want, but in the example it is PC_Games.bat:

    If you do not know how to do it, create a blank .TXT file and write the following text:

    @echo off
    start VirtualController.exe /loadcontrols PC_Games.bnd /capture /minimized
    Save and change the name of the file and the extension. It will look like this:

    When this file is executed the virtual devices are created and the Virtual Controller profile is loaded.

    Next step is to create another .BAT file in the folder where NirCmd is installed. This .BAT file will be used when to close Virtual Controller when leaving a game. In the example it is named VCTaskKill.bat:

    The content of the file should be as follows:

    @echo off
    nircmd.exe sendkey f12 press
    That is, it will look like this:

    When this file is executed the F12 key is pressed, closing the Virtual Controller program and uninstalling all the virtual devices.

    Now let's call these files from "RocketLauncherUI". Open the program and within its interface select the "PC Games" system. Inside it press the tab "Emulators". Then mark the emulator line "PCLauncher/PCLauncher.ahk" and click with the left mouse button on the global options icon of the emulator:

    The following window will open, where you will have to mark the game with which you want to use the "Virtual Controller" profile created before. In the example I'm doing it with the game Tekken 7:

    In the "Pre / Post Launch" tab it must be entered the location of each of the .BAT files previously created:

    - In Pre Launch it must be introduced the location of the file PC_Games.bat, in the example: C:\HyperSpin\Utilities\Virtual Controller\PC_Games.bat
    - In Post Launch it must be introduced the location of the file VCTaskKill.bat, in the example: C:\HyperSpin\Utilities\NirCmd v2.81\VCTaskKill.bat

    With this ends the integration of the profile in the game Tekken 7. To do it with any other PC game you should only repeat the process. You may use the same Virtual Controller profile for all the PC games that need it, that's why it has been called PC_Games.
    Last edited by Pegafun ; 11-26-2018 at 04:51 PM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts