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

Hotkey Issue FCEUX 2.6.6 Qt/SDL win64 Binary #667

Open
CraigIst opened this issue Oct 8, 2023 · 29 comments
Open

Hotkey Issue FCEUX 2.6.6 Qt/SDL win64 Binary #667

CraigIst opened this issue Oct 8, 2023 · 29 comments
Assignees

Comments

@CraigIst
Copy link

CraigIst commented Oct 8, 2023

Unable to map hotkey with a game controller like in the normal FCEUX 2.6.6 win64 Binary version. Not very pratical...

@thor2016 thor2016 self-assigned this Oct 9, 2023
@thor2016
Copy link
Collaborator

thor2016 commented Oct 9, 2023

The Qt GUI does have the capability. It is just configured in a different window. Use main menu -> Options -> GamePad -> Config to access the window with these settings. Be sure to enable the "Show Adv Bindings" in the Extensions menu be able to access this part of the window. Create a new advanced key binding to map a gamepad button to a hotkey. You can map a separate hotkey for both button down and button up events.

@thor2016
Copy link
Collaborator

thor2016 commented Oct 9, 2023

gp_adv_key_binding

@ghost
Copy link

ghost commented Oct 25, 2023

@CraigIst
Copy link
Author

CraigIst commented Oct 28, 2023

The Qt GUI does have the capability. It is just configured in a different window. Use main menu -> Options -> GamePad -> Config to access the window with these settings. Be sure to enable the "Show Adv Bindings" in the Extensions menu be able to access this part of the window. Create a new advanced key binding to map a gamepad button to a hotkey. You can map a separate hotkey for both button down and button up events.

I think you don't understand. For example in the old version of FCEUX or any emulator I am able to put the fast foward option on my gamepad. With the qt gui I am unable to do it. I am not talking about turbo ar anything here...

@ghost
Copy link

ghost commented Oct 28, 2023

@CraigIst
I thought the nes controller configuration my bad
for the hotkeys, I confirm, it's not working (tested with Xbox 360 controller)

@CraigIst
Copy link
Author

@CraigIst I thought the nes controller configuration my bad for the hotkeys, I confirm, it's not working (tested with Xbox 360 controller)

Well I am no longer using FCEUX just for this reason sadly. I hope they are going to fix the issue si we can use fast foward once again on a gaming pad once again...

@thor2016
Copy link
Collaborator

When I look at the win64 GUI hot key mapping window, I do not see a fast forward option. Which hot key exactly are you trying to map to the game pad? Use the names as seen on the GUI so that I know what you are talking about. Explain what you want it to do. You want something to fast forward while you hold a gamepad button down?

@CraigIst
Copy link
Author

When I look at the win64 GUI hot key mapping window, I do not see a fast forward option. Which hot key exactly are you trying to map to the game pad? Use the names as seen on the GUI so that I know what you are talking about. Explain what you want it to do. You want something to fast forward while you hold a gamepad button down?

Yes I would like to have the fast foward option when I hold a gamepad buton down like the old version of Fceux and like any other emulator of most consoles... Thanks...

@thor2016
Copy link
Collaborator

thor2016 commented Dec 1, 2023

I added hotkeys for some emulation speed presets. You can use the advanced key bindings that I showed earlier in this thread. For example, if you want the emulation to run at 4x speed while a certain button is held and then return to normal 1x when same button is released, setup as shown in the attached picture.
emuSpeedGPMapping

@CraigIst
Copy link
Author

I added hotkeys for some emulation speed presets. You can use the advanced key bindings that I showed earlier in this thread. For example, if you want the emulation to run at 4x speed while a certain button is held and then return to normal 1x when same button is released, setup as shown in the attached picture. emuSpeedGPMapping

I just tested and this is working great! But i was wondering why there is a white border around the screen in full screen mode? There is anyway to remove this? Thank you.

@thor2016
Copy link
Collaborator

There used to be an issue with Qt OpenGL widgets in fullscreen that required that 1 pixel border. I tried without it just now and it seems to work fine. So I just pushed a change that will make the fullscreen border a configuration option. Try out the latest build.

@CraigIst
Copy link
Author

CraigIst commented Dec 15, 2023

There used to be an issue with Qt OpenGL widgets in fullscreen that required that 1 pixel border. I tried without it just now and it seems to work fine. So I just pushed a change that will make the fullscreen border a configuration option. Try out the latest build.

This is working half for the fastfoward mapping on the gamepad. But now for some reason the fast foward refuse to work even when this already mapped to the gamepad everytime i start the emulator. Even if the configuration is still there, I need to reconfigure the hotkey to make it work every time I start the emulator. This is like the mulator forget the configuration everytime i restart it and need to be configured again even if this is already configured... What is the issue? Ughhhh

@thor2016
Copy link
Collaborator

