-
Notifications
You must be signed in to change notification settings - Fork 54
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
lr-imame4all in game Config Menu (Tab Key) doesn't work #25
Comments
@Wilstorm could you download the most recent buildbot version of this core, or recompile it from source? You should find that the TAB key is working now, along with L2 on the "retropad" abstraction |
Tab does work but it's buggy. I can press tab and the menu comes up. I press tab again and it exits. That works fine.
When downloading the source I saw several "variable set but not used" messages. |
I have only enable key tab. |
Thank you @r-type -- that is helpful. Maybe I will have time to look at the 'retro keyboard' handler in mame2003 in a few days for inspiration: https://github.com/libretro/mame2003-libretro/blob/master/src/libretro/keyboard.c |
quick bad hack could be something like this |
@r-type I compiled and executed your patch. On this Windows laptop at least I can now assign keys other than Tab to functions in the MAME OSD. Do you want to submit a PR? |
ok PR done |
@Wilstorm once you have a chance to install today's mame2000 update by r-type can you check its functionality in your environment? |
@Wilstorm the latest PRs also improve support for mapping the Tab menu a joypad button. |
I just downloaded from source and it's looking much much better. There's a still a few issues.
If it's not a default MAME key it works fine. So if decided to update the Pause key with E. It works fine.
To enter the more advanced configuration I would press E and followed by W twice in quick succession (like a second or so). The field populates with "E not W". The "not" operator is basically work like this. If I press E and not W then Pause the game. The "not" operator allows for much more advanced configurations in games and also more key combinations with the keyboard and joystick. Here's the "dual mapped" issue (using MAME default keys). Now if I want to make Pause key E but not LCTRL (MAME default button 1) I would press E followed by LCTRL twice quickly. In mame2000 it shows "E LCTRL JS4 LCTRL JS4" and it should be "E not LCTRL". Basically if it's a "dual mapped" key it ignores the "not" and populates the field twice with the MAME default key and the joystick key. In mame4all-pi it shows proper with "E not LCTRL". This is the same issue lr-mame2003 suffers from with "ghost" entries in the field and the "not" operator not working at all.
If I wanted to set the field to "NONE" I would press escape twice (within a second or so). If not in rapid succession it would be treated as a regular escape key sequence. When I press escape twice real fast now it just backs me out of the menus real fast. :) Here's where it's a bit fuzzy and more of icing on the cake then needed. If the field was set to "NONE" with double escape and you did it a second a time by pressing (enter followed by double escape) it would set it back to defaults. Like Pause for example (picking on the pause key again). if I changed the Pause key to "NONE" with double escape and then while it's set to "NONE" if I pressed enter again and pressed escape twice in rapid succession it would default back to "P". Basically setting it to "NONE" twice in a row reverted back to the default. It was very useful setting keys back to the defaults. I don't have my joystick handy but will test it out here later today and post an update. |
Updated comment as it was removing the "less than symbol" the word not followed by the "greater than symbol". |
Referencing issue #3 above. I think the paragraph below is incorrect. I will try and explain but it's a bit confusing but it has always worked well on mame4all-pi. INCORRECT I THINK: If I press enter to change a field but decided to not make a change I could press escape and it would leave the field as is. If you pressed any other key besides escape then it treats it as a change.
As it sits now if you want to use the escape key in a function you have to enter it first. If it's entered later it wipes the field out.
If you do it in reverse for example on the Pause key it doesn't work.
Basically escape has to be entered first if you wish to have multiple keys for the same function. I believe that's why it was setup with the double escape key sequence. Just an FYI. If you leave a line and such as arrow up or down, then arrow back to the same line and press enter it wipes out the field which is how it always works. You have to stay on that line pressing enter and adding the keys you wish to use. If you leave a line and decide to add another key you have to start over. This works properly but I thought it might help in understanding the issue.
|
One last thought on the escape key behavior. I believe the double escape key press sequence would have been implemented to allow a single escape key press to be used as a regular key when setting up the function/navigation keys. |
These testing notes are great, thank you! |
The in game emulator Config Menu which is by default accessed with the Tab Key doesn't work. It's a very useful feature and without the Config Menu several useful features and options are not available. One of the main features that doesn't work (Input (general)) to setup for 4-players on joysticks as you can not configure players 2-4 inputs, Coin-in 2-4, Player start 2-4.
You need access to the Config Menu (via keyboard TAB) to setup access to the Config Menu with a joystick.
You also loose the ability to do more granular settings (Input (this Game)) for specific games as some do not work with the default keys.
You also loose the Dip Switch settings which allow you to set number of coins to start a game, number of lives, difficulty, time to play, etc. for a game.
Game Information such as history.dat is not accessible without the Config Menu.
Lastly not used as often would be Bookkeeping Info and Reset Game.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
The text was updated successfully, but these errors were encountered: