View Issue Details

IDProjectCategoryView StatusLast Update
0001815OpenMPTAccessibilitypublic2024-09-27 16:44
ReporterTalonTheDragon Assigned ToSaga Musix  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Platformx64OSWindowsOS Version11
Product VersionOpenMPT 1.31.09.00 / libopenmpt 0.7.9 (upgrade first) 
Target VersionOpenMPT 1.32 / libopenmpt 0.8 (goals)Fixed in VersionOpenMPT 1.32 / libopenmpt 0.8 (goals) 
Summary0001815: Shift+F10 does not work as a substitute for the apps key on keyboards that do not have one
Description

Pressing the apps (applications) key opens some context specific menus, for example in the pattern view on the effects column, or in treeviews. My keyboard does not have an apps key. Usually, windows conventions offer shift+f10 as a substitute in cases where an apps key is not present, however in OpenMPT, shift+f10 focuses the menu bar, same as pressing f10 without shift.
Would it be possible to add shift+f10 as an alternate key for opening context sensitive menus like the apps key does?

Steps To Reproduce
  • Press alt+p to focus patterns section.
  • Arrow right to the effects column.
  • Press shift+f10.
  • Observe the menu bar receives focus, and the context menu does not open.
  • The same also happens inside the instruments tree with alt i, and anywhere else apps key opens a context menu.
TagsNo tags attached.
Has the bug occurred in previous versions?
Tested code revision (in case you know it)

Activities

Saga Musix

Saga Musix

2024-09-17 22:19

administrator   ~0006051

I wasn't aware of Shift+F10 as a common alternative to the Application key. I thought that instead of adding yet another hardcoded special case for this in the places that have hardcoded custom behaviour for the Application key (i.e. the ones you observed where the Application key is working but Shift+F10 is not), we could turn this into a common, user-definable global shortcut (using Application and Shift+F10 as the default keybindings). However global shortcuts always have a higher priority than context-dependent shortcuts, and most famously since the early days OpenMPT by default binds the Application key in the pattern editor to open the Note Properties dialog instead of opening the context menu, and that behaviour would completely break with this implementation.

Maybe we can add context-specific shortcuts instead, I'll try that if I cannot come up with any other good solution. I don't really like that idea because it means the same shortcut configuration will be repeated several times if the user wants to change it.

Saga Musix

Saga Musix

2024-09-19 13:34

administrator   ~0006062

Last edited: 2024-09-19 13:41

Alright, through quite a bit of restructuring of keyboard handling code, there is now a good way to implement this.

As of r21624 (OpenMPT 1.32.00.25), the context menu key is now fully configurable. By default (if there are no conflicting shortcuts), both the Application key and Shift+F10 will be tried to be assigned when upgrading to this new version. At the same time, the Application key will continue to open the Note Properties dialog in the pattern editor if it was set up that way before. Note that due to aforementioned possible conflicts, you may want to double-check in OpenMPT's keyboard settings that this new shortcut ("Show Context Menu") is indeed bound to Shift+F10 (or any alternative key bindings you desire).

As said, this involved quite a lot of fundamental changes, so it will not be backported to OpenMPT 1.31, but definitely more testing is required if nothing broke. To try it out, you can set OpenMPT's update channel to "Development" or download a (portable) test build from https://builds.openmpt.org/builds/ as soon as it's available (may take a few hours).

Saga Musix

Saga Musix

2024-09-27 16:44

administrator   ~0006070

I'll mark this as resolved for now. Feel free to reopen or file a new issue if you find anything not working with this feature in the latest development builds.

Issue History

Date Modified Username Field Change
2024-09-16 13:19 TalonTheDragon New Issue
2024-09-16 14:08 manx Relationship added related to 0000713
2024-09-16 21:13 Saga Musix Assigned To => Saga Musix
2024-09-16 21:13 Saga Musix Status new => assigned
2024-09-17 22:19 Saga Musix Note Added: 0006051
2024-09-17 22:27 Saga Musix Relationship deleted related to 0000713
2024-09-19 13:34 Saga Musix Status assigned => feedback
2024-09-19 13:34 Saga Musix Note Added: 0006062
2024-09-19 13:41 Saga Musix Note Edited: 0006062
2024-09-19 13:41 Saga Musix Summary Shift f10 does not work as a substitute for the apps key on keyboards that do not have one => Shift+F10 does not work as a substitute for the apps key on keyboards that do not have one
2024-09-27 16:44 Saga Musix Note Added: 0006070
2024-09-27 16:44 Saga Musix Status feedback => resolved
2024-09-27 16:44 Saga Musix Resolution open => fixed
2024-09-27 16:44 Saga Musix Fixed in Version => OpenMPT 1.32 / libopenmpt 0.8 (goals)
2024-09-27 16:44 Saga Musix Target Version => OpenMPT 1.32 / libopenmpt 0.8 (goals)