Hej,
While trying to add navigation support to the qml6glsrc plugin I came across some inconsistencies in the various plugins that generate GstNavigation events. For example, the ximagesink/xvimagesink plugins encode mouse wheel events as mouse button clicks, even though the GstNavigation provides a dedicated event for scroll wheels. I’m aware that sending wheel events as button clicks is an X11 legacy behavior, but that behavior shouldn’t be reflected inside the GstNavigation protocol, right? Because then every handler of GstNavigation events would need to be aware of that special button mapping. Shouldn’t the ximagesink/xvimagesink encode wheel events as proper GST_NAVIGATION_EVENT_MOUSE_SCROLL events?
Another problem are the key events. I don’t find any specification for the ‘key’ parameter that is sent for key press/release events. It looks like that should be the X11 key sym name (at least some plugins decode it that way), however while ximagesink sends ‘s’ for Shift+Key_s, the webrtcsink sends ‘S’.
Could someone shed some light on that topic? Are the inconsistencies just there for ‘historical reasons’? Would it make sense to improve the specification and adapt all the plugins that use GstNavigation to follow it?
Ciao,
Tobias