diff --git a/FAQ.ko.md b/FAQ.ko.md
index 6cc1a1d9..c9e06e24 100644
--- a/FAQ.ko.md
+++ b/FAQ.ko.md
@@ -3,16 +3,16 @@
다음은 자주 제보되는 문제들과 그들의 현황입니다.
-### Window 운영체제에서, 디바이스가 발견되지 않습니다.
+### Windows 운영체제에서, 디바이스가 발견되지 않습니다.
가장 흔한 제보는 `adb`에 발견되지 않는 디바이스 혹은 권한 관련 문제입니다.
다음 명령어를 호출하여 모든 것들에 이상이 없는지 확인하세요:
adb devices
-Window는 당신의 디바이스를 감지하기 위해 [drivers]가 필요할 수도 있습니다.
+Windows는 당신의 디바이스를 감지하기 위해 [드라이버]가 필요할 수도 있습니다.
-[drivers]: https://developer.android.com/studio/run/oem-usb.html
+[드라이버]: https://developer.android.com/studio/run/oem-usb.html
### 내 디바이스의 미러링만 가능하고, 디바이스와 상호작용을 할 수 없습니다.
diff --git a/README.id.md b/README.id.md
new file mode 100644
index 00000000..5af56663
--- /dev/null
+++ b/README.id.md
@@ -0,0 +1,699 @@
+_Only the original [README](README.md) is guaranteed to be up-to-date._
+
+# scrcpy (v1.16)
+
+Aplikasi ini menyediakan tampilan dan kontrol perangkat Android yang terhubung pada USB (atau [melalui TCP/IP][article-tcpip]). Ini tidak membutuhkan akses _root_ apa pun. Ini bekerja pada _GNU/Linux_, _Windows_ and _macOS_.
+
+![screenshot](assets/screenshot-debian-600.jpg)
+
+Ini berfokus pada:
+
+ - **keringanan** (asli, hanya menampilkan layar perangkat)
+ - **kinerja** (30~60fps)
+ - **kualitas** (1920×1080 atau lebih)
+ - **latensi** rendah ([35~70ms][lowlatency])
+ - **waktu startup rendah** (~1 detik untuk menampilkan gambar pertama)
+ - **tidak mengganggu** (tidak ada yang terpasang di perangkat)
+
+
+[lowlatency]: https://github.com/Genymobile/scrcpy/pull/646
+
+
+## Persyaratan
+Perangkat Android membutuhkan setidaknya API 21 (Android 5.0).
+
+Pastikan Anda [mengaktifkan debugging adb][enable-adb] pada perangkat Anda.
+
+[enable-adb]: https://developer.android.com/studio/command-line/adb.html#Enabling
+
+Di beberapa perangkat, Anda juga perlu mengaktifkan [opsi tambahan][control] untuk mengontrolnya menggunakan keyboard dan mouse.
+
+[control]: https://github.com/Genymobile/scrcpy/issues/70#issuecomment-373286323
+
+
+## Dapatkan aplikasinya
+
+### Linux
+
+Di Debian (_testing_ dan _sid_ untuk saat ini) dan Ubuntu (20.04):
+
+```
+apt install scrcpy
+```
+
+Paket [Snap] tersedia: [`scrcpy`][snap-link].
+
+[snap-link]: https://snapstats.org/snaps/scrcpy
+
+[snap]: https://en.wikipedia.org/wiki/Snappy_(package_manager)
+
+Untuk Fedora, paket [COPR] tersedia: [`scrcpy`][copr-link].
+
+[COPR]: https://fedoraproject.org/wiki/Category:Copr
+[copr-link]: https://copr.fedorainfracloud.org/coprs/zeno/scrcpy/
+
+Untuk Arch Linux, paket [AUR] tersedia: [`scrcpy`][aur-link].
+
+[AUR]: https://wiki.archlinux.org/index.php/Arch_User_Repository
+[aur-link]: https://aur.archlinux.org/packages/scrcpy/
+
+Untuk Gentoo, tersedia [Ebuild]: [`scrcpy/`][ebuild-link].
+
+[Ebuild]: https://wiki.gentoo.org/wiki/Ebuild
+[ebuild-link]: https://github.com/maggu2810/maggu2810-overlay/tree/master/app-mobilephone/scrcpy
+
+Anda juga bisa [membangun aplikasi secara manual][BUILD] (jangan khawatir, tidak terlalu sulit).
+
+
+### Windows
+
+Untuk Windows, untuk kesederhanaan, arsip prebuilt dengan semua dependensi (termasuk `adb`) tersedia :
+
+ - [`scrcpy-win64-v1.16.zip`][direct-win64]
+ _(SHA-256: 3f30dc5db1a2f95c2b40a0f5de91ec1642d9f53799250a8c529bc882bc0918f0)_
+
+[direct-win64]: https://github.com/Genymobile/scrcpy/releases/download/v1.16/scrcpy-win64-v1.16.zip
+
+Ini juga tersedia di [Chocolatey]:
+
+[Chocolatey]: https://chocolatey.org/
+
+```bash
+choco install scrcpy
+choco install adb # jika Anda belum memilikinya
+```
+
+Dan di [Scoop]:
+
+```bash
+scoop install scrcpy
+scoop install adb # jika Anda belum memilikinya
+```
+
+[Scoop]: https://scoop.sh
+
+Anda juga dapat [membangun aplikasi secara manual][BUILD].
+
+
+### macOS
+
+Aplikasi ini tersedia di [Homebrew]. Instal saja:
+
+[Homebrew]: https://brew.sh/
+
+```bash
+brew install scrcpy
+```
+Anda membutuhkan `adb`, dapat diakses dari `PATH` Anda. Jika Anda belum memilikinya:
+
+```bash
+brew cask install android-platform-tools
+```
+
+Anda juga dapat [membangun aplikasi secara manual][BUILD].
+
+
+## Menjalankan
+
+Pasang perangkat Android, dan jalankan:
+
+```bash
+scrcpy
+```
+
+Ini menerima argumen baris perintah, didaftarkan oleh:
+
+```bash
+scrcpy --help
+```
+
+## Fitur
+
+### Menangkap konfigurasi
+
+#### Mengurangi ukuran
+
+Kadang-kadang, berguna untuk mencerminkan perangkat Android dengan definisi yang lebih rendah untuk meningkatkan kinerja.
+
+Untuk membatasi lebar dan tinggi ke beberapa nilai (mis. 1024):
+
+```bash
+scrcpy --max-size 1024
+scrcpy -m 1024 # versi pendek
+```
+
+Dimensi lain dihitung agar rasio aspek perangkat dipertahankan.
+Dengan begitu, perangkat 1920×1080 akan dicerminkan pada 1024×576.
+
+#### Ubah kecepatan bit
+
+Kecepatan bit default adalah 8 Mbps. Untuk mengubah bitrate video (mis. Menjadi 2 Mbps):
+
+```bash
+scrcpy --bit-rate 2M
+scrcpy -b 2M # versi pendek
+```
+
+#### Batasi frekuensi gambar
+
+Kecepatan bingkai pengambilan dapat dibatasi:
+
+```bash
+scrcpy --max-fps 15
+```
+
+Ini secara resmi didukung sejak Android 10, tetapi dapat berfungsi pada versi sebelumnya.
+
+#### Memotong
+
+Layar perangkat dapat dipotong untuk mencerminkan hanya sebagian dari layar.
+
+Ini berguna misalnya untuk mencerminkan hanya satu mata dari Oculus Go:
+
+```bash
+scrcpy --crop 1224:1440:0:0 # 1224x1440 Mengimbangi (0,0)
+```
+
+Jika `--max-size` juga ditentukan, pengubahan ukuran diterapkan setelah pemotongan.
+
+
+#### Kunci orientasi video
+
+Untuk mengunci orientasi pencerminan:
+
+```bash
+scrcpy --lock-video-orientation 0 # orientasi alami
+scrcpy --lock-video-orientation 1 # 90° berlawanan arah jarum jam
+scrcpy --lock-video-orientation 2 # 180°
+scrcpy --lock-video-orientation 3 # 90° searah jarum jam
+```
+
+Ini mempengaruhi orientasi perekaman.
+
+
+### Rekaman
+
+Anda dapat merekam layar saat melakukan mirroring:
+
+```bash
+scrcpy --record file.mp4
+scrcpy -r file.mkv
+```
+
+Untuk menonaktifkan pencerminan saat merekam:
+
+```bash
+scrcpy --no-display --record file.mp4
+scrcpy -Nr file.mkv
+# berhenti merekam dengan Ctrl+C
+```
+
+"Skipped frames" are recorded, even if they are not displayed in real time (for
+performance reasons). Frames are _timestamped_ on the device, so [packet delay
+variation] does not impact the recorded file.
+
+"Frame yang dilewati" direkam, meskipun tidak ditampilkan secara real time (untuk alasan performa). Bingkai *diberi stempel waktu* pada perangkat, jadi [variasi penundaan paket] tidak memengaruhi file yang direkam.
+
+[variasi penundaan paket]: https://en.wikipedia.org/wiki/Packet_delay_variation
+
+
+### Koneksi
+
+#### Wireless
+
+_Scrcpy_ menggunakan `adb` untuk berkomunikasi dengan perangkat, dan` adb` dapat [terhubung] ke perangkat melalui TCP / IP:
+
+1. Hubungkan perangkat ke Wi-Fi yang sama dengan komputer Anda.
+2. Dapatkan alamat IP perangkat Anda (dalam Pengaturan → Tentang ponsel → Status).
+3. Aktifkan adb melalui TCP / IP pada perangkat Anda: `adb tcpip 5555`.
+4. Cabut perangkat Anda.
+5. Hubungkan ke perangkat Anda: `adb connect DEVICE_IP: 5555` (*ganti* *`DEVICE_IP`*).
+6. Jalankan `scrcpy` seperti biasa.
+
+Mungkin berguna untuk menurunkan kecepatan bit dan definisi:
+
+```bash
+scrcpy --bit-rate 2M --max-size 800
+scrcpy -b2M -m800 # versi pendek
+```
+
+[terhubung]: https://developer.android.com/studio/command-line/adb.html#wireless
+
+
+#### Multi-perangkat
+
+Jika beberapa perangkat dicantumkan di `adb devices`, Anda harus menentukan _serial_:
+
+```bash
+scrcpy --serial 0123456789abcdef
+scrcpy -s 0123456789abcdef # versi pendek
+```
+
+If the device is connected over TCP/IP:
+
+```bash
+scrcpy --serial 192.168.0.1:5555
+scrcpy -s 192.168.0.1:5555 # versi pendek
+```
+
+Anda dapat memulai beberapa contoh _scrcpy_ untuk beberapa perangkat.
+
+#### Mulai otomatis pada koneksi perangkat
+
+Anda bisa menggunakan [AutoAdb]:
+
+```bash
+autoadb scrcpy -s '{}'
+```
+
+[AutoAdb]: https://github.com/rom1v/autoadb
+
+#### Koneksi via SSH tunnel
+
+Untuk menyambung ke perangkat jarak jauh, dimungkinkan untuk menghubungkan klien `adb` lokal ke server `adb` jarak jauh (asalkan mereka menggunakan versi yang sama dari _adb_ protocol):
+
+```bash
+adb kill-server # matikan server adb lokal di 5037
+ssh -CN -L5037:localhost:5037 -R27183:localhost:27183 komputer_jarak_jauh_anda
+# jaga agar tetap terbuka
+```
+
+Dari terminal lain:
+
+```bash
+scrcpy
+```
+
+Untuk menghindari mengaktifkan penerusan port jarak jauh, Anda dapat memaksa sambungan maju sebagai gantinya (perhatikan `-L`, bukan` -R`):
+
+```bash
+adb kill-server # matikan server adb lokal di 5037
+ssh -CN -L5037:localhost:5037 -L27183:localhost:27183 komputer_jarak_jauh_anda
+# jaga agar tetap terbuka
+```
+
+Dari terminal lain:
+
+```bash
+scrcpy --force-adb-forward
+```
+
+Seperti koneksi nirkabel, mungkin berguna untuk mengurangi kualitas:
+
+```
+scrcpy -b2M -m800 --max-fps 15
+```
+
+### Konfigurasi Jendela
+
+#### Judul
+
+Secara default, judul jendela adalah model perangkat. Itu bisa diubah:
+
+```bash
+scrcpy --window-title 'Perangkat Saya'
+```
+
+#### Posisi dan ukuran
+
+Posisi dan ukuran jendela awal dapat ditentukan:
+
+```bash
+scrcpy --window-x 100 --window-y 100 --window-width 800 --window-height 600
+```
+
+#### Jendela tanpa batas
+
+Untuk menonaktifkan dekorasi jendela:
+
+```bash
+scrcpy --window-borderless
+```
+
+#### Selalu di atas
+
+Untuk menjaga jendela scrcpy selalu di atas:
+
+```bash
+scrcpy --always-on-top
+```
+
+#### Layar penuh
+
+Aplikasi dapat dimulai langsung dalam layar penuh::
+
+```bash
+scrcpy --fullscreen
+scrcpy -f # versi pendek
+```
+
+Layar penuh kemudian dapat diubah secara dinamis dengan MOD+f.
+
+#### Rotasi
+
+Jendela mungkin diputar:
+
+```bash
+scrcpy --rotation 1
+```
+
+Nilai yang mungkin adalah:
+ - `0`: tidak ada rotasi
+ - `1`: 90 derajat berlawanan arah jarum jam
+ - `2`: 180 derajat
+ - `3`: 90 derajat searah jarum jam
+
+Rotasi juga dapat diubah secara dinamis dengan MOD+←
+_(kiri)_ and MOD+→ _(kanan)_.
+
+Perhatikan bahwa _scrcpy_ mengelola 3 rotasi berbeda::
+ - MOD+r meminta perangkat untuk beralih antara potret dan lanskap (aplikasi yang berjalan saat ini mungkin menolak, jika mendukung orientasi yang diminta).
+ - `--lock-video-orientation` mengubah orientasi pencerminan (orientasi video yang dikirim dari perangkat ke komputer). Ini mempengaruhi rekaman.
+ - `--rotation` (atau MOD+←/MOD+→)
+ memutar hanya konten jendela. Ini hanya mempengaruhi tampilan, bukan rekaman.
+
+
+### Opsi pencerminan lainnya
+
+#### Hanya-baca
+
+Untuk menonaktifkan kontrol (semua yang dapat berinteraksi dengan perangkat: tombol input, peristiwa mouse, seret & lepas file):
+
+```bash
+scrcpy --no-control
+scrcpy -n
+```
+
+#### Layar
+
+Jika beberapa tampilan tersedia, Anda dapat memilih tampilan untuk cermin:
+
+```bash
+scrcpy --display 1
+```
+
+Daftar id tampilan dapat diambil dengan::
+
+```
+adb shell dumpsys display # cari "mDisplayId=" di keluaran
+```
+
+Tampilan sekunder hanya dapat dikontrol jika perangkat menjalankan setidaknya Android 10 (jika tidak maka akan dicerminkan dalam hanya-baca).
+
+
+#### Tetap terjaga
+
+Untuk mencegah perangkat tidur setelah beberapa penundaan saat perangkat dicolokkan:
+
+```bash
+scrcpy --stay-awake
+scrcpy -w
+```
+
+Keadaan awal dipulihkan ketika scrcpy ditutup.
+
+
+#### Matikan layar
+
+Dimungkinkan untuk mematikan layar perangkat saat pencerminan mulai dengan opsi baris perintah:
+
+```bash
+scrcpy --turn-screen-off
+scrcpy -S
+```
+
+Atau dengan menekan MOD+o kapan saja.
+
+Untuk menyalakannya kembali, tekan MOD+Shift+o.
+
+Di Android, tombol `POWER` selalu menyalakan layar. Untuk kenyamanan, jika `POWER` dikirim melalui scrcpy (melalui klik kanan atauMOD+p), itu akan memaksa untuk mematikan layar setelah penundaan kecil (atas dasar upaya terbaik).
+Tombol fisik `POWER` masih akan menyebabkan layar dihidupkan.
+
+Ini juga berguna untuk mencegah perangkat tidur:
+
+```bash
+scrcpy --turn-screen-off --stay-awake
+scrcpy -Sw
+```
+
+#### Render frame kedaluwarsa
+
+Secara default, untuk meminimalkan latensi, _scrcpy_ selalu menampilkan frame yang terakhir didekodekan tersedia, dan menghapus frame sebelumnya.
+
+Untuk memaksa rendering semua frame (dengan kemungkinan peningkatan latensi), gunakan:
+
+```bash
+scrcpy --render-expired-frames
+```
+
+#### Tunjukkan sentuhan
+
+Untuk presentasi, mungkin berguna untuk menunjukkan sentuhan fisik (pada perangkat fisik).
+
+Android menyediakan fitur ini di _Opsi Pengembang_.
+
+_Scrcpy_ menyediakan opsi untuk mengaktifkan fitur ini saat mulai dan mengembalikan nilai awal saat keluar:
+
+```bash
+scrcpy --show-touches
+scrcpy -t
+```
+
+Perhatikan bahwa ini hanya menunjukkan sentuhan _fisik_ (dengan jari di perangkat).
+
+
+#### Nonaktifkan screensaver
+
+Secara default, scrcpy tidak mencegah screensaver berjalan di komputer.
+
+Untuk menonaktifkannya:
+
+```bash
+scrcpy --disable-screensaver
+```
+
+
+### Kontrol masukan
+
+#### Putar layar perangkat
+
+Tekan MOD+r untuk beralih antara mode potret dan lanskap.
+
+Perhatikan bahwa itu berputar hanya jika aplikasi di latar depan mendukung orientasi yang diminta.
+
+#### Salin-tempel
+
+Setiap kali papan klip Android berubah, secara otomatis disinkronkan ke papan klip komputer.
+
+Apa saja Ctrl pintasan diteruskan ke perangkat. Khususnya:
+ - Ctrl+c biasanya salinan
+ - Ctrl+x biasanya memotong
+ - Ctrl+v biasanya menempel (setelah sinkronisasi papan klip komputer-ke-perangkat)
+
+Ini biasanya berfungsi seperti yang Anda harapkan.
+
+Perilaku sebenarnya tergantung pada aplikasi yang aktif. Sebagai contoh,
+_Termux_ mengirim SIGINT ke Ctrl+c sebagai gantinya, dan _K-9 Mail_ membuat pesan baru.
+
+Untuk menyalin, memotong dan menempel dalam kasus seperti itu (tetapi hanya didukung di Android> = 7):
+ - MOD+c injeksi `COPY` _(salin)_
+ - MOD+x injeksi `CUT` _(potong)_
+ - MOD+v injeksi `PASTE` (setelah sinkronisasi papan klip komputer-ke-perangkat)
+
+Tambahan, MOD+Shift+v memungkinkan untuk memasukkan teks papan klip komputer sebagai urutan peristiwa penting. Ini berguna ketika komponen tidak menerima penempelan teks (misalnya di _Termux_), tetapi dapat merusak konten non-ASCII.
+
+**PERINGATAN:** Menempelkan papan klip komputer ke perangkat (baik melalui
+Ctrl+v or MOD+v) menyalin konten ke clipboard perangkat. Akibatnya, aplikasi Android apa pun dapat membaca kontennya. Anda harus menghindari menempelkan konten sensitif (seperti kata sandi) seperti itu.
+
+
+#### Cubit untuk memperbesar/memperkecil
+
+Untuk mensimulasikan "cubit-untuk-memperbesar/memperkecil": Ctrl+_klik-dan-pindah_.
+
+Lebih tepatnya, tahan Ctrl sambil menekan tombol klik kiri. Hingga tombol klik kiri dilepaskan, semua gerakan mouse berskala dan memutar konten (jika didukung oleh aplikasi) relatif ke tengah layar.
+
+Secara konkret, scrcpy menghasilkan kejadian sentuh tambahan dari "jari virtual" di lokasi yang dibalik melalui bagian tengah layar.
+
+
+#### Preferensi injeksi teks
+
+Ada dua jenis [peristiwa][textevents] dihasilkan saat mengetik teks:
+- _peristiwa penting_, menandakan bahwa tombol ditekan atau dilepaskan;
+- _peristiwa teks_, menandakan bahwa teks telah dimasukkan.
+
+Secara default, huruf dimasukkan menggunakan peristiwa kunci, sehingga keyboard berperilaku seperti yang diharapkan dalam game (biasanya untuk tombol WASD).
+
+Tapi ini mungkin [menyebabkan masalah][prefertext]. Jika Anda mengalami masalah seperti itu, Anda dapat menghindarinya dengan:
+
+```bash
+scrcpy --prefer-text
+```
+
+(tapi ini akan merusak perilaku keyboard dalam game)
+
+[textevents]: https://blog.rom1v.com/2018/03/introducing-scrcpy/#handle-text-input
+[prefertext]: https://github.com/Genymobile/scrcpy/issues/650#issuecomment-512945343
+
+
+#### Ulangi kunci
+
+Secara default, menahan tombol akan menghasilkan peristiwa kunci yang berulang. Ini dapat menyebabkan masalah kinerja di beberapa game, di mana acara ini tidak berguna.
+
+Untuk menghindari penerusan peristiwa penting yang berulang:
+
+```bash
+scrcpy --no-key-repeat
+```
+
+
+### Seret/jatuhkan file
+
+#### Pasang APK
+
+Untuk menginstal APK, seret & lepas file APK (diakhiri dengan `.apk`) ke jendela _scrcpy_.
+
+Tidak ada umpan balik visual, log dicetak ke konsol.
+
+
+#### Dorong file ke perangkat
+
+Untuk mendorong file ke `/sdcard/` di perangkat, seret & jatuhkan file (non-APK) ke jendela _scrcpy_.
+
+Tidak ada umpan balik visual, log dicetak ke konsol.
+
+Direktori target dapat diubah saat mulai:
+
+```bash
+scrcpy --push-target /sdcard/foo/bar/
+```
+
+
+### Penerusan audio
+
+Audio tidak diteruskan oleh _scrcpy_. Gunakan [sndcpy].
+
+Lihat juga [Masalah #14].
+
+[sndcpy]: https://github.com/rom1v/sndcpy
+[Masalah #14]: https://github.com/Genymobile/scrcpy/issues/14
+
+
+## Pintasan
+
+Dalam daftar berikut, MOD adalah pengubah pintasan. Secara default, ini (kiri) Alt atau (kiri) Super.
+
+Ini dapat diubah menggunakan `--shortcut-mod`. Kunci yang memungkinkan adalah `lctrl`,`rctrl`, `lalt`,` ralt`, `lsuper` dan` rsuper`. Sebagai contoh:
+
+```bash
+# gunakan RCtrl untuk jalan pintas
+scrcpy --shortcut-mod=rctrl
+
+# gunakan baik LCtrl+LAlt atau LSuper untuk jalan pintas
+scrcpy --shortcut-mod=lctrl+lalt,lsuper
+```
+
+_[Super] biasanya adalah Windows atau Cmd key._
+
+[Super]: https://en.wikipedia.org/wiki/Super_key_(keyboard_button)
+
+ | Aksi | Pintasan
+ | ------------------------------------------------------|:-----------------------------
+ | Alihkan mode layar penuh | MOD+f
+ | Putar layar kiri | MOD+← _(kiri)_
+ | Putar layar kanan | MOD+→ _(kanan)_
+ | Ubah ukuran jendela menjadi 1:1 (piksel-sempurna) | MOD+g
+ | Ubah ukuran jendela menjadi hapus batas hitam | MOD+w \| _klik-dua-kali¹_
+ | Klik `HOME` | MOD+h \| _Klik-tengah_
+ | Klik `BACK` | MOD+b \| _Klik-kanan²_
+ | Klik `APP_SWITCH` | MOD+s
+ | Klik `MENU` (buka kunci layar) | MOD+m
+ | Klik `VOLUME_UP` | MOD+↑ _(naik)_
+ | Klik `VOLUME_DOWN` | MOD+↓ _(turun)_
+ | Klik `POWER` | MOD+p
+ | Menyalakan | _Klik-kanan²_
+ | Matikan layar perangkat (tetap mirroring) | MOD+o
+ | Hidupkan layar perangkat | MOD+Shift+o
+ | Putar layar perangkat | MOD+r
+ | Luaskan panel notifikasi | MOD+n
+ | Ciutkan panel notifikasi | MOD+Shift+n
+ | Menyalin ke papan klip³ | MOD+c
+ | Potong ke papan klip³ | MOD+x
+ | Sinkronkan papan klip dan tempel³ | MOD+v
+ | Masukkan teks papan klip komputer | MOD+Shift+v
+ | Mengaktifkan/menonaktifkan penghitung FPS (di stdout) | MOD+i
+ | Cubit-untuk-memperbesar/memperkecil | Ctrl+_klik-dan-pindah_
+
+_¹Klik-dua-kali pada batas hitam untuk menghapusnya._
+_²Klik-kanan akan menghidupkan layar jika mati, tekan BACK jika tidak._
+_³Hanya di Android >= 7._
+
+Semua Ctrl+_key_ pintasan diteruskan ke perangkat, demikian adanya
+ditangani oleh aplikasi aktif.
+
+
+## Jalur kustom
+
+Untuk menggunakan biner _adb_ tertentu, konfigurasikan jalurnya di variabel lingkungan `ADB`:
+
+ ADB=/path/to/adb scrcpy
+
+Untuk mengganti jalur file `scrcpy-server`, konfigurasikan jalurnya di
+`SCRCPY_SERVER_PATH`.
+
+[useful]: https://github.com/Genymobile/scrcpy/issues/278#issuecomment-429330345
+
+
+## Mengapa _scrcpy_?
+
+Seorang kolega menantang saya untuk menemukan nama yang tidak dapat diucapkan seperti [gnirehtet].
+
+[`strcpy`] menyalin sebuah **str**ing; `scrcpy` menyalin sebuah **scr**een.
+
+[gnirehtet]: https://github.com/Genymobile/gnirehtet
+[`strcpy`]: http://man7.org/linux/man-pages/man3/strcpy.3.html
+
+
+## Bagaimana Cara membangun?
+
+Lihat [BUILD].
+
+[BUILD]: BUILD.md
+
+
+## Masalah umum
+
+Lihat [FAQ](FAQ.md).
+
+
+## Pengembang
+
+Baca [halaman pengembang].
+
+[halaman pengembang]: DEVELOP.md
+
+
+## Lisensi
+
+ Copyright (C) 2018 Genymobile
+ Copyright (C) 2018-2020 Romain Vimont
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+## Artikel
+
+- [Introducing scrcpy][article-intro]
+- [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/
+
diff --git a/README.md b/README.md
index 1283aa50..8cf562dc 100644
--- a/README.md
+++ b/README.md
@@ -251,7 +251,13 @@ _Scrcpy_ uses `adb` to communicate with the device, and `adb` can [connect] to a
device over TCP/IP:
1. Connect the device to the same Wi-Fi as your computer.
-2. Get your device IP address (in Settings → About phone → Status).
+2. Get your device IP address, in Settings → About phone → Status, or by
+ executing this command:
+
+ ```bash
+ adb shell ip route | awk '{print $9}'
+ ```
+
3. Enable adb over TCP/IP on your device: `adb tcpip 5555`.
4. Unplug your device.
5. Connect to your device: `adb connect DEVICE_IP:5555` _(replace `DEVICE_IP`)_.
@@ -398,9 +404,9 @@ The rotation can also be changed dynamically with MOD+←
_(left)_ and MOD+→ _(right)_.
Note that _scrcpy_ manages 3 different rotations:
-- MOD+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.
@@ -786,8 +792,10 @@ Read the [developers page].
This README is available in other languages:
-- [繁體中文 (Traditional Chinese, `zh-Hant`) - v1.15](README.zh-Hant.md)
+- [Indonesian (Indonesia, `id`) - v1.16](README.id.md)
- [한국어 (Korean, `ko`) - v1.11](README.ko.md)
- [português brasileiro (Brazilian Portuguese, `pt-BR`) - v1.12.1](README.pt-br.md)
+- [简体中文 (Simplified Chinese, `zh-Hans`) - v1.16](README.zh-Hans.md)
+- [繁體中文 (Traditional Chinese, `zh-Hant`) - v1.15](README.zh-Hant.md)
Only this README file is guaranteed to be up-to-date.
diff --git a/README.zh-Hans.md b/README.zh-Hans.md
new file mode 100644
index 00000000..85e178d6
--- /dev/null
+++ b/README.zh-Hans.md
@@ -0,0 +1,726 @@
+_Only the original [README](README.md) is guaranteed to be up-to-date._
+
+只有原版的[README](README.md)会保持最新。
+
+本文根据[479d10d]进行翻译。
+
+[479d10d]: https://github.com/Genymobile/scrcpy/commit/479d10dc22b70272187e0963c6ad24d754a669a2#diff-04c6e90faac2675aa89e2176d2eec7d8
+
+
+
+# scrcpy (v1.16)
+
+本应用程序可以通过USB(或 [TCP/IP][article-tcpip] )连接用于显示或控制安卓设备。这不需要获取 _root_ 权限。
+
+该应用程序可以在 _GNU/Linux_, _Windows_ 和 _macOS_ 环境下运行。
+
+[article-tcpip]:https://www.genymotion.com/blog/open-source-project-scrcpy-now-works-wirelessly/
+
+![screenshot](assets/screenshot-debian-600.jpg)
+
+它专注于:
+
+ - **轻量** (原生,仅显示设备屏幕)
+ - **性能** (30~60fps)
+ - **质量** (分辨率可达1920x1080或更高)
+ - **低延迟** (35-70ms)
+ - **快速启动** (数秒内即能开始显示)
+ - **无侵入性** (不需要在安卓设备上安装任何程序)
+
+
+## 使用要求
+
+安卓设备系统版本需要在Android 5.0(API 21)或以上。
+
+确保您在设备上开启了[adb调试]。
+
+[adb调试]: https://developer.android.com/studio/command-line/adb.html#Enabling
+
+在某些设备上,你还需要开启[额外的选项]以用鼠标和键盘进行控制。
+
+[额外的选项]: https://github.com/Genymobile/scrcpy/issues/70#issuecomment-373286323
+
+
+## 获取scrcpy
+
+
+
+### Linux
+
+在Debian(目前仅测试版和不稳定版,即 _testing_ 和 _sid_ 版本)和Ubuntu (20.04)上:
+
+```
+apt install scrcpy
+```
+
+[Snap]包也是可用的: [`scrcpy`][snap-link].
+
+[snap-link]: https://snapstats.org/snaps/scrcpy
+
+[snap]: https://en.wikipedia.org/wiki/Snappy_(package_manager)
+
+对于Fedora用户,我们提供[COPR]包: [`scrcpy`][copr-link].
+
+[COPR]: https://fedoraproject.org/wiki/Category:Copr
+[copr-link]: https://copr.fedorainfracloud.org/coprs/zeno/scrcpy/
+
+对于Arch Linux用户,我们提供[AUR]包: [`scrcpy`][aur-link].
+
+[AUR]: https://wiki.archlinux.org/index.php/Arch_User_Repository
+[aur-link]: https://aur.archlinux.org/packages/scrcpy/
+
+对于Gentoo用户,我们提供[Ebuild]包:[`scrcpy/`][ebuild-link].
+
+[Ebuild]: https://wiki.gentoo.org/wiki/Ebuild
+[ebuild-link]: https://github.com/maggu2810/maggu2810-overlay/tree/master/app-mobilephone/scrcpy
+
+您也可以[自行编译][编译](不必担心,这并不困难)。
+
+
+
+### Windows
+
+在Windows上,简便起见,我们准备了包含所有依赖项(包括adb)的程序包。
+
+ - [`scrcpy-win64-v1.16.zip`][direct-win64]
+ _(SHA-256: 3f30dc5db1a2f95c2b40a0f5de91ec1642d9f53799250a8c529bc882bc0918f0)_
+
+[direct-win64]: https://github.com/Genymobile/scrcpy/releases/download/v1.16/scrcpy-win64-v1.16.zip
+
+您也可以在[Chocolatey]下载:
+
+[Chocolatey]: https://chocolatey.org/
+
+```bash
+choco install scrcpy
+choco install adb # 如果你没有adb
+```
+
+也可以使用 [Scoop]:
+
+```bash
+scoop install scrcpy
+scoop install adb # 如果你没有adb
+```
+
+[Scoop]: https://scoop.sh
+
+您也可以[自行编译][编译]。
+
+
+### macOS
+
+您可以使用[Homebrew]下载scrcpy。直接安装就可以了:
+
+[Homebrew]: https://brew.sh/
+
+```bash
+brew install scrcpy
+```
+
+您需要 `adb`以使用scrcpy,并且它需要可以通过 `PATH`被访问。如果您没有:
+
+```bash
+brew cask install android-platform-tools
+```
+
+您也可以[自行编译][编译]。
+
+
+## 运行scrcpy
+
+用USB链接电脑和安卓设备,并执行:
+
+```bash
+scrcpy
+```
+
+支持带命令行参数执行,查看参数列表:
+
+```bash
+scrcpy --help
+```
+
+## 功能介绍
+
+### 画面设置
+
+#### 缩小分辨率
+
+有时候,将设备屏幕镜像分辨率降低可以有效地提升性能。
+
+我们可以将高度和宽度都限制在一定大小内(如 1024):
+
+```bash
+scrcpy --max-size 1024
+scrcpy -m 1024 # short version
+```
+
+较短的一边会被按比例缩小以保持设备的显示比例。
+这样,1920x1080 的设备会以 1024x576 的分辨率显示。
+
+
+#### 修改画面比特率
+
+默认的比特率是8Mbps。如果要改变画面的比特率 (比如说改成2Mbps):
+
+```bash
+scrcpy --bit-rate 2M
+scrcpy -b 2M # short version
+```
+
+#### 限制画面帧率
+
+画面的帧率可以通过下面的命令被限制:
+
+```bash
+scrcpy --max-fps 15
+```
+
+这个功能仅在Android 10和以后的版本被Android官方支持,但也有可能在更早的版本可用。
+
+#### 画面裁剪
+
+设备画面可在裁切后进行镜像,以显示部分屏幕。
+
+这项功能可以用于,例如,只显示Oculus Go的一只眼睛。
+
+```bash
+scrcpy --crop 1224:1440:0:0 # 1224x1440 at offset (0,0)
+```
+
+如果`--max-size`在同时被指定,分辨率的改变将在画面裁切后进行。
+
+
+#### 锁定屏幕朝向
+
+
+可以使用如下命令锁定屏幕朝向:
+
+```bash
+scrcpy --lock-video-orientation 0 # 自然朝向
+scrcpy --lock-video-orientation 1 # 90° 逆时针旋转
+scrcpy --lock-video-orientation 2 # 180°
+scrcpy --lock-video-orientation 3 # 90° 顺时针旋转
+```
+
+该设定影响录制。
+
+
+### 屏幕录制
+
+可以在屏幕镜像的同时录制视频:
+
+```bash
+scrcpy --record file.mp4
+scrcpy -r file.mkv
+```
+
+在不开启屏幕镜像的同时录制:
+
+```bash
+scrcpy --no-display --record file.mp4
+scrcpy -Nr file.mkv
+# 按Ctrl+C以停止录制
+```
+
+在显示中“被跳过的帧”会被录制,虽然它们由于性能原因没有实时显示。
+在传输中每一帧都有 _时间戳_ ,所以 [包时延变化] 并不影响录制的文件。
+
+[包时延变化]: https://en.wikipedia.org/wiki/Packet_delay_variation
+
+
+### 连接方式
+
+#### 无线
+
+_Scrcpy_ 使用`adb`来与安卓设备连接。同时,`adb`能够通过TCP/IP[连接]到安卓设备:
+
+1. 将您的安卓设备和电脑连接至同一Wi-Fi。
+2. 获取安卓设备的IP地址(在设置-关于手机-状态信息)。
+3. 打开安卓设备的网络adb功能`adb tcpip 5555`。
+4. 将您的设备与电脑断开连接。
+5. 连接到您的设备:`adb connect DEVICE_IP:5555` _(用设备IP替换 `DEVICE_IP`)_.
+6. 运行`scrcpy`。
+
+降低比特率和分辨率可能有助于性能:
+
+```bash
+scrcpy --bit-rate 2M --max-size 800
+scrcpy -b2M -m800 # short version
+```
+
+[连接]: https://developer.android.com/studio/command-line/adb.html#wireless
+
+
+#### 多设备
+
+如果多个设备在执行`adb devices`后被列出,您必须指定设备的 _序列号_ :
+
+```bash
+scrcpy --serial 0123456789abcdef
+scrcpy -s 0123456789abcdef # short version
+```
+
+如果设备是通过TCP/IP方式连接到电脑的:
+
+```bash
+scrcpy --serial 192.168.0.1:5555
+scrcpy -s 192.168.0.1:5555 # short version
+```
+
+您可以同时启动多个 _scrcpy_ 实例以同时显示多个设备的画面。
+
+#### 在设备连接时自动启动
+
+您可以使用 [AutoAdb]:
+
+```bash
+autoadb scrcpy -s '{}'
+```
+
+[AutoAdb]: https://github.com/rom1v/autoadb
+
+#### SSH 连接
+
+本地的 adb 可以远程连接到另一个 adb 服务器(假设两者的adb版本相同),来远程连接到设备:
+
+```bash
+adb kill-server # 关闭本地5037端口上的adb服务器
+ssh -CN -L5037:localhost:5037 -R27183:localhost:27183 your_remote_computer
+# 保持该窗口开启
+```
+
+从另一个终端:
+
+```bash
+scrcpy
+```
+
+为了避免启动远程端口转发,你可以强制启动一个转发连接(注意`-L`和`-R`的区别:
+
+```bash
+adb kill-server # kill the local adb server on 5037
+ssh -CN -L5037:localhost:5037 -L27183:localhost:27183 your_remote_computer
+# 保持该窗口开启
+```
+
+从另一个终端:
+
+```bash
+scrcpy --force-adb-forward
+```
+
+
+和无线网络连接类似,下列设置可能对改善性能有帮助:
+
+```
+scrcpy -b2M -m800 --max-fps 15
+```
+
+### 窗口设置
+
+#### 标题
+
+窗口的标题默认为设备型号。您可以通过如下命令修改它:
+
+```bash
+scrcpy --window-title 'My device'
+```
+
+#### 位置和大小
+
+您可以指定初始的窗口位置和大小:
+
+```bash
+scrcpy --window-x 100 --window-y 100 --window-width 800 --window-height 600
+```
+
+#### 无边框
+
+关闭边框:
+
+```bash
+scrcpy --window-borderless
+```
+
+#### 保持窗口在最前
+
+您可以通过如下命令保持窗口在最前面:
+
+```bash
+scrcpy --always-on-top
+```
+
+#### 全屏
+
+您可以通过如下命令直接全屏启动scrcpy:
+
+```bash
+scrcpy --fullscreen
+scrcpy -f # short version
+```
+
+全屏状态可以通过MOD+f实时改变。
+
+#### 旋转
+
+通过如下命令,窗口可以旋转:
+
+```bash
+scrcpy --rotation 1
+```
+
+可选的值有:
+ - `0`: 无旋转
+ - `1`: 逆时针旋转90°
+ - `2`: 旋转180°
+ - `3`: 顺时针旋转90°
+
+这同样可以使用MOD+←
+_(左)_ 和 MOD+→ _(右)_ 的快捷键实时更改。
+
+需要注意的是, _scrcpy_ 控制三个不同的朝向:
+ - MOD+r 请求设备在竖屏和横屏之间切换(如果前台应用程序不支持所请求的朝向,可能会拒绝该请求)。
+
+ - `--lock-video-orientation` 改变镜像的朝向(设备镜像到电脑的画面朝向)。这会影响录制。
+
+ - `--rotation` (或MOD+←/MOD+→)
+ 只旋转窗口的画面。这只影响显示,不影响录制。
+
+
+### 其他镜像设置
+
+#### 只读
+
+关闭电脑对设备的控制(如键盘输入、鼠标移动和文件传输):
+
+```bash
+scrcpy --no-control
+scrcpy -n
+```
+
+#### 显示屏
+
+如果有多个显示屏可用,您可以选择特定显示屏进行镜像:
+
+```bash
+scrcpy --display 1
+```
+
+您可以通过如下命令找到显示屏的id:
+
+```
+adb shell dumpsys display # 在回显中搜索“mDisplayId=”
+```
+
+第二显示屏可能只能在设备运行Android 10或以上的情况下被控制(它可能会在电脑上显示,但无法通过电脑操作)。
+
+
+#### 保持常亮
+
+防止设备在已连接的状态下休眠:
+
+```bash
+scrcpy --stay-awake
+scrcpy -w
+```
+
+程序关闭后,设备设置会恢复原样。
+
+
+#### 关闭设备屏幕
+
+在启动屏幕镜像时,可以通过如下命令关闭设备的屏幕:
+
+```bash
+scrcpy --turn-screen-off
+scrcpy -S
+```
+
+或者在需要的时候按MOD+o。
+
+要重新打开屏幕的话,需要按MOD+Shift+o.
+
+在Android上,`电源`按钮始终能把屏幕打开。
+
+为了方便,如果按下`电源`按钮的事件是通过 _scrcpy_ 发出的(通过点按鼠标右键或MOD+p),它会在短暂的延迟后将屏幕关闭。
+
+物理的`电源`按钮仍然能打开设备屏幕。
+
+同时,这项功能还能被用于防止设备休眠:
+
+```bash
+scrcpy --turn-screen-off --stay-awake
+scrcpy -Sw
+```
+
+
+#### 渲染超时帧
+
+为了降低延迟, _scrcpy_ 默认渲染解码成功的最近一帧,并跳过前面任意帧。
+
+强制渲染所有帧(可能导致延迟变高):
+
+```bash
+scrcpy --render-expired-frames
+```
+
+#### 显示触摸
+
+在展示时,有些时候可能会用到显示触摸点这项功能(在设备上显示)。
+
+Android在 _开发者设置_ 中提供了这项功能。
+
+_Scrcpy_ 提供一个选项可以在启动时开启这项功能并在退出时恢复初始设置:
+
+```bash
+scrcpy --show-touches
+scrcpy -t
+```
+
+请注意这项功能只能显示 _物理_ 触摸(要用手在屏幕上触摸)。
+
+
+#### 关闭屏保
+
+_Scrcpy_ 不会默认关闭屏幕保护。
+
+关闭屏幕保护:
+
+```bash
+scrcpy --disable-screensaver
+```
+
+
+### 输入控制
+
+#### 旋转设备屏幕
+
+使用MOD+r以在竖屏和横屏模式之间切换。
+
+需要注意的是,只有在前台应用程序支持所要求的模式时,才会进行切换。
+
+#### 复制黏贴
+
+每次Android的剪贴板变化的时候,它都会被自动同步到电脑的剪贴板上。
+
+所有的 Ctrl 快捷键都会被转发至设备。其中:
+ - Ctrl+c 复制
+ - Ctrl+x 剪切
+ - Ctrl+v 黏贴 (在电脑到设备的剪贴板同步完成之后)
+
+这通常如您所期望的那样运作。
+
+但实际的行为取决于设备上的前台程序。
+例如 _Termux_ 在Ctrl+c被按下时发送 SIGINT,
+又如 _K-9 Mail_ 会新建一封新邮件。
+
+在这种情况下剪切复制黏贴(仅在Android >= 7时可用):
+ - MOD+c 注入 `COPY`(复制)
+ - MOD+x 注入 `CUT`(剪切)
+ - MOD+v 注入 `PASTE`(黏贴)(在电脑到设备的剪贴板同步完成之后)
+
+另外,MOD+Shift+v可以将电脑的剪贴板内容转换为一串按键事件输入到设备。
+在应用程序不接受黏贴时(比如 _Termux_ ),这项功能可以排上一定的用场。
+需要注意的是,这项功能可能会导致非ASCII编码的内容出现错误。
+
+**警告:** 将电脑剪贴板的内容黏贴至设备(无论是通过Ctrl+v还是MOD+v)
+都需要将内容保存至设备的剪贴板。如此,任何一个应用程序都可以读取它。
+您应当避免将敏感内容通过这种方式传输(如密码)。
+
+
+#### 捏拉缩放
+
+模拟 “捏拉缩放”:Ctrl+_按住并移动鼠标_。
+
+更准确的说,您需要在按住Ctrl的同时按住并移动鼠标。
+在鼠标左键松开之后,光标的任何操作都会相对于屏幕的中央进行。
+
+具体来说, _scrcpy_ 使用“虚拟手指”以在相对于屏幕中央相反的位置产生触摸事件。
+
+
+#### 文字注入偏好
+
+打字的时候,系统会产生两种[事件][textevents]:
+ - _按键事件_ ,代表一个按键被按下/松开。
+ - _文本事件_ ,代表一个文本被输入。
+
+程序默认使用按键事件来输入字母。只有这样,键盘才会在游戏中正常运作(尤其WASD键)。
+
+但这也有可能[造成问题][prefertext]。如果您遇到了这样的问题,您可以通过下列操作避免它:
+
+```bash
+scrcpy --prefer-text
+```
+
+(这会导致键盘在游戏中工作不正常)
+
+[textevents]: https://blog.rom1v.com/2018/03/introducing-scrcpy/#handle-text-input
+[prefertext]: https://github.com/Genymobile/scrcpy/issues/650#issuecomment-512945343
+
+
+#### 按键重复
+
+当你一直按着一个按键不放时,程序默认产生多个按键事件。
+在某些游戏中这可能会导致性能问题。
+
+避免转发重复按键事件:
+
+```bash
+scrcpy --no-key-repeat
+```
+
+
+### 文件传输
+
+#### 安装APK
+
+如果您要要安装APK,请拖放APK文件(文件名以`.apk`结尾)到 _scrcpy_ 窗口。
+
+该操作在屏幕上不会出现任何变化,而会在控制台输出一条日志。
+
+
+#### 将文件推送至设备
+
+如果您要推送文件到设备的 `/sdcard/`,请拖放文件至(不能是APK文件)_scrcpy_ 窗口。
+
+该操作没有可见的响应,只会在控制台输出日志。
+
+在启动时可以修改目标目录:
+
+```bash
+scrcpy --push-target /sdcard/foo/bar/
+```
+
+
+### 音频转发
+
+_scrcpy_ 不支持音频。请使用 [sndcpy].
+
+另外请阅读 [issue #14]。
+
+[sndcpy]: https://github.com/rom1v/sndcpy
+[issue #14]: https://github.com/Genymobile/scrcpy/issues/14
+
+
+## 热键
+
+在下列表格中, MOD 是热键的修饰键。
+默认是(左)Alt或者(左)Super。
+
+您可以使用 `--shortcut-mod`后缀来修改它。可选的按键有`lctrl`、`rctrl`、
+`lalt`、`ralt`、`lsuper`和`rsuper`。如下例:
+
+```bash
+# 使用右侧的Ctrl键
+scrcpy --shortcut-mod=rctrl
+
+# 使用左侧的Ctrl键、Alt键或Super键
+scrcpy --shortcut-mod=lctrl+lalt,lsuper
+```
+
+_一般来说,[Super]就是Windows或者Cmd。_
+
+[Super]: https://en.wikipedia.org/wiki/Super_key_(keyboard_button)
+
+ | 操作 | 快捷键
+ | ------------------------------------------- |:-----------------------------
+ | 全屏 | MOD+f
+ | 向左旋转屏幕 | MOD+← _(左)_
+ | 向右旋转屏幕 | MOD+→ _(右)_
+ | 将窗口大小重置为1:1 (像素优先) | MOD+g
+ | 将窗口大小重置为消除黑边 | MOD+w \| _双击¹_
+ | 点按 `主屏幕` | MOD+h \| _点击鼠标中键_
+ | 点按 `返回` | MOD+b \| _点击鼠标右键²_
+ | 点按 `切换应用` | MOD+s
+ | 点按 `菜单` (解锁屏幕) | MOD+m
+ | 点按 `音量+` | MOD+↑ _(up)_
+ | 点按 `音量-` | MOD+↓ _(down)_
+ | 点按 `电源` | MOD+p
+ | 打开屏幕 | _点击鼠标右键²_
+ | 关闭设备屏幕(但继续在电脑上显示) | MOD+o
+ | 打开设备屏幕 | MOD+Shift+o
+ | 旋转设备屏幕 | MOD+r
+ | 展开通知面板 | MOD+n
+ | 展开快捷操作 | MOD+Shift+n
+ | 复制到剪贴板³ | MOD+c
+ | 剪切到剪贴板³ | MOD+x
+ | 同步剪贴板并黏贴³ | MOD+v
+ | 导入电脑剪贴板文本 | MOD+Shift+v
+ | 打开/关闭FPS显示(在 stdout) | MOD+i
+ | 捏拉缩放 | Ctrl+_点按并移动鼠标_
+
+_¹双击黑色边界以关闭黑色边界_
+_²点击鼠标右键将在屏幕熄灭时点亮屏幕,其余情况则视为按下 返回键 。_
+_³需要安卓版本 Android >= 7。_
+
+所有的 Ctrl+_按键_ 的热键都是被转发到设备进行处理的,所以实际上会由当前应用程序对其做出响应。
+
+
+## 自定义路径
+
+为了使用您想使用的 _adb_ ,您可以在环境变量
+`ADB`中设置它的路径:
+
+ ADB=/path/to/adb scrcpy
+
+如果需要覆盖`scrcpy-server`的路径,您可以在
+`SCRCPY_SERVER_PATH`中设置它。
+
+[useful]: https://github.com/Genymobile/scrcpy/issues/278#issuecomment-429330345
+
+
+## 为什么叫 _scrcpy_ ?
+
+一个同事让我找出一个和[gnirehtet]一样难以发音的名字。
+
+[`strcpy`] 可以复制**str**ing; `scrcpy` 可以复制**scr**een。
+
+[gnirehtet]: https://github.com/Genymobile/gnirehtet
+[`strcpy`]: http://man7.org/linux/man-pages/man3/strcpy.3.html
+
+
+## 如何编译?
+
+请查看[编译]。
+
+[编译]: BUILD.md
+
+
+## 常见问题
+
+请查看[FAQ](FAQ.md).
+
+
+## 开发者
+
+请查看[开发者页面]。
+
+[开发者页面]: DEVELOP.md
+
+
+## 许可协议
+
+ Copyright (C) 2018 Genymobile
+ Copyright (C) 2018-2020 Romain Vimont
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+## 相关文章
+
+- [Introducing scrcpy][article-intro]
+- [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/
diff --git a/app/src/sys/unix/command.c b/app/src/sys/unix/command.c
index 3c2f587d..4c3ff7e2 100644
--- a/app/src/sys/unix/command.c
+++ b/app/src/sys/unix/command.c
@@ -5,6 +5,10 @@
// modern glibc will complain without this
#define _DEFAULT_SOURCE
+#ifdef __APPLE__
+# define _DARWIN_C_SOURCE // for strdup(), strtok_r(), memset_pattern4()
+#endif
+
#include "command.h"
#include "config.h"