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
aa8b571389
Increase display id range
...
Some devices use big display id values.
Refs #2009 <https://github.com/Genymobile/scrcpy/issues/2009 >
2021-01-04 08:16:32 +01:00
Tzah Mazuz
76c2c6e69d
Adding new option --encoder
...
Some devices have more than one encoder, and some encoders may cause
issues or crash. With this option we can specify which encoder we want
the device to use.
PR #1827 <https://github.com/Genymobile/scrcpy/pull/1827 >
Fixes #1810 <https://github.com/Genymobile/scrcpy/issues/1810 >
Signed-off-by: Romain Vimont <rom@rom1v.com>
2020-11-08 21:07:17 +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
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
e4bb7c1d1f
Accept Super as shortcut modifier
...
In addition to (left) Alt, also accept (left) Super. This is especially
convenient for macOS users (Super is the Cmd key).
2020-08-01 16:31:31 +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
Romain Vimont
0ba74fbd9a
Make scrcpy.h independant of other headers
...
The header scrcpy.h is intended to be the "public" API. It should not
depend on other internal headers.
Therefore, declare all required structs in this header and adapt
internal code.
2020-06-19 22:30:02 +02:00
Ivan Keliukh
dc7b60e619
Add option for disabling screensaver
...
PR #1502 <https://github.com/Genymobile/scrcpy/pull/1502 >
Fixes #1370 <https://github.com/Genymobile/scrcpy/issues/1370 >
Signed-off-by: Romain Vimont <rom@rom1v.com>
2020-06-18 21:35:28 +02:00
Romain Vimont
8f46e18426
Add --force-adb-forward
...
Add a command-line option to force "adb forward", without attempting
"adb reverse" first.
This is especially useful for using SSH tunnels without enabling remote
port forwarding.
2020-05-24 23:28:31 +02:00
Romain Vimont
a3ef461d73
Add cli option to set the verbosity level
...
The verbosity was set either to info (in release mode) or debug (in
debug mode).
Add a command-line argument to change it, so that users can enable debug
logs using the release:
scrcpy -Vdebug
2020-05-24 22:01:51 +02:00
Tzah Mazuz
080a4ee365
Add --codec-options
...
Add a command-line parameter to pass custom options to the device
encoder (as a comma-separated list of "key[:type]=value").
The list of possible codec options is available in the Android
documentation:
<https://d.android.com/reference/android/media/MediaFormat >
PR #1325 <https://github.com/Genymobile/scrcpy/pull/1325 >
Refs #1226 <https://github.com/Genymobile/scrcpy/pull/1226 >
Co-authored-by: Romain Vimont <rom@rom1v.com>
2020-05-24 14:54:34 +02:00
Romain Vimont
c77024314d
Add an option to keep the device awake
...
Add an option to prevent the device to sleep:
scrcpy --stay-awake
scrcpy -w
The initial state is restored on exit.
Fixes #631 <https://github.com/Genymobile/scrcpy/issues/631 >
2020-05-02 02:14:25 +02:00
Romain Vimont
11a61b2cb3
Add option --no-mipmaps
...
Add an option to disable trilinear filtering even if mipmapping is
available.
2020-04-15 17:39:51 +02:00
Romain Vimont
8a9b20b27e
Add --render-driver command-line option
...
Add an option to set a render driver hint (SDL_HINT_RENDER_DRIVER).
2020-04-15 17:39:51 +02:00
Romain Vimont
28c71c528f
Add --rotation command-line option
...
In addition to Ctrl+Left and Ctrl+Right shortcuts, add a command-line
parameter to set the initial rotation.
2020-04-08 12:09:22 +02:00
e_vigurskiy
4150eedcdf
Add display id parameter
...
Add --display command line parameter to specify a display id.
PR #1238 <https://github.com/Genymobile/scrcpy/pull/1238 >
Signed-off-by: Romain Vimont <rom@rom1v.com>
2020-04-02 21:02:52 +02:00
Romain Vimont
dc7c677728
Accept negative window position
...
It seems to work on some window managers.
Fixes #1242 <https://github.com/Genymobile/scrcpy/issues/1242 >
2020-03-26 22:52:41 +01:00
George Stamoulis
1982bc439b
Add option to lock video orientation
...
PR #1151 <https://github.com/Genymobile/scrcpy/pull/1151 >
Signed-off-by: Romain Vimont <rom@rom1v.com>
2020-02-27 21:24:37 +01:00
Romain Vimont
dc7fcf3c7a
Accept port range
...
Accept a range of ports to listen to, so that it does not fail if
another instance of scrcpy is currently starting.
The range can be passed via the command line:
scrcpy -p 27183:27186
scrcpy -p 27183 # implicitly 27183:27183, as before
The default is 27183:27199.
Closes #951 <https://github.com/Genymobile/scrcpy/issues/951 >
2020-01-18 17:21:00 +01:00
Romain Vimont
86fcd89d80
Fix max size default value
...
Suggested-by: jurkov
Closes <https://github.com/Genymobile/scrcpy/issues/978 >
2019-12-03 12:07:36 +01:00
Romain Vimont
1d97d7213d
Add option --max-fps
...
Add an option to limit the capture frame rate. It only works for devices
with Android >= 10.
Fixes <https://github.com/Genymobile/scrcpy/issues/488 >
2019-11-17 22:10:39 +01:00
Diego Fernando Díaz A
59bc5bc1f5
Add option to disable window decoration
...
Add --window-borderless parameter.
Signed-off-by: Romain Vimont <rom@rom1v.com>
2019-11-15 18:59:40 +01:00
Romain Vimont
9fd7a80a89
Add option to specify the initial window size
...
Add --window-width and --window-height parameters.
If only one is provided, the other is computed so that the aspect ratio
is preserved.
2019-11-15 18:52:58 +01:00
Diego Fernando Díaz A
ce5635f28c
Add option to specify the initial window position
...
Add --window-x and --window-y parameters.
Signed-off-by: Romain Vimont <rom@rom1v.com>
2019-11-15 18:50:49 +01: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
2d90e1befd
Fix include recorder.h
2019-11-06 22:22:46 +01:00
Romain Vimont
0e301ddf19
Factorize scrcpy options and command-line args
...
Do not duplicate all scrcpy options fields in the structure storing the
parsed command-line arguments.
2019-11-06 22:06:54 +01: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
a90ccbdf3b
Add option to change the push target
...
A drag & drop always pushed the file to /sdcard/.
Add an option to customize the target directory.
Fixes <https://github.com/Genymobile/scrcpy/issues/659 >
2019-07-31 01:53:16 +02:00
beango1
8e65c10720
Add option --window-title
...
Add an option to set a custom window title.
Signed-off-by: Romain Vimont <rom@rom1v.com>
2019-06-24 19:58:00 +02:00
Romain Vimont
ebccb9f6cc
Add runtime option to render expired frames
...
Replace the compilation flag SKIP_FRAMES by a runtime flag to force
rendering of expired frames. By default, the expired frames are skipped.
2019-06-05 21:39:42 +02:00
Romain Vimont
8e66b33000
Add option to turn device screen off
...
In addition to the shortcut (Ctrl+o) to turn the device screen off, add
a command-line argument to turn it off on start.
2019-06-05 00:55:46 +02:00
Romain Vimont
c8a6783494
Use positive options names internally
...
For clarity, store the flag resulting of the command-line options
--no-control and --no-display into "control" and "display".
2019-06-05 00:25:15 +02: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
163cd36ccc
Rename -n/--no-window to -N/--no-display
...
The description of scrcpy is "Display and control your Android device".
We want an option to disable display, another one to disable control.
For naming consistency, name it --no-display.
Also change the shortname to -N, so that we can use -n for --no-control
later.
2019-03-02 22:46:46 +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
CapsLock
421a1141e2
Add a new option: -n/--no-window
...
This option will allow scrcpy to record the stream without display.
Signed-off-by: Romain Vimont <rom@rom1v.com>
2019-03-02 18:45:56 +01:00
Romain Vimont
0ed2373952
Support recording to MKV
...
Implement recording to Matroska files.
The format to use is determined by the option -F/--record-format if set,
or by the file extension (".mp4" or ".mkv").
2019-02-09 15:56:24 +01:00
Yu-Chen Lin
eca82e09c3
app: add always_on_top
...
It is very convenient when I play mobile game and watch video at the
same time.
Tested on Linux mint Cinnamon as well as Windows 10.
Signed-off-by: Yu-Chen Lin <npes87184@gmail.com>
2019-01-27 20:54:24 +08:00
Romain Vimont
22bf0c19d6
Rename --output-file to --record
...
To record the screen to a local file:
scrcpy --record file.mp4
2018-11-11 21:37:31 +01:00
Ivan Gorinov
d706c5df39
Enable video output file, with pts set by server
2018-11-11 16:30:23 +01:00
Philipp Sandhaus
af9808cf02
Add option to start in fullscreen
...
Signed-off-by: Romain Vimont <rom@rom1v.com>
2018-09-04 18:51:32 +02:00
Romain Vimont
caa9e30004
Add crop feature
...
Add an option to crop the screen on the server. This allows to mirror
only part of the device screen.
2018-08-09 19:12:27 +02:00
Romain Vimont
66ec252893
Add an option to enable "show touches"
...
Add -t/--show-touches option to show physical touches while scrcpy is
running.
See <https://github.com/Genymobile/scrcpy/issues/96 >.
2018-03-25 15:43:27 +02:00
Romain Vimont
b13d25b9f4
Group scrcpy options into a struct
...
The scrcpy() function accepts as many parameters as there are options.
To simplify, group all options in a separate struct.
2018-03-25 15:16:29 +02:00
Romain Vimont
6c578b5caa
Move screen-related code to screen.c
...
The file scrcpy.c contains too many different things in addition to the
main logic, so move the screen code to a separate file, screen.c.
2018-02-08 15:43:28 +01:00