OpenBoard-org / OpenBoard

OpenBoard is a cross-platform interactive whiteboard application intended for use in a classroom setting.
https://openboard.ch/
GNU General Public License v3.0
2.42k stars 434 forks source link

Feat: improve shortcut handling #1070

Closed letsfindaway closed 2 months ago

letsfindaway commented 3 months ago

This PR is a subset of #955 with all the improvements in shortcut handling, but without the preferences dialog.

It contains all improvements described here: https://github.com/OpenBoard-org/OpenBoard/pull/955#issuecomment-2306416089.

It also contains the option to use shortcuts without the Ctrl modifier by setting

[Shortcut]
IgnoreCtrl=true

in the configuration file. This is especially useful to activate shortcuts with a single hand.

Note that this PR already contains the full-fledged UBShortcutManager, which includes collecting shortcuts from various places and presenting them as a table model for a UI. This is the base for implementing a configuration dialog later, even if many of its functions are currently unused.