Romain Vimont
28abd98f7f
Properly handle Ctrl+C on Windows
...
By default, Ctrl+C just kills the process on Windows. This caused
corrupted video files on recording.
Handle Ctrl+C properly to clean up properly.
Fixes #818 <https://github.com/Genymobile/scrcpy/issues/818 >
2020-05-08 14:54:33 +02:00
Romain Vimont
e2d5f0e7fc
Send scroll events as a touchscreen
...
Scroll events were sent with a mouse input device. When scrolling on a
list, this could cause the whole list to be focused, and drawn with the
focus color as background.
Send scroll events with a touchscreen input device instead (like motion
events).
Fixes #1362 <https://github.com/Genymobile/scrcpy/issues/1362 >
2020-05-07 15:08:11 +02:00
Romain Vimont
1a9429f3c7
Improve bug report template
...
Insert a code block to (hopefully) increase the chances that users
format their terminal output.
2020-05-06 22:26:43 +02:00
Romain Vimont
0b4e484da0
Add a note about multi-display limitation
...
Secondary display mirroring is read-only before Android 10.
2020-05-06 22:21:33 +02:00
Romain Vimont
ead7ee4a03
Revert "Improve resizing workaround"
...
This reverts commit 92cb3a6661
, which
broke the fullscreen/maximized restoration size on Windows.
Fixes #1346 <https://github.com/Genymobile/scrcpy/issues/1346 >
2020-05-06 01:10:25 +02:00
Romain Vimont
74ece9b45b
Simplify ScreenEncoder more
...
Commit 927d655ff6
removed the
iFrameInternal field and constructor argument.
Also remove it from createFormat() arguments.
2020-05-05 19:01:44 +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
828327365a
Reorder options in alphabetical order
2020-05-02 01:55:32 +02:00
Romain Vimont
4668638ee1
Handle "show touches" on the device-side
...
Now that the server can access the Android settings and clean up
properly, handle the "show touches" option from the server.
The initial state is now correctly restored, even on device
disconnection.
2020-05-02 01:55:30 +02:00
Romain Vimont
dbb0df607c
Move constants to ServiceManager
...
PACKAGE_NAME and USER_ID could be use by several "managers", so move
them to the service manager.
2020-05-02 01:22:18 +02:00
Romain Vimont
2f74ec2518
Add a clean up process on the device
...
In order to clean up on close, use a separate process which is not
killed when the device is disconnected (even if the main process itself
is killed).
2020-05-02 01:22:18 +02:00
Romain Vimont
8c6799297b
Implement access to settings without Context
...
Expose methods to access the Android settings using private APIs.
This allows to read and write settings values immediately without
starting a new process to call "settings".
2020-05-02 01:22:10 +02:00
Romain Vimont
62c0c1321f
Apply workarounds only on error
...
To avoid NullPointerException on some devices, workarounds have been
implemented. But these workaround produce (harmless) internal errors
causing exceptions to be printed in the console.
To avoid this problem, apply the workarounds only if it fails without
them.
Fixes #994 <https://github.com/Genymobile/scrcpy/issues/994 >
Refs #365 <https://github.com/Genymobile/scrcpy/issues/365 >
Refs #940 <https://github.com/Genymobile/scrcpy/issues/940 >
2020-05-01 19:42:31 +02:00
antoninsmetana
d4eeb1c84d
Fix AutoAdb url
...
PR #1344 <https://github.com/Genymobile/scrcpy/pull/1344 >
Signed-off-by: Romain Vimont <rom@rom1v.com>
2020-05-01 19:34:08 +02:00
Romain Vimont
4e9e712312
Update links to v1.13 in README and BUILD
2020-04-29 22:56:26 +02:00
Romain Vimont
9babe26805
Bump version to 1.13
2020-04-29 22:24:08 +02:00
Romain Vimont
76567e684a
Upgrade SDL (2.0.12) for Windows
...
Include the latest version of SDL in Windows releases.
2020-04-27 21:45:15 +02:00
Romain Vimont
b55ca127f8
Upgrade FFmpeg (4.2.2) for Windows
...
Include the latest version of FFmpeg in Windows releases.
2020-04-27 21:45:15 +02:00
Romain Vimont
a12b938234
Merge branch 'master' into dev
2020-04-27 21:44:59 +02:00
Romain Vimont
a14840a515
Fix typo in comments
2020-04-24 23:01:58 +02:00
Romain Vimont
8581d6850b
Stabilize auto-resize
...
The window dimensions are integers, so resizing to fit the content may
not be exact.
When computing the optimal size, it could cause to reduce alternatively
the width and height by few pixels, making the "optimal size" unstable.
To avoid this problem, check if the optimal size is already correct
either by keeping the width or the height.
2020-04-24 22:52:02 +02:00
Romain Vimont
92cb3a6661
Improve resizing workaround
...
Call the same method as when the event is received on the event loop, so
that the behavior is the same in both cases.
2020-04-24 21:36:25 +02:00
Romain Vimont
561ede444e
Mention Ubuntu 20.04 package
...
Ubuntu 20.04 has been released today, and scrcpy is available in their
repositories: <https://packages.ubuntu.com/focal/scrcpy >
2020-04-23 16:36:48 +02:00
Romain Vimont
3c9ae99dda
Move rotation coordinates to screen
...
Move the window-to-frame coordinates conversion from the input manager
to the screen.
This will allow to apply more screen-related transformations without
impacting the input manager.
2020-04-18 02:15:22 +02:00
Romain Vimont
44f720e4a4
Log new size on auto-resize request
...
On "resize to fit" and "resize to pixel-perfect", log the new size.
2020-04-18 02:15:22 +02:00
Tzah Mazuz
125c5561e8
Use MediaFormat constant for MIME type
...
Replace "video/avc" by MIMETYPE_VIDEO_AVC.
Signed-off-by: Romain Vimont <rom@rom1v.com>
2020-04-18 02:14:42 +02:00
Romain Vimont
14ead499fd
Fix touch coordinates on rotated display
...
The touch coordinates were not rotated.
2020-04-17 18:17:12 +02:00
Romain Vimont
94a7f1a0f8
Disable input events when necessary
...
Disable input events on secondary displays before Android 10, even if
FLAG_PRESENTATION is not set.
Refs #1288 <https://github.com/Genymobile/scrcpy/issues/1288 >
2020-04-16 20:54:00 +02:00
Romain Vimont
cc22f4622a
Mention mipmapping in FAQ
2020-04-15 17:39:51 +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
bea7658807
Enable trilinear filtering for OpenGL
...
Improve downscaling quality if mipmapping is available.
Suggested-by: Giumo Clanjor (哆啦比猫/兰威举) <cjxgm2@gmail.com>
Fixes #40 <https://github.com/Genymobile/scrcpy/issues/40 >
Ref: <https://github.com/Genymobile/scrcpy/issues/40#issuecomment-591917787 >
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
d62eb2b11c
Fix typo in README
2020-04-15 09:57:59 +02:00
Romain Vimont
eb8f7a1f28
Require Meson 0.48 to get rid of warnings
...
Debian buster (stable) provides Meson 0.49, which is also available in
stretch (oldstable) backports. It's time to abandon Meson 0.37.
Ref: 20b3f101a4
2020-04-13 22:47:03 +02:00
Romain Vimont
270d0bf639
Rename max length constant for text injection
...
To avoid confusion with the max text size for clipboard, rename the
constant limiting the text injection length.
2020-04-13 19:38:43 +02:00
Romain Vimont
95fa1a69e4
Workaround compiler warning
...
Some compilers warns on uninitialized value in impossible case:
warning: variable 'result' is used uninitialized whenever switch
default is taken [-Wsometimes-uninitialized]
2020-04-13 16:33:21 +02:00
Romain Vimont
ea46d3ab68
Add missing include string.h
...
Include <string.h> for strdup() and strtok_r().
2020-04-13 16:33:21 +02:00
Romain Vimont
7eb16ce364
Fix log format warning
...
The expression port + 1 is promoted to int, but printed as uint16_t.
2020-04-13 16:33:19 +02:00
Romain Vimont
927d655ff6
Simplify ScreenEncoder
...
Do not handle iFrameInterval field and parameter, it is never used
dynamically.
2020-04-12 02:09:28 +02:00
Romain Vimont
ee2894779a
Remove unused lockedVideoOrientation field
...
During PR #1151 , this field has been moved to ScreenInfo, but has not
been removed from ScreenEncoder.
2020-04-12 02:08:16 +02:00
Romain Vimont
1c6207f8ce
Merge branch 'master' into dev
2020-04-12 00:31:57 +02:00
Romain Vimont
ab52b36895
Reorder options in alphabetical order
2020-04-11 14:31:14 +02:00
Romain Vimont
9f4735ede3
Fix double click on rotated display
...
A double-click outside the device content (in the black borders) resizes
so that black borders are removed. But the display rotation was not
taken into account to detect the content.
Use the content size instead of the frame size to fix the issue.
Ref: <https://github.com/Genymobile/scrcpy/issues/898#issuecomment-610993695 >
2020-04-08 16:37:33 +02:00
Romain Vimont
6295c1a110
Remap event positions on rotated display
...
If the display is rotated, the position of clicks must be adapted.
2020-04-08 14:27:25 +02:00
Romain Vimont
f3fba3c4b9
Store rotated content size
...
This avoids to compute it every time from the frame size.
2020-04-08 14:12:54 +02:00
Kostiantyn Luzan
c1ebea26e6
Register rotation watcher on selected display
...
PR #1275 <https://github.com/Genymobile/scrcpy/pull/1275 >
Signed-off-by: Kostiantyn Luzan <vblack2006@gmail.com>
Signed-off-by: Romain Vimont <rom@rom1v.com>
2020-04-08 12:09:24 +02:00
Romain Vimont
f07d21f050
Suppress DiscouragedPrivateApi lint warning
2020-04-08 12:09:24 +02:00
Romain Vimont
a8fd4aec9a
Remove --fullscreen validation
...
Many options are meaningless if --no-display is set.
We don't want to validate all possible combinations, so don't make an
exception for --fullscreen.
2020-04-08 12:09:24 +02:00
Romain Vimont
cbde7b964a
Improve documentation for consistency
...
Make --lock-video-orientation documentation consistent with that of
--rotation.
2020-04-08 12:09:24 +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