Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vjoyremap Button Press inside Tempo acting as Toggle #32

Open
Lolo401 opened this issue Apr 22, 2024 · 6 comments
Open

Vjoyremap Button Press inside Tempo acting as Toggle #32

Lolo401 opened this issue Apr 22, 2024 · 6 comments
Labels
enhancement New feature or request

Comments

@Lolo401
Copy link

Lolo401 commented Apr 22, 2024

0421.mp4

See capture above.

Performed on JG Ex 13.40.9Ex, downloaded 20 Apr. Attempting to set a tempo in the GUI with a VJOYremap results in Button Press behaving somewhat like a Toggle.

Workaround: Use pulse button instead of button press.

Cheers !

@Lolo401
Copy link
Author

Lolo401 commented Apr 22, 2024

Edit:
Due to the 24fps compression of the video, it is not apparent that the pulse button works. It does, the 50ms are just not captured in the video.

@muchimi
Copy link
Owner

muchimi commented Apr 22, 2024

Vjoyremap does its own pulsing logic and will override any other logic by actions/conditions in the base code.

I ran a test with vjoyremap with tempo. The behaviors are what I'd expect, and there are two scenarios here (and it's possible yours is different than either below):

Scenario 1: hold the short button while the long button is also pressed.

Setup: both vjoyremap actions in short press and long press are set to "button press".

Scenario 2: short button is only pressed until the long button trigger occurs, the short press is released when the long press is triggered (only one button active at a time):

Setup: vjoy remap set to button press in short action. The long press action has two vjoyremap actions defined. The first is set to button press for the long press button. The second vjoyremap is set to toggle button for the short press button which turns it off.

Both work as expected in my tests. But it may not be what you're looking for! Also, this is with the pre-release version 13.50.10ex available in the releases.

@muchimi
Copy link
Owner

muchimi commented Apr 22, 2024

Update - I just uploaded a quick code change to add a Button Release option to the VjoyRemap action.
This can be used instead of a toggle function (and probably better because toggle does the same thing in this case, release a button, but a standalone release action is far more intuitive and appropriate, I think).

The pre-release zip has been updated to include these changes, which are still in the dev branch.

@Lolo401
Copy link
Author

Lolo401 commented Apr 22, 2024

Will try and play with options. I have to spend time in JG anyway to change everything to SC master mode keybinds.

@muchimi
Copy link
Owner

muchimi commented Apr 23, 2024

MM will change 7 ways to Sunday based on Yogi's feedback... Don't hold your breath on a final mapping just yet! I asked for a separate mapping so it's not yet another function on the "B" key.

@muchimi
Copy link
Owner

muchimi commented May 28, 2024

I've looked over the code on this, since I was doing the new button container, and the vjoymapper will not "know" if the button was pressed or not because it keeps its own status, so the behavior will be different. I'm not sure I have a good solution for this at this point but you can use as a workaround the default mapper (unchanged) and that will behave the same in that container.

The issue with making "smart" actions is that between containers like tempo and conditions, it can lead to conflicts in logic as the action overrides whatever "state" information it was called in.

I discovered this while doing the button container, not with the button mapper, but with mapkeyboardex because that mapper also has its own state control and, in particular, is able to send makes and breaks separately - a behavior that works very well in some circumstances, but not others.

The issue I have is this works as intended in some situations, and not in others, but the point is the actions are different - their logic is different - so the behavior may not be as expected using the older paradigms. It may need an extra mode for example to handle the new desired behavior.

@muchimi muchimi added bug Something isn't working enhancement New feature or request and removed bug Something isn't working labels May 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants