Paul Davis
5e37a320c0
remove use-selection modifier
2023-07-26 18:24:43 -06:00
Paul Davis
86a5aec276
change "use selection" modifier to Win/Opt (Level4 modifier)
2023-07-26 16:40:34 -06:00
Paul Davis
29c2b06d0e
add a name for a modifier to be used to indicate "use selection"
2023-07-26 13:18:02 -06:00
Robin Gareus
71ee12af6a
Add API to format keyboard modifiers for tooltips
2022-06-21 22:11:49 +02:00
Robin Gareus
5b03bf72fa
NO-OP: code style
2022-06-21 22:11:08 +02:00
Robin Gareus
af38528174
Physical modifier abstraction is constant
2022-06-21 22:09:54 +02:00
Robin Gareus
3266b1acb0
Add API to query currently held modifiers keys
2022-06-21 21:37:14 +02:00
Robin Gareus
f1eb45e129
NO-OP: clang format
2022-06-21 21:37:08 +02:00
Robin Gareus
4661957091
Re-establish 47932fb7bf (which was lost in e557245bf7)
2022-06-21 20:17:01 +02:00
Ben Loftis
e557245bf7
implement group_override_modifier() (lib part)
...
Consistently use Tertiary for Group Override on all platforms (and be consistent about it)
Consistently use Primary-mod for Momentary on all platforms (partially reverts 47932f)
Primary modifier is used for fine-adjust on knobs and sliders, with no analogous operation on switches.
2022-06-21 13:01:30 -05:00
Robin Gareus
47932fb7bf
Only special case middle-click modifier for macOS by default
2022-06-20 23:30:45 +02:00
Ben Loftis
fd9a76073b
modifiers: add momentary_push_name (for tooltips)
2022-06-17 11:07:58 -05:00
Ben Loftis
12e703414d
modifiers: make a new abstraction for momentary-click, instead of button_2 (lib part)
...
is_button2_event() was used to detect the user's desire for a
momentary-click on some buttons (mute, solo, mixer scenes)
is_momentary_push_event() disambiguates this action from is_button2_event()
for the special case of momentary, we can drop the workarounds for
the lack of middle-mouse buttons on Mac, and instead just use
shift+left-click on all platforms.
2022-06-17 11:07:49 -05:00
Ben Loftis
71833911a4
modifiers: publish button2_name (for use in tooltips)
2022-06-17 10:52:06 -05:00
Paul Davis
7bf89ce109
Constification: make Stateful::get_state() const, with all other required const-ness added (libs)
2022-04-06 21:56:59 -06:00
Paul Davis
6db261d566
libgtkmm2ext: modify Keyboard handling of close-current-dialog
...
1) if there is no current dialog, allow some other window to handle the keyboard event
2) make the binding (which is hard coded) visible as static members of Keyboard
2021-04-26 10:48:20 -06:00
Paul Davis
920a77f6af
add debug trace to code that actually saves bindings to disk
2020-04-12 08:57:59 -06:00
Paul Davis
6f4e838a58
add a signal to Gtkmm2ext::Keyboard to allow (possible) handling of close-current-dialog
2019-11-06 16:25:30 -07:00
Robin Gareus
e0d5c1426c
NO-OP: fix some Wimplicit-fallthrough
...
gcc can recognize various regexps in comments. Since C++17 provides
[[fallthrough]], using /* fallthrough */ consistently seems
appropriate until we switch to C++17.
see also https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
2019-09-18 17:37:54 +02:00
Robin Gareus
cec5ce8f45
Update canvas/UI lib GPL boilerplate and (C) from git log
2019-08-03 15:53:17 +02:00
Tim Mayberry
1f3589b122
Use XMLNode::get/set_property API in Gtkmm2ext::Keyboard class
2017-04-19 09:36:55 +10:00
Robin Gareus
9cc068756b
Clean up existing bindings on reset
2017-03-13 20:09:10 +01:00
Paul Davis
545f5bee87
changes to adapt to modified version of GTK/Quartz which uses only MOD2 for Command, everywhere.
...
The default version of GTK2/Quartz uses MOD2+META for keys and MOD2 for scroll, which is
basically insane
2016-12-13 07:02:08 -05:00
Tim Mayberry
8d70b76059
Fix restoration of key bindings assigned to Windows+key, bug #7037
...
Windows key generates Mod4+Super (at least with the version of Gdk we use on
linux) so for bindings using the Windows key to work, GDK_SUPER_MASK has to be
added to modifier mask.
2016-10-26 12:03:17 +10:00
Paul Davis
99c8e51918
manually revert b9cab93fb1 and remove associated code.
...
For the last time, because of how GDK works, Keyboard::PrimaryModifier on MacOS MUST include MOD2 ***AND** META
2016-09-29 12:01:50 -04:00
Robin Gareus
a83febb268
fix optimized build compilation
2016-08-19 22:38:10 +02:00
Paul Davis
45cd3482a2
fix failure to remove keyvalue from Keyboard::state on key release
2016-08-19 08:32:44 -04:00
nick_m
c62026b567
Ensure RelevantModifierKeyMask is updated on each modifier change.
...
- fixes bug where changing prefs in User Interaction
only took effect on restart.
2016-08-14 03:04:54 +10:00
Paul Davis
b9cab93fb1
fix definition of PrimaryModifier for Keyboard for OS X
2016-08-08 17:59:11 -04:00
Paul Davis
1a55e83e98
move show_gdk_event_state() utility function from gtk2_ardour to libs/gtkmm2ext
2016-07-18 14:41:25 -04:00
Paul Davis
cf52d6e4b4
enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h
2016-07-14 14:45:23 -04:00
Paul Davis
ae4e84fd51
provide some Keyboard:: methods to get access to other versions of modifier names
2016-06-21 08:58:38 -04:00
Paul Davis
73f3abedea
make it possible to disable VisibilityTracker's use of WM visibility
2016-06-07 18:29:03 -04:00
Paul Davis
17ace643e4
OMNIBUS COMMIT: prefer const XMLNode::property method (and provide a real one)
2016-05-04 23:09:45 -04:00
Paul Davis
21c3d17ae1
fix merge/rebase mistake
2016-02-22 15:31:26 -05:00
Paul Davis
d2a6fec03a
additional GTKOSX => __APPLE__ changes missed in previous commit
2016-02-22 15:31:25 -05:00
Paul Davis
fbc985f913
set PrimaryModifier on OS X to match the actual bits used by GTK for Command
2016-02-22 15:31:24 -05:00
Paul Davis
bc487bb4b0
replicate the remove-all-trailing whitespace commit(s) in master
2016-02-22 15:31:24 -05:00
Paul Davis
589f2a1ab8
change suffix of keybinding files to ".keys" to avoid conflict with earlier versions.
...
Move some code around that should never have been inside libs/ardour to begin with.
2016-02-22 15:31:24 -05:00
Paul Davis
949163f806
more changes to Bindings, Keyboard APIs
2016-02-22 15:31:24 -05:00
Paul Davis
67e19c177f
radically change Keyboard/Binding API design to disconnect Gtk::Action lookup from binding definition
...
We need this because we need binding information/objects before all
Actions have been defined.
2016-02-22 15:31:24 -05:00
Paul Davis
f028a6bffb
fix memory lifetime management issue
2016-02-22 15:31:24 -05:00
Paul Davis
36023db8aa
change/extend/rework Bindings API to allow replacement and provide stub/hook/call to save bindings
2016-02-22 15:31:23 -05:00
Paul Davis
04a9ce757c
initial compilable version of saving key bindings with "new" scheme
2016-02-22 15:31:23 -05:00
Paul Davis
0f17508e6c
changes to Bindings and Keyboard API to support (mostly) GTK-free keyboard bindings
2016-02-22 15:31:23 -05:00
Paul Davis
86d27a736c
better system for managing kbd focus after cmd-w closing a dialog.
...
Key, Button and Focus In events in the editor+mixer windows cause the respective window to be noted
as the window to which focus should return after a dialog is closed with cmd/ctrl-w
2016-02-22 14:03:55 -05:00
Paul Davis
3a08ac5e1f
os x: an initial attempt at fixing loss of keyboard focus after cmd-w to close dialog
2016-02-22 11:49:17 -05:00
Paul Davis
344cf05540
OS X: fix the handling of SUPER,HYPER,META (see code comment for more)
2016-02-21 10:48:35 -05:00
Paul Davis
c92e822332
remove HYPER,SUPER,META modifier masks from Keyboard::RelevantModifierMask so that modifier_state_equals() works on OS X
...
GTK on OS X adds META when Command is pressed even though it also uses MOD2 to indicate COMMAND. So Cmd-w was actually META-MOD2-w and modifier_state_equals(MOD2)
would fail. This should have nothing but good side effects
2016-02-18 09:44:50 -05:00
Paul Davis
dd7649a409
add a static utility function (should really be in utils.cc and public) to show modifier state in english; use said function
2016-02-18 09:43:03 -05:00