gtk: fix entering of Option-foo symbols on the Mac
define GTK_NO_TEXT_INPUT_MOD_MASK in gtkprivate.h and use it in the IM contexts, so Option-foo is no longer filtered away.
This commit is contained in:
parent
d3df4678ca
commit
2a8be23d17
@ -895,7 +895,7 @@ gtk_im_context_simple_filter_keypress (GtkIMContext *context,
|
|||||||
(priv->in_hex_sequence && !hex_keyval &&
|
(priv->in_hex_sequence && !hex_keyval &&
|
||||||
!is_hex_start && !is_hex_end && !is_escape && !is_backspace))
|
!is_hex_start && !is_hex_end && !is_escape && !is_backspace))
|
||||||
{
|
{
|
||||||
if (event->state & (GDK_MOD1_MASK | GDK_CONTROL_MASK) ||
|
if (event->state & GTK_NO_TEXT_INPUT_MOD_MASK ||
|
||||||
(priv->in_hex_sequence && priv->modifiers_dropped &&
|
(priv->in_hex_sequence && priv->modifiers_dropped &&
|
||||||
(event->keyval == GDK_KEY_Return ||
|
(event->keyval == GDK_KEY_Return ||
|
||||||
event->keyval == GDK_KEY_ISO_Enter ||
|
event->keyval == GDK_KEY_ISO_Enter ||
|
||||||
|
@ -350,7 +350,7 @@ gtk_im_multicontext_filter_keypress (GtkIMContext *context,
|
|||||||
if (slave)
|
if (slave)
|
||||||
return gtk_im_context_filter_keypress (slave, event);
|
return gtk_im_context_filter_keypress (slave, event);
|
||||||
else if (event->type == GDK_KEY_PRESS &&
|
else if (event->type == GDK_KEY_PRESS &&
|
||||||
(event->state & (GDK_MOD1_MASK | GDK_CONTROL_MASK)) == 0)
|
(event->state & GTK_NO_TEXT_INPUT_MOD_MASK) == 0)
|
||||||
{
|
{
|
||||||
gunichar ch;
|
gunichar ch;
|
||||||
|
|
||||||
|
@ -67,6 +67,16 @@ const gchar *_gtk_get_data_prefix ();
|
|||||||
#define GTK_DEFAULT_ACCEL_MOD_MASK GDK_META_MASK
|
#define GTK_DEFAULT_ACCEL_MOD_MASK GDK_META_MASK
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* When any of these modifiers are active, a key
|
||||||
|
* event cannot produce a symbol, so should be
|
||||||
|
* skipped when handling text input
|
||||||
|
*/
|
||||||
|
#ifndef GDK_WINDOWING_QUARTZ
|
||||||
|
#define GTK_NO_TEXT_INPUT_MOD_MASK (GDK_MOD1_MASK | GDK_CONTROL_MASK)
|
||||||
|
#else
|
||||||
|
#define GTK_NO_TEXT_INPUT_MOD_MASK (GDK_MOD2_MASK | GDK_CONTROL_MASK)
|
||||||
|
#endif
|
||||||
|
|
||||||
gboolean _gtk_fnmatch (const char *pattern,
|
gboolean _gtk_fnmatch (const char *pattern,
|
||||||
const char *string,
|
const char *string,
|
||||||
gboolean no_leading_period);
|
gboolean no_leading_period);
|
||||||
|
Loading…
Reference in New Issue
Block a user