i've officially lost it - joytokey

d8thstar

New member
Supporter
RL Member
I had to reinstall windows and am back up to where i was, except for joytokey, this app is driving me nuts, it was working great before. two big issues:

1. i can no longer navigate pause with my joystick. and yes, i did change the keyboard emulation mode to "alternate 2" and i have tried 1 and default.

2. rocket launcher seems to force j2k to close

frustration level is thru the roof! I love RL and J2K, i'm just at wits end, please help!
 

SupraKarma

Member
Supporter
RL Member
There's two solutions to this that I can think of:

1: Ditch RocketLauncher's built in JoytoKey remapping functionality, and use standalone JoytoKey to automatically switch profiles. It is much more stable and reliable, and you will not run into lost focus issues with windows (if that's what this is).

2. If you don't want to do #1 and if all you need is the arrows to work properly, set up a global/keymapper/RocketLauncher AutoHotKey profile (go to global/settings/mapping and enable AHK Method = External first), click on 'free edit' checkbox and copy an paste the following:

Code:
#Persistent  ; Keep this script running until the user explicitly exits it.
SetTimer, WatchPOV, 0
return

WatchPOV:
GetKeyState, POV, JoyPOV  ; Get position of the POV control.
KeyToHoldDownPrev = %KeyToHoldDown%  ; Prev now holds the key that was down before (if any).



Edit: Also, when you say RocketLauncher seems to be forcing J2K to close, are you saying you're already using standalone J2K, and the built in RocketLauncher Keymapping functionality is interfering with it's normal function? If that's the case, go to 'Global/Settings/Keymapper' and disable keymapping, and just let standalone J2K do it's thing.

; Some joysticks might have a smooth/continous POV rather than one in fixed increments.
; To support them all, use a range:
if POV < 0   ; No angle to report
    KeyToHoldDown =
else if POV > 31500                 ; 315 to 360 degrees: Forward
    KeyToHoldDown = Up
else if POV between 0 and 4500      ; 0 to 45 degrees: Forward
    KeyToHoldDown = Up
else if POV between 4501 and 13500  ; 45 to 135 degrees: Right
    KeyToHoldDown = Right
else if POV between 13501 and 22500 ; 135 to 225 degrees: Down
    KeyToHoldDown = Down
else                                ; 225 to 315 degrees: Left
    KeyToHoldDown = Left

if KeyToHoldDown = %KeyToHoldDownPrev%  ; The correct key is already down (or no key is needed).
    return  ; Do nothing.

; Otherwise, release the previous key and press down the new key:
SetKeyDelay -1  ; Avoid delays between keystrokes.
if KeyToHoldDownPrev   ; There is a previous key to release.
    Send, {%KeyToHoldDownPrev% up}  ; Release it.
if KeyToHoldDown   ; There is a key to press down.
    Send, {%KeyToHoldDown% down}  ; Press it down.
return

And then click 'Save current AHK Profile.'

This works with an Xbox 360 controller to map arrows to the D-Pad, I haven't tested on others, but it may work for most. And as far as I can tell, you can use AHK and J2K profiles simultaneously.


Edit: Also, when you say "rocket launcher seems to force j2k to close," does that mean you are already trying to use standalone J2K, and RocketLauncher's built-in keymapping functionality is interfering with that? If that's the case, go to Global/Settings/Mapping and disable the Keymapper, and let standalone J2K do it's thing.
 
Last edited:

d8thstar

New member
Supporter
RL Member
hey supra,

i have been working on this for DAYS, adamant that i could get it to work (it was working PERFECTLY before the win reinstall). I never thought of just turning off key mapping globally. doing that did the trick, j2k is launching at start, i only use it to map my arcade joysticks to keystrokes, which are uniform in all my emu setups.

so, that totally did the trick, thank you! it still bugs me that i couldn't figure out the 'proper' way but its working and thats what matters!

thank you again very very much
 
Top