ModPlug Central

OpenMPT => Development Corner => Topic started by: Saga Musix on September 27, 2024, 10:33:18

Title: Key handling changes in OpenMPT 1.32
Post by: Saga Musix on September 27, 2024, 10:33:18
This is a quick description of a few things related to key handling that will change in the upcoming OpenMPT 1.32; if you are using current OpenMPT testing versions you are encouraged to check if shortcuts, navigation, etc. still work as expected for you or if something unexpected changed.

What happened? Well, for the last 18+ years, OpenMPT has used a global keyboard hook to intercept key presses. This hook handled all the global shortcuts, as well listening to the status of modifier keys (Shift, Ctrl, Alt). There were various issues with this approach: The global hook caused some general keyboard input issues on some Wine systems, and modifier keys could get "stuck" on all OpenMPT installations, sometimes causing key presses to not be recognized anymore until the "stuck" modifier was pressed again. This change is also a tiny puzzle piece on the long road to a platform-independent OpenMPT.

In general, the intent was to keep existing behaviour mostly the same as before. Here are some things we know that changed:


If you notice any changes beyond the ones described above, please let us know (here or on the issue tracker). As you can probably imagine, keyboard handling is an accumulated mess of over 18 years of bugfixes and special cases, and I already had to fix several special cases. If there are any more bugs left, I would hope to find and fix them before an official OpenMPT 1.32 release.