mpv/video/out
wm4 3273db1ef7 client API, X11: change default keyboard input handling again
Commit 64b7811c tried to do the "right thing" with respect to whether
keyboard input should be enabled or not. It turns out that X11 does
something stupid by design. All modern toolkits work around this native
X11 behavior, but embedding breaks these workarounds.

The only way to handle this correctly is the XEmbed protocol. It needs
to be supported by the toolkit, and probably also some mpv support. But
Qt has inconsistent support for it. In Qt 4, a X11 specific embedding
widget was needed. Qt 5.0 doesn't support it at all. Qt 5.1 apparently
supports it via QWindow, but if it really does, I couldn't get it to
work.

So add a hack instead. The new --input-x11-keyboard option controls
whether mpv should enable keyboard input on the X11 window or not. In
the command line player, it's enabled by default, but in libmpv it's
disabled.

This hack has the same problem as all previous embedding had: move the
mouse outside of the window, and you don't get keyboard input anymore.
Likewise, mpv will steal all keyboard input from the parent application
as long as the mouse is inside of the mpv window.

Also see issue #1090.
2014-09-28 20:11:00 +02:00
..
cocoa cocoa: macosx_application needs cocoa-application 2014-08-06 09:31:59 +02:00
wayland wayland/buffer: use buffer macros consistently 2014-09-16 15:48:07 +02:00
aspect.c
aspect.h
bitmap_packer.c
bitmap_packer.h
cocoa_common.h cocoa: move CGL context creation to gl_cocoa 2014-07-08 21:06:57 +02:00
cocoa_common.m video: rename VOCTRL_GET_WINDOW_SIZE 2014-09-05 01:52:16 +02:00
d3d_shader_yuv.h
d3d_shader_yuv.hlsl
dither.c malloc+memset(0) to calloc 2014-09-05 01:59:11 +02:00
dither.h
filter_kernels.c vo_opengl: add parameter to gaussian filter 2014-08-26 22:19:32 +02:00
filter_kernels.h vo_opengl: add radius options for filters 2014-08-26 22:19:30 +02:00
gl_cocoa.c cocoa: fix compilation on OS X 10.8 2014-07-14 07:21:44 +02:00
gl_common.c vo_opengl: don't pass (char*)NULL as %s printf argument 2014-08-28 01:52:15 +02:00
gl_common.h Move compat/ and bstr/ directory contents somewhere else 2014-08-29 12:31:52 +02:00
gl_header_fixes.h
gl_hwdec_vaglx.c vaapi: try dealing with Intel's braindamaged shit drivers 2014-08-21 22:45:58 +02:00
gl_hwdec_vda.c
gl_hwdec_vdpau.c vo_vdpau, vo_opengl: handle vdpau preemption differently 2014-05-10 10:44:16 +02:00
gl_lcms.c Move compat/ and bstr/ directory contents somewhere else 2014-08-29 12:31:52 +02:00
gl_lcms.h
gl_osd.c vo_opengl: simplify redraw callback OSD handling 2014-06-16 01:00:59 +02:00
gl_osd.h vo_opengl: simplify redraw callback OSD handling 2014-06-16 01:00:59 +02:00
gl_video.c sanitizer: avoid divide-by-zero instances 2014-09-14 21:07:30 +02:00
gl_video.h vo_opengl: add radius options for filters 2014-08-26 22:19:30 +02:00
gl_video_shaders.glsl vo_opengl: remove macro operator from shader 2014-08-29 20:56:03 +02:00
gl_w32.c win32: fix build 2014-08-05 23:43:40 +02:00
gl_wayland.c gl_wayland: fix crash after eglInitialze failed 2014-08-30 10:17:51 +02:00
gl_x11.c gl_x11: remove workaround for PPC OSX 10.4 2014-05-31 21:56:45 +02:00
pnm_loader.c Audit and replace all ctype.h uses 2014-07-01 23:11:08 +02:00
pnm_loader.h
vo.c video: fix redrawing when pausing after framedrop 2014-09-21 10:06:06 +02:00
vo.h vo_vdpau: better integration with the generic framedrop code 2014-09-20 15:17:12 +02:00
vo_caca.c vo: remove vo_mouse_movement() wrapper 2014-07-27 21:53:29 +02:00
vo_direct3d.c vo_direct3d: allow resizing before video init 2014-08-06 20:30:47 +02:00
vo_image.c Move compat/ and bstr/ directory contents somewhere else 2014-08-29 12:31:52 +02:00
vo_lavc.c vo_vdpau: better integration with the generic framedrop code 2014-09-20 15:17:12 +02:00
vo_null.c vo: make draw_image and vo_queue_image transfer image ownership 2014-06-17 23:05:50 +02:00
vo_opengl.c Move compat/ and bstr/ directory contents somewhere else 2014-08-29 12:31:52 +02:00
vo_opengl_old.c Audit and replace all ctype.h uses 2014-07-01 23:11:08 +02:00
vo_sdl.c vo_sdl: fix typo 2014-09-05 22:10:20 +02:00
vo_vaapi.c vaapi: try dealing with Intel's braindamaged shit drivers 2014-08-21 22:45:58 +02:00
vo_vdpau.c vo_vdpau: better integration with the generic framedrop code 2014-09-20 15:17:12 +02:00
vo_wayland.c vo_wayland: remove unnecessary check 2014-09-16 15:54:10 +02:00
vo_x11.c malloc+memset(0) to calloc 2014-09-05 01:59:11 +02:00
vo_xv.c vo: different hack for VOs which need to mangle mouse input 2014-07-27 21:33:11 +02:00
w32_common.c win32: don't request window size larger than the screen 2014-09-10 00:48:07 +02:00
w32_common.h win32: create OpenGL context on the GUI thread 2014-08-05 20:02:23 +02:00
wayland_common.c wayland: use reported rete and delay 2014-09-19 17:38:24 +02:00
wayland_common.h wayland_common: fix changing videos when fullscreen 2014-09-10 19:21:52 +02:00
win_state.c video/out: separate out code to compute window size 2014-05-06 20:22:32 +02:00
win_state.h video/out: separate out code to compute window size 2014-05-06 20:22:32 +02:00
x11_common.c client API, X11: change default keyboard input handling again 2014-09-28 20:11:00 +02:00
x11_common.h x11: if the WM supports _NET_FRAME_EXTENTS, don't wait for map 2014-09-15 19:19:01 +02:00
x11_icon.bin