diff --git a/README.md b/README.md
index 5818b95f..e8925420 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,20 @@
-# scrcpy (v1.14)
+# scrcpy (v1.15.1)
This application provides display and control of Android devices connected on
USB (or [over TCP/IP][article-tcpip]). It does not require any _root_ access.
It works on _GNU/Linux_, _Windows_ and _macOS_.
+Translations available:
+- [繁體中文 (Traditional Chinese, `zh-Hant`) - v1.15][README zh-Hant]
+- [한국어 (Korean, `ko`) - v1.11][README ko]
+- [português brasileiro (Brazilian Portuguese, `pt-BR`) - v1.12.1][README pt-BR]
+
+> Only this README file is guaranteed to be up-to-date.
+
+[README zh-Hant]: README.zh-Hant.md
+[README ko]: README.ko.md
+[README pt-BR]: README.pt-br.md
+

It focuses on:
@@ -34,6 +45,7 @@ control it using keyboard and mouse.
## Get the app
+
### Linux
@@ -74,10 +86,10 @@ hard).
For Windows, for simplicity, a prebuilt archive with all the dependencies
(including `adb`) is available:
- - [`scrcpy-win64-v1.14.zip`][direct-win64]
- _(SHA-256: 2be9139e46e29cf2f5f695848bb2b75a543b8f38be1133257dc5068252abc25f)_
+ - [`scrcpy-win64-v1.15.1.zip`][direct-win64]
+ _(SHA-256: 78fba4caad6328016ea93219254b5df391f24224c519a2c8e3f070695b8b38ff)_
-[direct-win64]: https://github.com/Genymobile/scrcpy/releases/download/v1.14/scrcpy-win64-v1.14.zip
+[direct-win64]: https://github.com/Genymobile/scrcpy/releases/download/v1.15.1/scrcpy-win64-v1.15.1.zip
It is also available in [Chocolatey]:
@@ -359,7 +371,7 @@ scrcpy --fullscreen
scrcpy -f # short version
```
-Fullscreen can then be toggled dynamically with `Ctrl`+`f`.
+Fullscreen can then be toggled dynamically with MOD+f.
#### Rotation
@@ -375,18 +387,19 @@ Possibles values are:
- `2`: 180 degrees
- `3`: 90 degrees clockwise
-The rotation can also be changed dynamically with `Ctrl`+`←` _(left)_ and
-`Ctrl`+`→` _(right)_.
+The rotation can also be changed dynamically with MOD+←
+_(left)_ and MOD+→ _(right)_.
Note that _scrcpy_ manages 3 different rotations:
- - `Ctrl`+`r` requests the device to switch between portrait and landscape (the
- current running app may refuse, if it does support the requested
- orientation).
+- MOD+r requests the device to switch between portrait and
+ landscape (the current running app may refuse, if it does support the
+ requested orientation).
- `--lock-video-orientation` changes the mirroring orientation (the orientation
of the video sent from the device to the computer). This affects the
recording.
- - `--rotation` (or `Ctrl`+`←`/`Ctrl`+`→`) rotates only the window content. This
- affects only the display, not the recording.
+ - `--rotation` (or MOD+←/MOD+→)
+ rotates only the window content. This affects only the display, not the
+ recording.
### Other mirroring options
@@ -442,9 +455,14 @@ scrcpy --turn-screen-off
scrcpy -S
```
-Or by pressing `Ctrl`+`o` at any time.
+Or by pressing MOD+o at any time.
-To turn it back on, press `Ctrl`+`Shift`+`o` (or `POWER`, `Ctrl`+`p`).
+To turn it back on, press MOD+Shift+o.
+
+On Android, the `POWER` button always turns the screen on. For convenience, if
+`POWER` is sent via scrcpy (via right-click or MOD+p), it
+will force to turn the screen off after a small delay (on a best effort basis).
+The physical `POWER` button will still cause the screen to be turned on.
It can also be useful to prevent the device from sleeping:
@@ -484,28 +502,60 @@ scrcpy -t
Note that it only shows _physical_ touches (with the finger on the device).
+#### Disable screensaver
+
+By default, scrcpy does not prevent the screensaver to run on the computer.
+
+To disable it:
+
+```bash
+scrcpy --disable-screensaver
+```
+
+
### Input control
#### Rotate device screen
-Press `Ctrl`+`r` to switch between portrait and landscape modes.
+Press MOD+r to switch between portrait and landscape
+modes.
Note that it rotates only if the application in foreground supports the
requested orientation.
#### Copy-paste
-It is possible to synchronize clipboards between the computer and the device, in
-both directions:
+Any time the Android clipboard changes, it is automatically synchronized to the
+computer clipboard.
- - `Ctrl`+`c` copies the device clipboard to the computer clipboard;
- - `Ctrl`+`Shift`+`v` copies the computer clipboard to the device clipboard (and
- pastes if the device runs Android >= 7);
- - `Ctrl`+`v` _pastes_ the computer clipboard as a sequence of text events (but
- breaks non-ASCII characters).
+Any Ctrl shortcut is forwarded to the device. In particular:
+ - Ctrl+c typically copies
+ - Ctrl+x typically cuts
+ - Ctrl+v typically pastes (after computer-to-device
+ clipboard synchronization)
-Moreover, any time the Android clipboard changes, it is automatically
-synchronized to the computer clipboard.
+This typically works as you expect.
+
+The actual behavior depends on the active application though. For example,
+_Termux_ sends SIGINT on Ctrl+c instead, and _K-9 Mail_
+composes a new message.
+
+To copy, cut and paste in such cases (but only supported on Android >= 7):
+ - MOD+c injects `COPY`
+ - MOD+x injects `CUT`
+ - MOD+v injects `PASTE` (after computer-to-device
+ clipboard synchronization)
+
+In addition, MOD+Shift+v allows to inject the
+computer clipboard text as a sequence of key events. This is useful when the
+component does not accept text pasting (for example in _Termux_), but it can
+break non-ASCII content.
+
+**WARNING:** Pasting the computer clipboard to the device (either via
+Ctrl+v or MOD+v) copies the content
+into the device clipboard. As a consequence, any Android application could read
+its content. You should avoid to paste sensitive content (like passwords) that
+way.
#### Text injection preference
@@ -529,6 +579,18 @@ scrcpy --prefer-text
[prefertext]: https://github.com/Genymobile/scrcpy/issues/650#issuecomment-512945343
+#### Key repeat
+
+By default, holding a key down generates repeated key events. This can cause
+performance problems in some games, where these events are useless anyway.
+
+To avoid forwarding repeated key events:
+
+```bash
+scrcpy --no-key-repeat
+```
+
+
### File drop
#### Install APK
@@ -565,33 +627,56 @@ Also see [issue #14].
## Shortcuts
- | Action | Shortcut | Shortcut (macOS)
- | ------------------------------------------- |:----------------------------- |:-----------------------------
- | Switch fullscreen mode | `Ctrl`+`f` | `Cmd`+`f`
- | Rotate display left | `Ctrl`+`←` _(left)_ | `Cmd`+`←` _(left)_
- | Rotate display right | `Ctrl`+`→` _(right)_ | `Cmd`+`→` _(right)_
- | Resize window to 1:1 (pixel-perfect) | `Ctrl`+`g` | `Cmd`+`g`
- | Resize window to remove black borders | `Ctrl`+`x` \| _Double-click¹_ | `Cmd`+`x` \| _Double-click¹_
- | Click on `HOME` | `Ctrl`+`h` \| _Middle-click_ | `Ctrl`+`h` \| _Middle-click_
- | Click on `BACK` | `Ctrl`+`b` \| _Right-click²_ | `Cmd`+`b` \| _Right-click²_
- | Click on `APP_SWITCH` | `Ctrl`+`s` | `Cmd`+`s`
- | Click on `MENU` | `Ctrl`+`m` | `Ctrl`+`m`
- | Click on `VOLUME_UP` | `Ctrl`+`↑` _(up)_ | `Cmd`+`↑` _(up)_
- | Click on `VOLUME_DOWN` | `Ctrl`+`↓` _(down)_ | `Cmd`+`↓` _(down)_
- | Click on `POWER` | `Ctrl`+`p` | `Cmd`+`p`
- | Power on | _Right-click²_ | _Right-click²_
- | Turn device screen off (keep mirroring) | `Ctrl`+`o` | `Cmd`+`o`
- | Turn device screen on | `Ctrl`+`Shift`+`o` | `Cmd`+`Shift`+`o`
- | Rotate device screen | `Ctrl`+`r` | `Cmd`+`r`
- | Expand notification panel | `Ctrl`+`n` | `Cmd`+`n`
- | Collapse notification panel | `Ctrl`+`Shift`+`n` | `Cmd`+`Shift`+`n`
- | Copy device clipboard to computer | `Ctrl`+`c` | `Cmd`+`c`
- | Paste computer clipboard to device | `Ctrl`+`v` | `Cmd`+`v`
- | Copy computer clipboard to device and paste | `Ctrl`+`Shift`+`v` | `Cmd`+`Shift`+`v`
- | Enable/disable FPS counter (on stdout) | `Ctrl`+`i` | `Cmd`+`i`
+In the following list, MOD is the shortcut modifier. By default, it's
+(left) Alt or (left) Super.
+
+It can be changed using `--shortcut-mod`. Possible keys are `lctrl`, `rctrl`,
+`lalt`, `ralt`, `lsuper` and `rsuper`. For example:
+
+```bash
+# use RCtrl for shortcuts
+scrcpy --shortcut-mod=rctrl
+
+# use either LCtrl+LAlt or LSuper for shortcuts
+scrcpy --shortcut-mod=lctrl+lalt,lsuper
+```
+
+_[Super] is typically the Windows or Cmd key._
+
+[Super]: https://en.wikipedia.org/wiki/Super_key_(keyboard_button)
+
+ | Action | Shortcut
+ | ------------------------------------------- |:-----------------------------
+ | Switch fullscreen mode | MOD+f
+ | Rotate display left | MOD+← _(left)_
+ | Rotate display right | MOD+→ _(right)_
+ | Resize window to 1:1 (pixel-perfect) | MOD+g
+ | Resize window to remove black borders | MOD+w \| _Double-click¹_
+ | Click on `HOME` | MOD+h \| _Middle-click_
+ | Click on `BACK` | MOD+b \| _Right-click²_
+ | Click on `APP_SWITCH` | MOD+s
+ | Click on `MENU` (unlock screen) | MOD+m
+ | Click on `VOLUME_UP` | MOD+↑ _(up)_
+ | Click on `VOLUME_DOWN` | MOD+↓ _(down)_
+ | Click on `POWER` | MOD+p
+ | Power on | _Right-click²_
+ | Turn device screen off (keep mirroring) | MOD+o
+ | Turn device screen on | MOD+Shift+o
+ | Rotate device screen | MOD+r
+ | Expand notification panel | MOD+n
+ | Collapse notification panel | MOD+Shift+n
+ | Copy to clipboard³ | MOD+c
+ | Cut to clipboard³ | MOD+x
+ | Synchronize clipboards and paste³ | MOD+v
+ | Inject computer clipboard text | MOD+Shift+v
+ | Enable/disable FPS counter (on stdout) | MOD+i
_¹Double-click on black borders to remove them._
-_²Right-click turns the screen on if it was off, presses BACK otherwise._
+_²Right-click turns the screen on if it was off, presses BACK otherwise._
+_³Only on Android >= 7._
+
+All Ctrl+_key_ shortcuts are forwarded to the device, so they are
+handled by the active application.
## Custom paths
@@ -659,4 +744,4 @@ Read the [developers page].
- [Scrcpy now works wirelessly][article-tcpip]
[article-intro]: https://blog.rom1v.com/2018/03/introducing-scrcpy/
-[article-tcpip]: https://www.genymotion.com/blog/open-source-project-scrcpy-now-works-wirelessly/
+[article-tcpip]: https://www.genymotion.com/blog/open-source-project-scrcpy-now-works-wirelessly/
\ No newline at end of file