/* set this to initially contain the modifiers we care about, then track changes in ::set_edit_modifier() etc. */
GdkModifierType Keyboard::RelevantModifierKeyMask =
- GdkModifierType (GDK_SHIFT_MASK|GDK_CONTROL_MASK|GDK_MOD3_MASK);
+ GdkModifierType (GDK_SHIFT_MASK|GDK_CONTROL_MASK|GDK_MOD1_MASK|GDK_MOD3_MASK);
Keyboard::Keyboard ()
return (state & RelevantModifierKeyMask) == (guint) mask;
}
+Selection::Operation
+Keyboard::selection_type (guint state)
+{
+ if (modifier_state_equals (state, Shift)) {
+ return Selection::Extend;
+ } else if (modifier_state_equals (state, Control)) {
+ return Selection::Toggle;
+ } else {
+ return Selection::Set;
+ }
+}