mpv/player
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
..
lua osc: update cache display 2014-09-25 11:57:49 +02:00
timeline Move compat/ and bstr/ directory contents somewhere else 2014-08-29 12:31:52 +02:00
audio.c audio: cleanup spdif format definitions 2014-09-23 23:11:54 +02:00
client.c client API, X11: change default keyboard input handling again 2014-09-28 20:11:00 +02:00
client.h lua: synchronously wait until scripts are loaded 2014-09-06 17:02:47 +02:00
command.c build: add -Wno-format-zero-length 2014-09-26 13:52:55 +02:00
command.h
configfiles.c player: don't let multiline filenames set options on resume 2014-09-16 18:23:01 +02:00
core.h player: simplify OSD message handling code 2014-09-25 21:32:56 +02:00
discnav.c
loadfile.c player: shorten skip heuristic for playlist_prev to 1 second 2014-09-14 10:32:24 +02:00
lua.c sanitizer: avoid divide-by-zero instances 2014-09-14 21:07:30 +02:00
main.c input: separate creation and loading of config 2014-09-27 16:01:55 +02:00
main_fn.c
misc.c player: move code to make playloop smaller 2014-09-25 21:32:56 +02:00
osd.c build: add -Wno-format-zero-length 2014-09-26 13:52:55 +02:00
playloop.c player: move code to make playloop smaller 2014-09-25 21:32:56 +02:00
screenshot.c Move compat/ and bstr/ directory contents somewhere else 2014-08-29 12:31:52 +02:00
screenshot.h
scripting.c lua: synchronously wait until scripts are loaded 2014-09-06 17:02:47 +02:00
sub.c sub: approximate subtitle display in no-video mode 2014-09-25 21:32:56 +02:00
video.c video: change automatic rotation and 3D filter insertion 2014-09-27 18:31:59 +02:00