scrcpy/app/src
Romain Vimont 6102a0b5bb Move input_manager into screen
The input_manager is strongly tied to the screen, it could not work
independently of the specific screen implementation.

To implement a user-friendly HID mouse behavior, some SDL events
will need to be handled both by the screen and by the input manager. For
example, a click must typically be handled by the input_manager so that
it is forwarded to the device, but in HID mouse mode, the first click
should be handled by the screen to capture the mouse (enable relative
mouse mode).

Make the input_manager a descendant of the screen, so that the screen
decides what to do on SDL events.

Concretely, replace this structure hierarchy:

     +- struct scrcpy
        +- struct input_manager
        +- struct screen

by this one:

     +- struct scrcpy
        +- struct screen
           +- struct input_manager
2022-01-04 17:41:35 +01:00
..
android Fix typos 2021-04-18 14:36:31 +02:00
sys Fix adb server hang 2021-12-11 19:09:11 +01:00
trait Make some mouse processors ops optional 2022-01-01 23:34:56 +01:00
util Avoid unused function warning 2022-01-01 23:27:34 +01:00
adb.c Add function to read an adb property 2021-11-29 20:39:03 +01:00
adb.h Add --tcpip feature 2021-11-29 20:39:03 +01:00
adb_parser.c Add function to find the device IP address 2021-11-29 20:39:03 +01:00
adb_parser.h Add function to find the device IP address 2021-11-29 20:39:03 +01:00
adb_tunnel.c Use flags for adb commands 2021-11-29 20:39:03 +01:00
adb_tunnel.h Extract adb tunnel to a separate component 2021-11-14 01:22:22 +01:00
aoa_hid.c Rename scrcpy threads 2021-12-09 21:32:11 +01:00
aoa_hid.h Wait SET_CLIPBOARD ack before Ctrl+v via HID 2021-11-24 09:41:21 +01:00
cli.c Rename SC_MOD_* to SC_SHORTCUT_MOD_* 2022-01-01 23:28:45 +01:00
cli.h Move scrcpy option structs to options.h 2021-10-27 18:43:47 +02:00
clock.c Improve slope estimation on start 2021-07-14 14:54:22 +02:00
clock.h Fix typo in clock comments 2021-10-29 12:21:34 +02:00
common.h Add container_of() macro 2021-04-25 14:38:42 +02:00
compat.c Add (v)asprintf compatibility functions 2021-11-24 19:55:00 +01:00
compat.h Require SDL >= 2.0.5 2021-12-06 23:49:55 +01:00
control_msg.c Add missing comma 2021-12-04 09:25:58 +01:00
control_msg.h Fix overflow in memcpy 2021-12-04 09:18:55 +01:00
controller.c Rename scrcpy threads 2021-12-09 21:32:11 +01:00
controller.h Wait SET_CLIPBOARD ack before Ctrl+v via HID 2021-11-24 09:41:21 +01:00
coords.h Use sc_ prefix for size, position and point 2021-10-30 15:20:39 +02:00
decoder.c Set "low delay" decoder flag 2021-12-08 23:53:54 +01:00
decoder.h Add support for v4l2loopback 2021-04-25 14:59:10 +02:00
device_msg.c Add OutOfMemory log helper 2021-11-24 22:06:49 +01:00
device_msg.h Add device clipboard set acknowledgement 2021-11-23 21:15:05 +01:00
events.h Run the server from a dedicated thread 2021-11-13 10:19:52 +01:00
file_handler.c Rename scrcpy threads 2021-12-09 21:32:11 +01:00
file_handler.h Use sc_intr in file_handler 2021-11-18 21:33:25 +01:00
fps_counter.c Rename scrcpy threads 2021-12-09 21:32:11 +01:00
fps_counter.h Wrap tick API 2021-07-14 14:22:32 +02:00
frame_buffer.c Add OutOfMemory log helper 2021-11-24 22:06:49 +01:00
frame_buffer.h Extract current video_buffer to frame_buffer 2021-07-14 14:22:32 +02:00
hid_keyboard.c Make process_text() optional 2022-01-01 23:31:01 +01:00
hid_keyboard.h Synchronize HID keyboard state on first event 2021-10-26 21:30:04 +02:00
icon.c Add OutOfMemory log helper 2021-11-24 22:06:49 +01:00
icon.h Add icon loader 2021-10-25 18:08:37 +02:00
input_events.h Remove unused enum value requiring SDL 2.0.18 2022-01-04 15:11:33 +01:00
input_manager.c Move input_manager into screen 2022-01-04 17:41:35 +01:00
input_manager.h Move input_manager into screen 2022-01-04 17:41:35 +01:00
keyboard_inject.c Make some event conversions infallible 2022-01-01 23:28:45 +01:00
keyboard_inject.h Use enum for key injection mode 2021-11-29 21:15:32 +01:00
main.c Print scrcpy header first 2021-11-19 09:45:02 +01:00
mouse_inject.c Reorder mouse processor ops 2022-01-01 23:31:01 +01:00
mouse_inject.h Use scrcpy input events for mouse processors 2022-01-01 23:28:45 +01:00
opengl.c Enable trilinear filtering for OpenGL 2020-04-15 17:39:51 +02:00
opengl.h Define feature test macros in common.h 2021-01-17 14:08:48 +01:00
options.c Rename SC_MOD_* to SC_SHORTCUT_MOD_* 2022-01-01 23:28:45 +01:00
options.h Rename SC_MOD_* to SC_SHORTCUT_MOD_* 2022-01-01 23:28:45 +01:00
receiver.c Rename scrcpy threads 2021-12-09 21:32:11 +01:00
receiver.h Wait SET_CLIPBOARD ack before Ctrl+v via HID 2021-11-24 09:41:21 +01:00
recorder.c Rename scrcpy threads 2021-12-09 21:32:11 +01:00
recorder.h Use sc_ prefix for size, position and point 2021-10-30 15:20:39 +02:00
scrcpy.c Move input_manager into screen 2022-01-04 17:41:35 +01:00
scrcpy.h Move scrcpy option structs to options.h 2021-10-27 18:43:47 +02:00
screen.c Move input_manager into screen 2022-01-04 17:41:35 +01:00
screen.h Move input_manager into screen 2022-01-04 17:41:35 +01:00
server.c Fix typos reported by codespell 2021-12-15 18:27:45 +01:00
server.h Add --tcpip feature 2021-11-29 20:39:03 +01:00
stream.c Rename scrcpy threads 2021-12-09 21:32:11 +01:00
stream.h Use sc_ prefix for sockets 2021-10-26 22:49:45 +02:00
v4l2_sink.c Rename scrcpy threads 2021-12-09 21:32:11 +01:00
v4l2_sink.h Use sc_ prefix for size, position and point 2021-10-30 15:20:39 +02:00
video_buffer.c Rename scrcpy threads 2021-12-09 21:32:11 +01:00
video_buffer.h Add buffering debugging tools 2021-07-14 14:54:22 +02:00