The button mappings work fine for me between emulator restarts. Make sure you save the mapping profile after you finish configuring the bindings.

@CraigIst
Copy link
Author

CraigIst commented Dec 22, 2023

The button mappings work fine for me between emulator restarts. Make sure you save the mapping profile after you finish configuring the bindings.

For sure I am saving. This is not doing aything. I clearly said even if this is already mapped this is like this is not mapped at all everytime I restart the emulator. The only way to make it work again is to remap again even if this is already mapped...

@thor2016
Copy link
Collaborator

Please post a screenshot of the gamepad config window when you save the button mappings. Also, try force loading the profile by making the selections and pressing the Load button. You must select the correct input device and mapping profile before pressing load.

@CraigIst
Copy link
Author

CraigIst commented Dec 22, 2023

Please post a screenshot of the gamepad config window when you save the button mappings. Also, try force loading the profile by making the selections and pressing the Load button. You must select the correct input device and mapping profile before pressing load.

Why would I have to load the profile each time i start the emulator? This is not making any sense. The profile is the default profile and saved in the default profile. I don't have to load any profile in the non qt-sdl version or any other emulator to be able to play with everything already configured. If we need to load the profile each time i start the emulator this is kind of a pain with a front end like launchbox... Why everything changed so drastically in a negative way in the qt-sdl version?... Even if i try to load the saved default profile nothing happen even if everything is already mapped. Like I said I have to map again every single time I open the emulator if i want it to work. But thanks...

Ps: I just trying with a new saved mapped profile and same issue when i start the emulator again. This is not working...
issue

@CraigIst
Copy link
Author

Please post a screenshot of the gamepad config window when you save the button mappings. Also, try force loading the profile by making the selections and pressing the Load button. You must select the correct input device and mapping profile before pressing load.

Why would I have to load the profile each time i start the emulator? This is not making any sense. The profile is the default profile and saved in the default profile. I don't have to load any profile in the non qt-sdl version or any other emulator to be able to play with everything already configured. If we need to load the profile each time i start the emulator this is kind of a pain with a front end like launchbox... Why everything changed so drastically in a negative way in the qt-sdl version?... Even if i try to load the saved default profile nothing happen even if everything is already mapped. Like I said I have to map again every single time I open the emulator if i want it to work. But thanks...

Ps: I just trying with a new saved mapped profile and same issue when i start the emulator again. This is not working... issue

Another screenshot with the issue. Thanks...
issue 2

@CraigIst
Copy link
Author

CraigIst commented Dec 22, 2023

Please post a screenshot of the gamepad config window when you save the button mappings. Also, try force loading the profile by making the selections and pressing the Load button. You must select the correct input device and mapping profile before pressing load.

Why would I have to load the profile each time i start the emulator? This is not making any sense. The profile is the default profile and saved in the default profile. I don't have to load any profile in the non qt-sdl version or any other emulator to be able to play with everything already configured. If we need to load the profile each time i start the emulator this is kind of a pain with a front end like launchbox... Why everything changed so drastically in a negative way in the qt-sdl version?... Even if i try to load the saved default profile nothing happen even if everything is already mapped. Like I said I have to map again every single time I open the emulator if i want it to work. But thanks...
Ps: I just trying with a new saved mapped profile and same issue when i start the emulator again. This is not working... issue

Another screenshot with the issue. Thanks... issue 2

@CraigIst CraigIst reopened this Dec 22, 2023
@CraigIst
Copy link
Author

Ha jesus I closed the issue by mistake trying to post a video of the issue. Very sorry...

@thor2016
Copy link
Collaborator

I'm not saying that you should have to manually load the profile everytime you restart. I'm trying to help you debug the issue. For me it just works and am trying to understand why yours is different. I would not say that the Qt/SDL has changed in a negative way, it is just not what you are used to. This method of saving button mapping profiles for each controller type makes it easy to have different mapping profiles for different games or modes of play. The system is setup to remember your last used input device and profile and will try to auto load that. In the same folder as your executable program, there should be a input folder. See what files it created in there. Are your other regular button mappings being saved?

@CraigIst
Copy link
Author

I'm not saying that you should have to manually load the profile everytime you restart. I'm trying to help you debug the issue. For me it just works and am trying to understand why yours is different. I would not say that the Qt/SDL has changed in a negative way, it is just not what you are used to. This method of saving button mapping profiles for each controller type makes it easy to have different mapping profiles for different games or modes of play. The system is setup to remember your last used input device and profile and will try to auto load that. In the same folder as your executable program, there should be a input folder. See what files it created in there. Are your other regular button mappings being saved?

