From bd1dcfa8ae360a404b5e1428db48c17cb3298254 Mon Sep 17 00:00:00 2001
From: Bruno M <85959493+marin-bruno1101@users.noreply.github.com>
Date: Tue, 16 Aug 2022 10:23:21 -0300
Subject: [PATCH] Updated the translated README to v1.24
---
README.pt-br.md | 378 ++++++++++++++++++++++++++++++++++++++++++------
1 file changed, 333 insertions(+), 45 deletions(-)
diff --git a/README.pt-br.md b/README.pt-br.md
index 2f436df..0b09cb7 100644
--- a/README.pt-br.md
+++ b/README.pt-br.md
@@ -2,7 +2,7 @@ _Apenas o [README] original é garantido estar atualizado._
[README]: https://github.com/Genymobile/scrcpy/blob/master/README.md
-# scrcpy (v1.19)
+# scrcpy (v1.24)
Esta aplicação fornece exibição e controle de dispositivos Android conectados via
USB (ou [via TCP/IP][article-tcpip]). Não requer nenhum acesso _root_.
@@ -13,7 +13,7 @@ Funciona em _GNU/Linux_, _Windows_ e _macOS_.
Foco em:
- **leveza** (nativo, mostra apenas a tela do dispositivo)
- - **performance** (30~60fps)
+ - **performance** (30~120fps, dependendo do dispositivo)
- **qualidade** (1920×1080 ou acima)
- **baixa latência** ([35~70ms][lowlatency])
- **baixo tempo de inicialização** (~1 segundo para mostrar a primeira imagem)
@@ -43,24 +43,31 @@ controlá-lo usando teclado e mouse.
### Sumário
- Linux: `apt install scrcpy`
- - Windows: [baixar][README-windows]
+ - Windows: [baixar][direct-win64]
- macOS: `brew install scrcpy`
+[direct-win64]: https://github.com/Genymobile/scrcpy/releases/download/v1.24/scrcpy-win64-v1.24.zip
+
Compilar pelos arquivos fontes: [BUILD] ([processo simplificado][BUILD_simple])
-[README-windows]: https://github.com/Genymobile/scrcpy/blob/master/README.md#windows
-[BUILD]: https://github.com/Genymobile/scrcpy/blob/master/BUILD.md
-[BUILD_simple]: https://github.com/Genymobile/scrcpy/blob/master/BUILD.md#simple
+[BUILD]: BUILD.md
+[BUILD_simple]: BUILD.md#simple
### Linux
-No Debian (_testing_ e _sid_ por enquanto) e Ubuntu (20.04):
+No Debian e Ubuntu:
```
apt install scrcpy
```
+No Arch Linux:
+
+```
+pacman -S scrcpy
+```
+
Um pacote [Snap] está disponível: [`scrcpy`][snap-link].
[snap-link]: https://snapstats.org/snaps/scrcpy
@@ -72,11 +79,6 @@ Para Fedora, um pacote [COPR] está disponível: [`scrcpy`][copr-link].
[COPR]: https://fedoraproject.org/wiki/Category:Copr
[copr-link]: https://copr.fedorainfracloud.org/coprs/zeno/scrcpy/
-Para Arch Linux, um pacote [AUR] está disponível: [`scrcpy`][aur-link].
-
-[AUR]: https://wiki.archlinux.org/index.php/Arch_User_Repository
-[aur-link]: https://aur.archlinux.org/packages/scrcpy/
-
Para Gentoo, uma [Ebuild] está disponível: [`scrcpy/`][ebuild-link].
[Ebuild]: https://wiki.gentoo.org/wiki/Ebuild
@@ -90,7 +92,7 @@ Você também pode [compilar o app manualmente][BUILD] ([processo simplificado][
Para Windows, por simplicidade, um arquivo pré-compilado com todas as dependências
(incluindo `adb`) está disponível:
- - [README][README-windows]
+ - [README](README.md#windows)
Também está disponível em [Chocolatey]:
@@ -194,6 +196,14 @@ scrcpy --max-fps 15
Isso é oficialmente suportado desde o Android 10, mas pode funcionar em versões anteriores.
+O frame rate atual pode ser exibido no console:
+
+```
+scrcpy --print-fps
+```
+
+E pode ser desabilitado a qualquer momento com MOD+i.
+
#### Cortar
A tela do dispositivo pode ser cortada para espelhar apenas uma parte da tela.
@@ -261,8 +271,7 @@ scrcpy -Nr file.mkv
```
"Frames pulados" são gravados, mesmo que não sejam exibidos em tempo real (por
-motivos de performance). Frames têm seu _horário carimbado_ no dispositivo, então [variação de atraso nos
-pacotes][packet delay variation] não impacta o arquivo gravado.
+motivos de performance). Frames têm seu _horário carimbado_ no dispositivo, então [variação de atraso nos pacotes] não impacta o arquivo gravado.
[packet delay variation]: https://en.wikipedia.org/wiki/Packet_delay_variation
@@ -270,9 +279,9 @@ pacotes][packet delay variation] não impacta o arquivo gravado.
#### v4l2loopback
Em Linux, é possível enviar a transmissão do video para um disposiivo v4l2 loopback, assim
-o dispositivo Android pode ser aberto como uma webcam por qualquer ferramneta capaz de v4l2
+o dispositivo Android pode ser aberto como uma webcam por qualquer ferramenta capaz de v4l2
-The module `v4l2loopback` must be installed:
+O módulo `v4l2loopback` precisa ser instalado:
```bash
sudo apt install v4l2loopback-dkms
@@ -298,7 +307,7 @@ v4l2-ctl --list-devices
ls /dev/video*
```
-Para iniciar o scrcpy usando o coletor v4l2 (sink):
+Para iniciar o `scrcpy` usando o coletor v4l2 (sink):
```bash
scrcpy --v4l2-sink=/dev/videoN
@@ -345,20 +354,55 @@ scrcpy --v4l2-buffer=500 # adiciona 500 ms de buffering para coletor V4L2
#### Sem fio
_Scrcpy_ usa `adb` para se comunicar com o dispositivo, e `adb` pode [conectar-se][connect] a um
-dispositivo via TCP/IP:
+dispositivo via TCP/IP. O dispositivo precisa estar conectado na mesma rede
+que o computador.
-1. Conecte o dispositivo no mesmo Wi-Fi do seu computador.
-2. Pegue o endereço IP do seu dispositivo, em Configurações → Sobre o telefone → Status, ou
+#### Automático
+
+A opção `--tcpip` permite configurar a conexão automaticamente. Há duas
+variantes.
+
+Se o dispositivo (acessível em 192.168.1.1 neste exemplo) escuta em uma porta
+(geralmente 5555) para conexões _adb_ de entrada, então execute:
+
+```bash
+scrcpy --tcpip=192.168.1.1 # porta padrão é 5555
+scrcpy --tcpip=192.168.1.1:5555
+```
+
+Se o modo TCP/IP do _adb_ estiver desabilitado no dispositivo (ou se você não
+souber o endereço de IP), conecte-o via USB e execute:
+
+```bash
+scrcpy --tcpip # sem argumentos
+```
+
+Ele vai encontrar o endereço de IP do dispositivo automaticamente, habilitar
+o modo TCP/IP, e então, conectar-se ao dispositivo antes de iniciar.
+
+#### Manual
+
+1. Conecte o dispositivo em uma porta USB do seu computador.
+2. Conecte o dispositivo no mesmo Wi-Fi do seu computador.
+3. Pegue o endereço IP do seu dispositivo, em Configurações → Sobre o telefone → Status, ou
executando este comando:
```bash
adb shell ip route | awk '{print $9}'
```
-3. Ative o adb via TCP/IP no seu dispositivo: `adb tcpip 5555`.
-4. Desconecte seu dispositivo.
-5. Conecte-se ao seu dispositivo: `adb connect DEVICE_IP:5555` _(substitua `DEVICE_IP`)_.
-6. Execute `scrcpy` como de costume.
+4. Ative o adb via TCP/IP no seu dispositivo: `adb tcpip 5555`.
+5. Desconecte seu dispositivo.
+6. Conecte-se ao seu dispositivo: `adb connect DEVICE_IP:5555` _(substitua `DEVICE_IP`)_.
+7. Execute `scrcpy` como de costume.
+
+Desde o Android 11, a opção [Depuração por Wi-Fi][adb-wireless]
+
+[adb-wireless]: https://developer.android.com/studio/command-line/adb#connect-to-a-device-over-wi-fi-android-11+
+
+Se a conexão cair aleatoriamente, execute o comando `scrcpy` para reconectar. Se disser
+que não encontrou dispositivos/emuladores, tente executar `adb connect DEVICE_IP:5555` novamente, e então `scrcpy` como de costume. Se ainda disser
+que não encontrou nada, tente executar `adb disconnect`, e então execute os dois comandos novamente.
Pode ser útil diminuir o bit-rate e a resolução:
@@ -379,6 +423,9 @@ scrcpy --serial 0123456789abcdef
scrcpy -s 0123456789abcdef # versão curta
```
+O serial também pode ser consultado pela variável de ambiente `ANDROID _SERIAL`
+(também utilizado por `adb`)
+
Se o dispositivo está conectado via TCP/IP:
```bash
@@ -386,6 +433,18 @@ scrcpy --serial 192.168.0.1:5555
scrcpy -s 192.168.0.1:5555 # versão curta
```
+Se somente um dispositivo está conectado via USB ou TCP/IP, é possível
+selecioná-lo automaticamente:
+
+```bash
+# Seleciona o único dispositivo conectado via USB
+scrcpy -d # assim como adb -d
+scrcpy --select-usb # método extenso
+
+# Seleciona o único dispositivo conectado via TCP/IP`
+scrcpy -e # assim como adb -e
+scrcpy --select-tcpip # método extenso
+
Você pode iniciar várias instâncias do _scrcpy_ para vários dispositivos.
#### Iniciar automaticamente quando dispositivo é conectado
@@ -402,17 +461,88 @@ autoadb scrcpy -s '{}'
Para conectar-se a um dispositivo remoto, é possível conectar um cliente `adb` local a
um servidor `adb` remoto (contanto que eles usem a mesma versão do protocolo
-_adb_):
+_adb_)
+
+#### Servidor ADB remoto
+
+Para se conectar a um _adb server_ remoto, o servidor precisa escutar em todas as interfaces:
```bash
-adb kill-server # encerra o servidor adb local em 5037
-ssh -CN -L5037:localhost:5037 -R27183:localhost:27183 your_remote_computer
+adb kill-server
+adb -a nodaemon server start
# mantenha isso aberto
```
-De outro terminal:
+**Aviso: todas a comunicações entre clientes e o _adb server_ não são criptografadas.**
+
+Supondo que o servidor esteja acessível em 192.168.1.2. Então, em outro
+terminal, execute `scrcpy`:
```bash
+# no bash
+export ADB_server_SOCKET=tcp:192.168.1.2:5037
+scrcpy --tunnel-host=192.168.1.2
+```
+
+```cmd
+:: in cmd
+set ADB_SERVER_SOCKET=tcp:192.168.1.2:5037
+scrcpy --tunnel-host=192.168.1.2
+```
+
+```powershell
+# in PowerShell
+$env:ADB_SERVER_SOCKET = 'tcp:192.168.1.2:5037'
+scrcpy --tunnel-host=192.168.1.2
+```
+
+Por padrão, `scrcpy` usa a porta local utilizada por `adb forward` no estabelecimento de tunelagem (Tipicamente `27183`, veja `--port`). Também
+é possível forçar uma porta de tunelagem diferente (pode ser útil em
+situações mais complexas, quando há mais redirecionamentos envolvidos):
+
+```
+scrcpy --tunnel-port=1234
+```
+
+#### Túnel SSH
+
+Para se comunicar a um _adb server_ remoto de um jeito seguro, é
+preferível utilizar um túnel SSH.
+
+Primeiro, tenha certeza de que o _adb server_ esteja rodando em um
+computador remoto:
+
+```bash
+adb start-server
+```
+
+Então, estabeleça um túnel SSH:
+
+```bash
+# local 5038 --> remoto 5037
+# local 27183 <-- remoto 27183
+
+ssg -CN -L5038:localhost:5037 -R27183:localhost:27183 seu_computador_remoto
+# mantenha isso aberto
+```
+
+De outro terminal, execute `scrcpy`:
+
+```bash
+# in bash
+export ADB_SERVER_SOCKET=tcp:localhost:5038
+scrcpy
+```
+
+```cmd
+:: in cmd
+set ADB_SERVER_SOCKET=tcp:localhost:5038
+scrcpy
+```
+
+```powershell
+# in PowerShell
+$env:ADB_SERVER_SOCKET = 'tcp:localhost:5038'
scrcpy
```
@@ -420,14 +550,29 @@ Para evitar ativar o encaminhamento de porta remota, você pode forçar uma cone
de encaminhamento (note o `-L` em vez de `-R`):
```bash
-adb kill-server # encerra o servidor adb local em 5037
-ssh -CN -L5037:localhost:5037 -L27183:localhost:27183 your_remote_computer
+# local 5038 --> remoto 5037
+# local 27183 <-- remoto 27183
+ssh -CN -L5037:localhost:5037 -L27183:localhost:27183 seu_computador_remoto
# mantenha isso aberto
```
-De outro terminal:
+De outro terminal, execute `scrcpy`:
```bash
+# no bash
+export ADB_SERVER_SOCKET=tcp:localhost:5038
+scrcpy --force-adb-forward
+```
+
+```cmd
+:: in cmd
+set ADB_SERVER_SOCKET=tcp:localhost:5038
+scrcpy --force-adb-forward
+```
+
+```powershell
+# no PowerShell
+$env:ADB_SERVER_SOCKET = 'tcp:localhost:5038'
scrcpy --force-adb-forward
```
@@ -535,7 +680,7 @@ scrcpy --display 1
A lista de IDs dos displays pode ser obtida por:
-```
+```bash
adb shell dumpsys display # busca "mDisplayId=" na saída
```
@@ -552,7 +697,7 @@ scrcpy --stay-awake
scrcpy -w
```
-O estado inicial é restaurado quando o scrcpy é fechado.
+O estado inicial é restaurado quando o _scrcpy_ é fechado.
#### Desligar tela
@@ -581,6 +726,25 @@ scrcpy --turn-screen-off --stay-awake
scrcpy -Sw
```
+#### Desligar ao fechar
+
+Para desligar a tela do dispositivo ao fechar _scrcpy_:
+
+```bash
+scrcpy --power-off-on-close
+```
+
+#### Ligar ao iniciar
+
+Por padrão, ao iniciar, o dispositivo é ligado.
+
+Para prevenir esse comportamento:
+
+```bash
+scrcpy --no-power-on
+```
+
+
#### Mostrar toques
@@ -602,7 +766,7 @@ Note que isto mostra apenas toques _físicos_ (com o dedo no dispositivo).
#### Desativar descanso de tela
-Por padrão, scrcpy não evita que o descanso de tela rode no computador.
+Por padrão, _scrcpy_ não evita que o descanso de tela rode no computador.
Para desativá-lo:
@@ -661,6 +825,9 @@ de Ctrl+v e MOD+v para que eles
também injetem o texto da área de transferência do computador como uma sequência de eventos de tecla (da mesma
forma que MOD+Shift+v).
+Para desabilitar a sincronização automática da área de transferência, utilize
+`--no-clipboard-autosync`
+
#### Pinçar para dar zoom
Para simular "pinçar para dar zoom": Ctrl+_clicar-e-mover_.
@@ -669,9 +836,106 @@ Mais precisamente, segure Ctrl enquanto pressiona o botão de clique-
o botão de clique-esquerdo seja liberado, todos os movimentos do mouse ampliar e rotacionam o
conteúdo (se suportado pelo app) relativo ao centro da tela.
-Concretamente, scrcpy gera eventos adicionais de toque de um "dedo virtual" em
+Concretamente, _scrcpy_ gera eventos adicionais de toque de um "dedo virtual" em
uma posição invertida em relação ao centro da tela.
+#### Simulação de teclado físico (HID)
+
+Por padrão, _scrcpy_ utiliza injeção de chave ou texto: funciona em qualquer lugar,
+mas é limitado a ASCII.
+
+Alternativamente, `scrcpy` pode simular um teclado USB físico no Android
+para servir uma melhor experiência de entrada de teclas (utilizando [USB HID por AOAv2][hid-aoav2]):
+o teclado virtual é desabilitado e funciona para todos os caractéres e IME.
+
+[hid-aoav2]: https://source.android.com/devices/accessories/aoa2#hid-support
+
+Porém, só funciona se o dispositivo estiver conectado via USB.
+
+Nota: No Windows, pode funcionar somente no [modo OTG](#otg), não esquanto espelhando (não
+é possível abrir um dispositivo USB se ele já estiver em uso por outro processo
+como o _adb daemon_).
+
+Para habilitar esse modo:
+
+```bash
+scrcpy --hid-keyboard
+scrcpy -K # versão curta
+```
+
+Se falhar por algum motivo (por exemplo, se o dispositivo não estiver conectado via
+USB), ele automaticamente retorna para o modo padrão (com um log no console). Isso permite utilizar as mesmas linhas de comando de quando conectado por
+USB e TCP/IP.
+
+Neste modo, eventos de tecla bruta (scancodes) são enviados ao dispositivo, independentemente
+do mapeamento de teclas do hospedeiro. Portanto, se o seu layout de teclas não é igual, ele
+precisará ser configurado no dispositivo Android, em Configurações → Sistema → Idiomas e entrada → [Teclado_físico].
+
+Essa página de configurações pode ser aberta diretamente:
+
+```bash
+adb shell am start -a android.settings.HARD_KEYBOARD_SETTINGS
+```
+
+Porém, essa opção só está disponível quando o teclado HID está habilitado (ou quando
+um teclado físico é conectado).
+
+[Teclado_físico]: https://github.com/Genymobile/scrcpy/pull/2632#issuecomment-923756915
+
+#### Simulação de mouse físico (HID)
+
+Similar a simulação de teclado físico, é possível simular um mouse físico. Da mesma forma, só funciona se o dispositivo está conectado por USB.
+
+Por padrão, _scrcpy_ utilizada injeção de eventos do mouse com coordenadas absolutas. Ao simular um mouse físico, o ponteiro de mouse aparece no
+dispositivo Android, e o movimento relativo do mouse, cliques e scrolls são injetados.
+
+Para habilitar esse modo:
+
+```bash
+scrcpy --hid-mouse
+scrcpy -M # versão curta
+```
+
+Você também pode adicionar `--forward-all-clicks` para [enviar todos os botões do mouse][forward_all_clicks].
+
+[forward_all_clicks]: #clique-direito-e-clique-do-meio
+
+Quando esse modo é habilitado, o mouse do computador é "capturado" (o ponteiro do mouse
+desaparece do computador e aparece no dispositivo Android).
+
+Teclas especiais de captura, como Alt ou Super, alterna
+(desabilita e habilita) a captura do mouse. Utilize uma delas para dar o controle
+do mouse de volta para o computador.
+
+
+#### OTG
+
+É possível executar _scrcpy_ somente com simulação de mouse e teclado físicos
+(HID), como se o teclado e mouse do computador estivessem conectados diretamente ao dispositivo
+via cabo OTG.
+
+Nesse modo, `adb` (Depuração USB) não é necessária, e o espelhamento é desabilitado.
+
+Para habilitar o modo OTG:
+
+```bash
+scrcpy --otg
+# Passe o serial de houver diversos dispositivos USB disponíveis
+scrcpy --otg -s 0123456789abcdef
+```
+
+É possível habilitar somente teclado HID ou mouse HID:
+
+```bash
+scrcpy --otg --hid-keyboard # somente teclado
+scrcpy --otg --hid-mouse # somente mouse
+scrcpy --otg --hid-keyboard --hid-mouse # teclado e mouse
+# para conveniência, habilite ambos por padrão
+scrcpy --otg # teclado e mouse
+```
+
+Como `--hid-keyboard` e `--hid-mouse`, só funciona se o dispositivo estiver conectado por USB.
+
#### Preferência de injeção de texto
@@ -691,6 +955,14 @@ scrcpy --prefer-text
(mas isso vai quebrar o comportamento do teclado em jogos)
+Ao contrário, você pode forçar para sempre injetar eventos de teclas brutas:
+
+```bash
+scrcpy --raw-key-events
+```
+
+Essas opções não surgem efeito no teclado HID (todos os eventos de tecla são enviados como scancodes nesse modo).
+
[textevents]: https://blog.rom1v.com/2018/03/introducing-scrcpy/#handle-text-input
[prefertext]: https://github.com/Genymobile/scrcpy/issues/650#issuecomment-512945343
@@ -706,6 +978,8 @@ Para evitar o encaminhamento eventos de tecla repetidos:
scrcpy --no-key-repeat
```
+Essa opção não surge efeito no teclado HID (repetição de tecla é gerida diretamente pelo
+Android nesse modo).
#### Clique-direito e clique-do-meio
@@ -737,7 +1011,7 @@ Não existe feedback visual, um log é imprimido no console.
O diretório alvo pode ser mudado ao iniciar:
```bash
-scrcpy --push-target /sdcard/foo/bar/
+scrcpy --push-target=/sdcard/Movies/
```
@@ -745,10 +1019,10 @@ scrcpy --push-target /sdcard/foo/bar/
Áudio não é encaminhado pelo _scrcpy_. Use [sndcpy].
-Também veja [issue #14].
+Também veja [issue_#14].
[sndcpy]: https://github.com/rom1v/sndcpy
-[issue #14]: https://github.com/Genymobile/scrcpy/issues/14
+[issue_#14]: https://github.com/Genymobile/scrcpy/issues/14
## Atalhos
@@ -798,11 +1072,14 @@ _[Super] é tipicamente a tecla Windows ou Cmd.
| Injetar texto da área de transferência do computador | MOD+Shift+v
| Ativar/desativar contador de FPS (em stdout) | MOD+i
| Pinçar para dar zoom | Ctrl+_Clicar-e-mover_
+ | Segure e arraste um arquivo APK | Instala APK pelo computador
+ | Segure e arraste arquivo não-APK | [Enviar arquivo para o dispositivo](#push-file-to-device)
_¹Clique-duplo-esquerdo na borda preta para remove-la._
_²Clique-direito liga a tela caso esteja desligada, pressione BACK caso contrário._
-_³4.° and 5.° botões do mouse, caso o mouse possua._
-_⁴Apenas em Android >= 7._
+_³4.° and 5.° botões do mouse, caso o mouse possua._
+_⁴Para aplicativos react-native em desenvolvimento,`MENU` dispara o menu de desenvolvimento_
+_⁵Apenas em Android >= 7._
Atalhos com teclas reptidas são executados soltando e precionando a tecla
uma segunda vez. Por exemplo, para executar "Expandir painel de Configurção":
@@ -827,7 +1104,7 @@ ADB=/caminho/para/adb scrcpy
Para sobrepor o caminho do arquivo `scrcpy-server`, configure seu caminho em
`SCRCPY_SERVER_PATH`.
-[useful]: https://github.com/Genymobile/scrcpy/issues/278#issuecomment-429330345
+Para sobrepor o ícone, configure seu caminho em `SCRCPY_ICON_PATH`.
## Por quê _scrcpy_?
@@ -849,14 +1126,14 @@ Veja [BUILD].
Veja o [FAQ].
-[FAQ]: https://github.com/Genymobile/scrcpy/blob/master/FAQ.md
+[FAQ:] FAQ.md
## Desenvolvedores
-Leia a [página dos desenvolvedores][DEVELOP].
+Leia a [página dos desenvolvedores][developers_page].
-[DEVELOP]: https://github.com/Genymobile/scrcpy/blob/master/DEVELOP.md
+[developers_page]: DEVELOP.md
## Licença
@@ -883,3 +1160,14 @@ Leia a [página dos desenvolvedores][DEVELOP].
[article-intro]: https://blog.rom1v.com/2018/03/introducing-scrcpy/
[article-tcpip]: https://www.genymotion.com/blog/open-source-project-scrcpy-now-works-wirelessly/
+
+## Contato
+
+Se você encontrar um bug, por favor leia o [FAQ] primeiro, depois abra um [issue].
+
+[issue]: https://github.com/Genymobile/scrcpy/issues
+
+Para perguntar em geral ou discussões, você também pode usar:
+
+ - Reddit: [`r/scrcpy`](https://www.reddit.com/r/scrcpy)
+ - Twitter: [`@scrcpy_app`](https://twitter.com/scrcpy_app)
\ No newline at end of file