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
63cb93d7d7
Use Ctrl for all shortcuts
...
Remove the Cmd modifier on macOS, which was possible only for some
shortcuts but not all.
This paves the way to make the shortcut modifier customizable.
2020-08-01 16:31:08 +02:00
Romain Vimont
9d9dd1f143
Make expression order consistent
...
The condition "cmd" was always before "shift" in all expressions except
4.
2020-07-17 00:00:42 +02:00
Romain Vimont
eabaf6f7bd
Simplify PASTE option for "set clipboard"
...
When the client requests to set the clipboard, it may request to press
the PASTE key in addition. To be a bit generic, it was stored as a flag
in ControlMessage.java.
But flags suggest that it represents a bitwise union. Use a simple
boolean instead.
2020-07-17 00:00:42 +02:00
Romain Vimont
199c74f62f
Declare main() with argc/argv params in tests
...
Declaring the main method as "int main(void)" causes issues with SDL.
Fixes #1209 <https://github.com/Genymobile/scrcpy/issues/1209 >
2020-07-15 12:17:04 +02:00
Romain Vimont
322f1512ea
Inject WAKEUP instead of POWER
...
To power the device on, inject KEYCODE_WAKEUP to avoid a possible
race condition (the device might become off between the test
isScreenOn() and the POWER keycode injection).
2020-07-15 12:03:44 +02:00
brunoais
30714aba34
Restore power mode to normal on cleanup
...
This avoids to let the device screen turned off (as enabled by Ctrl+o or
--turn-screen-off).
PR #1576 <https://github.com/Genymobile/scrcpy/pull/1576 >
Fixes #1572 <https://github.com/Genymobile/scrcpy/issues/1572 >
2020-07-09 22:33:11 +02:00
Romain Vimont
a973757fd1
Warn on ignored touch event
...
In theory, this was expected to only happen when a touch event is sent
just before the device is rotated, but some devices do not respect the
encoding size, causing an unexpected mismatch.
Refs #1518 <https://github.com/Genymobile/scrcpy/issues/1518 >
2020-07-09 22:32:14 +02:00
Romain Vimont
deea29f52a
Send touch event without pressure on button up
...
Refs #1518 <https://github.com/Genymobile/scrcpy/issues/1518 >
2020-07-09 22:31:47 +02:00
NGAU Zeonfung
5086e7b744
Update BUILD.md
...
Update the macOS section.
PR #1559 <https://github.com/Genymobile/scrcpy/pull/1559 >
Signed-off-by: Romain Vimont <rom@rom1v.com>
2020-07-07 20:50:09 +02:00
Romain Vimont
5fa46ad0c7
Fix constants name in comment
2020-07-07 15:47:25 +02:00
Romain Vimont
334964c380
Make setScreenPowerMode() method static
...
Its implementation does not use the instance at all.
2020-07-07 15:34:34 +02:00
Romain Vimont
f7d4b6d0db
Do not crash on missing clipboard manager
...
Some devices have no clipboard manager.
In that case, do not try to enable clipboard synchronization to avoid
a crash.
Fixes #1440 <https://github.com/Genymobile/scrcpy/issues/1440 >
Fixes #1556 <https://github.com/Genymobile/scrcpy/issues/1556 >
2020-07-03 08:53:51 +02:00
axxx007xxxz
e99b896ae2
README: Add Fedora install instructions
...
PR #1549 <https://github.com/Genymobile/scrcpy/pull/1549 >
Signed-off-by: Romain Vimont <rom@rom1v.com>
2020-06-27 15:51:44 +02:00
Romain Vimont
e8a565f9ea
Fix touch events HiDPI-scaling
...
Touch events were HiDPI-scaled twice:
- once because the position (provided as floats between 0 and 1) were
converted in pixels using the drawable size (not the window size)
- once due to screen_convert_to_frame_coords()
One possible fix could be to compute the position in pixels from the
window size instead, but this would unnecessarily round the event
position to the nearest window coordinates (instead of drawable
coordinates).
Instead, expose two separate functions to convert to frame coordinates
from either window or drawable coordinates.
Fixes #1536 <https://github.com/Genymobile/scrcpy/issues/1536 >
Refs #15 <https://github.com/Genymobile/scrcpy/issues/15 >
Refs e40532a376
2020-06-27 15:45:28 +02:00
Hossam Elbadissi
8c27f59aa5
Improve linguistic
...
PR #1543 <https://github.com/Genymobile/scrcpy/pull/1543 >
Signed-off-by: Romain Vimont <rom@rom1v.com>
2020-06-25 22:08:02 +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
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
Romain Vimont
29e5af76d4
Remove fprintf() call in tests
...
It should never have been committed.
2020-06-19 21:54:46 +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
AreYouLoco?
42641d2737
Fix typo in README.md
...
PR #1523 <https://github.com/Genymobile/scrcpy/pull/1523 >
Signed-off-by: Romain Vimont <rom@rom1v.com>
2020-06-18 21:13:35 +02:00
Romain Vimont
1e4ee547b5
Make message buffer static
...
Now that the message max size is 256k, do not put the buffer on the
stack.
2020-06-11 23:11:20 +02:00
Romain Vimont
488d22d4e2
Increase clipboard size from 4k to 256k
...
Beyond 256k, SDL_GetClipboardText() returns an empty string on my
computer.
Fixes #1117 <https://github.com/Genymobile/scrcpy/issues/1117 >
2020-06-11 23:11:20 +02:00
Romain Vimont
00d292b2f5
Fix receiver on partial device messages
...
If a single device message was read in several chunks from the control
socket, the communication was broken.
2020-06-11 23:11:20 +02:00
Romain Vimont
245999aec4
Serialize text size on 4 bytes
...
This will allow to send text having a size greater than 65535 bytes.
2020-06-11 23:11:17 +02:00
Romain Vimont
d91c5dcfd5
Rename MSG_SERIALIZED_MAX_SIZE to MSG_MAX_SIZE
...
For simplicity and consistency with the server part.
2020-06-11 23:08:04 +02:00
Romain Vimont
d202d7b205
Add unit test for big clipboard device message
...
Test clipboard synchronization from the device to the computer.
2020-06-11 23:06:02 +02:00
Romain Vimont
08c0c64af6
Rename test names from "event" to "msg"
...
The meson test names had not been changed when "event" had been renamed
to "message".
Ref: 28980bbc90
2020-06-11 23:06:02 +02:00
Romain Vimont
a00a8763d6
Avoid additional copy on Java text parsing
...
Directly pass the buffer range to the String constructor.
2020-06-11 23:06:02 +02:00
Romain Vimont
8f314c74b0
Reorganize message size constants
...
Make the max clipboard text length depend on the max message size.
2020-06-11 22:58:54 +02:00
Romain Vimont
3c0fc8f54f
Mention sndcpy
2020-06-09 22:09:23 +02:00
Louis Leseur
1b73eff3c9
Add missing file in build_without_gradle.sh
...
Fixes #1481 <https://github.com/Genymobile/scrcpy/issues/1481 >
PR #1482 <https://github.com/Genymobile/scrcpy/pull/1482 >
Signed-off-by: Louis Leseur <louis.leseur@gmail.com>
Signed-off-by: Romain Vimont <rom@rom1v.com>
2020-06-07 22:00:35 +02:00
Romain Vimont
6e1069a822
Configure log level for application only
...
Do not expose internal SDL logs to users.
Fixes #1441 <https://github.com/Genymobile/scrcpy/issues/1441 >
2020-06-02 18:27:23 +02:00
Romain Vimont
c4323df976
Fix incorrect log return value
...
The function must return a SDL_LogPriority, but returned an enum
sc_log_level.
(It was harmless because this specific return should never happen, as
asserted.)
2020-06-02 18:27:14 +02:00
Romain Vimont
8ff07e0c88
Git-ignore release directories
2020-06-02 18:25:22 +02:00
Romain Vimont
e4efd75766
Avoid repetition for some shortcuts
...
Keeping the key pressed generate "repeat" events. It does not make sense
to repeat the event for rotation or turn screen off.
2020-05-29 22:02:41 +02:00
Romain Vimont
0e4a6f462b
Mention stay awake limitation
...
The "stay awake" feature only works when the device is plugged in.
Refs #1445 <https://github.com/Genymobile/scrcpy/issues/1445 >
2020-05-28 23:07:28 +02:00
Romain Vimont
8b73c90427
Mention how to turn the screen on in README
...
Now that Ctrl+Shift+o has been reactivated, mention it in the "turn
screen off" section.
2020-05-27 19:32:02 +02:00
Romain Vimont
ef91ab2841
Update links to v1.14 in README and BUILD
2020-05-27 19:31:12 +02:00
Romain Vimont
44fa4a090e
Bump version to 1.14
2020-05-27 18:26:46 +02:00
Romain Vimont
dcde578a50
Reactivate "turn device screen on" feature
...
This reverts commit 8c8649cfcd
.
I cannot reproduce the issue with Ctrl+Shift+o on any device, so in
practice it works, it's too bad to remove the feature for a random bug
on some Android versions on some devices.
2020-05-27 18:26:46 +02:00
Romain Vimont
93a5c5149d
Push clipboard text only if not null
...
In practice, it does not change anything (it just avoids a spurious
wake-up), but semantically, it makes no sense to call
pushClipboardText() with a null value.
2020-05-27 18:26:39 +02:00
Romain Vimont
2ca8318b9d
Improve manpage formatting
...
Add a new line to avoid unwanted text justification
2020-05-27 12:39:42 +02:00
Romain Vimont
d499ee53c9
Initialize a default log level
...
Clean up has been broken by 3df63c579d
.
The verbosity was correctly initialized for the Server process, but not
for the CleanUp process.
To avoid the problem, initialize a default log level.
2020-05-27 12:05:29 +02:00
Romain Vimont
8f619f337b
Upgrade platform-tools (30.0.0) for Windows
...
Include the latest version of adb in Windows releases.
2020-05-26 19:21:05 +02:00
Romain Vimont
fc1dec0270
Paste on "set clipboard" if possible
...
Ctrl+Shift+v synchronizes the computer clipboard to the Android device
clipboard. This feature had been added to provide a way to copy UTF-8
text from the computer to the device.
To make such a paste more straightforward, if the device runs at least
Android 7, also send a PASTE keycode to paste immediately.
<https://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_PASTE >
Fixes #786 <https://github.com/Genymobile/scrcpy/issues/786 >
2020-05-25 20:59:21 +02:00
Romain Vimont
274b591d18
Fix union typo
...
The "set clipboard" event used the wrong union type to store its text.
In practice, it worked because both are at the same offset.
2020-05-25 18:41:05 +02:00
Romain Vimont
4bbabfb4ef
Move injection methods to Device
...
Only the main injection method was exposed on Device, the convenience
methods were implemented in Controller.
For consistency, move them all to the Device class.
2020-05-25 03:28:33 +02:00
Romain Vimont
ffc57512b3
Avoid clipboard synchronization loop
...
The Android device listens for clipboard changes to synchronize with the
computer clipboard.
However, if the change comes from scrcpy (for example via Ctrl+Shift+v),
do not notify the change.
2020-05-25 03:28:33 +02:00
Romain Vimont
c7a33fac36
Log actions on the caller side
...
Some actions are exposed by the Device class, but logging success should
be done by the caller.
2020-05-25 03:28:33 +02:00