Brian0255 / NDS-Ironmon-Tracker

An ironMON tracker for Nintendo DS Pokémon games.
GNU General Public License v3.0
39 stars 16 forks source link

Suggestion: Keybinding for Open/Create Note Function #124

Open Deyui opened 3 months ago

Deyui commented 3 months ago

Situation Pokémon can be played entirely via keyboard, and the tracker’s keybinding feature allows easy access to many essential functions without needing to use a mouse. This enhances the gameplay experience by enabling seamless control and navigation.

Problem Currently, there is no keybinding or shortcut for the open/create note function. This forces players to switch between the keyboard and mouse, disrupting gameplay and causing inconvenience. The constant switching can be particularly frustrating for players who rely heavily on notes during their runs.

Proposed Solution Introducing a keybinding option for the open/create note function would allow players to access this feature without having to use the mouse. This enhancement would enable a smoother, more immersive gaming experience by allowing players to play entirely via keyboard, especially those who frequently use notes.

Below you can find a possible implementation of the proposed solution:

https://github.com/Brian0255/NDS-Ironmon-Tracker/assets/46270478/d5995261-bdf1-4adc-817a-9eae23c73772

Brian0255 commented 2 months ago

So I think this is a very solid idea, but what should the default keybind be? The available buttons are something like: A, B, START, SELECT, L, R My initial thought is it could be some combination, like L+R, but I would be curious to hear your thoughts on this since it is your idea

Deyui commented 2 months ago

L + R

Concerns

While L + R is an intuitive and easily accessible button combination, it could create conflicts. Currently, L and R are default bound to "Cycle Stat" and "Cycle Prediction," respectively. My concern is that pressing L + R might inadvertently trigger both these functions as well, since the tracker seems to execute any function tied to the individual keys immediately with no consideration of keybind combinations. At least that's what I observed from my experiments.

Possible Solution

If we can modify the tracker to recognize and correctly handle keybind combinations, then L + R would indeed be a great option for opening the note.

X + Select

Thoughts

Another potential keybind could be X + Select. Since this script is specifically for the NDS Tracker, both X and Y buttons should be available. In most Pokémon games, X and Y are not used during battles, so using X wouldn't interfere with gameplay for almost any situation.

Concerns

  1. There is a niche situation where the player can open/create notes while outside battle. This is when the player, while not in battle, navigates to Tracker < Config < Tracked Info < Tracked Pokémon in order review all met Pokémon. In this context, pressing Y could inadvertently trigger the registered item from the player's bag, causing inconvenience. Pressing X in this scenario would generally just open or close the current bag menu, which is less disruptive and why I think using the X button is better than Y. Nevertheless it's just a bandaid and not a perfect solution.

  2. I would be concerned about how to manually bind a button combination to Open Note, currently only Start New Run has the option to do so as far as I am aware, so the Open Note feature would need to be modelled similarly as well? Of course we could just let the player not allow keybind combinations to be added to this feature just like most other features e.g. Change view.

LidOpen/LidClose

Thoughts

I am assuming that most people will run this script on BizHawk, in which case the tool allows one to bind LidOpen/LidClose to any button they want which they can use for the create note keybind. As far as I am aware opening or closing the lid will not disrupt any Pokemon playthroughs.

Concerns

Problem is that I doubt many people will know that is even possible, won't have it bound to any button and probably won't know how to.

image

Brian0255 commented 2 months ago

X + Select would be a good default I think, and it could just be set up the same way as Start New Run. You actually can change the button to switch views, but I think most people don't bother changing it since it's a very fitting keybind.

Deyui commented 2 months ago

If you think X + Select is a good idea then I'm happy to go with that as well!

I don't have any experience with lua before so I believe the implementation is best left to you and other more experienced contributors. My personal implementation has been done pretty quick and dirty so I don't think it'll be helpful, but I am happy to help in any way I can regarding this feature. So if there's anything, feel free to reach out!

Thanks a ton for hearing me out and all your hard work for the community!