state: add GTK consumed modifiers mode
[platform/upstream/libxkbcommon.git] / xkbcommon / xkbcommon.h
index 30c0508..4902dc4 100644 (file)
@@ -1687,7 +1687,22 @@ enum xkb_consumed_mode {
      * even though they are not active, since if they *were* active they would
      * have affected key translation.
      */
-    XKB_CONSUMED_MODE_XKB
+    XKB_CONSUMED_MODE_XKB,
+    /**
+     * This is the mode used by the GTK+ toolkit.
+     *
+     * The mode consists of the following two heuristics:
+     *
+     * - The active set of modifiers, excluding modifiers which do not affect
+     *   the key (as described above), are considered consumed, if they result
+     *   in different keysyms being produced than when no modifiers are active.
+     *
+     * - Additionally, a single modifier is considered consumed if, were it the
+     *   only active modifier affecting the key (as described above), it would
+     *   result in different keysyms being produced than when no modifiers are
+     *   active.
+     */
+    XKB_CONSUMED_MODE_GTK
 };
 
 /**