pointer_x, pointer_y);
gst_navigation_send_event_simple (GST_NAVIGATION (ximagesink),
gst_navigation_event_new_mouse_move (pointer_x, pointer_y,
- e.xmotion.state));
+ e.xmotion.state & GST_NAVIGATION_MODIFIER_MASK));
g_mutex_lock (&ximagesink->flow_lock);
g_mutex_lock (&ximagesink->x_lock);
e.xbutton.button, e.xbutton.x, e.xbutton.x);
gst_navigation_send_event_simple (GST_NAVIGATION (ximagesink),
gst_navigation_event_new_mouse_button_press (e.xbutton.button,
- e.xbutton.x, e.xbutton.y, e.xbutton.state));
+ e.xbutton.x, e.xbutton.y,
+ e.xbutton.state & GST_NAVIGATION_MODIFIER_MASK));
break;
case ButtonRelease:
GST_DEBUG ("ximagesink button %d release over window at %d,%d",
e.xbutton.button, e.xbutton.x, e.xbutton.x);
gst_navigation_send_event_simple (GST_NAVIGATION (ximagesink),
gst_navigation_event_new_mouse_button_release (e.xbutton.button,
- e.xbutton.x, e.xbutton.y, e.xbutton.state));
+ e.xbutton.x, e.xbutton.y,
+ e.xbutton.state & GST_NAVIGATION_MODIFIER_MASK));
break;
case KeyPress:
case KeyRelease:
e.xkey.keycode, e.xkey.x, e.xkey.y, key_str);
gst_navigation_send_event_simple (GST_NAVIGATION (ximagesink),
(e.type == KeyPress) ?
- gst_navigation_event_new_key_press (key_str, e.xkey.state) :
- gst_navigation_event_new_key_release (key_str, e.xkey.state));
+ gst_navigation_event_new_key_press (key_str,
+ e.xkey.state & GST_NAVIGATION_MODIFIER_MASK) :
+ gst_navigation_event_new_key_release (key_str,
+ e.xkey.state & GST_NAVIGATION_MODIFIER_MASK));
break;
default:
GST_DEBUG_OBJECT (ximagesink, "ximagesink unhandled X event (%d)",
pointer_x, pointer_y);
gst_navigation_send_event_simple (GST_NAVIGATION (xvimagesink),
gst_navigation_event_new_mouse_move (e.xbutton.x, e.xbutton.y,
- e.xbutton.state));
+ e.xbutton.state & GST_NAVIGATION_MODIFIER_MASK));
g_mutex_lock (&xvimagesink->flow_lock);
g_mutex_lock (&xvimagesink->context->lock);
e.xbutton.button, e.xbutton.x, e.xbutton.y);
gst_navigation_send_event_simple (GST_NAVIGATION (xvimagesink),
gst_navigation_event_new_mouse_button_press (e.xbutton.button,
- e.xbutton.x, e.xbutton.y, e.xbutton.state));
+ e.xbutton.x, e.xbutton.y,
+ e.xbutton.state & GST_NAVIGATION_MODIFIER_MASK));
break;
case ButtonRelease:
/* Mouse button released over our window. We send upstream
e.xbutton.button, e.xbutton.x, e.xbutton.y);
gst_navigation_send_event_simple (GST_NAVIGATION (xvimagesink),
gst_navigation_event_new_mouse_button_release (e.xbutton.button,
- e.xbutton.x, e.xbutton.y, e.xbutton.state));
+ e.xbutton.x, e.xbutton.y,
+ e.xbutton.state & GST_NAVIGATION_MODIFIER_MASK));
break;
case KeyPress:
case KeyRelease:
e.xkey.keycode, e.xkey.x, e.xkey.y, key_str);
gst_navigation_send_event_simple (GST_NAVIGATION (xvimagesink),
(e.type == KeyPress) ?
- gst_navigation_event_new_key_press (key_str, e.xkey.state) :
- gst_navigation_event_new_key_release (key_str, e.xkey.state));
+ gst_navigation_event_new_key_press (key_str,
+ e.xkey.state & GST_NAVIGATION_MODIFIER_MASK) :
+ gst_navigation_event_new_key_release (key_str,
+ e.xkey.state & GST_NAVIGATION_MODIFIER_MASK));
break;
default:
GST_DEBUG_OBJECT (xvimagesink, "xvimagesink unhandled X event (%d)",