Player 2 controls not active when using JoyToKey

Takaji

New member
RL Member
Crossposted from the HyperSpin forums as I'm not sure if this is a JoyToKey issue or a mis-configuration in Hyperlaunch.

When I launch HyperSpin, player 2 cannot control anything through the controller (SteelSeries 3GC), but the mapped keyboard keys work. It's seems like a problem with JoyToKey, and I'm not even sure if this is the correct place to post about this issue, but I figured that another HyperSpin user would know the answer to this.

I've got the keyboard keys mapped the same in Hyper HQ and in my HLHQ JoyToKey profile. In HLHQ under the "Global" settings I've got a Frontend Profile and a Default profile, both with the same mappings as the key layouts in Hyper HQ. I've confirmed that player 1 works fine and JoyToKey is opening when I launch HyperSpin. It also appears that everything in JoyToKey is set up correctly: there are two joystick profiles and the profile has been saved. When I press buttons on player 2's controller, the appropriate button is highlighted in JoyToKey.

Am I missing an option to enable player 2 controls somewhere in JoyToKey or HyperSpin? It's weird that directly pressing a keyboard key mapped to player 2 works, but not the controller...

Thanks!
 

djvj

Administrator
Staff member
Developer
Sorry Takaji, I have no experience with joytokey. Someone who knows it will have to chime in.
 

Takaji

New member
RL Member
Thanks for reading, djvj. I switched to JoyToKey because xpadder was giving me an endless amount of trouble. JoyToKey has been extremely smooth; but of course I hit a roadbump once I start working on player 2 controls... :/
 

Takaji

New member
RL Member
Some further testing revealed that player 2 controls *do* work, but only after playing a game once and exiting back to the HyperSpin frontend. Strangely, P2's navigation controls then work twice as quick as P1's - when pressing up on P2's controller while in a wheel, the wheel spins double as fast as P1 pressing up. P@'s controls work fine in the tested emulator (RetroArch, playing Super Mario World for SNES).

This really sounds like the first keymapper profile that's loaded when HyperSpin starts is either configured wrong or is not being loaded - although I don't know how to explain the fast navigation issues P2 has. Under the GLOBAL listing in the Keymapper tab, I have two JoyToKey profiles set up: one is called "HyperSpin" and is a Frontend profile, with P1 and P2 controls mapped as per what's mapped in Hyper HQ. The second profile is a default profile called "Default_" with the exact same mappings as the Frontend profile.

Checking the HyperLaunch logs, I see that when the first game is exited, the JoyToKey controller profile at HyperLaunch\Profiles\JoyToKey\HyperSpin\HyperSpin.cfg is loaded. At this point, P2's controls work.

djvj: I don't see an entry in the logs that tells me which JoyToKey profile is loaded when HyperSpin runs for the first time... can you confirm which profile should be running?
 

brolly

Administrator
Developer
djvj: I don't see an entry in the logs that tells me which JoyToKey profile is loaded when HyperSpin runs for the first time... can you confirm which profile should be running?
That's none. HyperLaunch only runs when you launch a game so until then you need to setup everything you might need yourself using HyperSpin's startup application setting, so you need to launch JoyToKey with the appropriate profile when HS is launched. Check ghutch's HyperSpin startup script in the HS forums, that should make your life easier.
 

Takaji

New member
RL Member
Check ghutch's HyperSpin startup script in the HS forums, that should make your life easier.

I'm actually already using that, although I don't see any errors in my script settings. I'll post in the thread for his utility as well, but this is my .ini file:
Code:
[Required]
HyperSpin_Folder_Path=J:\HyperSpin
HyperLaunch_Folder_Path=J:\HyperSpin\HyperLaunch
[General]
Primary_Color_RRGGBB=363636
Secondary_Color_RRGGBB=ffffff
[Controls]
Joysticks_Enabled=false
Joystick_Delay=225
Joystick_Deadzone=25
[Startup]
Minimize_Background_Windows_Enabled=false
Window_Classes_To_Not_Minimize=Shell_TrayWnd,Button
Process_Name_To_Close_1=
Program_To_Run_Target_1=JoyToKey.exe
Program_To_Run_Working_Dir_1=J:\HyperSpin\Utilities\JoyToKey
Program_To_Run_MaxMinHide_1=launch hidden
[Exit]
Restore_Windows_On_Exit=True
Process_Name_To_Close_1=JoyToKey.exe
Program_To_Run_Target_1=
Program_To_Run_Working_Dir_1=
Program_To_Run_MaxMinHide_1=
[Roulette]
Roulette_Key=~1
Roulette_Min_MilliSeconds=3000
Roulette_Max_MilliSeconds=8000
[Volume_Menu]
Volume_Menu_Key=~2
Volume_Bar_Offset_From_Bottom=44
[QuickLaunch]
QuickLaunch_Key=~3
QuickLaunch_Enabled=true
QuickLaunch_Left_Offset=5
QuickLaunch_Top_Offset=10
QuickLaunch_Bottom_Offset=10
Item_1_Path=
Item_1_Parameters=
Item_1_LogoPath=
Item_1_Ignore_Process_Close=false
 

djvj

Administrator
Staff member
Developer
Yea Takaji you need to keep in mind, like brolly mentioned, HL never runs until you launch your first game from your front end. So anything you have configured in HL will not take affect until then.
 

Takaji

New member
RL Member
Thanks for your explanations... they actually helped me figure out what I was doing wrong. I kept on thinking that it was one of the keymapper profiles in HLHQ that was causing the problem. What I forgot was that when the startup script launches for the first time, it grabs the default profile located in the JoyToKey program folder, which has nothing to do with HS, HyperHQ or HLHQ. Since I set that up a while ago, I never actually implemented P2 keymapping in that profile. I fixed that now and I'm happy to say everything works :)

One question though... in HLHQ what is the difference between the frontend profile and the default profile? A tutorial I watched a while ago said to set up both of these profiles under the global tab, but I don't know why exactly.
 

djvj

Administrator
Staff member
Developer
Default is used in game for all emus if no system or rom profiles are defined. Frontend is just that, the profile used in your frontend.
 
Top