Everything is in the folder but the thing is not working even if I load it. The only way to make it work again is to key binding again even if this is already binded like in the provided screenshots. All my current active button mapping have no issue. I don,t know. Like i said everything is saved when i restart the emulator and this is not working and the only way to make it work again is to bind the ley again even if this is already configured binded with any profile... So i will repeat myself because I am not sure your understand. EVERYTHING is saved but not working when i restart the emulator (closing fully the emulator and opening it again I don,t talk about resetting a game here or the emulator...) and the only way to make it work again even if the advanced key are already binded is to bind again the button to the function... The emulator Punes use the way to bind some hotkey on the gamepad and this is working fine. I don,t know what is happening on my side with fceux qt-sdl. I used Fceultra and Fceux for many years and never had a single issue with the emulator. With this new version well something is not working on my side...

@CraigIst
Copy link
Author

CraigIst commented Jan 11, 2024

You found what was the issue regarding this issue? Any way to send a recorded video to show tje issue of the configuration not working everytime I restart the emulator even if the keys are binded and the need to rebind them over again even if this is saved? Thank you.

@thor2016
Copy link
Collaborator

Can you post the config file that fceux makes for your settings? I want to see if there are parsing errors.

@CraigIst
Copy link
Author

There you go. I hope this is going to help.
fceux.zip

@thor2016
Copy link
Collaborator

Thank you, I also need to see the files in the input folder. That is where the gamepad bindings are all saved.

@CraigIst
Copy link
Author

Thank you, I also need to see the files in the input folder. That is where the gamepad bindings are all saved.

This?
default.zip

@thor2016
Copy link
Collaborator

I made some changes that may help you and also added some input device logging that will help point to whatever is going wrong. Please try again. The log can be seen in the message log window. Access that window from the help menu.

@CraigIst
Copy link
Author

CraigIst commented Mar 6, 2024

I made some changes that may help you and also added some input device logging that will help point to whatever is going wrong. Please try again. The log can be seen in the message log window. Access that window from the help menu.

sadly the same issue is still present. even if everything is still configured, the turbo mapped button is not working anymore once the emulator start again. This is weird really because all the normal controls are fine but this one is stuborn and refuse to work everytime the emulator restart a new session... Not sure if this can help in the log?:

Starting FCEUX 2.7.0-interim git...
Initializing SDL joystick/gamepad subsystem
Added Joystick: devIdx:0 name:'Logitech Dual Action' GUID:'030000006d04000016c2000000000000'
GamePad[0].init Requested: GUID:'030000006d04000016c2000000000000' Profile:'default'
GamePad[0].init Matched GUID to JS device 0
GamePad[0]: Loaded Button Binding Map from File: C:\Games\Nintendo\bin/input/030000006d04000016c2000000000000/default.txt
Gamepad[0]: Loaded HotKey Map From File: C:\Games\Nintendo\bin/input/030000006d04000016c2000000000000/default.txt NumBindings:1
GamePad[1].init Requested: GUID:'keyboard' Profile:'default'
GamePad[1].init Using keyboard device
GamePad[1]: Loaded Button Binding Map from File: C:\Games\Nintendo\bin/input/keyboard/default.txt
Gamepad[1]: Loaded HotKey Map From File: C:\Games\Nintendo\bin/input/keyboard/default.txt NumBindings:0
GamePad[2].init Requested: GUID:'keyboard' Profile:'default'
GamePad[2].init Using keyboard device
GamePad[2]: Loaded Button Binding Map from File: C:\Games\Nintendo\bin/input/keyboard/default.txt
Gamepad[2]: Loaded HotKey Map From File: C:\Games\Nintendo\bin/input/keyboard/default.txt NumBindings:0
GamePad[3].init Requested: GUID:'keyboard' Profile:'default'
GamePad[3].init Using keyboard device
GamePad[3]: Loaded Button Binding Map from File: C:\Games\Nintendo\bin/input/keyboard/default.txt
Gamepad[3]: Loaded HotKey Map From File: C:\Games\Nintendo\bin/input/keyboard/default.txt NumBindings:0
NTSC mode set
NTSC mode set
Loading C:/Games/Nintendo/games/Nintendo Entertainment System/Final Fantasy.zip|Final Fantasy.nes...

PRG ROM: 16 x 16KiB = 256 KiB
CHR ROM: 0 x 8KiB = 0 KiB
ROM CRC32: 0xcebd2a31
ROM MD5: 0x24ae5edf8375162f91a6846d3202e3d6
Mapper #: 1
Mapper name: MMC1
Mirroring: Vertical
Battery-backed: Yes
Trained: No

Power on
Initializing video... Video Mode: 1024 x 896 x 32 bpp
NTSC mode set
NTSC mode set

@CraigIst
Copy link
Author

CraigIst commented Mar 6, 2024

Why not making it like the old version of FCEUX when you could configure the hotkeys directly from the hotkeys menu? never had this kind of issue before jsing the Qt/SDL version... This could be something wrong with windows 11 pro 64 bits?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants