1
mirror of https://github.com/mpv-player/mpv synced 2024-11-18 21:16:10 +01:00
mpv/video
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
..
decode Remove mpbswap.h 2014-09-25 21:32:55 +02:00
filter Fix build with libavfilter disabled 2014-09-28 19:10:50 +02:00
out client API, X11: change default keyboard input handling again 2014-09-28 20:11:00 +02:00
csputils.c video: adjust some Matroska 3D formats 2014-08-31 14:48:58 +02:00
csputils.h csputils: adjust comment 2014-08-30 23:54:19 +02:00
fmt-conversion.c vda: only support the new hwaccel 1.2 API (remove old code) 2014-08-01 10:38:18 +02:00
fmt-conversion.h Take care of some libavutil deprecations, drop support for FFmpeg 1.0 2013-11-29 17:39:57 +01:00
hwdec.h video: move display and timing to a separate thread 2014-08-12 23:24:08 +02:00
image_writer.c Move compat/ and bstr/ directory contents somewhere else 2014-08-29 12:31:52 +02:00
image_writer.h image_writer: mp_msg conversions 2013-12-21 20:50:10 +01:00
img_format.c Move compat/ and bstr/ directory contents somewhere else 2014-08-29 12:31:52 +02:00
img_format.h Move compat/ and bstr/ directory contents somewhere else 2014-08-29 12:31:52 +02:00
img_fourcc.h build: deal with endian mess 2014-07-10 00:58:56 +02:00
memcpy_pic.h memcpy_pic: reformat 2013-11-06 20:27:13 +01:00
mp_image_pool.c video: introduce failure path for image allocations 2014-06-17 22:43:43 +02:00
mp_image_pool.h video: introduce failure path for image allocations 2014-06-17 22:43:43 +02:00
mp_image.c video: fix some vo_direct3d crashes due to FFmpeg nonsense 2014-09-21 09:33:51 +02:00
mp_image.h video: initial Matroska 3D support 2014-08-30 23:24:46 +02:00
sws_utils.c video: correct spelling: mp_image_params_equals -> mp_image_params_equal 2014-06-17 23:30:27 +02:00
sws_utils.h options: remove global variables for swscale options; rename them 2014-06-11 00:39:13 +02:00
vaapi.c vaapi: try dealing with Intel's braindamaged shit drivers 2014-08-21 22:45:58 +02:00
vaapi.h vaapi: try dealing with Intel's braindamaged shit drivers 2014-08-21 22:45:58 +02:00
vdpau_functions.inc video: warn if an emulated hwdec API is used 2014-05-28 02:08:45 +02:00
vdpau_mixer.c vdpau: correctly mark invalid mixer as such on vdp_video_mixer_create() failure 2014-08-13 17:57:19 +02:00
vdpau_mixer.h vdpau_mixer: allow overriding frame opts 2014-05-02 01:08:04 +02:00
vdpau.c vdpau: allocate surfaces by age 2014-08-11 14:03:53 +02:00
vdpau.h vdpau: allocate surfaces by age 2014-08-11 14:03:53 +02:00
vfcap.h video: remove --flip 2013-12-05 22:58:54 +01:00