Romain Vimont
f7d1efdf1d
Extract mouse processor trait
...
Mainly for consistency with the keyboard processor trait.
This could allow to provide alternative mouse processors.
2021-10-26 21:30:04 +02:00
Romain Vimont
bcf5a9750f
Extract keyboard processor trait
...
This will allow to provide alternative key processors.
2021-10-26 21:30:04 +02:00
Romain Vimont
6a2cd089a1
Initialize input manager dynamically
...
The input manager was partially initialized statically, but a call to
input_manager_init() was needed anyway, so initialize all the fields
from the "constructor".
This is consistent with the initialization of the other structs.
2021-05-17 08:48:51 +02:00
Romain Vimont
e604e8a752
Move fps_counter to screen
...
The FPS counter specifically count frames from the screen video buffer,
so it is specific to the screen.
2021-05-16 18:47:16 +02:00
brunoais
9576283907
Count repeated identical key events
...
This will allow shortcuts such as MOD+n+n to open the settings panel.
PR #2260 <https://github.com/Genymobile/scrcpy/pull/2260 >
Signed-off-by: Romain Vimont <rom@rom1v.com>
2021-04-25 14:36:48 +02:00
Romain Vimont
fb7870500a
Remove unused field from input_manager
2021-04-10 18:48:52 +02:00
Romain Vimont
cb197ee3a2
Move fps counter out of video buffer
...
In order to make video buffer more generic, move out its specific
responsibility to count the fps between the decoder and the renderer.
2021-03-06 22:58:03 +01:00
Romain Vimont
24b637b972
Handle im-related events from input_manager.c
2021-02-25 22:19:05 +01:00
Romain Vimont
ab912c23e7
Define feature test macros in common.h
...
This enables necessary functions once for all.
As a consequence, define common.h before any other header.
2021-01-17 14:08:48 +01:00
Romain Vimont
59feb2a15c
Group common includes into common.h
...
Include config.h and compat.h in common.h, and include common.h from all
source files.
2021-01-08 19:22:10 +01:00
Romain Vimont
6385b8c162
Move common structs to coords.h
...
The size, point and position structs were defined in common.h. Move them
to coords.h so that common.h could be used for generic code to be
included in all source files.
2021-01-08 19:22:10 +01:00
Romain Vimont
d5f059c7cb
Add option to force legacy method for pasting
...
Some devices do not behave as expected when setting the device clipboard
programmatically.
Add an option --legacy-paste to change the behavior of Ctrl+v and MOD+v
so that they inject the computer clipboard text as a sequence of key
events (the same way as MOD+Shift+v).
Fixes #1750 <https://github.com/Genymobile/scrcpy/issues/1750 >
Fixes #1771 <https://github.com/Genymobile/scrcpy/issues/1771 >
2020-11-07 15:16:51 +01:00
Romain Vimont
adc547fa6e
Add an option to forward all clicks
...
Add --forward-all-clicks to disable mouse shortcuts and forward middle
and right clicks to the device instead.
Fixes #1302 <https://github.com/Genymobile/scrcpy/issues/1302 >
Fixes #1613 <https://github.com/Genymobile/scrcpy/issues/1613 >
2020-11-03 17:12:26 +01:00
Romain Vimont
198346d148
Add pinch-to-zoom simulation
...
If Ctrl is hold when the left-click button is pressed, enable
pinch-to-zoom to scale and rotate relative to the center of the screen.
Fixes #24 <https://github.com/Genymobile/scrcpy/issues/24 >
2020-08-10 20:08:24 +02:00
xeropresence
84f1d9e375
Add --no-key-repeat cli option
...
Add an option to avoid forwarding repeated key events.
PR #1623 <https://github.com/Genymobile/scrcpy/pull/1623 >
Refs #1013 <https://github.com/Genymobile/scrcpy/issues/1013 >
Signed-off-by: Romain Vimont <rom@rom1v.com>
2020-08-03 19:51:55 +02:00
Romain Vimont
74079ea5e4
Copy the options used in input manager init
...
This avoids to pass additional options to some input manager functions.
Refs #1623 <https://github.com/Genymobile/scrcpy/pull/1623 >
2020-08-02 18:19:41 +02:00
Romain Vimont
1b76d9fd78
Customize shortcut modifier
...
Add --shortcut-mod, and use Alt as default modifier.
This paves the way to forward the Ctrl key to the device.
2020-08-01 16:31:27 +02:00
xeropresence
3c1ed5d86c
Handle repeating keycodes
...
Initialize "repeat" count on key events.
PR #1519 <https://github.com/Genymobile/scrcpy/pull/1519 >
Refs #1013 <https://github.com/Genymobile/scrcpy/pull/1013 >
Signed-off-by: Romain Vimont <rom@rom1v.com>
2020-06-19 22:30:17 +02:00
Romain Vimont
c916af0984
Add --prefer-text option
...
Expose an option to configure how key/text events are forwarded to the
Android device.
Enabling the option avoids issues when combining multiple keys to enter
special characters, but breaks the expected behavior of alpha keys in
games (typically WASD).
Fixes <https://github.com/Genymobile/scrcpy/issues/650 >
2019-11-07 19:01:35 +01:00
Romain Vimont
8d601d3210
Rename "input_manager" variables to "im"
...
It is used a lot, a short name improves readability.
2019-11-06 21:24:36 +01:00
Romain Vimont
b5a2d99bc2
Send touch events from the client
...
On SDL touch events, send control messages to the server.
2019-10-03 20:05:29 +02:00
Romain Vimont
1f8ba1ca79
Include config.h everywhere
...
Ref: <https://github.com/Genymobile/scrcpy/issues/829 >
Suggested-by: Louis Kruger <louisk@gmail.com>
2019-09-29 22:39:53 +02:00
Romain Vimont
f7efafd846
Explicitly pass control flag to input manager
...
Replace the "global" control flag in the input_manager by a function
parameter to make explicit that the behavior depends whether
--no-control has been set.
2019-03-03 11:05:26 +01:00
Romain Vimont
dfed1b250e
Replace SDL types by C99 standard types
...
Scrcpy is a C11 project. Use the C99 standard types instead of the
SDL-specific types:
SDL_bool -> bool
SintXX -> intXX_t
UintXX -> uintXX_t
2019-03-02 23:55:23 +01:00
Romain Vimont
8655ba7197
Add option to mirror in read-only
...
Add an option to disable device control: -n/--no-control.
2019-03-02 23:10:21 +01:00
Romain Vimont
aeda583a2c
Update code style
...
Limit source code to 80 chars, and declare functions return type and
modifiers on a separate line.
This allows to avoid very long lines, and all function names are
aligned.
(We do this on VLC, and I like it.)
2019-03-02 20:28:46 +01:00
Romain Vimont
fff87095d9
Rename "frames" to "video_buffer"
...
It better describes the purpose of the structure.
2019-03-02 15:24:33 +01:00
Romain Vimont
536b31829a
Separate multi-words filenames by '_'
...
Rename foobar.ext to foo_bar.ext.
<https://github.com/Genymobile/scrcpy/pull/226#discussion_r209454865 >
2018-08-15 19:30:01 +02:00