diff --git a/404.html b/404.html index 8c78de6bc..ac5303121 100644 --- a/404.html +++ b/404.html @@ -9,7 +9,7 @@ - + @@ -19,7 +19,7 @@
- + \ No newline at end of file diff --git a/assets/app.DFDQc4hj.js b/assets/app.CRbN0ljs.js similarity index 95% rename from assets/app.DFDQc4hj.js rename to assets/app.CRbN0ljs.js index 96d3ac867..337e9e1d1 100644 --- a/assets/app.DFDQc4hj.js +++ b/assets/app.CRbN0ljs.js @@ -1 +1 @@ -import{R as p}from"./chunks/theme.Ba_9ZFR7.js";import{S as s,a2 as i,a3 as u,a4 as c,a5 as l,a6 as f,a7 as d,a8 as m,a9 as h,aa as g,ab as A,d as v,u as w,q as y,p as C,ac as P,ad as R,ae as b,af as S}from"./chunks/framework.DCs21iJA.js";function r(e){if(e.extends){const a=r(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const n=r(p),E=v({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=w();return y(()=>{C(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&P(),R(),b(),n.setup&&n.setup(),()=>S(n.Layout)}});async function T(){globalThis.__VITEPRESS__=!0;const e=_(),a=D();a.provide(u,e);const t=c(e.route);return a.provide(l,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),n.enhanceApp&&await n.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function D(){return A(E)}function _(){let e=s;return h(a=>{let t=g(a),o=null;return t&&(e&&(t=t.replace(/\.js$/,".lean.js")),o=import(t)),s&&(e=!1),o},n.NotFound)}s&&T().then(({app:e,router:a,data:t})=>{a.go().then(()=>{i(a.route,t.site),e.mount("#app")})});export{T as createApp}; +import{R as p}from"./chunks/theme.DHgES8c3.js";import{S as s,a2 as i,a3 as u,a4 as c,a5 as l,a6 as f,a7 as d,a8 as m,a9 as h,aa as g,ab as A,d as v,u as w,q as y,p as C,ac as P,ad as R,ae as b,af as S}from"./chunks/framework.DCs21iJA.js";function r(e){if(e.extends){const a=r(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const n=r(p),E=v({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=w();return y(()=>{C(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&P(),R(),b(),n.setup&&n.setup(),()=>S(n.Layout)}});async function T(){globalThis.__VITEPRESS__=!0;const e=_(),a=D();a.provide(u,e);const t=c(e.route);return a.provide(l,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),n.enhanceApp&&await n.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function D(){return A(E)}function _(){let e=s;return h(a=>{let t=g(a),o=null;return t&&(e&&(t=t.replace(/\.js$/,".lean.js")),o=import(t)),s&&(e=!1),o},n.NotFound)}s&&T().then(({app:e,router:a,data:t})=>{a.go().then(()=>{i(a.route,t.site),e.mount("#app")})});export{T as createApp}; diff --git a/assets/changelog.md.DapCavOL.js b/assets/changelog.md.CLeybSg9.js similarity index 99% rename from assets/changelog.md.DapCavOL.js rename to assets/changelog.md.CLeybSg9.js index c017a9f36..b0cde5a22 100644 --- a/assets/changelog.md.DapCavOL.js +++ b/assets/changelog.md.CLeybSg9.js @@ -1 +1 @@ -import{e as r,o as a,a as t,ag as o}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"Changelog","description":"","frontmatter":{},"headers":[],"relativePath":"changelog.md","filePath":"en/changelog.md","lastUpdated":1772158243000}'),i={name:"changelog.md"};function c(l,e,h,n,f,b){return a(),t("div",null,[...e[0]||(e[0]=[o('

Changelog

2.1.4 (2026-01-14)

Miscellaneous Chores

2.1.3 (2026-01-14)

Miscellaneous Chores

2.1.2 (2026-01-14)

Bug Fixes

Miscellaneous Chores

2.1.0 (2026-01-14)

Features

Bug Fixes

Performance Improvements

Code Refactoring

2.0.1 (2026-01-06)

Bug Fixes

2.0.0 (2026-01-05)

Features

Bug Fixes

Performance Improvements

Miscellaneous Chores

Code Refactoring

1.34.2 (2025-12-08)

Performance Improvements

1.34.1 (2025-12-07)

Performance Improvements

1.34.0 (2025-12-07)

Features

Bug Fixes

Performance Improvements

1.33.0 (2025-11-20)

Features

Bug Fixes

Performance Improvements

1.32.2 (2025-09-29)

Performance Improvements

1.32.1 (2025-09-10)

Performance Improvements

1.32.0 (2025-09-08)

Features

Bug Fixes

Performance Improvements

1.31.3 (2025-09-01)

Performance Improvements

1.31.2 (2025-09-01)

Bug Fixes

Performance Improvements

1.31.1 (2025-08-29)

Performance Improvements

1.31.0 (2025-08-29)

Features

Bug Fixes

Performance Improvements

1.30.2 (2025-07-15)

Performance Improvements

1.30.1 (2025-07-14)

Bug Fixes

Performance Improvements

1.30.0 (2025-07-14)

Features

Bug Fixes

Performance Improvements

1.29.9 (2025-06-27)

Performance Improvements

1.29.8 (2025-06-20)

Bug Fixes

1.29.7 (2025-06-16)

Performance Improvements

1.29.6 (2025-04-27)

Performance Improvements

1.29.5 (2025-04-17)

Bug Fixes

1.29.4 (2025-04-17)

Bug Fixes

Performance Improvements

1.29.3 (2025-04-02)

Performance Improvements

1.29.2 (2025-03-31)

Performance Improvements

1.29.1 (2025-03-31)

Performance Improvements

1.29.0 (2025-03-27)

Features

Bug Fixes

Performance Improvements

1.28.7 (2025-02-17)

Bug Fixes

Performance Improvements

1.28.6 (2025-02-05)

Bug Fixes

1.28.5 (2025-02-05)

Performance Improvements

1.28.4 (2025-01-13)

Bug Fixes

Performance Improvements

1.28.3 (2024-12-28)

Performance Improvements

1.28.2 (2024-12-27)

Performance Improvements

1.28.1 (2024-12-20)

Performance Improvements

1.28.0 (2024-12-20)

Features

Bug Fixes

Performance Improvements

1.27.7 (2024-12-10)

Performance Improvements

1.27.6 (2024-12-05)

Bug Fixes

Performance Improvements

1.27.5 (2024-11-29)

Performance Improvements

1.27.4 (2024-11-29)

Bug Fixes

1.27.3 (2024-11-28)

Bug Fixes

Performance Improvements

1.27.2 (2024-11-26)

Bug Fixes

1.27.1 (2024-11-25)

Bug Fixes

Performance Improvements

1.27.0 (2024-11-21)

Features

Performance Improvements

1.26.4 (2024-11-14)

Bug Fixes

1.26.3 (2024-11-08)

Bug Fixes

Performance Improvements

1.26.2 (2024-11-06)

Bug Fixes

1.26.1 (2024-11-06)

Performance Improvements

1.26.0 (2024-11-06)

Features

Bug Fixes

Performance Improvements

1.25.5 (2024-11-05)

Performance Improvements

1.25.4 (2024-10-31)

Performance Improvements

1.25.3 (2024-10-29)

Bug Fixes

Performance Improvements

1.25.2 (2024-10-29)

Bug Fixes

1.25.1 (2024-10-28)

Miscellaneous Chores

1.25.0 (2024-10-28)

Features

Performance Improvements

1.24.3 (2024-10-21)

Performance Improvements

1.24.2 (2024-09-16)

Bug Fixes

1.24.1 (2024-09-16)

Performance Improvements

1.24.0 (2024-09-12)

Features

Performance Improvements

1.23.6 (2024-09-09)

Bug Fixes

1.23.5 (2024-09-09)

Performance Improvements

1.23.4 (2024-09-08)

Bug Fixes

1.23.3 (2024-09-08)

Performance Improvements

1.23.2 (2024-09-07)

Performance Improvements

1.23.1 (2024-09-07)

Performance Improvements

1.23.0 (2024-09-07)

Features

Performance Improvements

1.22.4 (2024-08-03)

Bug Fixes

Performance Improvements

1.22.3 (2024-08-03)

Performance Improvements

1.22.2 (2024-07-25)

Performance Improvements

1.22.1 (2024-07-25)

Bug Fixes

1.22.0 (2024-07-25)

Features

Bug Fixes

Performance Improvements

1.21.4 (2024-07-14)

Performance Improvements

1.21.3 (2024-07-13)

Bug Fixes

1.21.2 (2024-07-13)

Bug Fixes

Performance Improvements

1.21.1 (2024-07-13)

Bug Fixes

1.21.0 (2024-07-13)

Features

Bug Fixes

Performance Improvements

1.20.1 (2024-07-04)

Bug Fixes

1.20.0 (2024-07-04)

Features

Performance Improvements

1.19.4 (2024-07-02)

Bug Fixes

Performance Improvements

1.19.3 (2024-06-13)

Bug Fixes

1.19.2 (2024-06-03)

Bug Fixes

1.19.1 (2024-05-26)

Bug Fixes

Performance Improvements

1.19.0 (2024-05-15)

Features

Bug Fixes

Performance Improvements

1.18.4 (2024-05-04)

Bug Fixes

1.18.3 (2024-04-12)

Performance Improvements

1.18.2 (2024-04-11)

Bug Fixes

1.18.1 (2024-04-11)

Bug Fixes

Performance Improvements

1.18.0 (2024-04-11)

Features

1.17.8 (2024-03-29)

Bug Fixes

1.17.7 (2024-03-27)

Bug Fixes

Performance Improvements

1.17.6 (2024-03-21)

Performance Improvements

1.17.5 (2024-03-17)

Performance Improvements

1.17.4 (2024-03-14)

Performance Improvements

1.17.3 (2024-03-13)

Performance Improvements

1.17.2 (2024-03-10)

Bug Fixes

Performance Improvements

1.17.1 (2024-03-05)

Performance Improvements

1.17.0 (2024-03-04)

Features

1.16.8 (2023-12-27)

Bug Fixes

1.16.7 (2023-12-19)

Performance Improvements

1.16.6 (2023-12-19)

Miscellaneous Chores

1.16.5 (2023-12-19)

Performance Improvements

1.16.4 (2023-12-19)

Bug Fixes

1.16.3 (2023-12-03)

Performance Improvements

1.16.2 (2023-12-02)

Bug Fixes

1.16.1 (2023-11-26)

Bug Fixes

1.16.0 (2023-11-26)

Performance Improvements

Miscellaneous Chores

1.15.0 (2023-11-18)

Features

Performance Improvements

1.14.3 (2023-11-17)

Performance Improvements

1.14.2 (2023-11-16)

Performance Improvements

1.14.1 (2023-11-14)

Bug Fixes

1.14.0 (2023-11-14)

Features

Performance Improvements

1.13.5 (2023-11-11)

Performance Improvements

1.13.4 (2023-11-10)

Performance Improvements

1.13.3 (2023-11-10)

Bug Fixes

Performance Improvements

1.13.2 (2023-11-09)

Bug Fixes

Performance Improvements

1.13.1 (2023-11-08)

Performance Improvements

1.13.0 (2023-11-07)

Features

Bug Fixes

Performance Improvements

1.12.4 (2023-11-03)

Bug Fixes

1.12.3 (2023-11-03)

Bug Fixes

1.12.2 (2023-11-03)

Bug Fixes

1.12.1 (2023-11-03)

Bug Fixes

Performance Improvements

1.12.0 (2023-11-02)

Features

Bug Fixes

Performance Improvements

1.11.9 (2023-10-31)

Performance Improvements

1.11.8 (2023-10-31)

Bug Fixes

1.11.7 (2023-10-31)

Bug Fixes

1.11.6 (2023-10-31)

Bug Fixes

1.11.5 (2023-10-31)

Bug Fixes

1.11.4 (2023-10-31)

Bug Fixes

1.11.3 (2023-10-31)

Bug Fixes

1.11.2 (2023-10-30)

Bug Fixes

1.11.1 (2023-10-30)

Bug Fixes

1.11.0 (2023-10-30)

Features

Bug Fixes

Performance Improvements

1.10.2 (2023-10-28)

Bug Fixes

1.10.1 (2023-10-28)

Bug Fixes

1.10.0 (2023-10-27)

Features

Bug Fixes

Performance Improvements

1.9.1 (2023-10-24)

Performance Improvements

1.9.0 (2023-10-24)

Features

Bug Fixes

1.8.17 (2023-10-23)

Bug Fixes

1.8.16 (2023-10-23)

Performance Improvements

1.8.15 (2023-10-22)

Bug Fixes

1.8.14 (2023-10-21)

Bug Fixes

1.8.13 (2023-10-21)

Performance Improvements

1.8.12 (2023-10-21)

Bug Fixes

1.8.11 (2023-10-21)

Performance Improvements

1.8.10 (2023-10-20)

Bug Fixes

1.8.9 (2023-10-20)

Bug Fixes

1.8.8 (2023-10-20)

Bug Fixes

1.8.7 (2023-10-20)

Bug Fixes

1.8.6 (2023-10-20)

Bug Fixes

1.8.5 (2023-10-20)

Bug Fixes

1.8.4 (2023-10-20)

Bug Fixes

1.8.3 (2023-10-20)

Bug Fixes

1.8.2 (2023-10-20)

Bug Fixes

1.8.1 (2023-10-20)

Performance Improvements

1.8.0 (2023-10-20)

Features

Bug Fixes

Performance Improvements

1.7.1 (2023-10-20)

Bug Fixes

Performance Improvements

1.7.0 (2023-10-19)

Features

Performance Improvements

1.6.10 (2023-10-18)

Performance Improvements

1.6.9 (2023-10-17)

Bug Fixes

1.6.8 (2023-10-17)

Performance Improvements

1.6.7 (2023-10-17)

Performance Improvements

1.6.6 (2023-10-17)

Bug Fixes

1.6.5 (2023-10-16)

Bug Fixes

1.6.4 (2023-10-16)

Bug Fixes

1.6.3 (2023-10-16)

Bug Fixes

1.6.2 (2023-10-13)

Bug Fixes

1.6.1 (2023-10-13)

Performance Improvements

1.6.0 (2023-10-13)

Features

1.5.3 (2023-10-13)

Bug Fixes

1.5.2 (2023-10-13)

Bug Fixes

Performance Improvements

1.5.1 (2023-10-12)

Bug Fixes

1.5.0 (2023-10-12)

Features

1.4.1 (2023-10-12)

Bug Fixes

1.4.0 (2023-10-11)

Features

Bug Fixes

1.3.3 (2023-09-26)

Bug Fixes

1.3.2 (2023-09-19)

Bug Fixes

1.3.1 (2023-09-19)

Bug Fixes

1.3.0 (2023-09-19)

Features

1.2.0 (2023-09-19)

Features

1.1.0 (2023-09-18)

Features

1.0.2 (2023-09-18)

Performance Improvements

1.0.1 (2023-09-16)

Bug Fixes

1.0.0 (2023-09-16)

Features

Bug Fixes

',704)])])}const d=r(i,[["render",c]]);export{m as __pageData,d as default}; +import{e as r,o as a,a as t,ag as o}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"Changelog","description":"","frontmatter":{},"headers":[],"relativePath":"changelog.md","filePath":"en/changelog.md","lastUpdated":1772158834000}'),i={name:"changelog.md"};function c(l,e,h,n,f,b){return a(),t("div",null,[...e[0]||(e[0]=[o('

Changelog

2.1.4 (2026-01-14)

Miscellaneous Chores

2.1.3 (2026-01-14)

Miscellaneous Chores

2.1.2 (2026-01-14)

Bug Fixes

Miscellaneous Chores

2.1.0 (2026-01-14)

Features

Bug Fixes

Performance Improvements

Code Refactoring

2.0.1 (2026-01-06)

Bug Fixes

2.0.0 (2026-01-05)

Features

Bug Fixes

Performance Improvements

Miscellaneous Chores

Code Refactoring

1.34.2 (2025-12-08)

Performance Improvements

1.34.1 (2025-12-07)

Performance Improvements

1.34.0 (2025-12-07)

Features

Bug Fixes

Performance Improvements

1.33.0 (2025-11-20)

Features

Bug Fixes

Performance Improvements

1.32.2 (2025-09-29)

Performance Improvements

1.32.1 (2025-09-10)

Performance Improvements

1.32.0 (2025-09-08)

Features

Bug Fixes

Performance Improvements

1.31.3 (2025-09-01)

Performance Improvements

1.31.2 (2025-09-01)

Bug Fixes

Performance Improvements

1.31.1 (2025-08-29)

Performance Improvements

1.31.0 (2025-08-29)

Features

Bug Fixes

Performance Improvements

1.30.2 (2025-07-15)

Performance Improvements

1.30.1 (2025-07-14)

Bug Fixes

Performance Improvements

1.30.0 (2025-07-14)

Features

Bug Fixes

Performance Improvements

1.29.9 (2025-06-27)

Performance Improvements

1.29.8 (2025-06-20)

Bug Fixes

1.29.7 (2025-06-16)

Performance Improvements

1.29.6 (2025-04-27)

Performance Improvements

1.29.5 (2025-04-17)

Bug Fixes

1.29.4 (2025-04-17)

Bug Fixes

Performance Improvements

1.29.3 (2025-04-02)

Performance Improvements

1.29.2 (2025-03-31)

Performance Improvements

1.29.1 (2025-03-31)

Performance Improvements

1.29.0 (2025-03-27)

Features

Bug Fixes

Performance Improvements

1.28.7 (2025-02-17)

Bug Fixes

Performance Improvements

1.28.6 (2025-02-05)

Bug Fixes

1.28.5 (2025-02-05)

Performance Improvements

1.28.4 (2025-01-13)

Bug Fixes

Performance Improvements

1.28.3 (2024-12-28)

Performance Improvements

1.28.2 (2024-12-27)

Performance Improvements

1.28.1 (2024-12-20)

Performance Improvements

1.28.0 (2024-12-20)

Features

Bug Fixes

Performance Improvements

1.27.7 (2024-12-10)

Performance Improvements

1.27.6 (2024-12-05)

Bug Fixes

Performance Improvements

1.27.5 (2024-11-29)

Performance Improvements

1.27.4 (2024-11-29)

Bug Fixes

1.27.3 (2024-11-28)

Bug Fixes

Performance Improvements

1.27.2 (2024-11-26)

Bug Fixes

1.27.1 (2024-11-25)

Bug Fixes

Performance Improvements

1.27.0 (2024-11-21)

Features

Performance Improvements

1.26.4 (2024-11-14)

Bug Fixes

1.26.3 (2024-11-08)

Bug Fixes

Performance Improvements

1.26.2 (2024-11-06)

Bug Fixes

1.26.1 (2024-11-06)

Performance Improvements

1.26.0 (2024-11-06)

Features

Bug Fixes

Performance Improvements

1.25.5 (2024-11-05)

Performance Improvements

1.25.4 (2024-10-31)

Performance Improvements

1.25.3 (2024-10-29)

Bug Fixes

Performance Improvements

1.25.2 (2024-10-29)

Bug Fixes

1.25.1 (2024-10-28)

Miscellaneous Chores

1.25.0 (2024-10-28)

Features

Performance Improvements

1.24.3 (2024-10-21)

Performance Improvements

1.24.2 (2024-09-16)

Bug Fixes

1.24.1 (2024-09-16)

Performance Improvements

1.24.0 (2024-09-12)

Features

Performance Improvements

1.23.6 (2024-09-09)

Bug Fixes

1.23.5 (2024-09-09)

Performance Improvements

1.23.4 (2024-09-08)

Bug Fixes

1.23.3 (2024-09-08)

Performance Improvements

1.23.2 (2024-09-07)

Performance Improvements

1.23.1 (2024-09-07)

Performance Improvements

1.23.0 (2024-09-07)

Features

Performance Improvements

1.22.4 (2024-08-03)

Bug Fixes

Performance Improvements

1.22.3 (2024-08-03)

Performance Improvements

1.22.2 (2024-07-25)

Performance Improvements

1.22.1 (2024-07-25)

Bug Fixes

1.22.0 (2024-07-25)

Features

Bug Fixes

Performance Improvements

1.21.4 (2024-07-14)

Performance Improvements

1.21.3 (2024-07-13)

Bug Fixes

1.21.2 (2024-07-13)

Bug Fixes

Performance Improvements

1.21.1 (2024-07-13)

Bug Fixes

1.21.0 (2024-07-13)

Features

Bug Fixes

Performance Improvements

1.20.1 (2024-07-04)

Bug Fixes

1.20.0 (2024-07-04)

Features

Performance Improvements

1.19.4 (2024-07-02)

Bug Fixes

Performance Improvements

1.19.3 (2024-06-13)

Bug Fixes

1.19.2 (2024-06-03)

Bug Fixes

1.19.1 (2024-05-26)

Bug Fixes

Performance Improvements

1.19.0 (2024-05-15)

Features

Bug Fixes

Performance Improvements

1.18.4 (2024-05-04)

Bug Fixes

1.18.3 (2024-04-12)

Performance Improvements

1.18.2 (2024-04-11)

Bug Fixes

1.18.1 (2024-04-11)

Bug Fixes

Performance Improvements

1.18.0 (2024-04-11)

Features

1.17.8 (2024-03-29)

Bug Fixes

1.17.7 (2024-03-27)

Bug Fixes

Performance Improvements

1.17.6 (2024-03-21)

Performance Improvements

1.17.5 (2024-03-17)

Performance Improvements

1.17.4 (2024-03-14)

Performance Improvements

1.17.3 (2024-03-13)

Performance Improvements

1.17.2 (2024-03-10)

Bug Fixes

Performance Improvements

1.17.1 (2024-03-05)

Performance Improvements

1.17.0 (2024-03-04)

Features

1.16.8 (2023-12-27)

Bug Fixes

1.16.7 (2023-12-19)

Performance Improvements

1.16.6 (2023-12-19)

Miscellaneous Chores

1.16.5 (2023-12-19)

Performance Improvements

1.16.4 (2023-12-19)

Bug Fixes

1.16.3 (2023-12-03)

Performance Improvements

1.16.2 (2023-12-02)

Bug Fixes

1.16.1 (2023-11-26)

Bug Fixes

1.16.0 (2023-11-26)

Performance Improvements

Miscellaneous Chores

1.15.0 (2023-11-18)

Features

Performance Improvements

1.14.3 (2023-11-17)

Performance Improvements

1.14.2 (2023-11-16)

Performance Improvements

1.14.1 (2023-11-14)

Bug Fixes

1.14.0 (2023-11-14)

Features

Performance Improvements

1.13.5 (2023-11-11)

Performance Improvements

1.13.4 (2023-11-10)

Performance Improvements

1.13.3 (2023-11-10)

Bug Fixes

Performance Improvements

1.13.2 (2023-11-09)

Bug Fixes

Performance Improvements

1.13.1 (2023-11-08)

Performance Improvements

1.13.0 (2023-11-07)

Features

Bug Fixes

Performance Improvements

1.12.4 (2023-11-03)

Bug Fixes

1.12.3 (2023-11-03)

Bug Fixes

1.12.2 (2023-11-03)

Bug Fixes

1.12.1 (2023-11-03)

Bug Fixes

Performance Improvements

1.12.0 (2023-11-02)

Features

Bug Fixes

Performance Improvements

1.11.9 (2023-10-31)

Performance Improvements

1.11.8 (2023-10-31)

Bug Fixes

1.11.7 (2023-10-31)

Bug Fixes

1.11.6 (2023-10-31)

Bug Fixes

1.11.5 (2023-10-31)

Bug Fixes

1.11.4 (2023-10-31)

Bug Fixes

1.11.3 (2023-10-31)

Bug Fixes

1.11.2 (2023-10-30)

Bug Fixes

1.11.1 (2023-10-30)

Bug Fixes

1.11.0 (2023-10-30)

Features

Bug Fixes

Performance Improvements

1.10.2 (2023-10-28)

Bug Fixes

1.10.1 (2023-10-28)

Bug Fixes

1.10.0 (2023-10-27)

Features

Bug Fixes

Performance Improvements

1.9.1 (2023-10-24)

Performance Improvements

1.9.0 (2023-10-24)

Features

Bug Fixes

1.8.17 (2023-10-23)

Bug Fixes

1.8.16 (2023-10-23)

Performance Improvements

1.8.15 (2023-10-22)

Bug Fixes

1.8.14 (2023-10-21)

Bug Fixes

1.8.13 (2023-10-21)

Performance Improvements

1.8.12 (2023-10-21)

Bug Fixes

1.8.11 (2023-10-21)

Performance Improvements

1.8.10 (2023-10-20)

Bug Fixes

1.8.9 (2023-10-20)

Bug Fixes

1.8.8 (2023-10-20)

Bug Fixes

1.8.7 (2023-10-20)

Bug Fixes

1.8.6 (2023-10-20)

Bug Fixes

1.8.5 (2023-10-20)

Bug Fixes

1.8.4 (2023-10-20)

Bug Fixes

1.8.3 (2023-10-20)

Bug Fixes

1.8.2 (2023-10-20)

Bug Fixes

1.8.1 (2023-10-20)

Performance Improvements

1.8.0 (2023-10-20)

Features

Bug Fixes

Performance Improvements

1.7.1 (2023-10-20)

Bug Fixes

Performance Improvements

1.7.0 (2023-10-19)

Features

Performance Improvements

1.6.10 (2023-10-18)

Performance Improvements

1.6.9 (2023-10-17)

Bug Fixes

1.6.8 (2023-10-17)

Performance Improvements

1.6.7 (2023-10-17)

Performance Improvements

1.6.6 (2023-10-17)

Bug Fixes

1.6.5 (2023-10-16)

Bug Fixes

1.6.4 (2023-10-16)

Bug Fixes

1.6.3 (2023-10-16)

Bug Fixes

1.6.2 (2023-10-13)

Bug Fixes

1.6.1 (2023-10-13)

Performance Improvements

1.6.0 (2023-10-13)

Features

1.5.3 (2023-10-13)

Bug Fixes

1.5.2 (2023-10-13)

Bug Fixes

Performance Improvements

1.5.1 (2023-10-12)

Bug Fixes

1.5.0 (2023-10-12)

Features

1.4.1 (2023-10-12)

Bug Fixes

1.4.0 (2023-10-11)

Features

Bug Fixes

1.3.3 (2023-09-26)

Bug Fixes

1.3.2 (2023-09-19)

Bug Fixes

1.3.1 (2023-09-19)

Bug Fixes

1.3.0 (2023-09-19)

Features

1.2.0 (2023-09-19)

Features

1.1.0 (2023-09-18)

Features

1.0.2 (2023-09-18)

Performance Improvements

1.0.1 (2023-09-16)

Bug Fixes

1.0.0 (2023-09-16)

Features

Bug Fixes

',704)])])}const d=r(i,[["render",c]]);export{m as __pageData,d as default}; diff --git a/assets/changelog.md.DapCavOL.lean.js b/assets/changelog.md.CLeybSg9.lean.js similarity index 84% rename from assets/changelog.md.DapCavOL.lean.js rename to assets/changelog.md.CLeybSg9.lean.js index 4152253d5..84ede9812 100644 --- a/assets/changelog.md.DapCavOL.lean.js +++ b/assets/changelog.md.CLeybSg9.lean.js @@ -1 +1 @@ -import{e as r,o as a,a as t,ag as o}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"Changelog","description":"","frontmatter":{},"headers":[],"relativePath":"changelog.md","filePath":"en/changelog.md","lastUpdated":1772158243000}'),i={name:"changelog.md"};function c(l,e,h,n,f,b){return a(),t("div",null,[...e[0]||(e[0]=[o("",704)])])}const d=r(i,[["render",c]]);export{m as __pageData,d as default}; +import{e as r,o as a,a as t,ag as o}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"Changelog","description":"","frontmatter":{},"headers":[],"relativePath":"changelog.md","filePath":"en/changelog.md","lastUpdated":1772158834000}'),i={name:"changelog.md"};function c(l,e,h,n,f,b){return a(),t("div",null,[...e[0]||(e[0]=[o("",704)])])}const d=r(i,[["render",c]]);export{m as __pageData,d as default}; diff --git a/assets/chunks/@localSearchIndexroot.H97aHQ6p.js b/assets/chunks/@localSearchIndexroot.DFYGs6CU.js similarity index 53% rename from assets/chunks/@localSearchIndexroot.H97aHQ6p.js rename to assets/chunks/@localSearchIndexroot.DFYGs6CU.js index 59b3c89b9..2a25aeed7 100644 --- a/assets/chunks/@localSearchIndexroot.H97aHQ6p.js +++ b/assets/chunks/@localSearchIndexroot.DFYGs6CU.js @@ -1 +1 @@ -const e='{"documentCount":557,"nextId":557,"documentIds":{"0":"/changelog#changelog","1":"/changelog#miscellaneous-chores","2":"/changelog#miscellaneous-chores-1","3":"/changelog#bug-fixes","4":"/changelog#miscellaneous-chores-2","5":"/changelog#features","6":"/changelog#bug-fixes-1","7":"/changelog#performance-improvements","8":"/changelog#code-refactoring","9":"/changelog#bug-fixes-2","10":"/changelog#features-1","11":"/changelog#bug-fixes-3","12":"/changelog#performance-improvements-1","13":"/changelog#miscellaneous-chores-3","14":"/changelog#code-refactoring-1","15":"/changelog#performance-improvements-2","16":"/changelog#performance-improvements-3","17":"/changelog#features-2","18":"/changelog#bug-fixes-4","19":"/changelog#performance-improvements-4","20":"/changelog#features-3","21":"/changelog#bug-fixes-5","22":"/changelog#performance-improvements-5","23":"/changelog#performance-improvements-6","24":"/changelog#performance-improvements-7","25":"/changelog#features-4","26":"/changelog#bug-fixes-6","27":"/changelog#performance-improvements-8","28":"/changelog#performance-improvements-9","29":"/changelog#bug-fixes-7","30":"/changelog#performance-improvements-10","31":"/changelog#performance-improvements-11","32":"/changelog#features-5","33":"/changelog#bug-fixes-8","34":"/changelog#performance-improvements-12","35":"/changelog#performance-improvements-13","36":"/changelog#bug-fixes-9","37":"/changelog#performance-improvements-14","38":"/changelog#features-6","39":"/changelog#bug-fixes-10","40":"/changelog#performance-improvements-15","41":"/changelog#performance-improvements-16","42":"/changelog#bug-fixes-11","43":"/changelog#performance-improvements-17","44":"/changelog#performance-improvements-18","45":"/changelog#bug-fixes-12","46":"/changelog#bug-fixes-13","47":"/changelog#performance-improvements-19","48":"/changelog#performance-improvements-20","49":"/changelog#performance-improvements-21","50":"/changelog#performance-improvements-22","51":"/changelog#features-7","52":"/changelog#bug-fixes-14","53":"/changelog#performance-improvements-23","54":"/changelog#bug-fixes-15","55":"/changelog#performance-improvements-24","56":"/changelog#bug-fixes-16","57":"/changelog#performance-improvements-25","58":"/changelog#bug-fixes-17","59":"/changelog#performance-improvements-26","60":"/changelog#performance-improvements-27","61":"/changelog#performance-improvements-28","62":"/changelog#performance-improvements-29","63":"/changelog#features-8","64":"/changelog#bug-fixes-18","65":"/changelog#performance-improvements-30","66":"/changelog#performance-improvements-31","67":"/changelog#bug-fixes-19","68":"/changelog#performance-improvements-32","69":"/changelog#performance-improvements-33","70":"/changelog#bug-fixes-20","71":"/changelog#bug-fixes-21","72":"/changelog#performance-improvements-34","73":"/changelog#bug-fixes-22","74":"/changelog#bug-fixes-23","75":"/changelog#performance-improvements-35","76":"/changelog#features-9","77":"/changelog#performance-improvements-36","78":"/changelog#bug-fixes-24","79":"/changelog#bug-fixes-25","80":"/changelog#performance-improvements-37","81":"/changelog#bug-fixes-26","82":"/changelog#performance-improvements-38","83":"/changelog#features-10","84":"/changelog#bug-fixes-27","85":"/changelog#performance-improvements-39","86":"/changelog#performance-improvements-40","87":"/changelog#performance-improvements-41","88":"/changelog#bug-fixes-28","89":"/changelog#performance-improvements-42","90":"/changelog#bug-fixes-29","91":"/changelog#miscellaneous-chores-4","92":"/changelog#features-11","93":"/changelog#performance-improvements-43","94":"/changelog#performance-improvements-44","95":"/changelog#bug-fixes-30","96":"/changelog#performance-improvements-45","97":"/changelog#features-12","98":"/changelog#performance-improvements-46","99":"/changelog#bug-fixes-31","100":"/changelog#performance-improvements-47","101":"/changelog#bug-fixes-32","102":"/changelog#performance-improvements-48","103":"/changelog#performance-improvements-49","104":"/changelog#performance-improvements-50","105":"/changelog#features-13","106":"/changelog#performance-improvements-51","107":"/changelog#bug-fixes-33","108":"/changelog#performance-improvements-52","109":"/changelog#performance-improvements-53","110":"/changelog#performance-improvements-54","111":"/changelog#bug-fixes-34","112":"/changelog#features-14","113":"/changelog#bug-fixes-35","114":"/changelog#performance-improvements-55","115":"/changelog#performance-improvements-56","116":"/changelog#bug-fixes-36","117":"/changelog#bug-fixes-37","118":"/changelog#performance-improvements-57","119":"/changelog#bug-fixes-38","120":"/changelog#features-15","121":"/changelog#bug-fixes-39","122":"/changelog#performance-improvements-58","123":"/changelog#bug-fixes-40","124":"/changelog#features-16","125":"/changelog#performance-improvements-59","126":"/changelog#bug-fixes-41","127":"/changelog#performance-improvements-60","128":"/changelog#bug-fixes-42","129":"/changelog#bug-fixes-43","130":"/changelog#bug-fixes-44","131":"/changelog#performance-improvements-61","132":"/changelog#features-17","133":"/changelog#bug-fixes-45","134":"/changelog#performance-improvements-62","135":"/changelog#bug-fixes-46","136":"/changelog#performance-improvements-63","137":"/changelog#bug-fixes-47","138":"/changelog#bug-fixes-48","139":"/changelog#performance-improvements-64","140":"/changelog#features-18","141":"/changelog#bug-fixes-49","142":"/changelog#bug-fixes-50","143":"/changelog#performance-improvements-65","144":"/changelog#performance-improvements-66","145":"/changelog#performance-improvements-67","146":"/changelog#performance-improvements-68","147":"/changelog#performance-improvements-69","148":"/changelog#bug-fixes-51","149":"/changelog#performance-improvements-70","150":"/changelog#performance-improvements-71","151":"/changelog#features-19","152":"/changelog#bug-fixes-52","153":"/changelog#performance-improvements-72","154":"/changelog#miscellaneous-chores-5","155":"/changelog#performance-improvements-73","156":"/changelog#bug-fixes-53","157":"/changelog#performance-improvements-74","158":"/changelog#bug-fixes-54","159":"/changelog#bug-fixes-55","160":"/changelog#performance-improvements-75","161":"/changelog#miscellaneous-chores-6","162":"/changelog#features-20","163":"/changelog#performance-improvements-76","164":"/changelog#performance-improvements-77","165":"/changelog#performance-improvements-78","166":"/changelog#bug-fixes-56","167":"/changelog#features-21","168":"/changelog#performance-improvements-79","169":"/changelog#performance-improvements-80","170":"/changelog#performance-improvements-81","171":"/changelog#bug-fixes-57","172":"/changelog#performance-improvements-82","173":"/changelog#bug-fixes-58","174":"/changelog#performance-improvements-83","175":"/changelog#performance-improvements-84","176":"/changelog#features-22","177":"/changelog#bug-fixes-59","178":"/changelog#performance-improvements-85","179":"/changelog#bug-fixes-60","180":"/changelog#bug-fixes-61","181":"/changelog#bug-fixes-62","182":"/changelog#bug-fixes-63","183":"/changelog#performance-improvements-86","184":"/changelog#features-23","185":"/changelog#bug-fixes-64","186":"/changelog#performance-improvements-87","187":"/changelog#performance-improvements-88","188":"/changelog#bug-fixes-65","189":"/changelog#bug-fixes-66","190":"/changelog#bug-fixes-67","191":"/changelog#bug-fixes-68","192":"/changelog#bug-fixes-69","193":"/changelog#bug-fixes-70","194":"/changelog#bug-fixes-71","195":"/changelog#bug-fixes-72","196":"/changelog#features-24","197":"/changelog#bug-fixes-73","198":"/changelog#performance-improvements-89","199":"/changelog#bug-fixes-74","200":"/changelog#bug-fixes-75","201":"/changelog#features-25","202":"/changelog#bug-fixes-76","203":"/changelog#performance-improvements-90","204":"/changelog#performance-improvements-91","205":"/changelog#features-26","206":"/changelog#bug-fixes-77","207":"/changelog#bug-fixes-78","208":"/changelog#performance-improvements-92","209":"/changelog#bug-fixes-79","210":"/changelog#bug-fixes-80","211":"/changelog#performance-improvements-93","212":"/changelog#bug-fixes-81","213":"/changelog#performance-improvements-94","214":"/changelog#bug-fixes-82","215":"/changelog#bug-fixes-83","216":"/changelog#bug-fixes-84","217":"/changelog#bug-fixes-85","218":"/changelog#bug-fixes-86","219":"/changelog#bug-fixes-87","220":"/changelog#bug-fixes-88","221":"/changelog#bug-fixes-89","222":"/changelog#bug-fixes-90","223":"/changelog#performance-improvements-95","224":"/changelog#features-27","225":"/changelog#bug-fixes-91","226":"/changelog#performance-improvements-96","227":"/changelog#bug-fixes-92","228":"/changelog#performance-improvements-97","229":"/changelog#features-28","230":"/changelog#performance-improvements-98","231":"/changelog#performance-improvements-99","232":"/changelog#bug-fixes-93","233":"/changelog#performance-improvements-100","234":"/changelog#performance-improvements-101","235":"/changelog#bug-fixes-94","236":"/changelog#bug-fixes-95","237":"/changelog#bug-fixes-96","238":"/changelog#bug-fixes-97","239":"/changelog#bug-fixes-98","240":"/changelog#performance-improvements-102","241":"/changelog#features-29","242":"/changelog#bug-fixes-99","243":"/changelog#bug-fixes-100","244":"/changelog#performance-improvements-103","245":"/changelog#bug-fixes-101","246":"/changelog#features-30","247":"/changelog#bug-fixes-102","248":"/changelog#features-31","249":"/changelog#bug-fixes-103","250":"/changelog#bug-fixes-104","251":"/changelog#bug-fixes-105","252":"/changelog#bug-fixes-106","253":"/changelog#features-32","254":"/changelog#features-33","255":"/changelog#features-34","256":"/changelog#performance-improvements-104","257":"/changelog#bug-fixes-107","258":"/changelog#_1-0-0-2023-09-16","259":"/changelog#features-35","260":"/changelog#bug-fixes-108","261":"/donate#donate-project-♥️","262":"/guide/#escrcpy-a-graphical-android-device-control-tool-based-on-electron","263":"/guide/#what-is-escrcpy","264":"/guide/#core-features","265":"/guide/#efficient-and-stable-screen-mirroring","266":"/guide/#rich-functional-features","267":"/guide/#optimized-user-experience","268":"/guide/#use-cases","269":"/guide/#cross-platform-support","270":"/guide/#technical-advantages","271":"/guide/#future-development","272":"/guide/#how-to-use","273":"/guide/#conclusion","274":"/guide/operation#device-operation","275":"/guide/operation#batch-processing","276":"/guide/operation#control-model","277":"/guide/operation#device-interaction-bar","278":"/guide/milestones#milestones","279":"/guide/preferences#preferences","280":"/guide/preferences#general","281":"/guide/preferences#video-control","282":"/guide/preferences#device-control","283":"/guide/preferences#window-control","284":"/guide/preferences#audio-control","285":"/guide/preferences#audio-video-recording","286":"/guide/preferences#input-control","287":"/guide/preferences#camera-control","288":"/guide/started#quick-start","289":"/guide/started#installation","290":"/guide/started#manual-installation-via-released-packages","291":"/guide/started#macos-can-be-installed-via-homebrew","292":"/guide/started#usb-connection","293":"/guide/started#wifi-connection","294":"/guide/started#scan-qr-code-to-connect","295":"/guide/started#connect-via-ip-address","296":"/guide/started#macos-linux","297":"/guide/started#gnirehtet-reverse-tethering","298":"/guide/window-arrangement#device-window-arrangement-feature-guide","299":"/guide/window-arrangement#feature-overview","300":"/guide/window-arrangement#core-components","301":"/guide/window-arrangement#global-configuration-component","302":"/guide/window-arrangement#device-window-component","303":"/guide/window-arrangement#detailed-operation-guide","304":"/guide/window-arrangement#starting-window-arrangement","305":"/guide/window-arrangement#adding-and-managing-components","306":"/guide/window-arrangement#adding-global-configuration-component","307":"/guide/window-arrangement#adding-device-window-components","308":"/guide/window-arrangement#window-layout-adjustment","309":"/guide/window-arrangement#moving-window-position","310":"/guide/window-arrangement#adjusting-window-size","311":"/guide/window-arrangement#size-limitation-description","312":"/guide/window-arrangement#layout-management-operations","313":"/guide/window-arrangement#reset-layout","314":"/guide/window-arrangement#clear-all-components","315":"/guide/window-arrangement#delete-individual-component","316":"/guide/window-arrangement#configuration-saving-and-application","317":"/guide/window-arrangement#saving-layout-configuration","318":"/guide/window-arrangement#configuration-storage-mechanism","319":"/guide/window-arrangement#configuration-application-timing","320":"/guide/window-arrangement#troubleshooting","321":"/guide/window-arrangement#common-issues","322":"/help/escrcpy#escrcpy","323":"/help/escrcpy#computer-cannot-detect-device-after-connecting","324":"/help/escrcpy#unable-to-enter-chinese","325":"/help/escrcpy#wireless-connection-prompts-the-target-computer-actively-refuses-access","326":"/help/escrcpy#clicking-wireless-mode-after-connecting-via-data-cable-has-no-response","327":"/help/escrcpy#why-is-the-device-interaction-control-bar-not-designed-as-an-automatically-sticking-floating-menu","328":"/help/escrcpy#some-devices-can-see-screenshots-after-connecting-but-cannot-operate","329":"/help/escrcpy#downloading-prompts-antivirus-detection-causing-unable-to-download-normally","330":"/help/escrcpy#failed-to-get-device-list-or-error-when-starting-mirroring-recording","331":"/help/escrcpy#macos-window-minimized-to-system-tray-icon-not-found","332":"/help/escrcpy#after-a-successful-installation-of-macos-when-i-try-to-open-it-i-receive-a-prompt-saying-the-file-is-damaged","333":"/help/escrcpy#unable-to-locate-the-input-point-discardvirtualmemory-on-the-dynamic-link-library-kernel32-dll","334":"/help/escrcpy#audio-capture-exception-causing-mirroring-failure","335":"/help/escrcpy#microsoft-store-version-mirror-startup-error","336":"/help/escrcpy#could-not-execute-adb-start-server","337":"/help/escrcpy#unable-to-open-after-installation-in-linux-system","338":"/help/escrcpy#black-edges-appear-after-resizing-the-casting-window","339":"/help/scrcpy#scrcpy","340":"/help/scrcpy#adb-and-usb-issues","341":"/help/scrcpy#adb-not-found","342":"/help/scrcpy#device-not-detected","343":"/help/scrcpy#device-unauthorized","344":"/help/scrcpy#several-devices-connected","345":"/help/scrcpy#conflicts-between-adb-versions","346":"/help/scrcpy#device-disconnected","347":"/help/scrcpy#otg-issues-on-windows","348":"/help/scrcpy#control-issues","349":"/help/scrcpy#mouse-and-keyboard-do-not-work","350":"/help/scrcpy#special-characters-do-not-work","351":"/help/scrcpy#client-issues","352":"/help/scrcpy#issue-with-wayland","353":"/help/scrcpy#kwin-compositor-crashes","354":"/help/scrcpy#crashes","355":"/help/scrcpy#exception","356":"/help/#help-center","357":"/reference/gnirehtet/api#gnirehtet-api","358":"/reference/gnirehtet/api#gnirehtet-install-serial","359":"/reference/gnirehtet/api#gnirehtet-uninstall-serial","360":"/reference/gnirehtet/api#gnirehtet-reinstall-serial","361":"/reference/gnirehtet/api#gnirehtet-run-serial-d-dns-dns2-p-port-r-route-route2","362":"/reference/gnirehtet/api#gnirehtet-autorun-d-dns-dns2-p-port-r-route-route2","363":"/reference/gnirehtet/api#gnirehtet-start-serial-d-dns-dns2-p-port-r-route-route2","364":"/reference/gnirehtet/api#gnirehtet-autostart-d-dns-dns2-p-port-r-route-route2","365":"/reference/gnirehtet/api#gnirehtet-stop-serial","366":"/reference/gnirehtet/api#gnirehtet-restart-serial-d-dns-dns2-p-port-r-route-route2","367":"/reference/gnirehtet/api#gnirehtet-tunnel-serial-p-port","368":"/reference/gnirehtet/api#gnirehtet-relay-p-port","369":"/reference/gnirehtet/#gnirehtet-v2-5-1","370":"/reference/gnirehtet/#flavors","371":"/reference/gnirehtet/#which-one-to-choose","372":"/reference/gnirehtet/#requirements","373":"/reference/gnirehtet/#adb","374":"/reference/gnirehtet/#get-the-app","375":"/reference/gnirehtet/#homebrew","376":"/reference/gnirehtet/#download","377":"/reference/gnirehtet/#rust","378":"/reference/gnirehtet/#java","379":"/reference/gnirehtet/#run-simple","380":"/reference/gnirehtet/#run","381":"/reference/gnirehtet/#run-manually","382":"/reference/gnirehtet/#environment-variables","383":"/reference/gnirehtet/#why-gnirehtet","384":"/reference/gnirehtet/#developers","385":"/reference/gnirehtet/#licence","386":"/reference/gnirehtet/#articles","387":"/reference/#reference","388":"/reference/scrcpy/audio#audio","389":"/reference/scrcpy/audio#no-audio","390":"/reference/scrcpy/audio#audio-only","391":"/reference/scrcpy/audio#source","392":"/reference/scrcpy/audio#duplication","393":"/reference/scrcpy/audio#codec","394":"/reference/scrcpy/audio#encoder","395":"/reference/scrcpy/audio#bit-rate","396":"/reference/scrcpy/audio#buffering","397":"/reference/scrcpy/build#build-scrcpy","398":"/reference/scrcpy/build#branches","399":"/reference/scrcpy/build#requirements","400":"/reference/scrcpy/build#system-specific-steps","401":"/reference/scrcpy/build#linux","402":"/reference/scrcpy/build#debian-ubuntu","403":"/reference/scrcpy/build#fedora","404":"/reference/scrcpy/build#windows","405":"/reference/scrcpy/build#cross-compile-from-linux","406":"/reference/scrcpy/build#in-msys2","407":"/reference/scrcpy/build#mac-os","408":"/reference/scrcpy/build#docker","409":"/reference/scrcpy/build#common-steps","410":"/reference/scrcpy/build#build","411":"/reference/scrcpy/build#option-1-build-everything-from-sources","412":"/reference/scrcpy/build#option-2-use-prebuilt-server","413":"/reference/scrcpy/build#run-without-installing","414":"/reference/scrcpy/build#install","415":"/reference/scrcpy/build#uninstall","416":"/reference/scrcpy/camera#camera","417":"/reference/scrcpy/camera#list","418":"/reference/scrcpy/camera#selection","419":"/reference/scrcpy/camera#size-selection","420":"/reference/scrcpy/camera#rotation","421":"/reference/scrcpy/camera#frame-rate","422":"/reference/scrcpy/camera#high-speed-capture","423":"/reference/scrcpy/camera#brace-expansion-tip","424":"/reference/scrcpy/camera#webcam","425":"/reference/scrcpy/connection#connection","426":"/reference/scrcpy/connection#selection","427":"/reference/scrcpy/connection#tcp-ip-wireless","428":"/reference/scrcpy/connection#automatic","429":"/reference/scrcpy/connection#manual","430":"/reference/scrcpy/connection#autostart","431":"/reference/scrcpy/control#control","432":"/reference/scrcpy/control#read-only","433":"/reference/scrcpy/control#keyboard-and-mouse","434":"/reference/scrcpy/control#control-only","435":"/reference/scrcpy/control#copy-paste","436":"/reference/scrcpy/control#pinch-to-zoom-rotate-and-tilt-simulation","437":"/reference/scrcpy/control#file-drop","438":"/reference/scrcpy/control#install-apk","439":"/reference/scrcpy/control#push-file-to-device","440":"/reference/scrcpy/develop#scrcpy-for-developers","441":"/reference/scrcpy/develop#overview","442":"/reference/scrcpy/develop#server","443":"/reference/scrcpy/develop#privileges","444":"/reference/scrcpy/develop#hidden-methods","445":"/reference/scrcpy/develop#execution","446":"/reference/scrcpy/develop#components","447":"/reference/scrcpy/develop#screen-video-encoding","448":"/reference/scrcpy/develop#audio-encoding","449":"/reference/scrcpy/develop#input-events-injection","450":"/reference/scrcpy/develop#client","451":"/reference/scrcpy/develop#initialization","452":"/reference/scrcpy/develop#video-and-audio-streams","453":"/reference/scrcpy/develop#controller","454":"/reference/scrcpy/develop#protocol","455":"/reference/scrcpy/develop#connection","456":"/reference/scrcpy/develop#video-and-audio","457":"/reference/scrcpy/develop#controls","458":"/reference/scrcpy/develop#standalone-server","459":"/reference/scrcpy/develop#hack","460":"/reference/scrcpy/develop#debug-the-server","461":"/reference/scrcpy/device#device","462":"/reference/scrcpy/device#stay-awake","463":"/reference/scrcpy/device#screen-off-timeout","464":"/reference/scrcpy/device#turn-screen-off","465":"/reference/scrcpy/device#show-touches","466":"/reference/scrcpy/device#power-off-on-close","467":"/reference/scrcpy/device#power-on-on-start","468":"/reference/scrcpy/device#start-android-app","469":"/reference/scrcpy/gamepad#gamepad","470":"/reference/scrcpy/gamepad#physical-gamepad-simulation","471":"/reference/scrcpy/gamepad#uhid","472":"/reference/scrcpy/gamepad#aoa","473":"/reference/scrcpy/#scrcpy-v3-2","474":"/reference/scrcpy/#prerequisites","475":"/reference/scrcpy/#get-the-app","476":"/reference/scrcpy/#must-know-tips","477":"/reference/scrcpy/#usage-examples","478":"/reference/scrcpy/#user-documentation","479":"/reference/scrcpy/#resources","480":"/reference/scrcpy/#articles","481":"/reference/scrcpy/#contact","482":"/reference/scrcpy/#donate","483":"/reference/scrcpy/#licence","484":"/reference/scrcpy/keyboard#keyboard","485":"/reference/scrcpy/keyboard#sdk-keyboard","486":"/reference/scrcpy/keyboard#text-injection-preference","487":"/reference/scrcpy/keyboard#key-repeat","488":"/reference/scrcpy/keyboard#physical-keyboard-simulation","489":"/reference/scrcpy/keyboard#uhid","490":"/reference/scrcpy/keyboard#aoa","491":"/reference/scrcpy/linux#on-linux","492":"/reference/scrcpy/linux#install","493":"/reference/scrcpy/linux#from-the-official-release","494":"/reference/scrcpy/linux#from-your-package-manager","495":"/reference/scrcpy/linux#from-an-install-script","496":"/reference/scrcpy/linux#run","497":"/reference/scrcpy/mouse#mouse","498":"/reference/scrcpy/mouse#sdk-mouse","499":"/reference/scrcpy/mouse#mouse-hover","500":"/reference/scrcpy/mouse#physical-mouse-simulation","501":"/reference/scrcpy/mouse#uhid","502":"/reference/scrcpy/mouse#aoa","503":"/reference/scrcpy/mouse#mouse-bindings","504":"/reference/scrcpy/recording#recording","505":"/reference/scrcpy/recording#format","506":"/reference/scrcpy/recording#rotation","507":"/reference/scrcpy/recording#no-playback","508":"/reference/scrcpy/recording#time-limit","509":"/reference/scrcpy/macos#on-macos","510":"/reference/scrcpy/macos#install","511":"/reference/scrcpy/macos#from-the-official-release","512":"/reference/scrcpy/macos#from-a-package-manager","513":"/reference/scrcpy/macos#run","514":"/reference/scrcpy/otg#otg","515":"/reference/scrcpy/otg#otg-issues-on-windows","516":"/reference/scrcpy/otg#control-only","517":"/reference/scrcpy/shortcuts#shortcuts","518":"/reference/scrcpy/tunnels#tunnels","519":"/reference/scrcpy/tunnels#remote-adb-server","520":"/reference/scrcpy/tunnels#ssh-tunnel","521":"/reference/scrcpy/v4l2#video4linux","522":"/reference/scrcpy/v4l2#buffering","523":"/reference/scrcpy/video#video","524":"/reference/scrcpy/video#source","525":"/reference/scrcpy/video#size","526":"/reference/scrcpy/video#bit-rate","527":"/reference/scrcpy/video#frame-rate","528":"/reference/scrcpy/video#codec","529":"/reference/scrcpy/video#encoder","530":"/reference/scrcpy/video#orientation","531":"/reference/scrcpy/video#angle","532":"/reference/scrcpy/video#crop","533":"/reference/scrcpy/video#display","534":"/reference/scrcpy/video#buffering","535":"/reference/scrcpy/video#no-playback","536":"/reference/scrcpy/video#no-video","537":"/reference/scrcpy/video#video4linux","538":"/reference/scrcpy/virtual_display#virtual-display","539":"/reference/scrcpy/virtual_display#new-display","540":"/reference/scrcpy/virtual_display#start-app","541":"/reference/scrcpy/virtual_display#system-decorations","542":"/reference/scrcpy/virtual_display#destroy-on-close","543":"/reference/scrcpy/virtual_display#display-ime-policy","544":"/reference/scrcpy/windows#on-windows","545":"/reference/scrcpy/windows#install","546":"/reference/scrcpy/windows#from-the-official-release","547":"/reference/scrcpy/windows#from-a-package-manager","548":"/reference/scrcpy/windows#run","549":"/reference/scrcpy/window#window","550":"/reference/scrcpy/window#disable-window","551":"/reference/scrcpy/window#title","552":"/reference/scrcpy/window#position-and-size","553":"/reference/scrcpy/window#borderless","554":"/reference/scrcpy/window#always-on-top","555":"/reference/scrcpy/window#fullscreen","556":"/reference/scrcpy/window#disable-screensaver"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[1,1,1],"1":[2,1,14],"2":[2,1,9],"3":[2,1,7],"4":[2,1,43],"5":[1,1,59],"6":[2,1,65],"7":[2,1,14],"8":[2,1,103],"9":[2,1,11],"10":[1,1,154],"11":[2,1,282],"12":[2,1,533],"13":[2,1,8],"14":[2,1,14],"15":[2,1,23],"16":[2,1,7],"17":[1,1,40],"18":[2,1,34],"19":[2,1,59],"20":[1,1,7],"21":[2,1,36],"22":[2,1,23],"23":[2,1,8],"24":[2,1,8],"25":[1,1,21],"26":[2,1,23],"27":[2,1,51],"28":[2,1,10],"29":[2,1,20],"30":[2,1,8],"31":[2,1,7],"32":[1,1,26],"33":[2,1,33],"34":[2,1,78],"35":[2,1,14],"36":[2,1,41],"37":[2,1,14],"38":[1,1,18],"39":[2,1,49],"40":[2,1,45],"41":[2,1,9],"42":[2,1,19],"43":[2,1,8],"44":[2,1,17],"45":[2,1,13],"46":[2,1,16],"47":[2,1,43],"48":[2,1,25],"49":[2,1,23],"50":[2,1,29],"51":[1,1,21],"52":[2,1,23],"53":[2,1,63],"54":[2,1,30],"55":[2,1,26],"56":[2,1,6],"57":[2,1,17],"58":[2,1,18],"59":[2,1,27],"60":[2,1,7],"61":[2,1,20],"62":[2,1,8],"63":[1,1,18],"64":[2,1,13],"65":[2,1,33],"66":[2,1,8],"67":[2,1,7],"68":[2,1,26],"69":[2,1,6],"70":[2,1,16],"71":[2,1,12],"72":[2,1,22],"73":[2,1,9],"74":[2,1,10],"75":[2,1,12],"76":[1,1,7],"77":[2,1,7],"78":[2,1,9],"79":[2,1,23],"80":[2,1,23],"81":[2,1,7],"82":[2,1,10],"83":[1,1,13],"84":[2,1,23],"85":[2,1,22],"86":[2,1,17],"87":[2,1,19],"88":[2,1,10],"89":[2,1,12],"90":[2,1,7],"91":[2,1,5],"92":[1,1,15],"93":[2,1,35],"94":[2,1,7],"95":[2,1,8],"96":[2,1,23],"97":[1,1,7],"98":[2,1,18],"99":[2,1,16],"100":[2,1,7],"101":[2,1,9],"102":[2,1,13],"103":[2,1,11],"104":[2,1,5],"105":[1,1,13],"106":[2,1,5],"107":[2,1,8],"108":[2,1,6],"109":[2,1,9],"110":[2,1,16],"111":[2,1,7],"112":[1,1,16],"113":[2,1,17],"114":[2,1,16],"115":[2,1,11],"116":[2,1,12],"117":[2,1,10],"118":[2,1,12],"119":[2,1,7],"120":[1,1,10],"121":[2,1,16],"122":[2,1,26],"123":[2,1,8],"124":[1,1,8],"125":[2,1,7],"126":[2,1,12],"127":[2,1,8],"128":[2,1,12],"129":[2,1,7],"130":[2,1,17],"131":[2,1,5],"132":[1,1,13],"133":[2,1,9],"134":[2,1,23],"135":[2,1,9],"136":[2,1,5],"137":[2,1,7],"138":[2,1,8],"139":[2,1,5],"140":[1,1,10],"141":[2,1,15],"142":[2,1,7],"143":[2,1,16],"144":[2,1,10],"145":[2,1,5],"146":[2,1,8],"147":[2,1,6],"148":[2,1,9],"149":[2,1,6],"150":[2,1,24],"151":[1,1,8],"152":[2,1,8],"153":[2,1,5],"154":[2,1,6],"155":[2,1,7],"156":[2,1,7],"157":[2,1,8],"158":[2,1,6],"159":[2,1,6],"160":[2,1,16],"161":[2,1,6],"162":[1,1,3],"163":[2,1,7],"164":[2,1,16],"165":[2,1,11],"166":[2,1,6],"167":[1,1,6],"168":[2,1,15],"169":[2,1,10],"170":[2,1,9],"171":[2,1,9],"172":[2,1,22],"173":[2,1,9],"174":[2,1,26],"175":[2,1,15],"176":[1,1,7],"177":[2,1,5],"178":[2,1,23],"179":[2,1,10],"180":[2,1,10],"181":[2,1,6],"182":[2,1,33],"183":[2,1,13],"184":[1,1,8],"185":[2,1,5],"186":[2,1,23],"187":[2,1,11],"188":[2,1,7],"189":[2,1,6],"190":[2,1,6],"191":[2,1,6],"192":[2,1,6],"193":[2,1,10],"194":[2,1,6],"195":[2,1,6],"196":[1,1,8],"197":[2,1,8],"198":[2,1,12],"199":[2,1,4],"200":[2,1,6],"201":[1,1,7],"202":[2,1,13],"203":[2,1,7],"204":[2,1,4],"205":[1,1,6],"206":[2,1,6],"207":[2,1,4],"208":[2,1,6],"209":[2,1,6],"210":[2,1,6],"211":[2,1,10],"212":[2,1,8],"213":[2,1,4],"214":[2,1,6],"215":[2,1,6],"216":[2,1,6],"217":[2,1,4],"218":[2,1,6],"219":[2,1,7],"220":[2,1,6],"221":[2,1,8],"222":[2,1,11],"223":[2,1,6],"224":[1,1,8],"225":[2,1,7],"226":[2,1,4],"227":[2,1,4],"228":[2,1,4],"229":[1,1,6],"230":[2,1,4],"231":[2,1,5],"232":[2,1,6],"233":[2,1,4],"234":[2,1,4],"235":[2,1,9],"236":[2,1,7],"237":[2,1,10],"238":[2,1,4],"239":[2,1,4],"240":[2,1,4],"241":[1,1,4],"242":[2,1,4],"243":[2,1,4],"244":[2,1,4],"245":[2,1,4],"246":[1,1,4],"247":[2,1,4],"248":[1,1,4],"249":[2,1,6],"250":[2,1,4],"251":[2,1,4],"252":[2,1,4],"253":[1,1,6],"254":[1,1,4],"255":[1,1,6],"256":[2,1,4],"257":[2,1,4],"258":[6,1,1],"259":[1,7,13],"260":[2,7,6],"261":[3,1,19],"262":[10,1,1],"263":[4,10,47],"264":[2,10,1],"265":[5,12,38],"266":[3,12,68],"267":[3,12,33],"268":[2,10,39],"269":[3,10,9],"270":[2,10,30],"271":[2,10,33],"272":[3,10,19],"273":[1,10,54],"274":[2,1,1],"275":[2,2,13],"276":[2,2,7],"277":[3,2,29],"278":[1,1,131],"279":[1,1,9],"280":[1,1,26],"281":[2,1,21],"282":[2,1,18],"283":[2,1,15],"284":[2,1,12],"285":[3,1,10],"286":[2,1,8],"287":[2,1,7],"288":[2,1,1],"289":[1,2,1],"290":[5,3,4],"291":[6,3,4],"292":[2,2,34],"293":[2,2,1],"294":[5,4,25],"295":[4,4,61],"296":[3,2,46],"297":[3,2,48],"298":[5,1,41],"299":[2,5,45],"300":[2,5,1],"301":[3,7,25],"302":[3,7,26],"303":[3,5,1],"304":[3,7,28],"305":[4,7,1],"306":[4,11,38],"307":[4,11,48],"308":[3,7,1],"309":[3,9,37],"310":[3,9,40],"311":[3,9,32],"312":[3,7,1],"313":[2,10,31],"314":[3,10,24],"315":[3,10,30],"316":[4,5,1],"317":[3,9,44],"318":[3,9,22],"319":[3,9,33],"320":[1,5,1],"321":[2,6,93],"322":[1,1,1],"323":[6,1,37],"324":[4,1,84],"325":[9,1,19],"326":[11,1,26],"327":[16,1,76],"328":[10,1,41],"329":[9,1,76],"330":[11,1,78],"331":[9,1,24],"332":[20,1,42],"333":[14,1,8],"334":[7,1,31],"335":[6,1,33],"336":[8,1,17],"337":[8,1,35],"338":[8,1,20],"339":[1,1,22],"340":[4,1,27],"341":[3,5,26],"342":[3,5,37],"343":[2,5,32],"344":[3,5,95],"345":[4,5,61],"346":[2,5,30],"347":[4,1,38],"348":[2,1,1],"349":[6,3,34],"350":[5,3,34],"351":[2,1,1],"352":[3,3,38],"353":[3,3,17],"354":[1,1,1],"355":[1,2,31],"356":[2,1,13],"357":[2,1,32],"358":[4,2,27],"359":[4,2,27],"360":[4,2,19],"361":[12,2,41],"362":[11,2,36],"363":[12,2,45],"364":[11,2,45],"365":[4,2,18],"366":[12,2,30],"367":[6,2,33],"368":[5,2,16],"369":[5,1,66],"370":[1,5,11],"371":[5,5,52],"372":[1,5,31],"373":[1,5,63],"374":[3,5,1],"375":[1,7,19],"376":[1,7,9],"377":[1,8,34],"378":[1,8,22],"379":[3,5,84],"380":[1,5,73],"381":[2,5,45],"382":[2,5,21],"383":[3,5,6],"384":[1,5,5],"385":[1,5,70],"386":[1,5,19],"387":[1,1,25],"388":[1,1,77],"389":[2,1,10],"390":[2,1,40],"391":[1,1,104],"392":[1,2,47],"393":[1,1,67],"394":[1,1,26],"395":[2,1,25],"396":[1,1,92],"397":[2,1,26],"398":[1,2,40],"399":[1,2,45],"400":[3,2,1],"401":[1,5,9],"402":[2,6,50],"403":[1,6,32],"404":[1,5,1],"405":[4,6,41],"406":[2,6,64],"407":[2,5,57],"408":[1,5,5],"409":[2,2,16],"410":[1,4,36],"411":[6,4,52],"412":[5,4,47],"413":[4,4,5],"414":[1,4,51],"415":[1,4,9],"416":[1,1,62],"417":[1,1,33],"418":[1,1,42],"419":[2,2,99],"420":[1,1,14],"421":[2,1,21],"422":[3,1,30],"423":[3,1,39],"424":[1,1,18],"425":[1,1,1],"426":[1,1,86],"427":[4,1,25],"428":[1,5,72],"429":[1,5,78],"430":[1,1,29],"431":[1,1,1],"432":[2,1,26],"433":[3,1,5],"434":[2,1,46],"435":[2,1,137],"436":[7,1,96],"437":[2,1,1],"438":[2,3,25],"439":[4,3,36],"440":[3,1,1],"441":[1,3,186],"442":[1,3,1],"443":[1,4,103],"444":[2,4,39],"445":[1,4,119],"446":[1,4,68],"447":[3,4,81],"448":[2,4,23],"449":[3,4,64],"450":[1,3,25],"451":[1,4,53],"452":[4,4,86],"453":[1,4,48],"454":[1,3,49],"455":[1,4,128],"456":[3,4,76],"457":[1,4,33],"458":[2,3,127],"459":[1,3,25],"460":[3,4,81],"461":[1,1,15],"462":[2,1,70],"463":[3,1,55],"464":[3,1,90],"465":[2,1,61],"466":[4,1,14],"467":[3,1,16],"468":[3,1,77],"469":[1,1,26],"470":[3,1,19],"471":[1,4,34],"472":[1,4,82],"473":[4,1,110],"474":[1,4,90],"475":[3,4,8],"476":[3,4,23],"477":[2,4,105],"478":[2,4,35],"479":[1,4,11],"480":[1,4,11],"481":[1,4,39],"482":[1,4,25],"483":[1,4,73],"484":[1,1,47],"485":[2,1,57],"486":[3,3,72],"487":[2,3,29],"488":[3,1,77],"489":[1,4,69],"490":[1,4,68],"491":[2,1,1],"492":[1,2,1],"493":[4,3,30],"494":[4,3,33],"495":[4,3,96],"496":[1,2,40],"497":[1,1,27],"498":[2,1,42],"499":[2,3,22],"500":[3,1,46],"501":[1,4,35],"502":[1,4,68],"503":[2,1,134],"504":[1,1,58],"505":[1,1,58],"506":[1,1,9],"507":[2,1,33],"508":[2,1,24],"509":[2,1,1],"510":[1,2,1],"511":[4,3,32],"512":[4,3,44],"513":[1,2,40],"514":[1,1,101],"515":[4,1,3],"516":[2,1,53],"517":[1,1,242],"518":[1,1,33],"519":[3,1,88],"520":[2,1,77],"521":[1,1,116],"522":[1,1,26],"523":[1,1,1],"524":[1,1,18],"525":[1,1,79],"526":[2,1,21],"527":[2,1,63],"528":[1,1,53],"529":[1,1,36],"530":[1,1,123],"531":[1,1,30],"532":[1,1,64],"533":[1,1,46],"534":[1,1,51],"535":[2,1,51],"536":[2,1,14],"537":[1,1,6],"538":[2,1,1],"539":[2,2,30],"540":[2,2,52],"541":[2,2,50],"542":[3,2,26],"543":[3,2,21],"544":[2,1,1],"545":[1,2,1],"546":[4,3,21],"547":[4,3,37],"548":[1,2,125],"549":[1,1,1],"550":[2,1,20],"551":[1,1,16],"552":[3,1,15],"553":[1,1,7],"554":[3,1,9],"555":[1,1,24],"556":[2,1,17]},"averageFieldLength":[2.360861759425494,2.109515260323159,28.617594254937142],"storedFields":{"0":{"title":"Changelog","titles":[]},"1":{"title":"Miscellaneous Chores","titles":["Changelog"]},"2":{"title":"Miscellaneous Chores","titles":["Changelog"]},"3":{"title":"Bug Fixes","titles":["Changelog"]},"4":{"title":"Miscellaneous Chores","titles":["Changelog"]},"5":{"title":"Features","titles":["Changelog"]},"6":{"title":"Bug Fixes","titles":["Changelog"]},"7":{"title":"Performance Improvements","titles":["Changelog"]},"8":{"title":"Code Refactoring","titles":["Changelog"]},"9":{"title":"Bug Fixes","titles":["Changelog"]},"10":{"title":"Features","titles":["Changelog"]},"11":{"title":"Bug Fixes","titles":["Changelog"]},"12":{"title":"Performance Improvements","titles":["Changelog"]},"13":{"title":"Miscellaneous Chores","titles":["Changelog"]},"14":{"title":"Code Refactoring","titles":["Changelog"]},"15":{"title":"Performance Improvements","titles":["Changelog"]},"16":{"title":"Performance Improvements","titles":["Changelog"]},"17":{"title":"Features","titles":["Changelog"]},"18":{"title":"Bug Fixes","titles":["Changelog"]},"19":{"title":"Performance Improvements","titles":["Changelog"]},"20":{"title":"Features","titles":["Changelog"]},"21":{"title":"Bug Fixes","titles":["Changelog"]},"22":{"title":"Performance Improvements","titles":["Changelog"]},"23":{"title":"Performance Improvements","titles":["Changelog"]},"24":{"title":"Performance Improvements","titles":["Changelog"]},"25":{"title":"Features","titles":["Changelog"]},"26":{"title":"Bug Fixes","titles":["Changelog"]},"27":{"title":"Performance Improvements","titles":["Changelog"]},"28":{"title":"Performance Improvements","titles":["Changelog"]},"29":{"title":"Bug Fixes","titles":["Changelog"]},"30":{"title":"Performance Improvements","titles":["Changelog"]},"31":{"title":"Performance Improvements","titles":["Changelog"]},"32":{"title":"Features","titles":["Changelog"]},"33":{"title":"Bug Fixes","titles":["Changelog"]},"34":{"title":"Performance Improvements","titles":["Changelog"]},"35":{"title":"Performance Improvements","titles":["Changelog"]},"36":{"title":"Bug Fixes","titles":["Changelog"]},"37":{"title":"Performance Improvements","titles":["Changelog"]},"38":{"title":"Features","titles":["Changelog"]},"39":{"title":"Bug Fixes","titles":["Changelog"]},"40":{"title":"Performance Improvements","titles":["Changelog"]},"41":{"title":"Performance Improvements","titles":["Changelog"]},"42":{"title":"Bug Fixes","titles":["Changelog"]},"43":{"title":"Performance Improvements","titles":["Changelog"]},"44":{"title":"Performance Improvements","titles":["Changelog"]},"45":{"title":"Bug Fixes","titles":["Changelog"]},"46":{"title":"Bug Fixes","titles":["Changelog"]},"47":{"title":"Performance Improvements","titles":["Changelog"]},"48":{"title":"Performance Improvements","titles":["Changelog"]},"49":{"title":"Performance Improvements","titles":["Changelog"]},"50":{"title":"Performance Improvements","titles":["Changelog"]},"51":{"title":"Features","titles":["Changelog"]},"52":{"title":"Bug Fixes","titles":["Changelog"]},"53":{"title":"Performance Improvements","titles":["Changelog"]},"54":{"title":"Bug Fixes","titles":["Changelog"]},"55":{"title":"Performance Improvements","titles":["Changelog"]},"56":{"title":"Bug Fixes","titles":["Changelog"]},"57":{"title":"Performance Improvements","titles":["Changelog"]},"58":{"title":"Bug Fixes","titles":["Changelog"]},"59":{"title":"Performance Improvements","titles":["Changelog"]},"60":{"title":"Performance Improvements","titles":["Changelog"]},"61":{"title":"Performance Improvements","titles":["Changelog"]},"62":{"title":"Performance Improvements","titles":["Changelog"]},"63":{"title":"Features","titles":["Changelog"]},"64":{"title":"Bug Fixes","titles":["Changelog"]},"65":{"title":"Performance Improvements","titles":["Changelog"]},"66":{"title":"Performance Improvements","titles":["Changelog"]},"67":{"title":"Bug Fixes","titles":["Changelog"]},"68":{"title":"Performance Improvements","titles":["Changelog"]},"69":{"title":"Performance Improvements","titles":["Changelog"]},"70":{"title":"Bug Fixes","titles":["Changelog"]},"71":{"title":"Bug Fixes","titles":["Changelog"]},"72":{"title":"Performance Improvements","titles":["Changelog"]},"73":{"title":"Bug Fixes","titles":["Changelog"]},"74":{"title":"Bug Fixes","titles":["Changelog"]},"75":{"title":"Performance Improvements","titles":["Changelog"]},"76":{"title":"Features","titles":["Changelog"]},"77":{"title":"Performance Improvements","titles":["Changelog"]},"78":{"title":"Bug Fixes","titles":["Changelog"]},"79":{"title":"Bug Fixes","titles":["Changelog"]},"80":{"title":"Performance Improvements","titles":["Changelog"]},"81":{"title":"Bug Fixes","titles":["Changelog"]},"82":{"title":"Performance Improvements","titles":["Changelog"]},"83":{"title":"Features","titles":["Changelog"]},"84":{"title":"Bug Fixes","titles":["Changelog"]},"85":{"title":"Performance Improvements","titles":["Changelog"]},"86":{"title":"Performance Improvements","titles":["Changelog"]},"87":{"title":"Performance Improvements","titles":["Changelog"]},"88":{"title":"Bug Fixes","titles":["Changelog"]},"89":{"title":"Performance Improvements","titles":["Changelog"]},"90":{"title":"Bug Fixes","titles":["Changelog"]},"91":{"title":"Miscellaneous Chores","titles":["Changelog"]},"92":{"title":"Features","titles":["Changelog"]},"93":{"title":"Performance Improvements","titles":["Changelog"]},"94":{"title":"Performance Improvements","titles":["Changelog"]},"95":{"title":"Bug Fixes","titles":["Changelog"]},"96":{"title":"Performance Improvements","titles":["Changelog"]},"97":{"title":"Features","titles":["Changelog"]},"98":{"title":"Performance Improvements","titles":["Changelog"]},"99":{"title":"Bug Fixes","titles":["Changelog"]},"100":{"title":"Performance Improvements","titles":["Changelog"]},"101":{"title":"Bug Fixes","titles":["Changelog"]},"102":{"title":"Performance Improvements","titles":["Changelog"]},"103":{"title":"Performance Improvements","titles":["Changelog"]},"104":{"title":"Performance Improvements","titles":["Changelog"]},"105":{"title":"Features","titles":["Changelog"]},"106":{"title":"Performance Improvements","titles":["Changelog"]},"107":{"title":"Bug Fixes","titles":["Changelog"]},"108":{"title":"Performance Improvements","titles":["Changelog"]},"109":{"title":"Performance Improvements","titles":["Changelog"]},"110":{"title":"Performance Improvements","titles":["Changelog"]},"111":{"title":"Bug Fixes","titles":["Changelog"]},"112":{"title":"Features","titles":["Changelog"]},"113":{"title":"Bug Fixes","titles":["Changelog"]},"114":{"title":"Performance Improvements","titles":["Changelog"]},"115":{"title":"Performance Improvements","titles":["Changelog"]},"116":{"title":"Bug Fixes","titles":["Changelog"]},"117":{"title":"Bug Fixes","titles":["Changelog"]},"118":{"title":"Performance Improvements","titles":["Changelog"]},"119":{"title":"Bug Fixes","titles":["Changelog"]},"120":{"title":"Features","titles":["Changelog"]},"121":{"title":"Bug Fixes","titles":["Changelog"]},"122":{"title":"Performance Improvements","titles":["Changelog"]},"123":{"title":"Bug Fixes","titles":["Changelog"]},"124":{"title":"Features","titles":["Changelog"]},"125":{"title":"Performance Improvements","titles":["Changelog"]},"126":{"title":"Bug Fixes","titles":["Changelog"]},"127":{"title":"Performance Improvements","titles":["Changelog"]},"128":{"title":"Bug Fixes","titles":["Changelog"]},"129":{"title":"Bug Fixes","titles":["Changelog"]},"130":{"title":"Bug Fixes","titles":["Changelog"]},"131":{"title":"Performance Improvements","titles":["Changelog"]},"132":{"title":"Features","titles":["Changelog"]},"133":{"title":"Bug Fixes","titles":["Changelog"]},"134":{"title":"Performance Improvements","titles":["Changelog"]},"135":{"title":"Bug Fixes","titles":["Changelog"]},"136":{"title":"Performance Improvements","titles":["Changelog"]},"137":{"title":"Bug Fixes","titles":["Changelog"]},"138":{"title":"Bug Fixes","titles":["Changelog"]},"139":{"title":"Performance Improvements","titles":["Changelog"]},"140":{"title":"Features","titles":["Changelog"]},"141":{"title":"Bug Fixes","titles":["Changelog"]},"142":{"title":"Bug Fixes","titles":["Changelog"]},"143":{"title":"Performance Improvements","titles":["Changelog"]},"144":{"title":"Performance Improvements","titles":["Changelog"]},"145":{"title":"Performance Improvements","titles":["Changelog"]},"146":{"title":"Performance Improvements","titles":["Changelog"]},"147":{"title":"Performance Improvements","titles":["Changelog"]},"148":{"title":"Bug Fixes","titles":["Changelog"]},"149":{"title":"Performance Improvements","titles":["Changelog"]},"150":{"title":"Performance Improvements","titles":["Changelog"]},"151":{"title":"Features","titles":["Changelog"]},"152":{"title":"Bug Fixes","titles":["Changelog"]},"153":{"title":"Performance Improvements","titles":["Changelog"]},"154":{"title":"Miscellaneous Chores","titles":["Changelog"]},"155":{"title":"Performance Improvements","titles":["Changelog"]},"156":{"title":"Bug Fixes","titles":["Changelog"]},"157":{"title":"Performance Improvements","titles":["Changelog"]},"158":{"title":"Bug Fixes","titles":["Changelog"]},"159":{"title":"Bug Fixes","titles":["Changelog"]},"160":{"title":"Performance Improvements","titles":["Changelog"]},"161":{"title":"Miscellaneous Chores","titles":["Changelog"]},"162":{"title":"Features","titles":["Changelog"]},"163":{"title":"Performance Improvements","titles":["Changelog"]},"164":{"title":"Performance Improvements","titles":["Changelog"]},"165":{"title":"Performance Improvements","titles":["Changelog"]},"166":{"title":"Bug Fixes","titles":["Changelog"]},"167":{"title":"Features","titles":["Changelog"]},"168":{"title":"Performance Improvements","titles":["Changelog"]},"169":{"title":"Performance Improvements","titles":["Changelog"]},"170":{"title":"Performance Improvements","titles":["Changelog"]},"171":{"title":"Bug Fixes","titles":["Changelog"]},"172":{"title":"Performance Improvements","titles":["Changelog"]},"173":{"title":"Bug Fixes","titles":["Changelog"]},"174":{"title":"Performance Improvements","titles":["Changelog"]},"175":{"title":"Performance Improvements","titles":["Changelog"]},"176":{"title":"Features","titles":["Changelog"]},"177":{"title":"Bug Fixes","titles":["Changelog"]},"178":{"title":"Performance Improvements","titles":["Changelog"]},"179":{"title":"Bug Fixes","titles":["Changelog"]},"180":{"title":"Bug Fixes","titles":["Changelog"]},"181":{"title":"Bug Fixes","titles":["Changelog"]},"182":{"title":"Bug Fixes","titles":["Changelog"]},"183":{"title":"Performance Improvements","titles":["Changelog"]},"184":{"title":"Features","titles":["Changelog"]},"185":{"title":"Bug Fixes","titles":["Changelog"]},"186":{"title":"Performance Improvements","titles":["Changelog"]},"187":{"title":"Performance Improvements","titles":["Changelog"]},"188":{"title":"Bug Fixes","titles":["Changelog"]},"189":{"title":"Bug Fixes","titles":["Changelog"]},"190":{"title":"Bug Fixes","titles":["Changelog"]},"191":{"title":"Bug Fixes","titles":["Changelog"]},"192":{"title":"Bug Fixes","titles":["Changelog"]},"193":{"title":"Bug Fixes","titles":["Changelog"]},"194":{"title":"Bug Fixes","titles":["Changelog"]},"195":{"title":"Bug Fixes","titles":["Changelog"]},"196":{"title":"Features","titles":["Changelog"]},"197":{"title":"Bug Fixes","titles":["Changelog"]},"198":{"title":"Performance Improvements","titles":["Changelog"]},"199":{"title":"Bug Fixes","titles":["Changelog"]},"200":{"title":"Bug Fixes","titles":["Changelog"]},"201":{"title":"Features","titles":["Changelog"]},"202":{"title":"Bug Fixes","titles":["Changelog"]},"203":{"title":"Performance Improvements","titles":["Changelog"]},"204":{"title":"Performance Improvements","titles":["Changelog"]},"205":{"title":"Features","titles":["Changelog"]},"206":{"title":"Bug Fixes","titles":["Changelog"]},"207":{"title":"Bug Fixes","titles":["Changelog"]},"208":{"title":"Performance Improvements","titles":["Changelog"]},"209":{"title":"Bug Fixes","titles":["Changelog"]},"210":{"title":"Bug Fixes","titles":["Changelog"]},"211":{"title":"Performance Improvements","titles":["Changelog"]},"212":{"title":"Bug Fixes","titles":["Changelog"]},"213":{"title":"Performance Improvements","titles":["Changelog"]},"214":{"title":"Bug Fixes","titles":["Changelog"]},"215":{"title":"Bug Fixes","titles":["Changelog"]},"216":{"title":"Bug Fixes","titles":["Changelog"]},"217":{"title":"Bug Fixes","titles":["Changelog"]},"218":{"title":"Bug Fixes","titles":["Changelog"]},"219":{"title":"Bug Fixes","titles":["Changelog"]},"220":{"title":"Bug Fixes","titles":["Changelog"]},"221":{"title":"Bug Fixes","titles":["Changelog"]},"222":{"title":"Bug Fixes","titles":["Changelog"]},"223":{"title":"Performance Improvements","titles":["Changelog"]},"224":{"title":"Features","titles":["Changelog"]},"225":{"title":"Bug Fixes","titles":["Changelog"]},"226":{"title":"Performance Improvements","titles":["Changelog"]},"227":{"title":"Bug Fixes","titles":["Changelog"]},"228":{"title":"Performance Improvements","titles":["Changelog"]},"229":{"title":"Features","titles":["Changelog"]},"230":{"title":"Performance Improvements","titles":["Changelog"]},"231":{"title":"Performance Improvements","titles":["Changelog"]},"232":{"title":"Bug Fixes","titles":["Changelog"]},"233":{"title":"Performance Improvements","titles":["Changelog"]},"234":{"title":"Performance Improvements","titles":["Changelog"]},"235":{"title":"Bug Fixes","titles":["Changelog"]},"236":{"title":"Bug Fixes","titles":["Changelog"]},"237":{"title":"Bug Fixes","titles":["Changelog"]},"238":{"title":"Bug Fixes","titles":["Changelog"]},"239":{"title":"Bug Fixes","titles":["Changelog"]},"240":{"title":"Performance Improvements","titles":["Changelog"]},"241":{"title":"Features","titles":["Changelog"]},"242":{"title":"Bug Fixes","titles":["Changelog"]},"243":{"title":"Bug Fixes","titles":["Changelog"]},"244":{"title":"Performance Improvements","titles":["Changelog"]},"245":{"title":"Bug Fixes","titles":["Changelog"]},"246":{"title":"Features","titles":["Changelog"]},"247":{"title":"Bug Fixes","titles":["Changelog"]},"248":{"title":"Features","titles":["Changelog"]},"249":{"title":"Bug Fixes","titles":["Changelog"]},"250":{"title":"Bug Fixes","titles":["Changelog"]},"251":{"title":"Bug Fixes","titles":["Changelog"]},"252":{"title":"Bug Fixes","titles":["Changelog"]},"253":{"title":"Features","titles":["Changelog"]},"254":{"title":"Features","titles":["Changelog"]},"255":{"title":"Features","titles":["Changelog"]},"256":{"title":"Performance Improvements","titles":["Changelog"]},"257":{"title":"Bug Fixes","titles":["Changelog"]},"258":{"title":"1.0.0 (2023-09-16)","titles":["Changelog"]},"259":{"title":"Features","titles":["Changelog","1.0.0 (2023-09-16)"]},"260":{"title":"Bug Fixes","titles":["Changelog","1.0.0 (2023-09-16)"]},"261":{"title":"Donate Project ♥️","titles":[]},"262":{"title":"Escrcpy: A Graphical Android Device Control Tool Based on Electron","titles":[]},"263":{"title":"What is Escrcpy?","titles":["Escrcpy: A Graphical Android Device Control Tool Based on Electron"]},"264":{"title":"Core Features","titles":["Escrcpy: A Graphical Android Device Control Tool Based on Electron"]},"265":{"title":"Efficient and Stable Screen Mirroring","titles":["Escrcpy: A Graphical Android Device Control Tool Based on Electron","Core Features"]},"266":{"title":"Rich Functional Features","titles":["Escrcpy: A Graphical Android Device Control Tool Based on Electron","Core Features"]},"267":{"title":"Optimized User Experience","titles":["Escrcpy: A Graphical Android Device Control Tool Based on Electron","Core Features"]},"268":{"title":"Use Cases","titles":["Escrcpy: A Graphical Android Device Control Tool Based on Electron"]},"269":{"title":"Cross-Platform Support","titles":["Escrcpy: A Graphical Android Device Control Tool Based on Electron"]},"270":{"title":"Technical Advantages","titles":["Escrcpy: A Graphical Android Device Control Tool Based on Electron"]},"271":{"title":"Future Development","titles":["Escrcpy: A Graphical Android Device Control Tool Based on Electron"]},"272":{"title":"How to use","titles":["Escrcpy: A Graphical Android Device Control Tool Based on Electron"]},"273":{"title":"Conclusion","titles":["Escrcpy: A Graphical Android Device Control Tool Based on Electron"]},"274":{"title":"Device Operation","titles":[]},"275":{"title":"Batch Processing","titles":["Device Operation"]},"276":{"title":"Control Model","titles":["Device Operation"]},"277":{"title":"Device Interaction Bar","titles":["Device Operation"]},"278":{"title":"Milestones","titles":[]},"279":{"title":"Preferences","titles":[]},"280":{"title":"General","titles":["Preferences"]},"281":{"title":"Video Control","titles":["Preferences"]},"282":{"title":"Device Control","titles":["Preferences"]},"283":{"title":"Window Control","titles":["Preferences"]},"284":{"title":"Audio Control","titles":["Preferences"]},"285":{"title":"Audio/Video Recording","titles":["Preferences"]},"286":{"title":"Input Control","titles":["Preferences"]},"287":{"title":"Camera Control","titles":["Preferences"]},"288":{"title":"Quick Start","titles":[]},"289":{"title":"Installation","titles":["Quick Start"]},"290":{"title":"Manual installation via released packages","titles":["Quick Start","Installation"]},"291":{"title":"macOS can be installed via Homebrew","titles":["Quick Start","Installation"]},"292":{"title":"USB Connection","titles":["Quick Start"]},"293":{"title":"WIFI Connection","titles":["Quick Start"]},"294":{"title":"Scan QR Code to Connect","titles":["Quick Start","WIFI Connection"]},"295":{"title":"Connect via IP Address","titles":["Quick Start","WIFI Connection"]},"296":{"title":"macOS && Linux","titles":["Quick Start"]},"297":{"title":"Gnirehtet Reverse Tethering","titles":["Quick Start"]},"298":{"title":"Device Window Arrangement Feature Guide","titles":[]},"299":{"title":"Feature Overview","titles":["Device Window Arrangement Feature Guide"]},"300":{"title":"Core Components","titles":["Device Window Arrangement Feature Guide"]},"301":{"title":"Global Configuration Component","titles":["Device Window Arrangement Feature Guide","Core Components"]},"302":{"title":"Device Window Component","titles":["Device Window Arrangement Feature Guide","Core Components"]},"303":{"title":"Detailed Operation Guide","titles":["Device Window Arrangement Feature Guide"]},"304":{"title":"Starting Window Arrangement","titles":["Device Window Arrangement Feature Guide","Detailed Operation Guide"]},"305":{"title":"Adding and Managing Components","titles":["Device Window Arrangement Feature Guide","Detailed Operation Guide"]},"306":{"title":"Adding Global Configuration Component","titles":["Device Window Arrangement Feature Guide","Detailed Operation Guide","Adding and Managing Components"]},"307":{"title":"Adding Device Window Components","titles":["Device Window Arrangement Feature Guide","Detailed Operation Guide","Adding and Managing Components"]},"308":{"title":"Window Layout Adjustment","titles":["Device Window Arrangement Feature Guide","Detailed Operation Guide"]},"309":{"title":"Moving Window Position","titles":["Device Window Arrangement Feature Guide","Detailed Operation Guide","Window Layout Adjustment"]},"310":{"title":"Adjusting Window Size","titles":["Device Window Arrangement Feature Guide","Detailed Operation Guide","Window Layout Adjustment"]},"311":{"title":"Size Limitation Description","titles":["Device Window Arrangement Feature Guide","Detailed Operation Guide","Window Layout Adjustment"]},"312":{"title":"Layout Management Operations","titles":["Device Window Arrangement Feature Guide","Detailed Operation Guide"]},"313":{"title":"Reset Layout","titles":["Device Window Arrangement Feature Guide","Detailed Operation Guide","Layout Management Operations"]},"314":{"title":"Clear All Components","titles":["Device Window Arrangement Feature Guide","Detailed Operation Guide","Layout Management Operations"]},"315":{"title":"Delete Individual Component","titles":["Device Window Arrangement Feature Guide","Detailed Operation Guide","Layout Management Operations"]},"316":{"title":"Configuration Saving and Application","titles":["Device Window Arrangement Feature Guide"]},"317":{"title":"Saving Layout Configuration","titles":["Device Window Arrangement Feature Guide","Configuration Saving and Application"]},"318":{"title":"Configuration Storage Mechanism","titles":["Device Window Arrangement Feature Guide","Configuration Saving and Application"]},"319":{"title":"Configuration Application Timing","titles":["Device Window Arrangement Feature Guide","Configuration Saving and Application"]},"320":{"title":"Troubleshooting","titles":["Device Window Arrangement Feature Guide"]},"321":{"title":"Common Issues","titles":["Device Window Arrangement Feature Guide","Troubleshooting"]},"322":{"title":"Escrcpy","titles":[]},"323":{"title":"Computer cannot detect device after connecting","titles":["Escrcpy"]},"324":{"title":"Unable to enter Chinese","titles":["Escrcpy"]},"325":{"title":"Wireless connection prompts: The target computer actively refuses access","titles":["Escrcpy"]},"326":{"title":"Clicking wireless mode after connecting via data cable has no response","titles":["Escrcpy"]},"327":{"title":"Why is the device interaction control bar not designed as an automatically sticking floating menu?","titles":["Escrcpy"]},"328":{"title":"Some devices can see screenshots after connecting but cannot operate","titles":["Escrcpy"]},"329":{"title":"Downloading prompts antivirus detection causing unable to download normally","titles":["Escrcpy"]},"330":{"title":"Failed to get device list or error when starting mirroring/recording","titles":["Escrcpy"]},"331":{"title":"macOS window minimized to system tray icon not found","titles":["Escrcpy"]},"332":{"title":"After a successful installation of macOS, when I try to open it, I receive a prompt saying the file is damaged.","titles":["Escrcpy"]},"333":{"title":"Unable to locate the input point DiscardvirtualMemory on the dynamic link library Kernel32.dll.","titles":["Escrcpy"]},"334":{"title":"Audio capture exception causing mirroring failure.","titles":["Escrcpy"]},"335":{"title":"Microsoft Store version mirror startup error","titles":["Escrcpy"]},"336":{"title":"Could not execute "adb start-server"","titles":["Escrcpy"]},"337":{"title":"Unable to Open After Installation in Linux System","titles":["Escrcpy"]},"338":{"title":"Black edges appear after resizing the casting window","titles":["Escrcpy"]},"339":{"title":"Scrcpy","titles":[]},"340":{"title":"adb and USB issues","titles":["Scrcpy"]},"341":{"title":"adb not found","titles":["Scrcpy","adb and USB issues"]},"342":{"title":"Device not detected","titles":["Scrcpy","adb and USB issues"]},"343":{"title":"Device unauthorized","titles":["Scrcpy","adb and USB issues"]},"344":{"title":"Several devices connected","titles":["Scrcpy","adb and USB issues"]},"345":{"title":"Conflicts between adb versions","titles":["Scrcpy","adb and USB issues"]},"346":{"title":"Device disconnected","titles":["Scrcpy","adb and USB issues"]},"347":{"title":"OTG issues on Windows","titles":["Scrcpy"]},"348":{"title":"Control issues","titles":["Scrcpy"]},"349":{"title":"Mouse and keyboard do not work","titles":["Scrcpy","Control issues"]},"350":{"title":"Special characters do not work","titles":["Scrcpy","Control issues"]},"351":{"title":"Client issues","titles":["Scrcpy"]},"352":{"title":"Issue with Wayland","titles":["Scrcpy","Client issues"]},"353":{"title":"KWin compositor crashes","titles":["Scrcpy","Client issues"]},"354":{"title":"Crashes","titles":["Scrcpy"]},"355":{"title":"Exception","titles":["Scrcpy","Crashes"]},"356":{"title":"Help Center","titles":[]},"357":{"title":"Gnirehtet API","titles":[]},"358":{"title":"gnirehtet install [serial]","titles":["Gnirehtet API"]},"359":{"title":"gnirehtet uninstall [serial]","titles":["Gnirehtet API"]},"360":{"title":"gnirehtet reinstall [serial]","titles":["Gnirehtet API"]},"361":{"title":"gnirehtet run [serial] [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]","titles":["Gnirehtet API"]},"362":{"title":"gnirehtet autorun [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]","titles":["Gnirehtet API"]},"363":{"title":"gnirehtet start [serial] [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]","titles":["Gnirehtet API"]},"364":{"title":"gnirehtet autostart [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]","titles":["Gnirehtet API"]},"365":{"title":"gnirehtet stop [serial]","titles":["Gnirehtet API"]},"366":{"title":"gnirehtet restart [serial] [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]","titles":["Gnirehtet API"]},"367":{"title":"gnirehtet tunnel [serial] [-p PORT]","titles":["Gnirehtet API"]},"368":{"title":"gnirehtet relay [-p PORT]","titles":["Gnirehtet API"]},"369":{"title":"Gnirehtet (v2.5.1)","titles":[]},"370":{"title":"Flavors","titles":["Gnirehtet (v2.5.1)"]},"371":{"title":"Which one to choose?","titles":["Gnirehtet (v2.5.1)","Flavors"]},"372":{"title":"Requirements","titles":["Gnirehtet (v2.5.1)"]},"373":{"title":"adb","titles":["Gnirehtet (v2.5.1)","Requirements"]},"374":{"title":"Get the app","titles":["Gnirehtet (v2.5.1)"]},"375":{"title":"Homebrew","titles":["Gnirehtet (v2.5.1)","Get the app"]},"376":{"title":"Download","titles":["Gnirehtet (v2.5.1)","Get the app"]},"377":{"title":"Rust","titles":["Gnirehtet (v2.5.1)","Get the app","Download"]},"378":{"title":"Java","titles":["Gnirehtet (v2.5.1)","Get the app","Download"]},"379":{"title":"Run (simple)","titles":["Gnirehtet (v2.5.1)"]},"380":{"title":"Run","titles":["Gnirehtet (v2.5.1)"]},"381":{"title":"Run manually","titles":["Gnirehtet (v2.5.1)"]},"382":{"title":"Environment variables","titles":["Gnirehtet (v2.5.1)"]},"383":{"title":"Why gnirehtet?","titles":["Gnirehtet (v2.5.1)"]},"384":{"title":"Developers","titles":["Gnirehtet (v2.5.1)"]},"385":{"title":"Licence","titles":["Gnirehtet (v2.5.1)"]},"386":{"title":"Articles","titles":["Gnirehtet (v2.5.1)"]},"387":{"title":"Reference","titles":[]},"388":{"title":"Audio","titles":[]},"389":{"title":"No audio","titles":["Audio"]},"390":{"title":"Audio only","titles":["Audio"]},"391":{"title":"Source","titles":["Audio"]},"392":{"title":"Duplication","titles":["Audio","Source"]},"393":{"title":"Codec","titles":["Audio"]},"394":{"title":"Encoder","titles":["Audio"]},"395":{"title":"Bit rate","titles":["Audio"]},"396":{"title":"Buffering","titles":["Audio"]},"397":{"title":"Build scrcpy","titles":[]},"398":{"title":"Branches","titles":["Build scrcpy"]},"399":{"title":"Requirements","titles":["Build scrcpy"]},"400":{"title":"System-specific steps","titles":["Build scrcpy"]},"401":{"title":"Linux","titles":["Build scrcpy","System-specific steps"]},"402":{"title":"Debian/Ubuntu","titles":["Build scrcpy","System-specific steps","Linux"]},"403":{"title":"Fedora","titles":["Build scrcpy","System-specific steps","Linux"]},"404":{"title":"Windows","titles":["Build scrcpy","System-specific steps"]},"405":{"title":"Cross-compile from Linux","titles":["Build scrcpy","System-specific steps","Windows"]},"406":{"title":"In MSYS2","titles":["Build scrcpy","System-specific steps","Windows"]},"407":{"title":"Mac OS","titles":["Build scrcpy","System-specific steps"]},"408":{"title":"Docker","titles":["Build scrcpy","System-specific steps"]},"409":{"title":"Common steps","titles":["Build scrcpy"]},"410":{"title":"Build","titles":["Build scrcpy","Common steps"]},"411":{"title":"Option 1: Build everything from sources","titles":["Build scrcpy","Common steps","Build"]},"412":{"title":"Option 2: Use prebuilt server","titles":["Build scrcpy","Common steps","Build"]},"413":{"title":"Run without installing:","titles":["Build scrcpy","Common steps"]},"414":{"title":"Install","titles":["Build scrcpy","Common steps"]},"415":{"title":"Uninstall","titles":["Build scrcpy","Common steps"]},"416":{"title":"Camera","titles":[]},"417":{"title":"List","titles":["Camera"]},"418":{"title":"Selection","titles":["Camera"]},"419":{"title":"Size selection","titles":["Camera","Selection"]},"420":{"title":"Rotation","titles":["Camera"]},"421":{"title":"Frame rate","titles":["Camera"]},"422":{"title":"High speed capture","titles":["Camera"]},"423":{"title":"Brace expansion tip","titles":["Camera"]},"424":{"title":"Webcam","titles":["Camera"]},"425":{"title":"Connection","titles":[]},"426":{"title":"Selection","titles":["Connection"]},"427":{"title":"TCP/IP (wireless)","titles":["Connection"]},"428":{"title":"Automatic","titles":["Connection","TCP/IP (wireless)"]},"429":{"title":"Manual","titles":["Connection","TCP/IP (wireless)"]},"430":{"title":"Autostart","titles":["Connection"]},"431":{"title":"Control","titles":[]},"432":{"title":"Read-only","titles":["Control"]},"433":{"title":"Keyboard and mouse","titles":["Control"]},"434":{"title":"Control only","titles":["Control"]},"435":{"title":"Copy-paste","titles":["Control"]},"436":{"title":"Pinch-to-zoom, rotate and tilt simulation","titles":["Control"]},"437":{"title":"File drop","titles":["Control"]},"438":{"title":"Install APK","titles":["Control","File drop"]},"439":{"title":"Push file to device","titles":["Control","File drop"]},"440":{"title":"scrcpy for developers","titles":[]},"441":{"title":"Overview","titles":["scrcpy for developers"]},"442":{"title":"Server","titles":["scrcpy for developers"]},"443":{"title":"Privileges","titles":["scrcpy for developers","Server"]},"444":{"title":"Hidden methods","titles":["scrcpy for developers","Server"]},"445":{"title":"Execution","titles":["scrcpy for developers","Server"]},"446":{"title":"Components","titles":["scrcpy for developers","Server"]},"447":{"title":"Screen video encoding","titles":["scrcpy for developers","Server"]},"448":{"title":"Audio encoding","titles":["scrcpy for developers","Server"]},"449":{"title":"Input events injection","titles":["scrcpy for developers","Server"]},"450":{"title":"Client","titles":["scrcpy for developers"]},"451":{"title":"Initialization","titles":["scrcpy for developers","Client"]},"452":{"title":"Video and audio streams","titles":["scrcpy for developers","Client"]},"453":{"title":"Controller","titles":["scrcpy for developers","Client"]},"454":{"title":"Protocol","titles":["scrcpy for developers"]},"455":{"title":"Connection","titles":["scrcpy for developers","Protocol"]},"456":{"title":"Video and audio","titles":["scrcpy for developers","Protocol"]},"457":{"title":"Controls","titles":["scrcpy for developers","Protocol"]},"458":{"title":"Standalone server","titles":["scrcpy for developers"]},"459":{"title":"Hack","titles":["scrcpy for developers"]},"460":{"title":"Debug the server","titles":["scrcpy for developers","Hack"]},"461":{"title":"Device","titles":[]},"462":{"title":"Stay awake","titles":["Device"]},"463":{"title":"Screen off timeout","titles":["Device"]},"464":{"title":"Turn screen off","titles":["Device"]},"465":{"title":"Show touches","titles":["Device"]},"466":{"title":"Power off on close","titles":["Device"]},"467":{"title":"Power on on start","titles":["Device"]},"468":{"title":"Start Android app","titles":["Device"]},"469":{"title":"Gamepad","titles":[]},"470":{"title":"Physical gamepad simulation","titles":["Gamepad"]},"471":{"title":"UHID","titles":["Gamepad","Physical gamepad simulation"]},"472":{"title":"AOA","titles":["Gamepad","Physical gamepad simulation"]},"473":{"title":"scrcpy (v3.2)","titles":[]},"474":{"title":"Prerequisites","titles":["scrcpy (v3.2)"]},"475":{"title":"Get the app","titles":["scrcpy (v3.2)"]},"476":{"title":"Must-know tips","titles":["scrcpy (v3.2)"]},"477":{"title":"Usage examples","titles":["scrcpy (v3.2)"]},"478":{"title":"User documentation","titles":["scrcpy (v3.2)"]},"479":{"title":"Resources","titles":["scrcpy (v3.2)"]},"480":{"title":"Articles","titles":["scrcpy (v3.2)"]},"481":{"title":"Contact","titles":["scrcpy (v3.2)"]},"482":{"title":"Donate","titles":["scrcpy (v3.2)"]},"483":{"title":"Licence","titles":["scrcpy (v3.2)"]},"484":{"title":"Keyboard","titles":[]},"485":{"title":"SDK keyboard","titles":["Keyboard"]},"486":{"title":"Text injection preference","titles":["Keyboard","SDK keyboard"]},"487":{"title":"Key repeat","titles":["Keyboard","SDK keyboard"]},"488":{"title":"Physical keyboard simulation","titles":["Keyboard"]},"489":{"title":"UHID","titles":["Keyboard","Physical keyboard simulation"]},"490":{"title":"AOA","titles":["Keyboard","Physical keyboard simulation"]},"491":{"title":"On Linux","titles":[]},"492":{"title":"Install","titles":["On Linux"]},"493":{"title":"From the official release","titles":["On Linux","Install"]},"494":{"title":"From your package manager","titles":["On Linux","Install"]},"495":{"title":"From an install script","titles":["On Linux","Install"]},"496":{"title":"Run","titles":["On Linux"]},"497":{"title":"Mouse","titles":[]},"498":{"title":"SDK mouse","titles":["Mouse"]},"499":{"title":"Mouse hover","titles":["Mouse","SDK mouse"]},"500":{"title":"Physical mouse simulation","titles":["Mouse"]},"501":{"title":"UHID","titles":["Mouse","Physical mouse simulation"]},"502":{"title":"AOA","titles":["Mouse","Physical mouse simulation"]},"503":{"title":"Mouse bindings","titles":["Mouse"]},"504":{"title":"Recording","titles":[]},"505":{"title":"Format","titles":["Recording"]},"506":{"title":"Rotation","titles":["Recording"]},"507":{"title":"No playback","titles":["Recording"]},"508":{"title":"Time limit","titles":["Recording"]},"509":{"title":"On macOS","titles":[]},"510":{"title":"Install","titles":["On macOS"]},"511":{"title":"From the official release","titles":["On macOS","Install"]},"512":{"title":"From a package manager","titles":["On macOS","Install"]},"513":{"title":"Run","titles":["On macOS"]},"514":{"title":"OTG","titles":[]},"515":{"title":"OTG issues on Windows","titles":["OTG"]},"516":{"title":"Control only","titles":["OTG"]},"517":{"title":"Shortcuts","titles":[]},"518":{"title":"Tunnels","titles":[]},"519":{"title":"Remote ADB server","titles":["Tunnels"]},"520":{"title":"SSH tunnel","titles":["Tunnels"]},"521":{"title":"Video4Linux","titles":[]},"522":{"title":"Buffering","titles":["Video4Linux"]},"523":{"title":"Video","titles":[]},"524":{"title":"Source","titles":["Video"]},"525":{"title":"Size","titles":["Video"]},"526":{"title":"Bit rate","titles":["Video"]},"527":{"title":"Frame rate","titles":["Video"]},"528":{"title":"Codec","titles":["Video"]},"529":{"title":"Encoder","titles":["Video"]},"530":{"title":"Orientation","titles":["Video"]},"531":{"title":"Angle","titles":["Video"]},"532":{"title":"Crop","titles":["Video"]},"533":{"title":"Display","titles":["Video"]},"534":{"title":"Buffering","titles":["Video"]},"535":{"title":"No playback","titles":["Video"]},"536":{"title":"No video","titles":["Video"]},"537":{"title":"Video4Linux","titles":["Video"]},"538":{"title":"Virtual display","titles":[]},"539":{"title":"New display","titles":["Virtual display"]},"540":{"title":"Start app","titles":["Virtual display"]},"541":{"title":"System decorations","titles":["Virtual display"]},"542":{"title":"Destroy on close","titles":["Virtual display"]},"543":{"title":"Display IME policy","titles":["Virtual display"]},"544":{"title":"On Windows","titles":[]},"545":{"title":"Install","titles":["On Windows"]},"546":{"title":"From the official release","titles":["On Windows","Install"]},"547":{"title":"From a package manager","titles":["On Windows","Install"]},"548":{"title":"Run","titles":["On Windows"]},"549":{"title":"Window","titles":[]},"550":{"title":"Disable window","titles":["Window"]},"551":{"title":"Title","titles":["Window"]},"552":{"title":"Position and size","titles":["Window"]},"553":{"title":"Borderless","titles":["Window"]},"554":{"title":"Always on top","titles":["Window"]},"555":{"title":"Fullscreen","titles":["Window"]},"556":{"title":"Disable screensaver","titles":["Window"]}},"dirtCount":0,"index":[["⁵only",{"2":{"517":1}}],["³4th",{"2":{"517":1}}],["²right",{"2":{"517":1}}],["¹double",{"2":{"517":1}}],["⁴for",{"2":{"517":1}}],["⁴",{"2":{"517":1}}],["~1",{"2":{"473":1}}],["`",{"2":{"456":2,"503":4}}],["^^^^",{"2":{"503":1}}],["^^",{"2":{"456":1}}],[">",{"2":{"452":2,"456":4,"520":3}}],["||||",{"2":{"503":2}}],["|||",{"2":{"503":2}}],["||",{"2":{"456":1,"503":2}}],["|",{"2":{"429":1,"456":2,"457":2,"503":2,"517":9}}],["$9",{"2":{"429":1}}],["$path",{"2":{"406":1,"407":1}}],["$java",{"2":{"406":1,"407":1}}],["$",{"2":{"403":1,"407":1}}],["$env",{"2":{"345":1,"426":1,"519":1,"520":2}}],["=",{"2":{"345":1,"406":1,"426":1,"435":1,"460":1,"474":1,"517":1,"519":1,"520":2}}],["kmg",{"2":{"516":1}}],["k",{"2":{"435":1,"477":1,"484":1,"489":1}}],["known",{"2":{"505":1}}],["knows",{"2":{"441":1}}],["know",{"0":{"476":1},"2":{"428":1}}],["karaoke",{"2":{"391":1}}],["kill",{"2":{"519":1}}],["killing",{"2":{"345":1}}],["kinds",{"2":{"486":1}}],["kind",{"2":{"385":1,"483":1}}],["kwin",{"0":{"353":1}}],["kernel",{"2":{"469":1,"471":1,"484":1,"489":1,"497":1,"501":1}}],["kernel32",{"0":{"333":1}}],["kept",{"2":{"396":1}}],["keeping",{"2":{"392":1}}],["keep",{"2":{"261":1,"282":1,"284":1,"380":1,"441":1,"517":2,"519":1,"520":2,"535":1,"554":1}}],["keyevent",{"2":{"449":1}}],["keycodes",{"2":{"449":1}}],["keycode",{"2":{"449":1}}],["key=value",{"2":{"445":1}}],["keys",{"2":{"432":1,"445":1,"486":1,"517":2}}],["key",{"0":{"487":1},"2":{"130":1,"379":1,"435":2,"447":1,"456":2,"486":5,"487":4,"503":1,"517":2}}],["keyboard=disabled",{"2":{"484":1,"514":1}}],["keyboard=sdk",{"2":{"484":1,"485":2,"489":2}}],["keyboard=uhid",{"2":{"434":1,"477":1,"484":1,"489":1,"516":1}}],["keyboard=aoa",{"2":{"347":1,"434":1,"484":1,"489":2,"490":1,"514":1,"516":1}}],["keyboards",{"2":{"324":1}}],["keyboard",{"0":{"349":1,"433":1,"484":1,"485":1,"488":1},"1":{"485":1,"486":2,"487":2,"488":1,"489":2,"490":2},"2":{"12":1,"47":1,"286":2,"324":7,"328":1,"350":2,"433":1,"434":1,"441":1,"473":2,"474":1,"477":2,"478":1,"484":4,"485":2,"486":2,"488":4,"489":5,"490":2,"514":6,"517":3}}],["++sn",{"2":{"503":1}}],["++++",{"2":{"503":1}}],["+",{"2":{"324":1,"330":2,"419":3,"428":1,"460":1,"468":2,"503":5,"530":9}}],["→",{"2":{"324":4,"429":2,"488":3}}],["×",{"2":{"315":1}}],["y=100",{"2":{"552":1}}],["yet",{"2":{"369":1,"512":1,"547":2}}],["y",{"2":{"283":1,"318":2,"436":2}}],["your",{"0":{"494":1},"2":{"10":1,"32":1,"278":1,"292":4,"295":2,"321":1,"323":2,"330":1,"334":1,"340":1,"341":2,"342":2,"344":1,"345":3,"372":1,"373":1,"380":1,"393":1,"398":1,"399":2,"401":1,"410":1,"423":1,"429":8,"474":1,"481":1,"496":1,"504":1,"512":1,"513":1,"517":1,"520":2,"521":3,"527":1,"548":4}}],["you",{"2":{"10":1,"32":1,"261":2,"273":2,"295":2,"296":1,"297":1,"298":1,"299":1,"307":1,"309":2,"321":1,"329":3,"330":2,"332":1,"334":1,"335":1,"339":1,"341":1,"342":2,"343":1,"344":4,"345":3,"349":1,"355":1,"373":4,"375":1,"376":1,"379":4,"380":2,"381":1,"385":2,"388":1,"393":1,"396":2,"397":1,"398":1,"399":1,"405":1,"406":2,"407":1,"410":2,"414":2,"423":1,"426":1,"428":1,"429":3,"430":1,"435":2,"455":1,"458":1,"459":1,"472":1,"474":3,"481":3,"482":2,"483":2,"484":1,"486":3,"495":2,"504":2,"512":3,"516":1,"520":1,"521":4,"527":2,"540":1,"547":2,"548":4}}],["x=100",{"2":{"552":1}}],["xxxx",{"2":{"460":2,"503":2}}],["x3c",{"2":{"455":2,"456":5,"520":1}}],["x86",{"2":{"406":8,"493":2,"511":2}}],["x11",{"2":{"352":1}}],["xattr",{"2":{"332":1}}],["xiaomi",{"2":{"328":1,"474":1}}],["x",{"2":{"283":1,"318":2,"411":1,"412":1,"413":1,"436":2,"460":3}}],["x64archfiles",{"2":{"189":1,"190":1,"191":1,"192":1,"193":1}}],["x64",{"2":{"11":1,"71":1}}],["♥️",{"0":{"261":1}}],["环境变量配置错误导致无法连接的问题",{"2":{"260":1}}],["基本支持",{"2":{"259":1}}],["合并无线连接及有线连接到设备列表",{"2":{"256":1}}],["高级配置",{"2":{"255":1}}],["增加了常用的",{"2":{"255":1}}],["增加了对设备交互控制栏的支持",{"2":{"241":1}}],["制作了合适的",{"2":{"253":1}}],["用户界面进行优化",{"2":{"253":1}}],["去除未测试环境的打包以修复构建失败的问题",{"2":{"257":1}}],["去除页面组件冗余参数",{"2":{"245":1}}],["去除冗余的依赖项",{"2":{"234":1}}],["自定义通用的文件存储路径相关逻辑完善",{"2":{"240":1}}],["配置异常导致打包的文件无法发布的问题",{"2":{"237":1}}],["错误",{"2":{"236":1}}],["资源路径问题",{"2":{"235":1}}],["判断条件解决某些情况下资源路径解析异常的问题",{"2":{"232":1}}],["➕",{"2":{"230":1}}],["偏好设置描述信息修改",{"2":{"225":1}}],["的支持",{"2":{"224":1}}],["的问题",{"2":{"221":1}}],["以及",{"2":{"224":1}}],["初步添加对",{"2":{"224":1}}],["初步支持设置偏好设置的作用域范围",{"2":{"228":1}}],["初步支持",{"2":{"205":1}}],["支持通过操作栏安装应用并提供相应安装反馈",{"2":{"233":1}}],["支持创建更多架构的",{"2":{"223":1}}],["支持所有平台在点击关闭按钮时选择是否保存到托盘中的功能",{"2":{"211":1}}],["版本打包失败的问题",{"2":{"222":1}}],["获取默认依赖路径异常的问题",{"2":{"222":1}}],["及",{"2":{"222":1}}],["软件包格式",{"2":{"223":1}}],["软件包安装后无线显示",{"2":{"221":1}}],["软件包编译",{"2":{"211":1}}],["问题",{"2":{"219":1}}],["无法正确获取系统依赖路径的问题",{"2":{"218":1}}],["无法启动镜像或录制服务以及修改自定义依赖目录的问题",{"2":{"200":1}}],["简单关闭应用重新打开时报错的问题",{"2":{"216":1}}],["窗口过小导致出现横向滚动条的问题",{"2":{"215":1}}],["窗口问题",{"2":{"214":1}}],["窗口控制及交互逻辑优化",{"2":{"204":1}}],["优化设备界面视图并添加虚拟控制栏配置",{"2":{"254":1}}],["优化",{"2":{"232":1}}],["优化窗口默认大小",{"2":{"213":1}}],["优化页面查找工具性能",{"2":{"134":1}}],["下自定义依赖选项描述错误的问题",{"2":{"212":1}}],["或",{"2":{"212":1}}],["为",{"2":{"211":1}}],["平台启动白屏无法正常使用的问题",{"2":{"209":1}}],["设备交互栏添加重启设备及打开通知栏功能",{"2":{"230":1}}],["设备备注文本框描述信息调整",{"2":{"226":1}}],["设备列表标签显示细节调整",{"2":{"225":1}}],["设计",{"2":{"208":1}}],["设置主题跟随系统后",{"2":{"188":1}}],["采用新的方法实现所有进程共享",{"2":{"231":1}}],["采用新的",{"2":{"208":1}}],["尝试修复构建失败",{"2":{"207":1}}],["最小化到托盘后状态栏图标不显示的问题",{"2":{"206":1}}],["关于页面国际化",{"2":{"203":1}}],["翻译设备列表",{"2":{"203":1}}],["打包配置错误的问题",{"2":{"210":1}}],["打包后图标丢失的问题",{"2":{"202":1}}],["打包失败的问题",{"2":{"194":1,"195":1,"220":1}}],["运行日志等功能",{"2":{"201":1}}],["国际化语言",{"2":{"201":1}}],["深色模式",{"2":{"201":1}}],["新增支持添加设备备注",{"2":{"229":1}}],["新增支持导入及导出配置",{"2":{"229":1}}],["新增支持",{"2":{"201":1}}],["补充依赖及目录结构调整",{"2":{"198":1}}],["目录结构及描述调整",{"2":{"198":1}}],["拆分依赖文件禁用冗余的警告信息",{"2":{"198":1}}],["某些情况下循环触发导致死循环的问题",{"2":{"188":1}}],["修复图标不透明的问题",{"2":{"252":1}}],["修复旋转屏幕配置异常的问题",{"2":{"251":1}}],["修复触摸点配置描述错误的问题",{"2":{"250":1}}],["修复直接进行无线连接时没有处理配对设备的问题",{"2":{"249":1}}],["修复无线配对时表单验证错误",{"2":{"249":1}}],["修复检查更新失败没有提示的问题",{"2":{"247":1}}],["修复高级配置标题语义不明的问题",{"2":{"243":1}}],["修复点击无线模式没有反应的问题",{"2":{"242":1}}],["修复usb未授权设备导致无线连接地址变为假值的问题",{"2":{"239":1}}],["修复打包后图标丢失的问题",{"2":{"238":1}}],["修复打包多个平台时可能生成重复文件导致发布软件包失败的问题",{"2":{"217":1}}],["修复设备列表按钮状态变更影响布局变化的问题",{"2":{"237":1}}],["修复设置主题跟随系统后没有生效的问题",{"2":{"199":1}}],["修复对设备进行独立配置时的一些问题",{"2":{"227":1}}],["修复自定义路径功能没有生效的问题",{"2":{"202":1}}],["修复录制结束点击取消异常弹窗以及点击重启服务没有反应的问题",{"2":{"202":1}}],["修复安装路径包含空格会导致无法启动服务的问题",{"2":{"202":1}}],["修复",{"2":{"188":1,"194":1,"195":1,"200":1,"202":1,"206":1,"209":1,"210":1,"212":1,"214":1,"215":1,"216":1,"218":1,"219":1,"220":1,"221":1,"222":2,"235":1,"236":1,"237":1,"260":1}}],["添加基本的无线连接功能",{"2":{"259":1}}],["添加基本的有线连接支持",{"2":{"259":1}}],["添加初步的构建及发布支持",{"2":{"259":1}}],["添加在线检查更新功能",{"2":{"248":1}}],["添加音视频录制功能以及更多的高级选项",{"2":{"246":1}}],["添加更多的高级配置并更新文档",{"2":{"244":1}}],["添加",{"2":{"205":1,"211":1,"259":1}}],["添加投屏窗口大小控制",{"2":{"162":1}}],["添加定时任务入口",{"2":{"112":1}}],["zeno",{"2":{"494":1}}],["zoom",{"0":{"436":1},"2":{"436":1,"517":1}}],["zsh",{"2":{"414":2,"423":1}}],["zh",{"2":{"137":1,"138":1,"140":1}}],["zip",{"2":{"5":1,"377":3,"378":1,"546":2}}],["🤩",{"2":{"267":1}}],["🤖",{"2":{"266":1}}],["🧑‍💻",{"2":{"12":4,"19":2,"72":1}}],["🩹",{"2":{"11":1,"12":2,"47":1,"50":1,"84":1}}],["jitter",{"2":{"534":1}}],["jdwp",{"2":{"460":2}}],["jdk",{"2":{"402":1,"405":2}}],["jre",{"2":{"372":2}}],["jar",{"2":{"378":1,"443":2,"445":3,"458":2}}],["java",{"0":{"378":1},"2":{"355":1,"370":1,"371":3,"372":2,"378":1,"403":1,"406":1,"407":3,"410":1,"443":2,"474":1}}],["japanese",{"2":{"12":1,"35":1}}],["just",{"2":{"327":1,"373":1,"379":2,"397":1,"399":1,"441":1,"443":1,"477":1,"486":1,"548":1}}],["js",{"2":{"7":1}}],["⬆️",{"2":{"12":4,"55":1,"57":1,"77":1,"96":1,"104":1}}],["➖",{"2":{"12":1,"69":1,"106":1,"150":1}}],["✅",{"2":{"12":4,"27":1,"57":1,"65":1,"98":1,"122":1,"278":36}}],["⚗️",{"2":{"12":1,"93":1}}],["♿️",{"2":{"12":1}}],["♻️",{"2":{"11":1,"12":25,"14":1,"19":1,"34":2,"35":1,"40":1,"59":1,"60":1,"62":1,"65":1,"67":1,"68":2,"72":2,"80":2,"82":1,"85":2,"87":2,"93":2,"100":1,"102":1,"109":1,"115":2,"118":1,"131":1,"134":4,"136":1,"142":1,"143":2,"144":1,"146":1,"147":1,"149":1,"150":3,"153":1,"164":2,"165":1,"168":1,"169":2,"170":2,"172":3,"174":2,"175":2,"178":4,"183":2,"186":1,"187":2,"198":4}}],["31",{"2":{"455":1}}],["31416",{"2":{"381":1}}],["3be0682",{"2":{"254":1}}],["3bd2075",{"2":{"233":1}}],["3bf79d3",{"2":{"208":1}}],["32",{"2":{"406":1,"546":1}}],["326a133",{"2":{"229":1}}],["3279c34",{"2":{"182":1}}],["36",{"2":{"373":1}}],["3654",{"2":{"347":1}}],["368e8ee",{"2":{"211":1}}],["368551a",{"2":{"148":1}}],["36de67b",{"2":{"172":1}}],["363bf3d",{"2":{"6":1}}],["37",{"2":{"350":1}}],["379b325",{"2":{"226":1}}],["37e2837",{"2":{"195":1}}],["37da97b",{"2":{"178":1}}],["37ce245",{"2":{"124":1}}],["37bf438",{"2":{"12":1}}],["3d4dc7c",{"2":{"117":1}}],["3dd7525",{"2":{"12":1,"87":1}}],["35~70ms",{"2":{"473":1}}],["35~70",{"2":{"265":1}}],["3566655",{"2":{"157":1}}],["359b9b9",{"2":{"12":1,"34":1}}],["358064e",{"2":{"11":1,"90":1}}],["33b0181",{"2":{"121":1}}],["33786ab",{"2":{"12":1,"30":1}}],["33a03c3",{"2":{"12":1,"55":1}}],["30~120fps",{"2":{"473":1}}],["300ms",{"2":{"522":1,"534":1}}],["30000",{"2":{"463":1}}],["300",{"2":{"463":1}}],["30",{"2":{"265":1,"421":1,"474":1}}],["3046746",{"2":{"182":1}}],["30eca50",{"2":{"164":1}}],["305187d",{"2":{"12":1,"53":1}}],["301dac5",{"2":{"11":1,"36":1}}],["3e3fc34",{"2":{"12":1}}],["39",{"2":{"345":1}}],["393e899",{"2":{"213":1}}],["39e0533",{"2":{"12":1,"27":1}}],["39bbc98",{"2":{"12":1,"86":1}}],["34800cf",{"2":{"186":1}}],["343423e",{"2":{"139":1}}],["343eab2",{"2":{"118":1}}],["34f27c5",{"2":{"12":1,"53":1}}],["344b385",{"2":{"12":1,"80":1}}],["34785dd",{"2":{"11":1,"18":1}}],["389ac33",{"2":{"150":1}}],["38f854b",{"2":{"110":1}}],["3812061",{"2":{"12":1,"35":1}}],["38d1433",{"2":{"12":1,"60":1}}],["3",{"2":{"10":1,"12":4,"23":2,"25":1,"41":1,"43":1,"157":1,"160":1,"321":1,"419":2,"441":1,"455":1,"456":1,"530":1}}],["79d85eb",{"2":{"236":1}}],["790e703",{"2":{"12":1,"96":1}}],["77dd81b",{"2":{"221":1}}],["7dbca01",{"2":{"190":1}}],["7d91d71",{"2":{"12":1,"19":1}}],["70f8b46",{"2":{"174":1}}],["705f8be",{"2":{"11":1,"39":1}}],["780e3b9",{"2":{"143":1}}],["7cd9ea3",{"2":{"249":1}}],["7c55e50",{"2":{"134":1}}],["7c74c71",{"2":{"12":1,"66":1}}],["7ee4ba4",{"2":{"125":1}}],["7e5dfe0",{"2":{"13":1}}],["737c2a3",{"2":{"103":1}}],["755a130",{"2":{"165":1}}],["7510548",{"2":{"12":1,"68":1}}],["7507915",{"2":{"12":1,"47":1}}],["7f5b1063e7895182aa60def1437e50363c3758144088dcd079037bb7c3c46a1c",{"2":{"377":1}}],["7f5bd35",{"2":{"12":1,"15":1}}],["7f10161",{"2":{"10":1,"92":1}}],["7411487",{"2":{"12":1}}],["74a91a4",{"2":{"12":1,"77":1}}],["7",{"2":{"12":1,"96":1,"406":1,"435":1,"456":1,"462":1,"517":1}}],["7b3c4db",{"2":{"110":1}}],["7b61b25",{"2":{"12":1,"68":1}}],["7beb027",{"2":{"11":1,"21":1}}],["7a6417e",{"2":{"178":1}}],["7ae3f21",{"2":{"12":1,"34":1}}],["7ad5ecd",{"2":{"10":1}}],["7655ba6",{"2":{"12":1,"100":1}}],["qcom",{"2":{"529":1}}],["questions",{"2":{"481":1}}],["queue",{"2":{"453":2}}],["query",{"2":{"12":1,"34":1}}],["quarantine",{"2":{"332":1}}],["quality",{"2":{"12":1,"19":1,"265":1,"447":1,"473":2,"477":1,"528":1}}],["quot",{"0":{"336":2},"2":{"294":2,"304":2,"306":4,"307":2,"313":2,"314":2,"317":2,"321":2,"344":2,"346":2,"353":2,"371":2,"379":2,"436":4,"446":4,"451":4,"452":2,"455":2,"473":2,"486":2,"500":2,"503":2,"517":2}}],["quick",{"0":{"288":1},"1":{"289":1,"290":1,"291":1,"292":1,"293":1,"294":1,"295":1,"296":1,"297":1},"2":{"8":1,"11":1,"12":1,"34":1,"52":1,"110":1,"266":1,"278":1,"375":1}}],["qr",{"0":{"294":1},"2":{"10":1,"12":3,"47":1,"57":1,"62":1,"63":1,"266":1,"294":1}}],["9d11",{"2":{"436":1}}],["9d55ef9",{"2":{"242":1}}],["9805",{"2":{"436":1}}],["9833932",{"2":{"12":1,"85":1}}],["9",{"2":{"419":2,"423":2,"435":1}}],["922abd2",{"2":{"244":1}}],["9c25325",{"2":{"239":1}}],["9cf800c",{"2":{"187":1}}],["994cb09",{"2":{"185":1}}],["96f85d8",{"2":{"220":1}}],["96bfc77",{"2":{"177":1}}],["969378f",{"2":{"12":1,"35":1}}],["97d7868",{"2":{"162":1}}],["9777622",{"2":{"11":1,"67":1}}],["9f1696f",{"2":{"132":1}}],["9fc1ded",{"2":{"126":1}}],["9a4efa5",{"2":{"237":1}}],["9a7e56b",{"2":{"116":1}}],["9af3988",{"2":{"12":1,"19":1}}],["9a67142",{"2":{"12":1,"69":1}}],["93ad836",{"2":{"198":1}}],["93c059d",{"2":{"12":1,"27":1}}],["939a2d2",{"2":{"12":1,"34":1}}],["90",{"2":{"530":1}}],["90°",{"2":{"530":6}}],["902103e6497f995e1e9b92421be212559950cca4a8b557e1f0403769aee06fc8",{"2":{"377":1}}],["900dc69",{"2":{"12":1,"22":1}}],["90c7163",{"2":{"12":1,"55":1}}],["9063243",{"2":{"12":1,"16":1}}],["9ef7203",{"2":{"260":1}}],["9e4f432",{"2":{"160":1}}],["9e31c84",{"2":{"12":1,"59":1}}],["9eca902",{"2":{"8":1}}],["955756e",{"2":{"235":1}}],["9555f58",{"2":{"12":1,"93":1}}],["95a83f4",{"2":{"199":1}}],["95ad30d",{"2":{"8":1}}],["952b2a7",{"2":{"12":1,"87":1}}],["94ee007",{"2":{"105":1}}],["9491069",{"2":{"11":1,"84":1}}],["94ccb7b",{"2":{"10":1,"38":1}}],["9bf4d5c",{"2":{"11":1,"78":1}}],["9b43dc0",{"2":{"11":1,"81":1}}],["9b7f6a9",{"2":{"11":1,"79":1}}],["9b0c4df",{"2":{"8":1}}],["9153b324669f",{"2":{"436":1}}],["91ad249",{"2":{"10":1,"32":1}}],["91d9bbd",{"2":{"4":1}}],["5th",{"2":{"503":4,"517":3}}],["5ms",{"2":{"396":1}}],["5555",{"2":{"295":1,"344":1,"426":3,"428":3,"429":2}}],["55800be",{"2":{"12":1,"19":1}}],["58a66f1",{"2":{"238":1}}],["5dd328c",{"2":{"228":1}}],["5d44ebf",{"2":{"8":1}}],["569ed2e",{"2":{"224":1}}],["543275",{"2":{"436":2}}],["54e713b",{"2":{"209":1}}],["5488a1e",{"2":{"12":1,"65":1}}],["5f8cc5a",{"2":{"175":1}}],["517091a",{"2":{"173":1}}],["5a04b4c",{"2":{"178":1}}],["5ac5ee6",{"2":{"160":1}}],["5ae8fbe",{"2":{"4":1}}],["5793c24",{"2":{"169":1}}],["576d287",{"2":{"141":1}}],["57c11af",{"2":{"12":1,"50":1}}],["5",{"0":{"369":1},"1":{"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1,"378":1,"379":1,"380":1,"381":1,"382":1,"383":1,"384":1,"385":1,"386":1},"2":{"127":1,"344":3,"355":1,"372":1,"377":2,"378":1,"456":1,"463":1,"474":1}}],["5038",{"2":{"520":8}}],["5037",{"2":{"519":3,"520":4}}],["5005",{"2":{"460":5}}],["50ms",{"2":{"396":1,"534":1}}],["50ae742",{"2":{"113":1}}],["50440f5",{"2":{"12":1,"98":1}}],["52514e2",{"2":{"204":1}}],["5205935",{"2":{"107":1}}],["52cc4b1",{"2":{"10":1,"32":1}}],["5b6b8d1",{"2":{"168":1}}],["5b02621",{"2":{"119":1}}],["5b033fd",{"2":{"12":1,"53":1}}],["5b7d0af",{"2":{"115":1}}],["5b2d41c",{"2":{"110":1}}],["5b5bbf7",{"2":{"12":1,"24":1}}],["595216b",{"2":{"12":1,"40":1}}],["5c401a8",{"2":{"184":1}}],["5c4f65e",{"2":{"11":1,"52":1}}],["5ca39ae",{"2":{"12":1,"94":1}}],["5c2c711",{"2":{"11":1,"39":1}}],["5cd5992",{"2":{"10":1,"17":1}}],["🌟",{"2":{"265":1}}],["🎉",{"2":{"120":1,"151":1,"167":1,"176":1,"184":1,"186":1,"196":1,"228":1,"254":1}}],["🍻",{"2":{"12":1,"16":1,"160":1}}],["🌱",{"2":{"12":3,"19":2,"24":1}}],["🎨",{"2":{"8":2,"183":1,"188":1,"266":1}}],["🌐",{"2":{"8":2,"145":1}}],["⚡️",{"2":{"8":1,"12":5,"59":1,"80":1,"85":1,"86":1,"93":1,"160":1,"265":1}}],["wget",{"2":{"495":1}}],["w",{"2":{"462":1}}],["wrapper",{"2":{"449":1}}],["wrappers",{"2":{"444":1}}],["writable",{"2":{"443":2}}],["writing",{"2":{"317":1,"385":1,"483":1,"530":1}}],["writes",{"2":{"441":1,"447":1}}],["write",{"2":{"11":1,"18":1,"317":1,"321":1}}],["w64",{"2":{"405":3,"406":14}}],["www",{"2":{"385":1,"483":1}}],["webrtc",{"2":{"521":1}}],["webcam",{"0":{"424":1},"2":{"424":1,"473":1,"477":1,"521":1}}],["websocket",{"2":{"160":1}}],["were",{"2":{"416":1,"514":1}}],["we",{"2":{"327":1,"445":1,"451":1}}],["wechat",{"2":{"324":3}}],["wav",{"2":{"504":1,"505":2}}],["wait",{"2":{"460":1}}],["waiting",{"2":{"12":1,"80":1}}],["watch",{"2":{"396":1}}],["warranties",{"2":{"385":1,"483":1}}],["warning",{"2":{"346":1,"435":1,"519":1}}],["warn",{"2":{"344":1}}],["wasd",{"2":{"486":1}}],["was",{"2":{"321":1,"371":1,"514":1,"517":1}}],["want",{"2":{"307":1,"309":1,"344":1,"376":1,"379":1,"380":1,"397":1,"398":1,"407":1,"410":1,"516":1}}],["ways",{"2":{"426":1,"488":1}}],["wayland",{"0":{"352":1}}],["way",{"2":{"271":1,"405":1,"435":2,"525":1}}],["whole",{"2":{"391":2}}],["why",{"0":{"327":1,"383":1},"2":{"328":1}}],["while",{"2":{"270":1,"353":1,"367":1,"380":1,"392":1,"417":1,"436":1,"461":1,"462":4,"463":1,"464":1,"472":1,"489":1,"490":1,"502":1,"504":1,"507":1,"516":1}}],["whichever",{"2":{"455":1}}],["which",{"0":{"371":1},"2":{"12":1,"48":1,"327":1,"328":1,"344":1,"364":1,"410":1,"432":1,"441":3,"443":1,"446":1,"450":1,"454":1,"458":1,"462":1,"504":1,"512":1,"541":1}}],["what",{"0":{"263":1}}],["whether",{"2":{"273":1}}],["whereas",{"2":{"436":1}}],["where",{"2":{"11":9,"18":1,"21":1,"26":1,"29":1,"36":1,"39":2,"46":1,"70":1,"329":1,"373":1,"487":1,"521":1}}],["whenever",{"2":{"379":1,"430":1}}],["when",{"0":{"330":1,"332":1},"2":{"10":1,"11":5,"12":7,"21":1,"22":1,"27":1,"34":1,"36":2,"39":2,"40":1,"49":1,"53":1,"85":1,"92":1,"295":1,"319":2,"343":1,"345":1,"380":1,"388":1,"434":1,"435":2,"436":1,"441":2,"446":1,"447":1,"452":1,"455":1,"462":2,"466":1,"486":1,"488":1,"495":1,"519":1,"527":1,"530":1,"535":2,"540":1,"542":1,"548":1}}],["won",{"2":{"548":2}}],["world",{"2":{"443":1}}],["worth",{"2":{"273":1}}],["works",{"2":{"369":1,"373":1,"388":1,"412":2,"435":1,"436":1,"472":2,"473":1,"480":1,"485":1,"489":2,"490":2,"495":1,"502":2,"514":1,"516":1}}],["workspace",{"2":{"6":1}}],["workaround",{"2":{"337":1,"353":1}}],["working",{"2":{"326":1,"371":1}}],["work",{"0":{"349":1,"350":1},"2":{"268":1,"323":1,"328":1,"340":1,"341":1,"344":1,"369":1,"458":1,"471":1,"472":1,"482":1,"485":1,"488":1,"489":1,"490":1,"498":1,"501":1,"502":1}}],["workflows",{"2":{"139":1}}],["workflow",{"2":{"1":1,"4":2,"321":1}}],["would",{"2":{"11":2,"36":1,"39":1,"327":3,"548":1}}],["wire",{"2":{"454":1}}],["wirelessly",{"2":{"480":1,"489":1,"516":1}}],["wireless",{"0":{"325":1,"326":1,"427":1},"1":{"428":1,"429":1},"2":{"12":5,"27":1,"59":2,"80":1,"113":1,"135":1,"143":1,"266":1,"294":1,"295":5,"325":2,"429":1,"462":1}}],["wi",{"2":{"429":1}}],["winget",{"2":{"547":1}}],["win32",{"2":{"405":1,"546":1}}],["win64",{"2":{"377":1,"405":1,"546":1}}],["windows",{"0":{"347":1,"404":1,"515":1,"544":1},"1":{"405":1,"406":1,"545":1,"546":1,"547":1,"548":1},"2":{"10":2,"11":7,"12":1,"17":1,"19":1,"21":2,"26":1,"32":1,"36":1,"39":1,"64":1,"84":1,"116":1,"211":1,"269":1,"278":1,"297":1,"299":1,"310":1,"311":2,"329":2,"333":1,"341":1,"342":1,"347":1,"369":1,"373":1,"377":2,"379":2,"399":1,"406":1,"411":1,"414":1,"415":1,"472":1,"473":1,"475":1,"489":1,"490":1,"502":1,"517":1}}],["window",{"0":{"283":1,"298":1,"302":1,"304":1,"307":1,"308":1,"309":1,"310":1,"331":1,"338":1,"549":1,"550":1},"1":{"299":1,"300":1,"301":1,"302":1,"303":1,"304":1,"305":1,"306":1,"307":1,"308":1,"309":2,"310":2,"311":2,"312":1,"313":1,"314":1,"315":1,"316":1,"317":1,"318":1,"319":1,"320":1,"321":1,"550":1,"551":1,"552":1,"553":1,"554":1,"555":1,"556":1},"2":{"6":1,"11":1,"12":8,"28":1,"30":1,"34":3,"50":1,"54":1,"87":1,"163":1,"178":1,"266":2,"271":1,"278":2,"283":4,"298":2,"299":3,"301":4,"302":2,"304":2,"307":1,"309":3,"310":3,"314":1,"315":2,"317":1,"318":8,"319":1,"321":4,"338":1,"390":3,"438":1,"439":1,"441":1,"452":1,"455":1,"478":1,"488":1,"504":1,"507":2,"517":3,"521":1,"550":2,"551":2,"552":5,"553":2,"554":1}}],["wifi",{"0":{"293":1},"1":{"294":1,"295":1},"2":{"295":1,"296":1}}],["widget",{"2":{"306":1,"307":1}}],["widgets",{"2":{"12":1,"34":1}}],["width=800",{"2":{"552":1}}],["width",{"2":{"116":1,"121":1,"283":1,"301":1,"311":2,"318":2,"419":3,"456":1,"525":1}}],["will",{"2":{"10":1,"32":1,"304":1,"306":1,"307":2,"313":2,"314":3,"315":2,"317":1,"326":1,"338":1,"340":1,"344":1,"363":2,"364":1,"367":1,"387":1,"388":2,"391":1,"398":1,"405":1,"410":2,"423":1,"428":1,"441":1,"445":1,"454":1,"458":2,"460":1,"464":2,"486":1,"521":1,"525":1,"541":2,"547":1,"548":1}}],["within",{"2":{"521":2}}],["without",{"0":{"413":1},"2":{"273":1,"278":1,"379":1,"380":1,"385":1,"388":1,"390":2,"414":1,"415":1,"428":1,"434":1,"441":2,"477":1,"483":1,"499":1,"514":1,"516":2,"535":2,"548":3}}],["with",{"0":{"352":1},"2":{"8":6,"10":1,"11":3,"12":4,"21":1,"27":1,"29":1,"47":2,"74":1,"263":2,"266":2,"271":1,"296":1,"327":1,"330":1,"340":1,"344":1,"346":2,"355":1,"357":1,"371":1,"373":1,"385":1,"388":2,"390":1,"391":1,"392":1,"396":1,"407":1,"412":2,"416":1,"417":1,"419":3,"423":1,"424":1,"427":1,"428":1,"429":1,"432":1,"438":1,"441":2,"443":2,"444":1,"446":1,"454":1,"458":1,"464":1,"472":1,"473":1,"480":1,"483":1,"490":1,"496":1,"498":1,"499":1,"502":1,"503":1,"505":1,"507":1,"513":1,"514":1,"517":3,"520":1,"521":5,"525":1,"527":1,"530":1,"535":1,"548":3,"555":1}}],["4th",{"2":{"503":4,"517":1}}],["4+",{"2":{"324":1}}],["4e2be23",{"2":{"250":1}}],["4e1542a",{"2":{"219":1}}],["420",{"2":{"539":2}}],["4263d07",{"2":{"249":1}}],["422950c",{"2":{"6":1}}],["43f1",{"2":{"436":1}}],["43f15be",{"2":{"229":1}}],["4380",{"2":{"392":1}}],["432eceb",{"2":{"11":1,"70":1}}],["4f2f00e",{"2":{"225":1}}],["4fe55a3",{"2":{"145":1}}],["4755",{"2":{"337":1}}],["4780e7c",{"2":{"223":1}}],["47ae53d",{"2":{"12":1,"98":1}}],["4b29",{"2":{"436":1}}],["4b259c3",{"2":{"216":1}}],["4b13f58",{"2":{"201":1}}],["4b4e116",{"2":{"192":1}}],["4be2cf4",{"2":{"12":1,"93":1}}],["4a3407d7f0c2c8a03e22a12cf0b5e1e585a5056fe23c8e5cf3252207c6fa8357",{"2":{"546":1}}],["4a3575f",{"2":{"172":1}}],["4a90",{"2":{"436":1}}],["4a18f61",{"2":{"11":1,"33":1}}],["4",{"2":{"151":1,"311":1,"321":1,"361":2,"362":2,"363":2,"364":2,"366":2,"419":1,"426":1,"456":2,"503":1,"530":1}}],["41",{"2":{"345":1}}],["41ffcf5",{"2":{"102":1}}],["415e4ae",{"2":{"2":1}}],["4464e7e",{"2":{"12":1,"34":1}}],["4508758",{"2":{"11":1,"88":1}}],["46defbf",{"2":{"178":1}}],["468af22",{"2":{"12":1,"37":1}}],["460aca1",{"2":{"11":1,"52":1}}],["462536c",{"2":{"10":1,"25":1}}],["487e7e2",{"2":{"11":1,"84":1}}],["498fc90",{"2":{"6":1}}],["oculus",{"2":{"532":1}}],["occur",{"2":{"447":1}}],["occurs",{"2":{"345":1,"548":1}}],["occupying",{"2":{"321":1}}],["occasionally",{"2":{"329":1}}],["occlusion",{"2":{"311":1}}],["obs",{"2":{"521":1}}],["obsolete",{"2":{"494":1}}],["obtained",{"2":{"295":1}}],["obtaining",{"2":{"12":1,"59":1}}],["obtain",{"2":{"11":1,"12":1,"42":1,"86":1,"295":1,"385":1,"483":1}}],["o",{"2":{"453":1}}],["own",{"2":{"441":1,"453":1}}],["our",{"2":{"386":1}}],["out",{"2":{"341":1,"388":1,"391":1,"392":1,"495":1}}],["outweigh",{"2":{"327":1}}],["outside",{"2":{"311":1}}],["outstanding",{"2":{"273":1}}],["outputs",{"2":{"380":1}}],["output",{"2":{"12":1,"22":1,"186":1,"284":1,"334":1,"391":4,"396":2,"416":1,"441":1,"504":1}}],["outline",{"2":{"8":1}}],["os",{"0":{"407":1},"2":{"369":1}}],["old",{"2":{"344":1,"377":1,"402":2,"471":1,"489":1,"501":1}}],["older",{"2":{"12":1,"47":1,"445":1}}],["orient",{"2":{"530":1}}],["orientation=",{"2":{"530":9}}],["orientation=flip270",{"2":{"530":2}}],["orientation=flip180",{"2":{"530":2}}],["orientation=flip90",{"2":{"530":2}}],["orientation=flip0",{"2":{"530":2}}],["orientation=270",{"2":{"530":2}}],["orientation=180",{"2":{"530":2}}],["orientation=0",{"2":{"530":2}}],["orientation=90",{"2":{"420":1,"530":2}}],["orientation",{"0":{"530":1},"2":{"281":1,"285":1,"391":1,"420":1,"506":1,"530":14,"531":1,"532":2}}],["org",{"2":{"385":1,"403":1,"483":1}}],["orchestration",{"2":{"278":2}}],["or",{"0":{"330":1},"2":{"265":1,"273":1,"302":1,"326":1,"328":1,"329":1,"330":1,"334":1,"336":1,"344":3,"345":1,"346":1,"347":2,"385":3,"388":3,"391":1,"392":1,"393":1,"399":1,"410":1,"416":1,"419":1,"428":1,"429":1,"435":1,"436":2,"441":2,"445":2,"447":1,"449":1,"452":1,"455":2,"456":2,"459":1,"460":1,"464":2,"469":1,"473":3,"474":1,"481":1,"483":3,"484":1,"485":1,"486":2,"488":2,"496":1,"497":1,"498":1,"500":2,"503":3,"513":1,"514":3,"516":1,"517":4,"521":2,"527":1,"528":1,"529":1,"530":1,"535":2,"540":1,"541":1,"548":2,"550":1}}],["order",{"2":{"12":1,"34":1,"445":1,"454":1,"455":1,"468":1}}],["otg",{"0":{"347":1,"514":1,"515":1},"1":{"515":1,"516":1},"2":{"141":2,"186":2,"276":1,"347":1,"451":3,"472":2,"473":1,"474":1,"477":1,"478":1,"490":2,"502":2,"514":10,"516":2}}],["otherwise",{"2":{"517":1,"533":1}}],["others",{"2":{"417":1}}],["other",{"2":{"122":1,"301":1,"321":1,"345":1,"446":1,"449":1,"455":1,"472":1,"476":1,"485":1,"490":1,"502":1,"525":1,"547":1}}],["omitted",{"2":{"12":1,"27":1,"485":1,"498":1,"503":1}}],["once",{"2":{"307":1,"324":1,"349":1,"429":1,"474":1,"484":1,"488":1,"489":1,"496":1,"513":1,"521":1}}],["ones",{"2":{"419":1}}],["one",{"0":{"371":1},"2":{"298":1,"306":1,"344":1,"347":1,"361":1,"370":2,"379":1,"380":1,"426":7,"444":1,"446":1,"451":1,"452":1,"455":1,"470":1,"472":1,"488":1,"489":1,"500":1,"503":4,"516":1,"529":1,"532":1,"548":1}}],["only",{"0":{"390":1,"432":1,"434":1,"516":1},"2":{"265":1,"267":1,"278":1,"306":1,"307":2,"324":1,"328":1,"333":1,"347":1,"363":1,"369":1,"371":1,"372":1,"373":1,"379":1,"380":1,"388":1,"389":1,"390":1,"391":2,"392":1,"396":1,"410":1,"411":1,"412":1,"434":1,"435":1,"436":3,"441":1,"447":1,"455":1,"457":1,"462":1,"465":1,"472":2,"473":2,"490":2,"495":1,"502":2,"504":3,"507":1,"514":2,"517":1,"527":1,"530":1,"532":2,"533":2,"535":1,"536":1,"550":1}}],["on",{"0":{"262":1,"333":1,"347":1,"466":1,"467":2,"491":1,"509":1,"515":1,"542":1,"544":1,"554":1},"1":{"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"269":1,"270":1,"271":1,"272":1,"273":1,"492":1,"493":1,"494":1,"495":1,"496":1,"510":1,"511":1,"512":1,"513":1,"545":1,"546":1,"547":1,"548":1},"2":{"10":1,"11":3,"12":5,"33":1,"39":2,"47":2,"51":1,"53":2,"98":1,"144":1,"263":2,"265":1,"267":1,"268":3,"282":1,"283":1,"292":1,"324":2,"327":1,"330":1,"341":1,"342":1,"343":2,"344":1,"347":1,"349":1,"352":2,"353":1,"355":1,"357":1,"358":1,"361":1,"363":2,"364":1,"365":1,"369":4,"371":1,"372":2,"373":3,"379":3,"380":1,"385":1,"387":1,"391":2,"392":1,"394":1,"396":1,"398":2,"399":1,"402":1,"410":1,"414":2,"415":1,"417":1,"424":2,"426":1,"427":1,"428":2,"429":2,"435":3,"439":2,"441":6,"443":1,"445":1,"446":5,"447":4,"448":1,"449":1,"450":1,"451":2,"452":3,"453":4,"454":1,"455":3,"456":3,"457":1,"458":4,"460":6,"461":1,"462":4,"463":1,"464":8,"465":4,"466":1,"467":3,"468":2,"469":1,"470":1,"471":2,"472":1,"473":5,"474":2,"477":2,"483":1,"484":1,"485":1,"486":1,"488":4,"489":4,"490":1,"496":1,"497":1,"498":1,"500":2,"501":2,"502":1,"503":3,"504":2,"505":3,"513":1,"517":14,"519":1,"520":1,"521":1,"525":1,"527":1,"528":1,"529":1,"530":2,"533":1,"535":1,"539":1,"540":1,"543":2,"548":6,"554":2,"556":1}}],["opus",{"2":{"391":1,"393":3,"394":1,"441":1,"456":1,"504":2,"505":2}}],["opt",{"2":{"337":1,"391":1,"392":1}}],["optimizing",{"2":{"271":1}}],["optimization",{"2":{"12":5,"24":1,"30":1,"40":1,"53":1,"93":1,"114":1,"122":1,"143":1,"150":1,"164":1,"168":1,"170":1,"187":1,"298":1}}],["optimized",{"0":{"267":1},"2":{"12":4,"37":2,"68":1,"72":1,"114":1}}],["optimize",{"2":{"8":2,"10":1,"12":43,"14":1,"15":2,"19":10,"22":3,"27":1,"34":3,"35":1,"38":1,"40":2,"47":1,"55":1,"59":1,"60":1,"61":1,"62":1,"65":1,"77":1,"80":1,"86":1,"87":1,"93":2,"94":1,"96":1,"98":1,"102":1,"110":3,"113":1,"115":1,"118":1,"134":1,"143":1,"150":3,"164":1,"165":1,"168":1,"169":1,"170":1,"172":3,"174":2,"175":1,"178":4,"183":2,"186":1,"187":1,"198":1}}],["optionally",{"2":{"468":1}}],["option",{"0":{"411":1,"412":1},"2":{"5":2,"12":1,"47":1,"163":1,"165":1,"182":1,"186":1,"306":1,"349":2,"396":1,"420":1,"428":1,"429":1,"435":1,"464":1,"465":1,"474":2,"485":1,"498":1,"508":1,"535":1}}],["options=flac",{"2":{"393":1}}],["options",{"2":{"4":1,"11":1,"12":4,"22":1,"46":1,"50":1,"75":1,"86":1,"125":1,"146":1,"153":1,"178":1,"182":1,"270":1,"324":1,"349":1,"380":1,"393":1,"413":1,"423":1,"458":1,"465":1,"477":1,"478":1,"485":1,"498":1,"521":1,"528":1}}],["operate",{"0":{"328":1}}],["operating",{"2":{"269":1,"321":1}}],["operations",{"0":{"312":1},"1":{"313":1,"314":1,"315":1},"2":{"128":1,"268":1,"298":1}}],["operation",{"0":{"274":1,"303":1},"1":{"275":1,"276":1,"277":1,"304":1,"305":1,"306":1,"307":1,"308":1,"309":1,"310":1,"311":1,"312":1,"313":1,"314":1,"315":1},"2":{"12":1,"47":1,"107":1,"110":1,"114":2,"118":1,"150":1,"173":1,"268":1,"270":1}}],["opened",{"2":{"454":1,"455":3,"488":1,"521":1}}],["opens",{"2":{"441":1,"451":1}}],["openjdk",{"2":{"372":1,"402":1,"405":1,"407":1}}],["opening",{"2":{"12":1,"40":1,"548":1}}],["open",{"0":{"332":1,"337":1},"2":{"10":1,"12":1,"51":1,"53":1,"263":1,"267":1,"272":1,"273":1,"278":1,"292":1,"304":1,"329":1,"330":1,"332":2,"343":3,"379":2,"380":1,"387":1,"472":2,"473":1,"481":1,"482":1,"490":2,"502":2,"517":1,"519":1,"520":2,"521":1,"540":1,"548":3}}],["overwrite",{"2":{"345":1}}],["overflowing",{"2":{"331":1}}],["over",{"2":{"315":1,"344":1,"369":2,"426":3,"427":1,"428":1,"429":1,"434":1,"458":1,"462":1,"472":1,"489":1,"490":1,"502":1,"514":1,"518":1}}],["overlap",{"2":{"311":2}}],["overview",{"0":{"299":1,"441":1},"2":{"452":1}}],["overhaul",{"2":{"10":1}}],["override",{"2":{"6":1,"302":1}}],["offset",{"2":{"532":1}}],["official",{"0":{"493":1,"511":1,"546":1}}],["offline",{"2":{"12":1,"65":1}}],["off",{"0":{"463":1,"464":1,"466":1},"2":{"11":3,"12":1,"46":1,"54":1,"88":1,"93":1,"141":1,"277":1,"282":2,"434":1,"463":5,"464":6,"466":2,"473":1,"503":1,"517":2,"548":1}}],["of",{"0":{"332":1},"2":{"6":1,"7":1,"9":1,"10":1,"11":19,"12":33,"18":1,"19":5,"21":2,"22":1,"27":1,"30":1,"33":1,"34":6,"36":2,"38":1,"39":3,"40":2,"42":1,"45":1,"47":1,"49":1,"52":2,"53":2,"54":1,"55":2,"58":1,"59":2,"61":1,"64":1,"65":2,"80":1,"85":1,"86":1,"96":1,"99":2,"101":1,"102":1,"110":3,"113":1,"114":2,"116":1,"121":1,"122":2,"144":1,"265":1,"270":2,"278":3,"298":2,"299":1,"302":1,"304":1,"310":1,"311":2,"315":1,"317":1,"321":1,"327":1,"329":1,"330":2,"337":1,"341":1,"344":1,"357":1,"369":1,"370":1,"371":2,"373":1,"385":2,"388":1,"391":1,"398":1,"416":1,"417":1,"419":3,"426":1,"435":3,"436":2,"441":7,"443":1,"445":2,"447":1,"449":2,"451":2,"452":2,"454":1,"456":1,"457":1,"462":1,"474":1,"477":1,"478":1,"482":1,"483":2,"486":1,"488":2,"493":2,"500":2,"503":3,"504":1,"511":2,"516":2,"518":1,"520":1,"530":1,"531":2,"532":2,"533":1,"539":1,"548":2}}],["mbps",{"2":{"526":1}}],["m4a",{"2":{"504":1,"505":1}}],["m1024",{"2":{"476":1}}],["m1920",{"2":{"419":3,"445":1,"477":1}}],["mka",{"2":{"504":1,"505":1}}],["mkv",{"2":{"452":1,"496":2,"504":2,"505":1,"507":1,"508":1,"513":2,"530":1,"535":2,"548":2}}],["mk",{"2":{"434":1}}],["m3000",{"2":{"419":1}}],["m",{"2":{"419":2,"434":1,"482":1,"497":1,"501":1,"525":1}}],["mp4",{"2":{"416":2,"452":1,"477":2,"504":3,"505":2,"507":2,"530":1,"550":1}}],["msys2",{"0":{"406":1},"2":{"406":3}}],["md",{"2":{"397":1,"495":1,"512":1,"547":1}}],["myscrcpy",{"2":{"548":1}}],["my",{"2":{"382":1,"443":2,"482":1,"551":1}}],["muxed",{"2":{"452":1,"505":1}}],["must",{"0":{"476":1},"2":{"12":1,"27":1,"342":1,"343":1,"345":1,"352":1,"358":1,"359":1,"396":1,"411":2,"426":1,"427":1,"443":1,"454":3,"485":1,"498":1,"503":2,"514":1,"521":1,"540":1}}],["multi",{"2":{"10":1,"14":1,"266":2,"278":2,"298":2,"321":1}}],["multiple",{"2":{"8":1,"10":1,"17":1,"299":1,"344":1,"358":2,"359":2,"360":1,"426":1,"472":2}}],["meets",{"2":{"496":1,"513":1,"548":1}}],["meta",{"2":{"458":1}}],["metata",{"2":{"458":1}}],["meta=false",{"2":{"458":2}}],["metadata",{"2":{"455":1,"456":1}}],["methods",{"0":{"444":1},"2":{"270":1,"278":1,"444":1}}],["method",{"2":{"12":6,"15":1,"27":1,"59":2,"65":1,"115":1,"286":1,"324":5,"344":1,"350":1,"355":1,"392":1,"405":1,"443":1,"446":1,"449":1}}],["meson",{"2":{"402":3,"403":1,"406":2,"407":1,"412":1,"460":1,"495":1}}],["messages",{"2":{"330":1,"446":2,"449":1,"453":4,"457":1}}],["message",{"2":{"6":1,"12":1,"85":1,"317":1,"344":1,"435":1,"548":2}}],["meant",{"2":{"391":1}}],["memory",{"2":{"371":1}}],["mediaformat",{"2":{"393":1,"528":1}}],["media",{"2":{"355":1}}],["mediacodec",{"2":{"355":2,"447":1,"448":1,"452":1,"456":1}}],["me",{"2":{"261":2}}],["menu",{"0":{"327":1},"2":{"12":1,"15":1,"164":2,"174":1,"330":1,"517":3}}],["mechanism",{"0":{"318":1},"2":{"12":1,"72":1,"174":1}}],["merge",{"2":{"10":1,"32":1,"138":1}}],["middle",{"2":{"476":1,"503":4,"517":1}}],["minutes",{"2":{"463":1}}],["mingw",{"2":{"405":4,"406":14}}],["minimal",{"2":{"441":1}}],["minimize",{"2":{"390":1,"396":1,"441":1}}],["minimized",{"0":{"331":1}}],["minimizing",{"2":{"11":1,"99":1}}],["minimum",{"2":{"310":2,"311":2,"321":1}}],["mic",{"2":{"391":6}}],["microphone",{"2":{"391":7,"416":2,"441":1,"477":1}}],["microsoft",{"0":{"335":1}}],["might",{"2":{"336":1,"344":1,"347":1,"390":1,"396":2,"447":1,"455":1,"474":1,"481":1,"521":2,"525":1,"541":1}}],["migration",{"2":{"12":1,"27":1}}],["migrating",{"2":{"12":1,"27":1}}],["migrate",{"2":{"8":1}}],["milestones",{"0":{"278":1}}],["milliseconds",{"2":{"265":1,"463":2}}],["misbehaving",{"2":{"472":1}}],["mistake",{"2":{"445":1}}],["misconfiguration",{"2":{"445":1}}],["miscellaneous",{"0":{"1":1,"2":1,"4":1,"13":1,"91":1,"154":1,"161":1}}],["missing",{"2":{"11":1,"45":1,"323":1}}],["mirrored",{"2":{"525":1,"533":1}}],["mirrors",{"2":{"144":1,"473":1,"524":1}}],["mirror",{"0":{"335":1},"2":{"11":1,"12":1,"65":1,"95":1,"169":2,"170":1,"176":1,"178":2,"271":1,"276":1,"277":1,"344":1,"472":1,"490":1,"502":1,"518":1,"525":2,"532":2,"533":1,"539":1}}],["mirroring",{"0":{"265":1,"330":1,"334":1},"2":{"10":2,"11":1,"12":1,"51":1,"55":1,"79":1,"83":1,"122":1,"263":1,"266":1,"275":1,"278":3,"280":1,"292":1,"295":1,"319":2,"324":2,"330":1,"388":1,"392":1,"416":1,"419":1,"434":1,"464":1,"472":1,"473":3,"477":1,"489":1,"490":1,"502":1,"504":1,"508":1,"516":1,"517":1,"525":1,"530":1,"532":1}}],["mozilla",{"2":{"468":2}}],["most",{"2":{"456":1}}],["motion",{"2":{"447":1,"449":1,"499":1}}],["movies",{"2":{"439":1}}],["moving",{"0":{"309":1}}],["movements",{"2":{"436":1}}],["moved",{"2":{"11":1,"54":1}}],["move",{"2":{"8":1,"309":2,"310":1,"436":3,"517":3,"542":1}}],["mobile",{"2":{"268":2}}],["mouse=disabled",{"2":{"497":1,"514":1}}],["mouse=sdk",{"2":{"436":1,"497":1,"498":1}}],["mouse=uhid",{"2":{"434":2,"497":1,"501":1,"516":1}}],["mouse=aoa",{"2":{"347":1,"434":1,"497":1,"502":1,"514":1,"516":1}}],["mouse",{"0":{"349":1,"433":1,"497":1,"498":1,"499":1,"500":1,"503":1},"1":{"498":1,"499":2,"500":1,"501":2,"502":2,"503":1},"2":{"125":1,"286":2,"309":2,"310":2,"315":1,"321":2,"328":1,"432":1,"433":1,"434":3,"436":2,"441":1,"449":2,"473":2,"474":1,"477":1,"478":1,"497":3,"498":2,"499":3,"500":5,"501":2,"502":2,"503":12,"514":6,"517":3}}],["monitor",{"2":{"12":1,"40":1,"281":1,"321":1,"362":1}}],["modprobe",{"2":{"521":2}}],["mod=lctrl",{"2":{"517":1}}],["mod=rctrl",{"2":{"517":1}}],["modifier",{"2":{"517":1}}],["modifying",{"2":{"328":1}}],["modify",{"2":{"12":1,"27":1,"327":1}}],["mod",{"2":{"500":1,"517":4}}],["mod+i",{"2":{"517":1,"527":1}}],["mod+n+n",{"2":{"517":1}}],["mod+n",{"2":{"517":1}}],["mod+r",{"2":{"517":1,"530":1}}],["mod+↓",{"2":{"517":1}}],["mod+↑",{"2":{"517":1}}],["mod+m",{"2":{"517":1}}],["mod+s",{"2":{"517":1}}],["mod+shift+n",{"2":{"517":1}}],["mod+shift+r",{"2":{"517":1}}],["mod+shift+z",{"2":{"517":1}}],["mod+shift+↓",{"2":{"517":1}}],["mod+shift+↑",{"2":{"517":1}}],["mod+shift+→",{"2":{"517":1}}],["mod+shift+←",{"2":{"517":1}}],["mod+shift+o",{"2":{"464":1,"517":1}}],["mod+shift+v",{"2":{"435":2,"517":1}}],["mod+backspace",{"2":{"517":1}}],["mod+b",{"2":{"517":1}}],["mod+h",{"2":{"517":1}}],["mod+w",{"2":{"517":1}}],["mod+g",{"2":{"517":1}}],["mod+z",{"2":{"517":1}}],["mod+→",{"2":{"517":1}}],["mod+←",{"2":{"517":1}}],["mod+f",{"2":{"517":1,"555":1}}],["mod+k",{"2":{"488":1,"517":1}}],["mod+p",{"2":{"464":1,"517":1}}],["mod+o",{"2":{"464":1,"517":1}}],["mod+v",{"2":{"435":3,"517":1}}],["mod+x",{"2":{"435":1,"517":1}}],["mod+c",{"2":{"435":1,"517":1}}],["model",{"0":{"276":1},"2":{"326":1,"551":1}}],["models",{"2":{"12":1,"49":1,"307":1}}],["modern",{"2":{"273":1}}],["modes",{"2":{"266":1,"469":1,"470":1,"484":1,"488":1,"490":1,"497":1,"500":2,"502":1,"503":2}}],["mode",{"0":{"326":1},"2":{"11":2,"12":2,"28":1,"52":1,"73":1,"108":1,"110":1,"130":1,"134":1,"141":1,"150":1,"278":1,"283":2,"286":2,"292":1,"294":1,"324":3,"330":1,"350":1,"422":2,"428":2,"434":1,"436":1,"451":4,"471":1,"472":4,"473":1,"474":1,"485":2,"489":2,"490":2,"498":2,"501":1,"502":2,"503":3,"514":4,"516":1,"517":1,"521":1,"555":1}}],["module",{"2":{"8":1,"469":1,"471":1,"484":1,"489":1,"497":1,"501":1,"521":1}}],["more",{"2":{"10":1,"17":1,"263":1,"270":3,"273":2,"327":1,"344":1,"380":2,"436":1,"441":1,"448":1,"455":1,"458":1,"459":1,"473":1,"503":1,"519":2,"521":1,"527":1}}],["matroska",{"2":{"505":1}}],["matching",{"2":{"412":1,"454":1}}],["match",{"2":{"324":1,"345":1,"488":1}}],["malicious",{"2":{"443":1}}],["mail",{"2":{"435":1}}],["mainly",{"2":{"548":1}}],["mainclass",{"2":{"443":2}}],["maintaining",{"2":{"441":1}}],["maintained",{"2":{"369":1,"371":1}}],["maintainer",{"2":{"219":1,"482":1}}],["maintains",{"2":{"310":1}}],["maintainability",{"2":{"8":1}}],["main",{"2":{"11":1,"12":4,"34":1,"40":1,"54":1,"55":1,"278":2,"304":2,"355":2,"398":1,"414":1,"443":2,"446":2,"453":2,"464":1,"539":2,"542":1}}],["mapped",{"2":{"391":10}}],["macports",{"2":{"512":1}}],["mac",{"0":{"407":1},"2":{"369":1,"411":1}}],["macos64",{"2":{"377":1}}],["macos",{"0":{"291":1,"296":1,"331":1,"332":1,"509":1},"1":{"510":1,"511":1,"512":1,"513":1},"2":{"5":1,"10":2,"11":5,"12":2,"19":1,"39":2,"51":1,"70":1,"71":1,"78":1,"82":1,"83":1,"179":1,"180":1,"188":1,"189":1,"190":1,"191":1,"192":1,"194":1,"195":1,"206":1,"212":1,"214":1,"215":1,"216":1,"218":1,"221":1,"222":2,"223":1,"224":1,"269":1,"278":1,"296":1,"297":1,"377":2,"473":1,"475":1,"511":3}}],["master",{"2":{"332":1,"398":1,"412":1,"495":1}}],["may",{"2":{"295":1,"323":1,"325":1,"329":1,"342":1,"349":1,"380":1,"385":2,"394":1,"410":1,"418":1,"419":3,"424":1,"426":1,"441":1,"443":1,"444":1,"445":1,"447":1,"449":1,"452":3,"454":2,"455":1,"465":1,"468":1,"471":1,"472":1,"476":1,"483":2,"486":1,"489":1,"490":1,"501":1,"502":1,"503":2,"519":1,"527":2,"528":1,"529":2,"530":2,"532":1,"533":1,"540":1,"550":1,"552":1,"555":1}}],["man1",{"2":{"414":1}}],["man",{"2":{"414":1,"496":1,"513":1}}],["manpage",{"2":{"393":1,"414":1,"528":1}}],["many",{"2":{"331":1,"391":1,"476":1}}],["managing",{"0":{"305":1},"1":{"306":1,"307":1}}],["managed",{"2":{"447":1}}],["manage",{"2":{"299":1,"329":1}}],["management",{"0":{"312":1},"1":{"313":1,"314":1,"315":1},"2":{"11":2,"12":2,"18":1,"21":1,"44":1,"57":1,"266":2,"270":1,"275":1,"278":1,"298":1,"321":1}}],["managers",{"2":{"494":1}}],["manager",{"0":{"494":1,"512":1,"547":1},"2":{"10":2,"11":1,"12":3,"16":1,"17":2,"18":1,"19":1,"34":1,"102":1,"103":1,"105":2,"277":1,"278":2,"401":1,"453":1}}],["manually",{"0":{"381":1},"2":{"296":1,"297":1,"352":1,"381":1,"406":1,"429":1,"462":1,"463":1,"464":1,"465":1,"495":1,"512":1,"547":1}}],["manual",{"0":{"290":1,"429":1},"2":{"296":1,"458":2}}],["making",{"2":{"273":1}}],["makes",{"2":{"503":1}}],["make",{"2":{"11":1,"12":1,"47":1,"74":1,"323":1,"327":1,"330":1,"373":1,"388":2,"403":1,"406":3,"407":1,"474":1,"496":1,"513":1,"519":1,"520":1,"543":1,"548":1}}],["max",{"2":{"419":2,"445":1,"458":1,"477":3,"525":2,"527":1,"532":2}}],["maximum",{"2":{"152":1,"281":1,"525":1}}],["maxsteps",{"2":{"8":1}}],["major",{"2":{"10":1,"269":1,"369":1}}],["r27183",{"2":{"520":1}}],["rsuper",{"2":{"517":1}}],["rctrl",{"2":{"517":2}}],["rpmfusion",{"2":{"403":2}}],["rpm",{"2":{"403":3}}],["r",{"0":{"361":1,"362":1,"363":1,"364":1,"366":1},"2":{"332":1,"361":1,"362":1,"363":2,"364":1,"366":1,"381":1,"481":1,"504":1,"520":1}}],["right",{"2":{"304":1,"315":1,"330":1,"436":1,"464":1,"476":1,"503":5,"517":5}}],["richer",{"2":{"270":1}}],["rich",{"0":{"266":1},"2":{"263":1}}],["ralt",{"2":{"517":1}}],["random",{"2":{"445":1,"455":1}}],["race",{"2":{"441":1}}],["raw",{"2":{"391":1,"393":1,"395":1,"441":2,"443":1,"446":1,"456":2,"458":4,"486":2}}],["rather",{"2":{"532":1}}],["ratio",{"2":{"287":1,"419":5,"525":1}}],["rate=2000000",{"2":{"526":1}}],["rate=2m",{"2":{"526":1}}],["rate=64000",{"2":{"395":1}}],["rate=64k",{"2":{"395":1}}],["rates",{"2":{"417":2,"422":1}}],["rate",{"0":{"395":1,"421":1,"526":1,"527":1},"2":{"281":1,"287":1,"395":1,"421":2,"477":1,"526":1,"527":3}}],["radius",{"2":{"12":1,"19":1}}],["rust",{"0":{"377":1},"2":{"370":1,"371":2,"375":1,"377":3,"386":2}}],["russian",{"2":{"12":3,"93":1,"94":1}}],["runs",{"2":{"371":1,"451":1,"453":1,"533":1}}],["runtime",{"2":{"371":2,"402":1,"406":2,"407":1}}],["run",{"0":{"361":1,"379":1,"380":1,"381":1,"413":1,"496":1,"513":1,"548":1},"2":{"361":4,"377":1,"378":1,"379":3,"382":2,"411":3,"412":1,"413":1,"414":1,"428":2,"429":2,"430":1,"443":2,"449":1,"454":1,"460":2,"468":1,"474":1,"475":1,"496":1,"513":1,"514":1,"519":1,"520":2,"540":1,"548":1}}],["running",{"2":{"5":1,"353":1,"375":1,"445":2,"461":1,"463":1,"520":1,"530":1,"542":1,"556":1}}],["rules",{"2":{"307":1}}],["romain",{"2":{"483":1}}],["rom1v",{"2":{"482":1}}],["role",{"2":{"441":1}}],["roles",{"2":{"441":2}}],["rotated",{"2":{"506":1}}],["rotate",{"0":{"436":1},"2":{"420":1,"436":1,"517":4,"531":1}}],["rotation",{"0":{"420":1,"506":1},"2":{"8":1,"174":1,"277":1,"278":1,"281":1,"441":1,"447":1,"530":2,"531":1}}],["robotic",{"2":{"396":1}}],["robustness",{"2":{"118":1}}],["routes",{"2":{"363":1}}],["route2",{"0":{"361":1,"362":1,"363":1,"364":1,"366":1}}],["route",{"0":{"361":1,"362":1,"363":1,"364":1,"366":1},"2":{"361":1,"362":1,"363":1,"364":1,"366":1,"429":1}}],["rocket",{"2":{"8":1}}],["root=",{"2":{"411":1}}],["root=~",{"2":{"411":2}}],["root",{"2":{"8":1,"12":1,"44":1,"369":1,"409":1,"411":4,"412":1,"473":1}}],["regularly",{"2":{"484":1}}],["rewritten",{"2":{"386":1}}],["rev",{"2":{"383":1}}],["reversed",{"2":{"441":1,"503":1}}],["reverse",{"0":{"297":1},"2":{"12":1,"48":1,"196":1,"266":2,"278":1,"297":2,"335":1,"344":2,"357":1,"361":1,"362":1,"363":1,"367":1,"369":1,"373":1,"379":3,"380":1,"381":1,"386":2,"455":2}}],["reversely",{"2":{"12":1,"49":1}}],["reinstall",{"0":{"360":1},"2":{"360":2,"495":1}}],["reopening",{"2":{"321":1}}],["remote",{"0":{"519":1},"2":{"391":1,"460":1,"518":3,"519":1,"520":9}}],["removing",{"2":{"12":1,"68":1}}],["removed",{"2":{"314":1,"315":1}}],["remove",{"2":{"4":3,"12":2,"31":1,"69":1,"106":1,"107":1,"142":1,"147":1,"150":1,"329":1,"517":2}}],["remaining",{"2":{"451":1}}],["remains",{"2":{"379":1}}],["remarks",{"2":{"278":1}}],["rebooting",{"2":{"349":1,"474":1}}],["reboot",{"2":{"277":1}}],["re",{"2":{"273":2,"429":1,"517":1}}],["rendered",{"2":{"452":1,"541":1}}],["renowned",{"2":{"263":1}}],["renamed",{"2":{"443":1}}],["rename",{"2":{"8":2,"11":1,"84":1}}],["requiring",{"2":{"268":1,"379":1}}],["requirements",{"0":{"372":1,"399":1},"1":{"373":1}}],["require",{"2":{"325":1,"369":1,"371":1,"388":1,"472":1,"473":1,"490":1,"502":1}}],["required",{"2":{"267":1,"319":1,"372":1,"380":1,"385":1,"401":1,"406":1,"473":1,"474":1,"477":1,"483":1,"495":1}}],["requires",{"2":{"12":1,"50":1,"328":1,"372":1,"392":1,"399":1,"443":1,"474":2,"521":1}}],["requested",{"2":{"530":1}}],["requests",{"2":{"441":1,"481":1,"530":1}}],["request",{"2":{"4":1,"343":1,"344":1,"379":1}}],["react",{"2":{"517":1}}],["reached",{"2":{"396":1}}],["reason",{"2":{"454":1,"472":1}}],["reasons",{"2":{"328":1}}],["reasonable",{"2":{"310":1}}],["reappear",{"2":{"315":1}}],["real",{"2":{"12":1,"61":1,"299":1,"309":2,"329":2}}],["readable",{"2":{"443":1}}],["readability",{"2":{"8":1}}],["reads",{"2":{"441":1}}],["read",{"0":{"432":1},"2":{"11":1,"18":1,"347":1,"384":1,"433":1,"435":1,"451":1,"452":1,"455":1,"459":1,"475":1,"481":1,"533":1,"548":1}}],["retrieved",{"2":{"533":1}}],["retrieve",{"2":{"446":1}}],["retrieving",{"2":{"12":1,"80":1,"468":1}}],["returned",{"2":{"344":1}}],["returning",{"2":{"11":1,"12":1,"21":1,"44":1}}],["retains",{"2":{"270":1}}],["reddit",{"2":{"481":1}}],["redirect",{"2":{"460":2}}],["redirections",{"2":{"519":1}}],["redirection",{"2":{"455":3}}],["reducing",{"2":{"476":1}}],["reduced",{"2":{"179":1,"180":1}}],["reduce",{"2":{"12":2,"48":1,"68":1}}],["redundant",{"2":{"12":3,"31":1,"68":1,"69":1,"142":1,"150":1}}],["redesign",{"2":{"8":1}}],["relies",{"2":{"450":1}}],["reliability",{"2":{"12":2,"16":1,"34":1}}],["releasing",{"2":{"517":1}}],["releases",{"2":{"399":1,"405":2}}],["released",{"0":{"290":1},"2":{"436":1,"486":1,"495":1}}],["release",{"0":{"493":1,"511":1,"546":1},"2":{"1":2,"2":1,"4":6,"10":1,"11":1,"13":2,"70":1,"91":1,"154":1,"161":1,"309":2,"341":1,"376":1,"377":1,"397":1,"398":2,"403":1,"405":2,"441":1,"493":1,"495":4,"511":1,"517":1,"546":1}}],["relevant",{"2":{"387":1,"441":1}}],["relative",{"2":{"434":1,"436":1}}],["related",{"2":{"11":1,"12":2,"36":1,"68":1,"355":1}}],["relays",{"2":{"369":1}}],["relay",{"0":{"368":1},"2":{"361":2,"362":1,"363":1,"368":3,"371":1,"380":2,"381":2}}],["reload",{"2":{"313":1}}],["resources",{"0":{"479":1}}],["resolutions",{"2":{"422":1,"525":1}}],["resolution",{"2":{"265":1,"321":1,"476":1,"525":1}}],["resolving",{"2":{"11":1,"56":1,"133":1}}],["resolved",{"2":{"11":1,"29":1}}],["resolve",{"2":{"11":1,"90":1,"334":1}}],["resulting",{"2":{"460":1}}],["results",{"2":{"347":1}}],["respectively",{"2":{"455":1}}],["responsible",{"2":{"441":1,"452":1,"453":2}}],["responsive",{"2":{"321":1}}],["response",{"0":{"326":1}}],["resize",{"2":{"517":2}}],["resizing",{"0":{"338":1},"2":{"338":1,"532":1}}],["residue",{"2":{"267":1}}],["reset",{"0":{"313":1},"2":{"182":1,"313":1,"330":1,"380":1,"447":1,"517":1}}],["resetting",{"2":{"11":1,"36":1,"321":1,"367":1}}],["restricted",{"2":{"422":1}}],["restrictions",{"2":{"337":1}}],["restarted",{"2":{"447":1}}],["restart",{"0":{"366":1},"2":{"319":1,"366":6}}],["restarting",{"2":{"11":1,"33":1,"321":1}}],["restored",{"2":{"11":1,"54":1,"182":1,"462":1,"463":1}}],["restore",{"2":{"11":2,"79":1,"84":1,"367":1,"465":1}}],["rest",{"2":{"6":1}}],["refuse",{"2":{"530":1}}],["refuses",{"0":{"325":1}}],["reflection",{"2":{"444":1}}],["reference",{"0":{"387":1},"2":{"387":1}}],["refer",{"2":{"272":1,"295":1,"296":2,"328":1}}],["refresh",{"2":{"12":1,"281":1,"326":1}}],["refreshing",{"2":{"11":1,"39":1,"321":1}}],["refactored",{"2":{"10":1,"17":1}}],["refactor",{"2":{"8":1,"12":1,"278":1}}],["refactoring",{"0":{"8":1,"14":1}}],["repo",{"2":{"495":2}}],["repology",{"2":{"494":1}}],["reports",{"2":{"481":2}}],["reported",{"2":{"339":1}}],["repeat",{"0":{"487":1},"2":{"447":1,"487":1}}],["repeatedly",{"2":{"11":1,"39":1,"307":1}}],["repeated",{"2":{"11":1,"67":1,"487":2,"517":1}}],["repairing",{"2":{"113":1}}],["repair",{"2":{"11":3,"84":1,"99":1,"101":1,"121":1,"138":1,"177":1}}],["replace",{"2":{"8":5,"379":1,"406":1,"429":1,"443":1,"460":1,"521":1}}],["receiving",{"2":{"452":1}}],["received",{"2":{"449":1,"453":1}}],["receives",{"2":{"441":1,"446":1}}],["receive",{"0":{"332":1}}],["receiver",{"2":{"281":1}}],["recent",{"2":{"373":1}}],["recompile",{"2":{"460":1}}],["recommended",{"2":{"324":1,"468":1,"484":1}}],["recognition",{"2":{"391":3}}],["reconnection",{"2":{"428":1}}],["reconnect",{"2":{"323":1}}],["reconfiguring",{"2":{"321":1}}],["reconstruct",{"2":{"14":1}}],["recorder",{"2":{"451":1,"452":2}}],["recorded",{"2":{"11":1,"26":1,"416":1,"504":1,"506":1,"530":1}}],["record=file",{"2":{"391":1,"416":2,"477":1,"496":1,"504":6,"505":1,"507":3,"508":1,"513":1,"535":2,"548":1,"550":1}}],["record",{"2":{"268":1,"278":1,"285":2,"391":1,"452":1,"477":1,"496":1,"504":4,"505":1,"507":1,"513":1,"530":2,"535":1,"548":1}}],["recording",{"0":{"285":1,"330":1,"504":1},"1":{"505":1,"506":1,"507":1,"508":1},"2":{"10":2,"11":3,"12":4,"25":1,"36":1,"87":2,"88":1,"90":1,"92":1,"93":2,"171":1,"183":1,"276":3,"278":1,"285":1,"391":1,"452":1,"473":1,"478":1,"507":2,"508":2,"530":3,"535":1,"550":1}}],["recharge",{"2":{"9":1}}],["gz",{"2":{"493":1,"511":2}}],["g",{"2":{"443":1,"446":1,"449":1,"469":1,"471":1,"477":1,"503":1,"514":2,"518":1}}],["guarantees",{"2":{"441":1}}],["gui",{"2":{"327":1}}],["guide",{"0":{"298":1,"303":1},"1":{"299":1,"300":1,"301":1,"302":1,"303":1,"304":2,"305":2,"306":2,"307":2,"308":2,"309":2,"310":2,"311":2,"312":2,"313":2,"314":2,"315":2,"316":1,"317":1,"318":1,"319":1,"320":1,"321":1},"2":{"297":1}}],["give",{"2":{"500":1}}],["gives",{"2":{"441":1,"503":1}}],["given",{"2":{"419":2}}],["git",{"2":{"402":1,"495":1}}],["gitcode",{"2":{"290":1}}],["gitee",{"2":{"290":1}}],["github",{"2":{"290":1,"398":1,"409":1,"436":2,"482":1,"495":1,"496":1,"513":1,"548":1}}],["gcc",{"2":{"402":1,"403":1,"406":2,"495":1}}],["gain",{"2":{"391":1}}],["games",{"2":{"268":1,"486":2,"487":1}}],["gamers",{"2":{"268":1}}],["gamepads",{"2":{"469":2,"470":1,"471":2,"472":4,"514":3}}],["gamepad=aoa",{"2":{"469":1,"472":1,"514":2,"516":1}}],["gamepad=uhid",{"2":{"469":1,"471":1,"477":1,"516":1}}],["gamepad=disabled",{"2":{"469":1}}],["gamepad",{"0":{"469":1,"470":1},"1":{"470":1,"471":2,"472":2},"2":{"12":1,"96":1,"286":1,"469":1,"470":1,"473":1,"477":1,"478":1,"514":2}}],["glitchy",{"2":{"396":1}}],["glitches",{"2":{"390":1,"396":2}}],["global",{"0":{"301":1,"306":1},"2":{"134":1,"299":1,"301":1,"302":1,"306":3,"318":2,"319":1,"330":1,"462":3}}],["gnu",{"2":{"369":1}}],["gnirehtetactivity",{"2":{"381":2}}],["gnirehtet",{"0":{"297":1,"357":1,"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"367":1,"368":1,"369":1,"383":1},"1":{"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"367":1,"368":1,"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1,"378":1,"379":1,"380":1,"381":1,"382":1,"383":1,"384":1,"385":1,"386":1},"2":{"12":3,"47":1,"49":1,"53":1,"173":1,"174":2,"182":1,"187":2,"196":1,"197":1,"198":1,"266":1,"277":1,"278":1,"280":3,"297":3,"335":1,"357":1,"367":1,"370":1,"371":1,"373":1,"375":1,"377":8,"378":6,"379":7,"380":7,"381":8,"382":6,"386":3,"387":1}}],["gm1913",{"2":{"344":1}}],["good",{"2":{"443":1}}],["google",{"2":{"342":1}}],["governing",{"2":{"385":1,"483":1}}],["go",{"2":{"324":1,"330":1,"459":1,"532":1}}],["gt",{"2":{"297":2,"343":1,"344":2,"406":1,"419":3,"435":1,"455":1,"460":3,"474":1,"517":1}}],["gesture",{"2":{"436":2}}],["gentoo",{"2":{"494":1}}],["genymobile",{"2":{"381":4,"385":1,"409":1,"436":2,"445":2,"458":1,"483":1,"495":1,"547":1}}],["generally",{"2":{"326":1,"330":1,"331":1}}],["general",{"0":{"280":1},"2":{"481":1}}],["generates",{"2":{"436":1,"487":1}}],["generate",{"2":{"405":2}}],["generated",{"2":{"12":1,"87":1,"486":1}}],["generating",{"2":{"5":1}}],["get",{"0":{"330":1,"374":1,"475":1},"1":{"375":1,"376":1,"377":1,"378":1},"2":{"272":1,"344":1,"355":1,"380":2,"393":1,"396":1,"429":1,"462":2,"463":2,"465":2,"474":1,"522":1,"527":1,"534":2}}],["getting",{"2":{"12":1,"34":1,"375":1}}],["greatly",{"2":{"476":1}}],["greatest",{"2":{"419":8}}],["gradle",{"2":{"443":1}}],["granting",{"2":{"349":1}}],["granted",{"2":{"323":1,"443":1}}],["graphic",{"2":{"105":1}}],["graphical",{"0":{"262":1},"1":{"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"269":1,"270":1,"271":1,"272":1,"273":1},"2":{"10":1,"32":1,"263":2,"270":1,"271":1,"273":1,"278":1}}],["group",{"2":{"11":1,"95":1,"169":2,"170":1,"176":1,"178":2,"277":1,"278":1}}],["gh",{"2":{"4":1}}],["ninja",{"2":{"402":1,"411":3,"412":1,"414":1,"415":1,"495":2}}],["n",{"2":{"381":2,"432":1,"503":1,"517":1,"521":2}}],["num",{"2":{"419":1}}],["numbers",{"2":{"486":1}}],["number",{"2":{"12":1,"27":1,"295":2,"445":2,"454":1,"455":1}}],["numeric",{"2":{"6":1}}],["necessarily",{"2":{"391":1,"479":1}}],["necessary",{"2":{"323":1,"349":1,"361":1,"396":1,"428":1,"474":1,"488":1,"514":1,"516":1,"530":1}}],["neither",{"2":{"369":1}}],["next",{"2":{"347":1,"398":1}}],["nexttick",{"2":{"236":1}}],["nexus",{"2":{"344":1}}],["network",{"2":{"12":2,"48":1,"49":1,"297":1,"427":1,"429":1,"441":1,"458":1}}],["needs",{"2":{"324":1,"505":1}}],["needing",{"2":{"268":1}}],["needed",{"2":{"267":1}}],["need",{"2":{"12":1,"86":1,"295":2,"296":2,"297":1,"335":1,"341":1,"342":1,"349":1,"373":2,"388":1,"399":1,"405":1,"406":1,"410":1,"449":1,"472":1,"474":1,"495":1,"512":1}}],["newer",{"2":{"388":1,"445":1}}],["new",{"0":{"539":1},"2":{"10":2,"12":5,"17":1,"19":3,"34":1,"65":1,"105":1,"337":1,"430":1,"435":1,"441":1,"447":1,"463":1,"468":1,"477":2,"495":1,"521":1,"527":1,"539":6,"540":2,"541":1,"542":1,"543":1}}],["noconsole",{"2":{"548":2}}],["nodaemon",{"2":{"519":1}}],["node",{"2":{"318":2}}],["non",{"2":{"409":1,"411":1,"435":1,"439":1,"473":1,"517":1}}],["noarch",{"2":{"403":1}}],["nor",{"2":{"369":1}}],["normal",{"2":{"451":2}}],["normally",{"0":{"329":1}}],["normalize",{"2":{"12":1,"87":1}}],["no",{"0":{"326":1,"389":1,"507":1,"535":1,"536":1},"2":{"12":2,"50":1,"82":1,"267":5,"313":1,"319":1,"379":1,"389":2,"390":7,"391":2,"393":1,"416":3,"432":1,"434":12,"435":1,"438":1,"439":1,"445":3,"455":4,"462":1,"467":1,"473":3,"477":3,"487":1,"489":1,"496":1,"499":1,"504":5,"507":5,"513":1,"516":6,"521":1,"522":1,"525":1,"534":1,"535":4,"536":1,"540":3,"541":5,"542":1,"548":1,"550":1}}],["notice",{"2":{"520":1}}],["notification",{"2":{"277":1,"503":3,"517":1}}],["nothing",{"2":{"455":1,"473":1}}],["note",{"2":{"292":1,"295":2,"296":1,"297":1,"306":1,"327":1,"328":1,"344":1,"379":1,"396":1,"411":1,"417":1,"441":1,"463":1,"465":1,"471":1,"472":2,"474":1,"485":1,"490":1,"495":1,"498":1,"501":1,"502":1,"516":1,"541":1}}],["notes",{"2":{"266":1}}],["not",{"0":{"327":1,"331":1,"336":1,"341":1,"342":1,"349":1,"350":1},"2":{"10":1,"11":7,"12":1,"26":1,"29":1,"33":1,"42":1,"46":1,"49":1,"51":1,"54":1,"71":1,"135":1,"141":1,"182":1,"296":1,"297":1,"307":1,"321":3,"326":2,"327":1,"328":2,"332":1,"340":2,"342":2,"343":1,"347":1,"369":3,"371":1,"385":1,"388":2,"390":1,"391":1,"392":1,"395":1,"396":1,"406":1,"410":2,"411":1,"412":1,"416":2,"417":3,"419":2,"435":2,"441":4,"443":2,"444":1,"445":1,"447":2,"449":1,"455":2,"462":1,"471":1,"472":5,"473":1,"474":1,"477":1,"479":1,"483":1,"489":1,"490":5,"501":1,"502":5,"504":2,"505":1,"508":1,"514":1,"516":1,"527":1,"528":1,"530":3,"556":1}}],["now",{"2":{"5":1,"10":3,"25":1,"32":2,"386":1,"480":1}}],["natural",{"2":{"278":1,"532":1}}],["nature",{"2":{"273":1}}],["native",{"2":{"8":1,"267":1,"327":1,"355":2,"371":1,"473":1,"517":1}}],["navigation",{"2":{"11":1,"52":1}}],["names",{"2":{"12":2,"40":1,"87":1,"278":1,"307":2,"468":1}}],["name",{"2":{"1":1,"12":1,"37":1,"134":1,"441":1,"455":1,"458":1,"468":3}}],["😉",{"2":{"459":1}}],["🚧",{"2":{"278":1}}],["👉",{"2":{"272":1}}],["🗽",{"2":{"267":1}}],["🙅‍♂️",{"2":{"267":1}}],["😎",{"2":{"267":1}}],["🔗",{"2":{"266":1}}],["🖥️",{"2":{"266":1}}],["📡",{"2":{"266":1}}],["🕒",{"2":{"265":1}}],["😛",{"2":{"261":1}}],["🚨",{"2":{"168":1}}],["💡",{"2":{"165":1,"266":1}}],["🔨",{"2":{"12":2,"14":1,"34":1,"49":1,"213":1,"240":1,"249":2}}],["🔊",{"2":{"12":1,"50":1,"186":1}}],["🔀",{"2":{"12":1,"40":1}}],["📦️",{"2":{"12":1,"15":1}}],["📌",{"2":{"12":2,"27":1}}],["💫",{"2":{"12":2,"47":1,"53":1}}],["💄",{"2":{"12":12,"28":1,"34":1,"53":1,"55":1,"87":1,"93":1,"94":1,"98":1,"108":1,"110":3,"113":1,"114":2,"143":1,"150":1,"168":1,"174":1,"178":1,"186":1,"204":1}}],["👽️",{"2":{"12":2,"53":2}}],["👷",{"2":{"12":4,"31":1,"53":1,"59":1,"61":1}}],["👥",{"2":{"12":1,"40":1}}],["📝",{"2":{"11":1,"12":7,"19":1,"35":1,"36":1,"37":1,"40":1,"44":1,"48":1,"121":1,"155":1,"164":1,"173":1,"185":1,"203":1,"225":1,"226":1,"234":1,"243":1,"259":1}}],["🚚",{"2":{"10":2,"12":1,"17":1,"48":1,"51":1}}],["🔍️",{"2":{"10":1,"12":1,"38":1,"47":1}}],["📸",{"2":{"10":1,"12":2,"61":1,"92":1,"93":1}}],["💥",{"2":{"10":1}}],["🔧",{"2":{"8":2,"11":2,"12":2,"26":1,"37":1,"88":1,"89":1,"138":1,"139":1,"202":1,"218":1,"222":2,"225":1,"232":1,"242":1,"251":1,"252":1,"257":1,"260":1}}],["🔄",{"2":{"8":5}}],["🚀",{"2":{"7":1,"10":5,"11":1,"12":32,"15":1,"17":1,"19":5,"22":3,"23":1,"25":1,"27":2,"30":1,"34":5,"38":1,"39":1,"40":1,"41":1,"43":1,"44":1,"50":1,"51":1,"53":1,"55":1,"63":1,"65":2,"66":1,"68":1,"75":2,"96":1,"103":1,"105":1,"112":4,"118":1,"120":1,"125":1,"127":1,"132":2,"134":1,"157":1,"163":1,"174":2,"175":1,"178":1,"186":1,"201":1,"203":1,"205":1,"211":2,"216":1,"221":1,"223":1,"224":1,"227":1,"229":2,"231":1,"233":1,"237":1,"241":1,"244":1,"246":1,"248":1,"255":1,"256":1,"259":3,"265":1}}],["💰",{"2":{"6":1}}],["🚑️",{"2":{"5":1,"219":1,"220":1}}],["🔖",{"2":{"5":1,"12":2,"22":1,"34":1}}],["🐛",{"2":{"3":1,"6":3,"9":1,"11":45,"12":1,"18":3,"21":4,"26":1,"29":1,"33":4,"36":2,"39":3,"42":1,"45":1,"46":1,"52":2,"54":2,"56":1,"58":2,"59":1,"64":1,"70":2,"71":1,"73":1,"74":1,"78":1,"79":2,"81":1,"84":2,"90":1,"95":1,"99":2,"101":1,"107":1,"111":1,"113":1,"117":1,"119":1,"121":1,"122":1,"123":1,"126":1,"128":1,"129":1,"130":2,"133":2,"134":1,"135":1,"137":1,"141":3,"148":1,"152":1,"156":1,"158":1,"159":1,"166":1,"171":1,"173":1,"177":1,"179":1,"180":1,"181":1,"182":6,"189":1,"190":1,"191":1,"192":1,"193":3,"194":1,"195":1,"197":1,"199":1,"200":1,"202":3,"206":1,"207":1,"209":1,"210":1,"212":1,"214":1,"215":1,"217":1,"235":2,"236":1,"237":1,"238":1,"239":1,"245":1,"247":1,"250":1}}],["8",{"2":{"361":6,"362":6,"363":6,"364":6,"366":6,"371":1,"372":2,"526":1}}],["8d4c",{"2":{"436":1}}],["8de04e0",{"2":{"248":1}}],["8d39f5b",{"2":{"12":1,"15":1}}],["8a5f7d9",{"2":{"231":1}}],["8a6f4c7",{"2":{"12":1,"19":1}}],["87b533f",{"2":{"222":1}}],["8707eb5",{"2":{"155":1}}],["894b581",{"2":{"202":1}}],["866aa2c",{"2":{"163":1}}],["86f5e69",{"2":{"12":1,"62":1}}],["8455e86",{"2":{"240":1}}],["8460945",{"2":{"133":1}}],["84c7be7",{"2":{"12":1,"50":1}}],["8080",{"2":{"361":1,"362":1,"363":1,"364":1,"366":1,"367":1,"368":1}}],["802f16f",{"2":{"159":1}}],["8097022",{"2":{"120":1}}],["80b3534",{"2":{"5":1}}],["816748078fa6a304600a294a13338a06ac778bcc0e57b62d88328c7968ad2d3a",{"2":{"378":1}}],["81c007f",{"2":{"170":1}}],["81ff63f",{"2":{"138":1}}],["81bd3d9",{"2":{"114":1}}],["8155723",{"2":{"105":1}}],["8e5df15",{"2":{"245":1}}],["8ee34ca",{"2":{"215":1}}],["8e6af20",{"2":{"113":1}}],["8e94494",{"2":{"12":1,"80":1}}],["83a8043",{"2":{"237":1}}],["8360198",{"2":{"211":1}}],["83f8c04",{"2":{"172":1}}],["8393c85",{"2":{"112":1}}],["8388646",{"2":{"12":1,"19":1}}],["8b03862",{"2":{"104":1}}],["889fe8c",{"2":{"156":1}}],["885af3a",{"2":{"137":1}}],["88a0356",{"2":{"12":1,"72":1}}],["88abe95",{"2":{"12":1,"40":1}}],["8807e50",{"2":{"10":1,"97":1}}],["8587977",{"2":{"134":1}}],["8566644",{"2":{"12":1,"23":1}}],["85be898",{"2":{"12":1,"59":1}}],["85bf096",{"2":{"10":1,"83":1}}],["857c480",{"2":{"11":1,"33":1}}],["82a99d9",{"2":{"193":1}}],["82a77ea",{"2":{"6":1}}],["8261916",{"2":{"122":1}}],["8237058",{"2":{"12":1,"27":1}}],["8212872",{"2":{"8":1}}],["8f5345b",{"2":{"1":1}}],["hflip",{"2":{"530":12}}],["h265",{"2":{"456":1,"528":2}}],["h264",{"2":{"456":1,"528":2}}],["h",{"2":{"441":1,"458":1,"477":2,"503":1}}],["https",{"2":{"403":1,"409":1,"436":2,"495":1}}],["http",{"2":{"385":1,"483":1}}],["header",{"2":{"452":1,"456":3,"458":1}}],["headers",{"2":{"441":2}}],["here",{"2":{"339":1,"397":1,"452":1,"456":1,"458":2,"477":1,"496":1,"513":1,"525":1,"548":2}}],["height=600",{"2":{"552":1}}],["height",{"2":{"283":1,"301":1,"311":2,"318":2,"419":2,"456":1,"525":1}}],["hesitation",{"2":{"273":1}}],["helped",{"2":{"261":1}}],["help",{"0":{"356":1},"2":{"12":1,"50":1,"393":1,"496":1,"513":1,"528":1,"548":1}}],["host=192",{"2":{"519":3}}],["host",{"2":{"441":1,"460":1}}],["hover",{"0":{"499":1},"2":{"315":1,"499":2}}],["holding",{"2":{"487":1}}],["hold",{"2":{"309":1,"310":1,"436":1,"453":1}}],["home=",{"2":{"407":1}}],["homebrew",{"0":{"291":1,"375":1},"2":{"291":1,"375":1,"407":2,"512":1}}],["home",{"2":{"277":1,"398":1,"406":1,"407":2,"476":1,"503":3,"517":1,"540":1}}],["however",{"2":{"327":1,"392":1,"426":1,"441":1,"514":1}}],["how",{"0":{"272":1},"2":{"458":1,"475":1}}],["horizontally",{"2":{"517":2}}],["horizontal",{"2":{"12":1,"55":1,"436":1}}],["hook",{"2":{"5":1}}],["hard",{"2":{"488":1}}],["hack",{"0":{"459":1},"1":{"460":1}}],["having",{"2":{"371":1,"429":1}}],["have",{"2":{"10":1,"17":1,"292":1,"297":1,"306":1,"327":2,"330":1,"334":1,"335":1,"337":1,"445":1,"447":1,"458":1,"459":1,"474":1,"512":1,"529":1,"547":2,"548":1}}],["happens",{"2":{"334":1}}],["habits",{"2":{"12":1,"47":1}}],["has",{"0":{"326":1},"2":{"10":1,"17":1,"261":1,"321":1,"323":1,"346":1,"379":1,"393":1,"462":1,"486":1,"517":1}}],["handled",{"2":{"441":1,"449":1,"503":1,"517":1}}],["handle",{"2":{"6":1,"441":1}}],["handlers",{"2":{"6":1}}],["handling",{"2":{"6":1,"8":2,"174":1,"311":1}}],["hicolor",{"2":{"414":1}}],["highly",{"2":{"266":1}}],["higher",{"2":{"265":1,"388":1,"396":2,"416":1}}],["high",{"0":{"422":1},"2":{"263":1,"265":2,"278":1,"422":1,"423":2,"458":1}}],["history",{"2":{"143":1,"278":1}}],["historical",{"2":{"10":1,"63":1,"143":1,"165":1,"172":2,"278":1}}],["hid",{"2":{"469":2,"470":1,"471":1,"472":1,"473":1,"484":2,"488":1,"489":1,"490":1,"497":2,"500":1,"501":1,"502":1,"514":1,"517":1}}],["hide",{"2":{"338":1}}],["hiding",{"2":{"10":1,"12":3,"59":1,"61":1,"76":1,"77":1,"331":1}}],["hidden",{"0":{"444":1},"2":{"5":1,"278":1,"444":2,"449":1}}],["ssh",{"0":{"520":1},"2":{"520":4}}],["slide",{"2":{"517":2}}],["sleeping",{"2":{"462":1,"464":1}}],["snap",{"2":{"494":2}}],["sw",{"2":{"464":1}}],["switches",{"2":{"266":1,"416":1}}],["switch",{"2":{"12":1,"59":1,"277":1,"324":2,"449":1,"486":1,"503":3,"517":2,"530":1}}],["switching",{"2":{"8":1,"11":1,"12":1,"33":1,"98":1,"266":1}}],["smoother",{"2":{"534":1}}],["smooth",{"2":{"396":1}}],["small",{"2":{"396":1,"430":1,"464":1}}],["smaller",{"2":{"12":1,"19":1,"310":1,"396":1}}],["sdcard",{"2":{"439":2}}],["sdk",{"0":{"485":1,"498":1},"1":{"486":1,"487":1,"499":1},"2":{"373":1,"399":1,"410":1,"411":8,"484":1,"503":2}}],["sdl2",{"2":{"403":1,"406":2,"407":1}}],["sdl",{"2":{"352":3,"450":1,"453":2}}],["skip",{"2":{"329":1}}],["s",{"2":{"295":1,"298":1,"324":1,"327":1,"344":2,"350":1,"357":1,"373":1,"406":4,"421":1,"426":1,"430":1,"441":1,"443":1,"464":1,"473":1,"474":1,"494":1,"503":1,"514":1,"517":1}}],["scoop",{"2":{"547":2}}],["scid>",{"2":{"455":2}}],["scid=12345678",{"2":{"445":1}}],["scid",{"2":{"445":1,"455":1}}],["scale",{"2":{"436":1}}],["scan",{"0":{"294":1},"2":{"12":1,"27":1}}],["scanning",{"2":{"12":1,"47":1,"266":1}}],["schema",{"2":{"456":1}}],["scheme",{"2":{"306":1}}],["schemes",{"2":{"299":1}}],["scheduled",{"2":{"12":2,"19":1,"89":1,"112":1,"266":1,"275":1,"277":1,"278":1}}],["scenarios",{"2":{"268":1}}],["scroll",{"2":{"329":1,"449":1}}],["scripting",{"2":{"278":1}}],["scripts",{"2":{"266":1}}],["script",{"0":{"495":1},"2":{"12":1,"93":1,"120":2,"271":1,"275":1,"277":1,"278":1,"495":1}}],["screenencoder",{"2":{"447":1}}],["screensaver",{"0":{"556":1},"2":{"283":1,"556":2}}],["screens",{"2":{"268":1}}],["screenshot",{"2":{"122":1,"277":1,"330":2}}],["screenshots",{"0":{"328":1},"2":{"10":1,"12":1,"25":1,"55":1}}],["screen",{"0":{"265":1,"447":1,"463":1,"464":1},"2":{"10":1,"11":2,"12":4,"50":1,"54":1,"55":1,"88":1,"92":1,"93":1,"141":1,"174":1,"263":1,"267":1,"268":1,"275":1,"277":1,"278":2,"281":1,"282":3,"298":1,"324":2,"388":1,"416":1,"436":2,"441":1,"443":1,"446":1,"447":1,"449":1,"452":1,"463":5,"464":8,"466":1,"473":3,"477":1,"488":1,"489":1,"503":1,"517":5,"524":1,"527":1,"532":2,"539":1,"548":1}}],["scrcpy",{"0":{"339":1,"397":1,"440":1,"473":1},"1":{"340":1,"341":1,"342":1,"343":1,"344":1,"345":1,"346":1,"347":1,"348":1,"349":1,"350":1,"351":1,"352":1,"353":1,"354":1,"355":1,"398":1,"399":1,"400":1,"401":1,"402":1,"403":1,"404":1,"405":1,"406":1,"407":1,"408":1,"409":1,"410":1,"411":1,"412":1,"413":1,"414":1,"415":1,"441":1,"442":1,"443":1,"444":1,"445":1,"446":1,"447":1,"448":1,"449":1,"450":1,"451":1,"452":1,"453":1,"454":1,"455":1,"456":1,"457":1,"458":1,"459":1,"460":1,"474":1,"475":1,"476":1,"477":1,"478":1,"479":1,"480":1,"481":1,"482":1,"483":1},"2":{"10":2,"11":4,"12":11,"23":1,"25":1,"41":1,"42":1,"43":1,"47":1,"50":1,"66":1,"68":1,"71":1,"74":1,"75":2,"78":1,"83":1,"93":1,"96":1,"109":1,"127":1,"151":1,"157":1,"160":1,"184":1,"187":1,"255":1,"263":1,"270":2,"273":1,"278":1,"280":2,"296":3,"318":2,"324":1,"327":5,"330":1,"335":1,"340":3,"344":2,"345":4,"346":1,"347":1,"352":1,"353":1,"356":2,"387":1,"388":2,"389":1,"390":2,"391":2,"392":2,"393":5,"395":1,"396":3,"397":1,"399":1,"408":1,"409":2,"412":2,"414":8,"416":7,"417":2,"418":4,"419":7,"420":1,"421":1,"422":1,"426":8,"427":1,"428":1,"429":1,"430":3,"432":1,"434":2,"436":3,"438":1,"439":1,"441":4,"443":1,"445":9,"451":4,"452":2,"454":1,"455":3,"458":6,"460":1,"461":1,"462":2,"463":2,"464":3,"465":2,"466":1,"468":5,"471":1,"472":1,"474":1,"476":1,"477":2,"480":3,"481":3,"482":1,"484":1,"488":1,"489":1,"490":1,"493":2,"494":7,"495":2,"496":2,"499":1,"501":1,"502":1,"503":3,"504":5,"505":1,"507":1,"508":1,"511":3,"512":4,"513":2,"514":6,"516":2,"517":3,"518":1,"519":6,"520":8,"521":2,"524":1,"525":3,"526":2,"527":2,"528":3,"530":22,"531":1,"534":2,"535":3,"536":1,"539":3,"541":1,"542":1,"543":1,"546":2,"547":4,"548":12,"555":1,"556":1}}],["synchronize",{"2":{"517":1}}],["synchronized",{"2":{"435":1}}],["synchronization",{"2":{"12":1,"40":1,"435":3}}],["sync",{"2":{"327":1}}],["systems",{"2":{"269":1}}],["system",{"0":{"331":1,"337":1,"400":1,"541":1},"1":{"401":1,"402":1,"403":1,"404":1,"405":1,"406":1,"407":1,"408":1},"2":{"5":1,"10":1,"11":2,"12":1,"20":1,"21":2,"22":1,"266":1,"280":1,"304":1,"310":1,"313":1,"314":1,"317":1,"324":1,"331":1,"388":1,"410":1,"414":1,"443":1,"449":1,"463":2,"465":3,"488":1,"540":2,"541":3}}],["sponsors",{"2":{"482":1}}],["spctl",{"2":{"332":1}}],["specify",{"2":{"358":1,"359":1,"360":1,"361":3,"362":3,"363":4,"364":3,"365":1,"366":4,"367":2,"368":1,"412":1,"419":1,"426":1}}],["specified",{"2":{"358":1,"359":1,"363":6,"365":1,"418":1,"419":1,"441":2,"552":1}}],["specifically",{"2":{"298":1}}],["specific",{"0":{"400":1},"1":{"401":1,"402":1,"403":1,"404":1,"405":1,"406":1,"407":1,"408":1},"2":{"272":1,"299":1,"302":1,"319":1,"345":1,"385":1,"394":1,"422":1,"458":1,"483":1,"485":1,"521":1,"530":1}}],["special",{"0":{"350":1},"2":{"11":1,"36":1,"336":1,"449":1,"486":1,"514":1}}],["spellcheck",{"2":{"186":1}}],["spelling",{"2":{"123":1}}],["speed",{"0":{"422":1},"2":{"12":1,"48":1,"422":1,"423":2}}],["spaces",{"2":{"135":1}}],["space",{"2":{"12":1,"34":1,"298":1}}],["split",{"2":{"10":1,"17":1,"452":1}}],["sides",{"2":{"457":1}}],["side",{"2":{"452":1,"455":1,"503":1,"505":1,"530":2}}],["sigint",{"2":{"435":1}}],["signaling",{"2":{"486":2}}],["signed",{"2":{"332":1}}],["significant",{"2":{"456":1}}],["significantly",{"2":{"321":1}}],["signing",{"2":{"329":1}}],["site",{"2":{"414":1}}],["situations",{"2":{"11":1,"39":1,"268":1,"519":1}}],["sinks",{"2":{"534":1}}],["sink=",{"2":{"477":1,"521":2,"535":2}}],["sink",{"2":{"452":2,"521":1,"522":1,"534":1,"535":1}}],["since",{"2":{"388":1,"429":1,"443":1,"464":1,"503":1}}],["single",{"2":{"12":1,"55":1,"344":1,"452":1,"472":1}}],["similarly",{"2":{"335":1,"436":1,"441":1,"448":1}}],["simulation",{"0":{"436":1,"470":1,"488":1,"500":1},"1":{"471":1,"472":1,"489":1,"490":1,"501":1,"502":1},"2":{"473":1,"514":1}}],["simulating",{"2":{"328":1,"349":2,"477":2}}],["simulates",{"2":{"469":2,"471":1,"472":1,"484":2,"489":1,"490":1,"497":2,"501":1,"502":1}}],["simulate",{"2":{"282":1,"350":1,"436":3,"470":1,"488":1,"500":1}}],["simultaneously",{"2":{"299":1,"345":1,"380":1,"534":1}}],["simplicity",{"2":{"443":1,"458":1}}],["simplified",{"2":{"12":1,"397":1,"495":2}}],["simplify",{"2":{"8":1,"12":1,"34":1}}],["simply",{"2":{"338":1,"392":1}}],["simpler",{"2":{"273":1}}],["simple",{"0":{"379":1},"2":{"140":1,"381":1,"508":1,"521":1}}],["size=1024",{"2":{"525":1}}],["size=1920",{"2":{"445":1,"458":1,"477":1}}],["size=1920x1080",{"2":{"419":2,"420":1,"422":1,"477":2}}],["size=1840x444",{"2":{"419":1}}],["sizes",{"2":{"12":1,"19":1,"299":1,"317":1,"417":3,"419":4,"422":1}}],["size",{"0":{"310":1,"311":1,"419":1,"525":1,"552":1},"2":{"12":3,"19":1,"68":1,"152":1,"266":1,"271":1,"281":1,"287":1,"298":1,"302":1,"310":3,"321":2,"396":1,"419":10,"456":2,"458":1,"477":1,"525":2,"532":3,"539":2,"552":1}}],["samples",{"2":{"452":1}}],["same",{"2":{"278":1,"345":1,"364":1,"371":1,"391":1,"426":1,"427":1,"429":1,"435":1,"445":2,"446":1,"455":2,"458":1,"503":1,"518":1,"548":1}}],["saying",{"0":{"332":1}}],["satisfactory",{"2":{"317":1}}],["save",{"2":{"12":1,"34":1,"278":1,"299":1,"317":3,"321":1}}],["saved",{"2":{"11":1,"18":1,"313":2,"321":1}}],["saving",{"0":{"316":1,"317":1},"1":{"317":1,"318":1,"319":1},"2":{"11":1,"12":1,"33":1,"319":1}}],["sandboxes",{"2":{"337":1}}],["sandbox",{"2":{"11":1,"12":2,"33":1,"34":2,"337":1}}],["social",{"2":{"481":1}}],["socket=tcp",{"2":{"519":2,"520":4}}],["socket",{"2":{"441":6,"446":5,"447":1,"455":8,"456":2,"458":2,"519":1,"520":2}}],["sockets",{"2":{"441":1,"446":1,"451":1,"454":2,"455":1,"456":1}}],["soon",{"2":{"441":1,"458":1}}],["sound",{"2":{"391":1,"396":1}}],["source=output",{"2":{"416":2}}],["source=display",{"2":{"416":2}}],["source=camera",{"2":{"416":6,"418":6,"419":9,"420":1,"421":1,"422":1,"423":2,"477":2}}],["source=playback",{"2":{"392":3}}],["source=mic",{"2":{"391":2,"416":3,"441":1}}],["sources",{"0":{"411":1},"2":{"391":1}}],["source",{"0":{"391":1,"524":1},"1":{"392":1},"2":{"12":1,"50":1,"263":1,"267":1,"272":1,"273":1,"284":1,"287":1,"332":1,"387":1,"392":1,"416":1,"473":1,"474":1,"482":1,"495":1,"525":1,"532":1,"540":1}}],["so",{"2":{"341":1,"390":1,"391":1,"392":1,"396":1,"406":1,"410":1,"423":1,"435":1,"441":1,"443":1,"449":1,"455":1,"468":1,"472":1,"486":1,"490":1,"495":1,"502":1,"504":1,"514":3,"517":1,"521":1,"525":1,"529":1,"530":2,"536":1,"541":1}}],["solely",{"2":{"516":1}}],["solutions",{"2":{"329":1,"330":1,"332":1,"356":1}}],["solution",{"2":{"324":1,"327":1,"481":1}}],["solved",{"2":{"11":1,"54":1,"447":1}}],["solve",{"2":{"11":7,"12":2,"36":1,"40":1,"42":1,"52":2,"58":1,"64":1,"65":1,"79":1}}],["software",{"2":{"278":1,"329":2,"332":3,"385":1,"473":1,"483":1}}],["sometimes",{"2":{"468":1,"529":1}}],["somewhere",{"2":{"412":1}}],["some",{"0":{"328":1},"2":{"11":2,"12":3,"46":1,"47":1,"48":1,"49":1,"54":1,"130":1,"327":1,"337":1,"342":1,"349":1,"350":1,"352":1,"396":1,"417":2,"419":2,"435":1,"441":2,"443":1,"449":1,"452":1,"455":1,"456":1,"458":1,"461":1,"463":1,"468":1,"472":1,"474":1,"477":1,"485":2,"487":1,"498":1,"521":1,"525":1,"540":1,"541":1,"548":1}}],["sorting",{"2":{"11":1,"12":1,"18":1,"40":1}}],["sort",{"2":{"10":1,"38":1}}],["sh",{"2":{"405":1,"495":2}}],["shellgnirehtet",{"2":{"382":1}}],["shelladb=",{"2":{"382":1}}],["shelladb",{"2":{"381":3}}],["shell",{"2":{"379":2,"380":5,"381":3,"388":1,"423":1,"429":1,"443":4,"445":2,"458":1,"462":3,"463":2,"464":2,"465":3,"488":1}}],["shellsudo",{"2":{"337":1}}],["sha",{"2":{"377":3,"378":1,"412":1,"493":1,"511":2,"546":2}}],["share",{"2":{"10":1,"32":1,"357":1,"382":1,"414":5}}],["sharp",{"2":{"6":1}}],["shift+5th",{"2":{"503":1}}],["shift+4th",{"2":{"503":1}}],["shift+right",{"2":{"503":1}}],["shift+click",{"2":{"436":1,"517":1}}],["shift",{"2":{"324":1,"330":1,"436":1,"503":6}}],["short",{"2":{"426":3,"432":1,"434":2,"464":2,"465":1,"471":1,"477":2,"489":1,"501":1,"514":1,"516":1,"525":1,"526":1,"555":1}}],["shortcuts",{"0":{"517":1},"2":{"12":1,"53":1,"464":1,"476":1,"478":1,"488":1,"503":2,"517":5,"527":1,"530":1,"555":1}}],["shortcut",{"2":{"10":1,"11":1,"12":1,"36":1,"51":1,"53":1,"130":1,"174":1,"278":1,"435":1,"500":1,"503":4,"517":5,"530":1}}],["should",{"2":{"292":1,"295":1,"311":1,"324":1,"341":1,"343":2,"344":1,"369":1,"379":1,"435":1,"527":1,"528":1}}],["shows",{"2":{"465":1}}],["showing",{"2":{"321":1}}],["show",{"0":{"465":1},"2":{"282":1,"462":1,"465":8,"548":1}}],["shutdown",{"2":{"169":1}}],["svg",{"2":{"8":1}}],["seamless",{"2":{"441":1}}],["search",{"2":{"10":1,"38":1,"130":1,"131":1,"132":1,"134":3}}],["sequences",{"2":{"503":1}}],["sequence",{"2":{"435":2,"503":1}}],["sent",{"2":{"441":2,"452":4,"455":1,"456":1,"457":1,"458":2,"464":1,"530":1}}],["sense",{"2":{"503":1}}],["sensitive",{"2":{"435":1}}],["sensor",{"2":{"419":2}}],["sends",{"2":{"435":1,"441":3,"446":2,"453":1,"455":1,"456":1}}],["send",{"2":{"8":1,"446":1,"447":2,"453":1,"458":4,"514":1,"521":1,"535":1}}],["several",{"0":{"344":1},"2":{"344":1,"345":1,"380":1,"394":1,"414":1,"446":1,"449":1,"452":1,"455":1,"468":1,"469":1,"484":1,"494":1,"497":1,"505":1,"514":1,"521":1,"529":1,"533":1}}],["separated",{"2":{"503":1}}],["separately",{"2":{"380":1,"507":1,"530":1,"535":1}}],["separate",{"2":{"342":1,"441":1,"449":1,"453":1,"477":2}}],["securely",{"2":{"520":1}}],["securityexception",{"2":{"474":1}}],["security",{"2":{"328":1,"329":1,"349":1,"474":1}}],["section",{"2":{"356":1,"454":1}}],["secondary",{"2":{"503":3,"533":1}}],["seconds",{"2":{"463":2,"468":1,"508":1}}],["second",{"2":{"265":1,"473":1,"503":1,"517":1,"527":1}}],["see",{"0":{"328":1},"2":{"291":1,"309":1,"344":1,"346":1,"350":1,"352":1,"385":1,"389":1,"392":1,"408":1,"426":1,"445":1,"464":1,"472":1,"483":1,"485":1,"488":1,"489":1,"490":1,"494":1,"495":1,"498":1,"502":1,"506":1,"512":1,"514":1,"515":1,"519":1,"524":1,"527":1,"534":1,"537":1,"547":1,"548":1,"555":1}}],["sets",{"2":{"455":1,"512":1}}],["setup",{"2":{"324":1,"411":1,"412":1,"460":1}}],["set",{"2":{"271":1,"299":1,"301":1,"306":1,"324":1,"345":1,"349":1,"367":1,"388":1,"396":2,"411":2,"426":1,"434":1,"441":1,"455":2,"457":1,"463":1,"474":1,"514":2,"519":1,"520":2,"530":1,"534":1}}],["setting",{"2":{"12":1,"98":1,"345":1,"435":1,"462":1,"463":1,"464":1,"465":1}}],["settings",{"2":{"11":1,"12":2,"33":1,"34":1,"86":1,"146":1,"302":1,"321":1,"324":5,"328":1,"329":2,"334":1,"349":1,"429":1,"462":3,"463":2,"465":3,"474":1,"488":3,"517":3}}],["selects",{"2":{"532":1}}],["selected",{"2":{"393":1,"418":1,"419":1,"426":1,"468":1,"505":1,"528":1}}],["select",{"2":{"306":1,"307":1,"309":1,"324":1,"329":1,"330":1,"344":3,"394":1,"426":2,"468":1,"505":1,"516":1,"525":1,"533":1}}],["selector",{"2":{"113":1,"182":1}}],["selection",{"0":{"418":1,"419":1,"426":1},"1":{"419":1},"2":{"12":1,"15":1}}],["selecting",{"2":{"12":1,"57":1}}],["serialization",{"2":{"457":2}}],["serializes",{"2":{"453":1}}],["serial=192",{"2":{"426":1}}],["serial=0123456789abcdef",{"2":{"426":3}}],["serial",{"0":{"358":1,"359":1,"360":1,"361":1,"363":1,"365":1,"366":1,"367":1},"2":{"344":1,"358":1,"359":1,"363":1,"364":1,"365":1,"366":1,"367":1,"380":5,"426":5,"514":1}}],["serialno",{"2":{"12":1,"34":1}}],["serves",{"2":{"441":1}}],["server=",{"2":{"412":1}}],["servers",{"2":{"363":1}}],["server",{"0":{"336":1,"412":1,"442":1,"458":1,"460":1,"519":1},"1":{"443":1,"444":1,"445":1,"446":1,"447":1,"448":1,"449":1},"2":{"11":1,"42":1,"345":1,"361":2,"362":1,"363":1,"368":1,"371":1,"380":1,"381":1,"397":1,"402":1,"403":1,"405":1,"406":1,"407":1,"410":2,"412":5,"414":2,"441":16,"443":5,"445":14,"451":1,"454":2,"455":1,"458":6,"460":2,"472":1,"490":1,"495":1,"502":1,"518":1,"519":9,"520":9}}],["services",{"2":{"8":1}}],["sessions",{"2":{"268":1}}],["session",{"2":{"8":1,"447":1}}],["sufficient",{"2":{"521":1}}],["super",{"2":{"500":1,"517":2}}],["suppose",{"2":{"519":1}}],["supporting",{"2":{"11":1,"71":1,"302":1}}],["supported",{"2":{"10":1,"51":1,"388":1,"416":1,"417":2,"419":1,"423":1,"435":1,"436":1,"474":1,"504":1,"505":1,"530":1}}],["supports",{"2":{"5":1,"10":4,"12":9,"25":1,"38":1,"40":2,"44":1,"53":1,"55":1,"57":1,"63":1,"65":1,"80":1,"83":1,"144":1,"265":2,"266":2,"269":1,"278":2,"279":1,"324":1,"392":1,"422":1,"423":1}}],["support",{"0":{"269":1},"2":{"5":2,"10":8,"11":1,"12":14,"15":1,"17":1,"20":1,"35":1,"44":1,"51":2,"53":3,"61":1,"63":1,"75":1,"76":1,"79":1,"80":1,"92":1,"93":2,"96":1,"97":1,"98":1,"103":1,"105":1,"120":2,"122":2,"132":1,"135":1,"137":1,"143":1,"172":1,"267":1,"278":4,"327":1,"333":1,"369":1,"419":1,"441":1,"473":1,"482":1,"530":1}}],["supply",{"2":{"12":2,"48":1,"49":1}}],["surface",{"2":{"447":2}}],["sure",{"2":{"323":1,"330":1,"373":1,"474":1,"496":1,"513":1,"520":1,"548":1}}],["sudo",{"2":{"332":2,"402":3,"403":3,"414":1,"415":1,"495":1,"521":1}}],["submix",{"2":{"391":1}}],["submits",{"2":{"446":1}}],["submit",{"2":{"330":1}}],["subsequent",{"2":{"12":1,"34":1}}],["subscription",{"2":{"6":1,"8":1,"9":1}}],["subscribe",{"2":{"5":1}}],["such",{"2":{"323":1,"337":1,"435":1,"443":1,"486":1}}],["success",{"2":{"317":1,"325":1}}],["successfully",{"2":{"296":1}}],["successful",{"0":{"332":1},"2":{"11":1,"36":1,"317":1,"414":1}}],["suitable",{"2":{"321":1}}],["stdout",{"2":{"517":1}}],["studio",{"2":{"411":1,"460":1}}],["sticking",{"0":{"327":1}}],["still",{"2":{"323":1,"326":1,"369":1,"371":1,"455":1,"464":1,"493":1,"511":1}}],["stops",{"2":{"346":1}}],["stop",{"0":{"365":1},"2":{"155":1,"361":1,"365":3,"366":1,"380":2,"381":2,"468":1}}],["storing",{"2":{"12":1,"34":1}}],["storage",{"0":{"318":1},"2":{"12":3,"34":1,"40":1,"65":1,"280":1}}],["stored",{"2":{"318":2}}],["store",{"0":{"335":1},"2":{"8":1}}],["styles",{"2":{"150":1,"178":1}}],["style",{"2":{"12":1,"47":1,"117":1,"126":1,"143":1,"168":1,"177":1,"182":1,"183":1}}],["styling",{"2":{"6":1}}],["string",{"2":{"443":1}}],["strip",{"2":{"411":1,"412":1}}],["strategy",{"2":{"12":2,"27":1,"34":1}}],["structure",{"2":{"8":2,"12":2,"40":1,"93":1}}],["streaming",{"2":{"458":1}}],["stream=true",{"2":{"458":1}}],["streamer",{"2":{"446":2}}],["streams",{"0":{"452":1},"2":{"441":1,"450":1,"458":1,"504":1,"505":1}}],["stream",{"2":{"5":1,"441":3,"452":3,"458":2,"521":2,"522":1,"534":1}}],["standalone",{"0":{"458":1}}],["standardize",{"2":{"12":1,"27":1}}],["stackoverflow",{"2":{"343":1}}],["stay",{"0":{"462":1},"2":{"327":1,"462":6,"464":1,"548":1}}],["stable",{"0":{"265":1}}],["stability",{"2":{"12":10,"22":1,"34":1,"59":1,"68":1,"72":1,"86":1,"87":2,"100":1,"278":1}}],["static",{"2":{"443":1,"493":2,"511":2}}],["status",{"2":{"12":1,"339":1,"379":1,"429":1}}],["state",{"2":{"5":1,"6":1,"12":1,"40":1,"121":1,"173":1,"462":1}}],["started",{"2":{"272":1,"445":1,"468":1,"541":1,"555":1}}],["starts",{"2":{"12":1,"48":1,"319":1,"446":1,"451":1}}],["startapp",{"2":{"11":1,"74":1}}],["startup",{"0":{"335":1},"2":{"10":1,"11":1,"12":6,"37":2,"47":1,"51":1,"52":1,"55":1,"72":1,"80":1,"115":1,"116":1,"122":1,"265":1,"278":1,"451":1,"460":1,"473":1}}],["starting",{"0":{"304":1,"330":1},"2":{"10":1,"12":1,"40":1,"83":1,"319":1,"388":1,"428":1,"441":1}}],["start",{"0":{"288":1,"336":1,"363":1,"467":1,"468":1,"540":1},"1":{"289":1,"290":1,"291":1,"292":1,"293":1,"294":1,"295":1,"296":1,"297":1},"2":{"5":1,"8":1,"11":2,"12":3,"73":1,"84":1,"85":3,"277":1,"278":1,"292":1,"294":1,"295":2,"324":3,"361":2,"362":2,"363":6,"364":2,"368":1,"379":1,"380":2,"381":5,"423":1,"430":1,"439":1,"441":1,"447":1,"455":1,"458":1,"460":1,"464":1,"465":1,"467":1,"468":6,"477":2,"488":1,"519":1,"520":1,"521":1,"540":3,"548":3}}],["steps",{"0":{"400":1,"409":1},"1":{"401":1,"402":1,"403":1,"404":1,"405":1,"406":1,"407":1,"408":1,"410":1,"411":1,"412":1,"413":1,"414":1,"415":1},"2":{"294":1,"295":1,"296":1,"297":1}}],["step",{"2":{"4":1,"329":1,"339":1}}],["6f733ea",{"2":{"247":1}}],["6154ffc",{"2":{"183":1}}],["6153bc4",{"2":{"180":1}}],["61ccd4a",{"2":{"170":1}}],["64",{"2":{"406":8,"493":2,"511":2,"546":1}}],["647a0c5",{"2":{"259":1}}],["64d4486",{"2":{"161":1}}],["64a98b2",{"2":{"10":1,"38":1}}],["6e25eb7",{"2":{"147":1}}],["6ee9a92",{"2":{"11":1,"36":1}}],["60fps",{"2":{"477":1}}],["608752d04767",{"2":{"436":1}}],["608b8f3",{"2":{"11":1,"39":1}}],["603e4e9",{"2":{"133":1}}],["677f30c",{"2":{"122":1}}],["67d279e",{"2":{"11":1,"36":1}}],["6",{"2":{"109":1,"154":1,"311":1,"419":2,"456":1}}],["6ccd6d0",{"2":{"227":1}}],["6ce66d4",{"2":{"112":1}}],["6ca7612",{"2":{"106":1}}],["6c4242c",{"2":{"11":1,"54":1}}],["6a8c190",{"2":{"12":1}}],["6dd2db9",{"2":{"259":1}}],["6dd8244",{"2":{"132":1}}],["6d7778a",{"2":{"154":1}}],["6de2538",{"2":{"12":1,"34":1}}],["6db1b51",{"2":{"1":1}}],["6897c0e",{"2":{"12":1,"53":1}}],["68378ef",{"2":{"12":1,"93":1}}],["69fecc3",{"2":{"12":1,"59":1}}],["695e35d",{"2":{"12":1,"19":1}}],["69c75cc",{"2":{"5":1}}],["63f7135",{"2":{"11":1,"42":1}}],["65b028f",{"2":{"5":1}}],["ls",{"2":{"521":2}}],["lsuper",{"2":{"517":3}}],["l27183",{"2":{"520":1}}],["l",{"2":{"520":1}}],["l5038",{"2":{"520":2}}],["lctrl",{"2":{"517":2}}],["ll",{"2":{"388":1}}],["lto=true",{"2":{"411":1,"412":1}}],["lt",{"2":{"383":3,"419":3,"455":1,"460":1}}],["letters",{"2":{"486":2}}],["legacy",{"2":{"435":1}}],["le",{"2":{"393":1}}],["less",{"2":{"371":1}}],["least",{"2":{"352":1,"372":1,"474":1,"533":1}}],["leaves",{"2":{"267":1}}],["left",{"2":{"309":1,"310":1,"436":3,"460":1,"473":1,"517":6}}],["levels",{"2":{"530":1}}],["level=info",{"2":{"445":1}}],["level=8",{"2":{"393":1}}],["level",{"2":{"11":1,"21":1,"381":1,"393":1,"441":2,"472":1,"485":1,"490":1,"498":1,"502":1,"514":1}}],["locked",{"2":{"530":10}}],["location",{"2":{"436":1,"548":1}}],["locate",{"0":{"333":1},"2":{"310":1}}],["localhost",{"2":{"458":1,"460":1,"520":10}}],["localappdata",{"2":{"411":1}}],["localabstract",{"2":{"381":1,"445":1,"455":2,"458":1}}],["locale",{"2":{"140":1}}],["locales",{"2":{"8":1}}],["local",{"2":{"129":1,"414":6,"443":3,"445":3,"458":2,"518":2,"519":1,"520":4,"543":1}}],["loopback",{"2":{"521":1}}],["look",{"2":{"327":1,"445":1}}],["looking",{"2":{"273":1}}],["lot",{"2":{"477":1,"478":1}}],["long",{"2":{"455":1}}],["longer",{"2":{"12":2,"50":1,"82":1}}],["load",{"2":{"299":1}}],["loading",{"2":{"11":1,"26":1}}],["lowest",{"2":{"522":1,"534":1}}],["lower",{"2":{"381":1,"525":2,"528":1}}],["low",{"2":{"263":1,"265":1,"278":1,"334":1,"473":2}}],["logo",{"2":{"208":1,"221":1,"253":1,"278":1,"379":1}}],["log",{"2":{"147":1,"438":1,"439":1,"445":1}}],["logic",{"2":{"12":1,"35":1,"143":1,"150":1,"169":1,"175":1}}],["lost",{"2":{"11":1,"101":1}}],["landscape",{"2":{"530":1,"532":1}}],["lang",{"2":{"355":1,"474":1}}],["languages",{"2":{"129":1,"488":1}}],["language",{"2":{"8":1,"12":2,"35":1,"44":1,"126":1,"137":1,"182":1,"278":1,"280":1,"324":2,"385":1,"483":1}}],["lalt",{"2":{"517":1}}],["last",{"2":{"447":1}}],["large",{"2":{"396":1}}],["larger",{"2":{"268":1}}],["law",{"2":{"385":1,"483":1}}],["latest",{"2":{"330":1,"339":1,"376":1,"397":1,"398":2,"493":1,"495":1,"511":1,"546":1}}],["latency",{"2":{"263":1,"265":1,"390":1,"396":2,"441":2,"458":1,"473":1,"522":1,"528":1,"534":1}}],["lacking",{"2":{"335":1}}],["lacks",{"2":{"334":1}}],["lack",{"2":{"329":1}}],["layout",{"0":{"308":1,"312":1,"313":1,"317":1},"1":{"309":1,"310":1,"311":1,"313":1,"314":1,"315":1},"2":{"8":2,"11":1,"12":5,"15":1,"28":1,"34":2,"39":1,"98":1,"114":1,"266":1,"278":1,"298":1,"299":3,"313":2,"317":3,"321":3,"324":1,"484":1,"488":1,"489":1}}],["labels",{"2":{"8":1}}],["launcher",{"2":{"540":4,"541":1}}],["launched",{"2":{"468":1}}],["launch",{"2":{"5":3,"8":1,"11":2,"36":1,"52":1,"278":1,"304":1}}],["live",{"2":{"391":1}}],["licenses",{"2":{"385":1,"483":1}}],["license",{"2":{"385":8,"483":8}}],["licensed",{"2":{"385":1,"483":1}}],["licence",{"0":{"385":1,"483":1}}],["like",{"2":{"369":1,"402":1,"435":1,"445":1,"472":1,"490":1,"502":1,"521":1}}],["liberapay",{"2":{"482":1}}],["libexec",{"2":{"407":1}}],["libz",{"2":{"405":1}}],["libswresample",{"2":{"402":1,"495":1}}],["libsdl2",{"2":{"399":1,"402":2,"495":2}}],["libavutil",{"2":{"402":1,"495":1}}],["libavformat",{"2":{"402":1,"495":1}}],["libavdevice",{"2":{"402":1,"403":1,"495":1}}],["libavcodec",{"2":{"402":1,"495":1}}],["libusb1",{"2":{"403":1}}],["libusb",{"2":{"402":2,"406":2,"407":1,"495":2}}],["libdecor",{"2":{"352":1}}],["library",{"0":{"333":1},"2":{"7":1,"411":1}}],["lightness",{"2":{"473":1}}],["lightweight",{"2":{"267":1}}],["light",{"2":{"130":1,"266":1}}],["lifecycle",{"2":{"12":1,"27":1}}],["limit=20",{"2":{"508":2}}],["limited",{"2":{"350":1,"485":1,"508":1,"527":1}}],["limiting",{"2":{"337":1}}],["limits",{"2":{"321":1}}],["limitations",{"2":{"385":1,"483":1}}],["limitation",{"0":{"311":1}}],["limit",{"0":{"508":1},"2":{"6":1,"280":1,"310":1,"477":2,"508":2,"525":1}}],["listed",{"2":{"394":1,"418":1,"419":2,"422":1,"426":1,"529":1}}],["listens",{"2":{"428":1,"455":2}}],["listening",{"2":{"426":1,"455":1,"460":1}}],["listen",{"2":{"363":1,"364":1,"441":1,"519":1}}],["listener",{"2":{"6":1}}],["lists",{"2":{"10":1,"32":1}}],["list",{"0":{"330":1,"417":1},"2":{"5":1,"6":1,"10":1,"11":4,"12":8,"19":1,"27":2,"29":1,"34":2,"35":1,"39":1,"42":1,"53":1,"54":1,"63":1,"80":1,"112":1,"114":1,"292":1,"295":1,"307":2,"315":1,"321":2,"329":1,"330":1,"394":1,"417":3,"418":1,"419":2,"422":1,"468":2,"517":1,"521":2,"529":1,"533":2}}],["line",{"2":{"381":1,"451":1,"461":1,"463":1,"464":1,"496":1,"513":1,"548":3}}],["link",{"0":{"333":1}}],["linked",{"2":{"2":1}}],["linux64",{"2":{"377":1}}],["linux",{"0":{"296":1,"337":1,"401":1,"405":1,"491":1},"1":{"402":1,"403":1,"492":1,"493":1,"494":1,"495":1,"496":1},"2":{"5":1,"11":3,"12":3,"33":1,"34":1,"52":1,"53":2,"81":1,"159":1,"181":1,"200":1,"202":1,"209":1,"210":1,"212":1,"219":1,"220":1,"222":1,"224":1,"269":1,"278":1,"296":1,"297":1,"352":1,"369":1,"377":2,"397":1,"411":1,"424":1,"473":2,"475":1,"477":1,"493":2,"494":1,"521":1}}],["✨",{"2":{"5":4,"10":12,"12":4,"17":1,"19":1,"20":1,"25":1,"32":2,"53":1,"63":1,"76":1,"83":2,"92":1,"96":1,"97":1,"105":1,"122":1,"124":1,"160":1,"172":1,"208":1,"253":1}}],["0°",{"2":{"530":1}}],["0xfffffffe",{"2":{"393":1}}],["0123456789abcdef",{"2":{"343":1,"344":2,"426":2,"514":1}}],["01fd926",{"2":{"152":1}}],["09",{"0":{"258":1},"1":{"259":1,"260":1}}],["09c8dee",{"2":{"235":1}}],["091d503",{"2":{"134":1}}],["0f72090",{"2":{"182":1}}],["0f3d869",{"2":{"11":1,"79":1}}],["054c55b",{"2":{"202":1}}],["0549dda",{"2":{"12":1,"53":1}}],["0530ed3",{"2":{"178":1}}],["0c9d36f",{"2":{"176":1}}],["0cc8208",{"2":{"129":1}}],["02a4d39",{"2":{"151":1}}],["0222675",{"2":{"11":1,"21":1}}],["07f7ded",{"2":{"158":1}}],["07cc5f3",{"2":{"141":1}}],["078bf18",{"2":{"4":1}}],["04",{"2":{"337":1,"402":1}}],["04a7608",{"2":{"112":1}}],["044cfcd",{"2":{"12":1,"34":1}}],["00d3495",{"2":{"108":1}}],["0053e87",{"2":{"12":1,"96":1}}],["0054fd4",{"2":{"4":1}}],["062c689",{"2":{"123":1}}],["0690f2d",{"2":{"12":1,"65":1}}],["0602676",{"2":{"12":1,"75":1}}],["060ad4a",{"2":{"4":1}}],["066d81f",{"2":{"12":1,"19":1}}],["06a151d",{"2":{"12":1,"40":1}}],["0e098c3",{"2":{"12":1,"68":1}}],["0d4b1ce",{"2":{"212":1}}],["0d963aa",{"2":{"131":1}}],["0d8a8ee",{"2":{"12":1}}],["0d60655",{"2":{"11":1,"71":1}}],["0",{"0":{"258":2},"1":{"259":2,"260":2},"2":{"10":2,"11":1,"12":3,"13":2,"68":1,"74":1,"75":2,"161":1,"361":1,"362":1,"363":1,"364":1,"366":1,"372":1,"373":1,"385":2,"402":6,"441":1,"456":1,"462":1,"464":3,"465":1,"474":1,"480":1,"483":2,"495":6,"530":1,"532":4}}],["tmp",{"2":{"443":3,"445":3,"458":2}}],["tuned",{"2":{"391":3}}],["tunnels",{"0":{"518":1},"1":{"519":1,"520":1},"2":{"478":1,"518":1}}],["tunnel",{"0":{"367":1,"520":1},"2":{"367":5,"380":2,"455":2,"458":1,"519":6,"520":2}}],["turns",{"2":{"463":1,"464":1,"517":1}}],["turn",{"0":{"464":1},"2":{"141":1,"277":1,"282":2,"464":7,"466":1,"503":1,"517":2,"548":1}}],["turning",{"2":{"12":1,"93":1}}],["turned",{"2":{"11":1,"46":1,"434":1,"464":1}}],["tcp",{"0":{"427":1},"1":{"428":1,"429":1},"2":{"344":3,"369":1,"381":1,"426":3,"427":1,"428":2,"429":2,"445":1,"455":2,"458":4,"460":3,"462":1,"473":1,"489":1,"519":1,"520":2}}],["tcpip=+192",{"2":{"428":1}}],["tcpip=192",{"2":{"426":2,"428":2}}],["tcpip",{"2":{"344":2,"426":1,"428":2,"429":1}}],["t",{"2":{"323":1,"345":1,"396":2,"428":1,"465":1,"495":1,"512":1,"547":2,"548":2}}],["twitter",{"2":{"481":1}}],["two",{"2":{"326":1,"370":1,"398":1,"419":1,"428":1,"441":1,"451":1,"470":1,"486":1,"488":1,"500":1,"503":1}}],["tw",{"2":{"137":1,"138":1,"140":1}}],["tries",{"2":{"525":1}}],["trick",{"2":{"350":1}}],["triggers",{"2":{"476":2,"503":3,"517":1}}],["trigger",{"2":{"12":1,"15":1,"122":1,"503":4}}],["try",{"0":{"332":1},"2":{"321":4,"323":1,"329":2,"330":2,"331":1,"332":1,"334":1,"336":1,"346":1,"355":1,"393":1,"521":1,"529":1}}],["trying",{"2":{"273":1}}],["troubleshooting",{"0":{"320":1},"1":{"321":1}}],["traffic",{"2":{"369":1}}],["traces",{"2":{"267":1}}],["traditional",{"2":{"140":1}}],["transformation",{"2":{"530":1,"531":1}}],["transform",{"2":{"530":1}}],["transmit",{"2":{"446":1}}],["transmits",{"2":{"441":1}}],["translate",{"2":{"185":1}}],["translation",{"2":{"12":1,"121":1}}],["translations",{"2":{"8":1,"126":1,"479":1}}],["transparent",{"2":{"12":1,"53":1}}],["trash",{"2":{"8":1}}],["tray",{"0":{"331":1},"2":{"5":1,"11":2,"39":1,"99":1,"179":1,"180":1,"331":1}}],["tilt",{"0":{"436":1},"2":{"436":2,"517":2}}],["tip",{"0":{"423":1}}],["tips",{"0":{"476":1},"2":{"133":1,"178":1}}],["timestamps",{"2":{"504":1}}],["time",{"0":{"508":1},"2":{"12":1,"61":1,"299":1,"309":2,"329":2,"435":1,"454":1,"455":1,"464":1,"468":1,"473":1,"508":4,"517":1,"548":1}}],["timeout=300",{"2":{"463":1}}],["timeout",{"0":{"463":1},"2":{"11":1,"99":1,"463":3}}],["timing",{"0":{"319":1},"2":{"11":1,"36":1,"112":2}}],["title=",{"2":{"551":1}}],["titles",{"2":{"12":1,"87":1}}],["title",{"0":{"551":1},"2":{"4":1,"12":1,"40":1,"441":1,"455":1,"551":1}}],["typing",{"2":{"486":1}}],["typically",{"2":{"340":1,"390":1,"396":1,"428":1,"435":4,"443":1,"446":1,"486":1,"517":1,"519":1}}],["typos",{"2":{"11":1,"33":1}}],["type",{"2":{"11":1,"12":1,"58":1,"65":1,"156":1,"548":1}}],["typed",{"2":{"6":1}}],["types",{"2":{"6":1,"445":1,"449":1}}],["tests",{"2":{"457":1}}],["testing",{"2":{"321":1,"495":1}}],["terminates",{"2":{"548":1}}],["terminal",{"2":{"10":1,"11":3,"12":5,"20":1,"21":3,"22":4,"72":1,"117":1,"126":1,"148":1,"166":1,"167":1,"168":2,"278":1,"280":2,"332":2,"368":1,"379":1,"380":1,"406":1,"488":1,"496":1,"513":1,"519":1,"520":2,"548":8}}],["termux",{"2":{"435":2}}],["tether",{"2":{"363":1,"380":1}}],["tethering",{"0":{"297":1},"2":{"196":1,"266":2,"278":1,"297":1,"335":1,"357":1,"361":1,"362":1,"369":1,"379":3,"383":1,"386":2}}],["temporary",{"2":{"337":1}}],["temporarily",{"2":{"11":1,"12":1,"78":1,"89":1}}],["team",{"2":{"271":1}}],["teaching",{"2":{"268":1}}],["technically",{"2":{"436":1}}],["technical",{"0":{"270":1}}],["text",{"0":{"486":1},"2":{"8":1,"11":2,"18":2,"123":1,"350":1,"435":3,"449":1,"486":6,"517":1,"548":1}}],["tablet",{"2":{"532":1}}],["tabs",{"2":{"110":1}}],["tar",{"2":{"493":1,"511":2}}],["target=",{"2":{"439":1}}],["target",{"0":{"325":1},"2":{"5":1,"309":2,"315":1,"396":2,"439":1,"530":1}}],["tap",{"2":{"407":1}}],["taken",{"2":{"364":1}}],["take",{"2":{"330":1,"391":1,"468":1}}],["takes",{"2":{"319":2,"453":1}}],["taking",{"2":{"11":1,"33":1,"321":1}}],["tasks",{"2":{"12":1,"89":1,"266":1,"278":1}}],["task",{"2":{"8":1,"12":2,"19":1,"34":1,"107":1,"112":3,"275":1,"277":1}}],["ths",{"2":{"487":1}}],["thus",{"2":{"446":1}}],["though",{"2":{"369":1,"435":1,"444":1}}],["than",{"2":{"310":1,"344":1,"380":1,"396":2,"527":1,"532":1}}],["that",{"2":{"11":2,"12":3,"36":1,"49":1,"54":1,"86":1,"89":1,"128":1,"299":1,"324":1,"327":1,"342":1,"344":3,"350":1,"381":1,"388":2,"396":3,"402":1,"410":1,"417":1,"435":2,"441":3,"451":1,"453":1,"455":2,"460":1,"463":1,"465":1,"468":1,"474":2,"485":1,"486":3,"488":1,"489":1,"495":1,"496":1,"498":1,"503":1,"505":1,"513":1,"514":1,"516":2,"519":1,"521":1,"525":2,"530":1,"536":1,"540":1,"541":1,"548":2}}],["threading",{"2":{"450":1}}],["threads",{"2":{"446":1}}],["thread",{"2":{"355":2,"441":1,"446":4,"449":1,"453":4}}],["threaded",{"2":{"278":1}}],["threat",{"2":{"329":2}}],["through",{"2":{"10":1,"32":1,"278":2,"297":2,"298":1,"299":1,"334":1,"436":1,"441":1}}],["think",{"2":{"388":1}}],["thinking",{"2":{"5":1}}],["third",{"2":{"323":1}}],["this",{"2":{"261":1,"273":1,"295":1,"297":1,"306":1,"327":1,"329":1,"330":1,"331":1,"332":1,"334":2,"335":1,"336":1,"340":1,"344":3,"345":2,"347":1,"349":1,"356":1,"369":2,"373":1,"385":1,"388":1,"392":1,"395":1,"396":2,"405":1,"412":1,"414":1,"422":1,"423":1,"428":1,"429":1,"435":2,"436":1,"441":3,"445":2,"447":1,"451":1,"454":1,"455":2,"457":1,"462":2,"463":2,"464":1,"465":3,"467":1,"468":1,"471":1,"472":2,"473":1,"474":2,"482":1,"483":1,"485":2,"486":2,"488":1,"489":1,"490":1,"495":2,"498":2,"499":1,"501":1,"502":1,"514":1,"519":2,"520":2,"521":1,"530":1,"531":1,"532":1,"535":1,"541":1,"548":1}}],["they",{"2":{"335":1,"369":1,"392":1,"394":1,"417":1,"435":1,"444":2,"449":1,"452":2,"478":1,"517":1,"518":1,"529":1,"534":1}}],["them",{"2":{"296":1,"381":1,"417":1,"441":3,"446":1,"449":1,"500":1,"517":2,"541":1,"542":1}}],["themes",{"2":{"11":1,"33":1}}],["theme",{"2":{"8":1,"12":1,"28":1,"117":1,"166":1,"266":1,"280":1}}],["these",{"2":{"296":1,"327":1,"487":1,"500":1,"503":1,"548":1}}],["then",{"2":{"295":1,"330":1,"340":1,"346":1,"355":1,"360":1,"377":1,"378":1,"388":1,"393":1,"405":1,"411":1,"414":1,"418":1,"419":1,"426":1,"428":3,"441":4,"443":1,"445":1,"451":1,"453":1,"455":5,"456":1,"460":3,"495":1,"516":1,"517":1,"519":1,"520":1,"548":2,"555":1}}],["their",{"2":{"263":1,"268":1,"339":1,"417":1,"445":1}}],["therefore",{"2":{"327":1,"472":1,"490":1,"502":1,"514":1}}],["there",{"2":{"11":1,"39":1,"330":1,"342":1,"347":1,"398":1,"426":3,"428":1,"438":1,"439":1,"441":1,"445":2,"447":1,"449":1,"455":2,"476":1,"477":1,"489":1,"522":1,"534":1}}],["the",{"0":{"325":1,"327":1,"332":1,"333":2,"338":1,"374":1,"460":1,"475":1,"493":1,"511":1,"546":1},"1":{"375":1,"376":1,"377":1,"378":1},"2":{"5":2,"6":1,"7":1,"9":1,"10":11,"11":46,"12":69,"14":1,"15":4,"17":3,"18":4,"19":8,"21":5,"22":1,"25":1,"26":2,"27":4,"29":2,"33":2,"34":11,"36":5,"38":3,"39":8,"40":6,"42":1,"44":1,"45":1,"48":2,"49":3,"50":1,"51":2,"52":2,"53":2,"54":5,"55":2,"58":2,"59":3,"61":2,"64":1,"65":1,"72":1,"79":2,"84":1,"85":5,"86":1,"92":1,"95":1,"96":3,"98":1,"99":2,"102":1,"103":1,"110":6,"113":1,"114":3,"116":1,"121":2,"122":1,"128":1,"130":1,"142":1,"146":1,"152":1,"179":1,"180":1,"261":1,"263":1,"265":1,"266":1,"267":1,"268":1,"270":2,"271":3,"272":1,"278":2,"279":1,"292":2,"295":3,"296":3,"297":4,"298":1,"299":2,"301":1,"304":5,"306":3,"307":6,"309":5,"310":6,"311":1,"313":3,"314":3,"315":9,"317":4,"321":1,"323":1,"324":8,"325":1,"327":6,"328":1,"329":8,"330":9,"331":3,"332":3,"334":1,"335":2,"336":2,"337":1,"338":2,"339":3,"340":2,"341":3,"343":2,"344":3,"345":5,"346":2,"347":1,"349":1,"350":3,"352":3,"357":3,"358":4,"359":4,"360":2,"361":5,"362":1,"363":6,"364":4,"365":2,"366":1,"367":3,"368":2,"369":4,"371":5,"372":3,"373":5,"375":1,"376":2,"377":2,"378":1,"379":5,"380":6,"381":3,"382":1,"384":1,"385":8,"387":2,"388":5,"389":1,"390":1,"391":17,"392":2,"393":6,"394":1,"395":1,"396":6,"397":3,"398":6,"399":5,"401":1,"405":6,"406":4,"407":3,"409":1,"410":5,"411":1,"412":4,"414":2,"416":2,"417":2,"418":7,"419":16,"420":2,"422":1,"424":3,"426":7,"427":4,"428":8,"429":5,"430":1,"432":1,"434":3,"435":15,"436":10,"438":2,"439":4,"441":57,"443":13,"444":2,"445":18,"446":18,"447":14,"448":4,"449":7,"450":2,"451":10,"452":11,"453":10,"454":9,"455":21,"456":11,"457":2,"458":13,"459":1,"460":10,"461":1,"462":7,"463":5,"464":7,"465":4,"466":1,"467":1,"468":5,"469":3,"470":2,"471":2,"472":6,"473":6,"474":7,"477":11,"478":2,"481":1,"482":1,"483":8,"484":4,"485":3,"486":2,"488":9,"489":6,"490":6,"493":1,"495":7,"496":1,"497":3,"498":2,"499":1,"500":10,"501":2,"502":6,"503":22,"504":5,"505":6,"506":1,"507":1,"508":2,"511":1,"512":1,"513":1,"514":7,"516":3,"517":8,"518":3,"519":3,"520":3,"521":6,"522":3,"524":3,"525":6,"526":1,"527":5,"528":4,"529":2,"530":24,"531":4,"532":7,"533":4,"534":4,"535":1,"537":1,"539":4,"540":4,"542":3,"543":3,"546":1,"547":1,"548":5,"551":2,"552":1,"554":1,"555":1,"556":2}}],["toggled",{"2":{"555":1}}],["toggle",{"2":{"500":1}}],["toggles",{"2":{"476":1}}],["touches",{"0":{"465":1},"2":{"462":1,"465":9}}],["touch",{"2":{"282":1,"436":1}}],["top",{"0":{"554":1},"2":{"114":1,"283":1,"304":1,"315":1,"330":1,"554":2}}],["tool",{"0":{"262":1},"1":{"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"269":1,"270":1,"271":1,"272":1,"273":1},"2":{"12":1,"34":1,"263":1,"271":1,"273":2,"357":1,"386":2,"430":1,"521":3}}],["tools",{"2":{"12":1,"34":1,"278":2,"323":1,"330":1,"331":1,"373":3,"399":2,"405":1,"512":1}}],["too",{"2":{"12":1,"89":1,"331":1,"402":1}}],["token",{"2":{"4":1}}],["to",{"0":{"272":1,"294":1,"324":1,"329":1,"330":1,"331":1,"332":1,"333":1,"337":1,"371":1,"436":1,"439":1},"2":{"1":1,"2":1,"4":1,"8":5,"10":6,"11":11,"12":28,"15":1,"21":2,"23":1,"25":2,"26":1,"27":1,"28":1,"29":1,"34":2,"38":1,"39":1,"40":1,"41":1,"42":2,"43":1,"44":1,"47":4,"48":1,"49":1,"50":1,"51":1,"53":1,"63":1,"65":1,"66":1,"68":1,"73":2,"75":2,"79":1,"84":1,"85":1,"86":1,"92":1,"96":2,"103":1,"109":1,"127":1,"132":1,"151":1,"160":1,"172":1,"179":2,"180":2,"182":1,"184":1,"261":1,"268":1,"271":1,"272":1,"273":2,"278":5,"292":1,"295":3,"296":3,"297":4,"299":1,"301":1,"304":1,"306":1,"307":2,"309":5,"310":3,"311":1,"317":2,"321":1,"324":5,"325":1,"326":1,"327":6,"328":2,"329":3,"330":2,"332":3,"334":1,"335":1,"336":1,"339":2,"340":1,"343":1,"344":4,"345":4,"349":2,"350":4,"355":1,"356":1,"357":2,"369":1,"371":1,"373":1,"375":1,"379":4,"380":5,"381":4,"382":3,"385":1,"388":3,"389":2,"390":4,"391":13,"393":4,"394":1,"395":2,"396":6,"397":2,"398":1,"399":1,"405":1,"406":2,"407":1,"410":2,"411":1,"412":1,"414":2,"416":2,"417":1,"418":1,"419":3,"420":1,"421":1,"422":1,"426":1,"427":2,"428":3,"429":6,"430":2,"432":1,"434":4,"435":8,"436":5,"438":3,"439":4,"441":12,"443":9,"444":1,"445":4,"446":5,"447":3,"449":5,"452":10,"453":7,"454":1,"455":4,"457":2,"458":3,"459":1,"460":4,"462":1,"463":2,"464":6,"465":3,"466":1,"467":1,"468":3,"470":1,"471":2,"472":4,"473":1,"474":4,"475":1,"477":3,"479":1,"481":1,"483":1,"484":1,"485":4,"486":2,"487":1,"488":5,"489":6,"490":4,"495":4,"496":2,"498":1,"499":1,"500":3,"501":2,"502":4,"503":5,"504":3,"505":1,"507":3,"508":2,"512":1,"513":2,"514":8,"516":2,"517":9,"518":7,"519":3,"520":3,"521":6,"522":3,"524":1,"525":6,"526":1,"527":1,"528":2,"529":1,"530":15,"531":1,"532":2,"533":3,"534":3,"535":3,"536":1,"539":1,"540":1,"541":2,"542":2,"543":1,"547":1,"548":10,"550":2,"553":1,"554":1,"556":1}}],["dpi",{"2":{"539":2}}],["dprebuilt",{"2":{"412":1}}],["dkms",{"2":{"521":1}}],["df6cf000447428fcde322022848d655ff0211d98688d0f17cbbf21be9c1272be",{"2":{"493":1}}],["df4103b",{"2":{"12":1}}],["df414b9",{"2":{"5":1}}],["dserver",{"2":{"460":2}}],["dnf",{"2":{"403":3,"494":2}}],["dns2",{"0":{"361":1,"362":1,"363":1,"364":1,"366":1}}],["dns",{"0":{"361":1,"362":1,"363":1,"364":1,"366":1},"2":{"361":1,"362":1,"363":2,"364":1,"366":1}}],["dll",{"0":{"333":1},"2":{"373":2,"399":2}}],["d",{"0":{"361":1,"362":1,"363":1,"364":1,"366":1},"2":{"332":1,"344":2,"361":1,"362":1,"363":2,"364":1,"366":1,"426":1}}],["drawback",{"2":{"489":1}}],["drawbacks",{"2":{"327":1,"447":1}}],["draggable",{"2":{"321":1}}],["dragged",{"2":{"311":1}}],["dragging",{"2":{"10":1,"38":1,"309":1,"321":1}}],["drag",{"2":{"266":1,"298":1,"299":1,"309":2,"310":2,"432":1,"438":1,"439":1,"517":2}}],["driver",{"2":{"342":1,"352":1}}],["driverwizard",{"2":{"323":1}}],["drivers",{"2":{"323":2,"342":1,"347":1}}],["dropdown",{"2":{"306":1,"307":2}}],["drop",{"0":{"437":1},"1":{"438":1,"439":1},"2":{"266":1,"298":1,"299":1,"432":1,"438":1,"439":1,"517":2}}],["d6ec7fd",{"2":{"257":1}}],["d691780",{"2":{"182":1}}],["d815643",{"2":{"200":1}}],["d908d58",{"2":{"186":1}}],["d3afc4b",{"2":{"168":1}}],["d3b4914",{"2":{"4":1}}],["d507c2d",{"2":{"150":1}}],["d5caaa9",{"2":{"12":1,"61":1}}],["dc9a3c4",{"2":{"193":1}}],["dc711cb",{"2":{"146":1}}],["dcf817f",{"2":{"12":1,"65":1}}],["double",{"2":{"338":1,"379":1,"517":3,"548":4}}],["don",{"2":{"396":2,"428":1,"512":1,"547":2}}],["done",{"2":{"324":1,"429":1}}],["donate",{"0":{"261":1,"482":1}}],["downsize",{"2":{"525":1}}],["downlink",{"2":{"391":3}}],["downloads",{"2":{"495":1}}],["download1",{"2":{"403":1}}],["downloaded",{"2":{"329":1,"330":1}}],["downloading",{"0":{"329":1}}],["download",{"0":{"329":1,"376":1},"1":{"377":1,"378":1},"2":{"324":1,"329":1,"373":1,"376":1,"399":1,"412":1,"439":1,"493":1,"511":1,"546":1}}],["down",{"2":{"309":1,"310":1,"329":1,"436":2,"487":1,"517":3}}],["do",{"0":{"349":1,"350":1},"2":{"296":1,"327":1,"328":1,"411":1,"412":1,"435":1,"445":1,"449":1}}],["doesn",{"2":{"323":1,"345":1}}],["does",{"2":{"135":1,"297":1,"327":1,"343":1,"369":2,"371":1,"395":1,"410":1,"435":1,"447":2,"455":2,"472":2,"473":1,"490":2,"502":2,"504":1,"530":2,"556":1}}],["docker",{"0":{"408":1},"2":{"408":1}}],["doc",{"2":{"397":1}}],["documented",{"2":{"477":1,"478":1}}],["documents",{"2":{"454":1}}],["document",{"2":{"296":2,"451":1}}],["documentation",{"0":{"478":1},"2":{"12":1,"24":1,"457":1,"496":1,"513":1,"548":1}}],["docs",{"2":{"12":1,"48":1}}],["d7bf83b",{"2":{"179":1}}],["d72202b",{"2":{"112":1}}],["d7eca8d",{"2":{"12":1,"53":1}}],["dd601df",{"2":{"174":1}}],["dd3ad6c",{"2":{"12":1,"47":1}}],["dd1c2e1",{"2":{"5":1}}],["dynamic",{"0":{"333":1},"2":{"319":1}}],["dynamically",{"2":{"12":1,"86":1,"530":1,"555":1}}],["dynamics",{"2":{"11":1,"101":1}}],["date",{"2":{"479":1}}],["data",{"0":{"326":1},"2":{"443":3,"445":3,"454":1,"458":2}}],["damaged",{"0":{"332":1},"2":{"332":1}}],["daeb9e5",{"2":{"207":1}}],["daemon",{"2":{"12":1,"72":1,"472":1,"490":1,"502":1}}],["dark",{"2":{"11":1,"12":1,"28":1,"73":1,"108":1,"110":1,"117":1,"134":1,"150":1,"266":1,"278":1}}],["db",{"2":{"411":1,"412":1}}],["db9e3e7",{"2":{"122":1}}],["db9b19a",{"2":{"12":1,"19":1}}],["dbdaa35",{"2":{"14":1}}],["db5d157",{"2":{"12":1,"48":1}}],["db5deb4",{"2":{"12":1,"82":1}}],["dbc34d6",{"2":{"12":1,"85":1}}],["dbf366a",{"2":{"6":1}}],["d054f8d",{"2":{"11":1,"54":1}}],["d230c15",{"2":{"12":1,"34":1}}],["d262adf",{"2":{"12":1,"61":1}}],["d25714a",{"2":{"12":1,"59":1}}],["d21fa29",{"2":{"11":1,"56":1}}],["d2c977c",{"2":{"6":1}}],["dummy",{"2":{"455":1,"458":2}}],["dup",{"2":{"392":3}}],["duplication",{"0":{"392":1}}],["duplicate",{"2":{"10":1,"11":1,"12":1,"32":1,"40":1,"54":1}}],["duration",{"2":{"285":1}}],["during",{"2":{"12":1,"80":1,"268":1,"282":2,"309":1,"412":1,"460":1}}],["due",{"2":{"11":1,"12":1,"29":1,"49":1,"329":1,"332":1,"336":1,"344":1,"441":1,"471":1,"489":1,"501":1}}],["dimension",{"2":{"525":1}}],["dimensions",{"2":{"441":1}}],["directions",{"2":{"446":1,"473":1}}],["direction",{"2":{"441":1}}],["directly",{"2":{"391":1,"444":1,"449":1,"455":1,"472":1,"490":1,"502":1,"514":1,"548":2,"555":1}}],["directories",{"2":{"12":1,"57":1,"278":1}}],["directory",{"2":{"5":1,"12":3,"15":1,"44":1,"93":1,"103":1,"335":1,"341":1,"373":1,"399":1,"411":1,"439":1,"548":1}}],["dictaphone",{"2":{"391":1}}],["differ",{"2":{"444":1}}],["different",{"2":{"278":1,"344":1,"345":1,"421":1,"445":2,"474":1,"519":1,"530":1}}],["difficult",{"2":{"327":1}}],["disappears",{"2":{"500":1}}],["disables",{"2":{"391":1}}],["disabled",{"2":{"353":1,"388":1,"416":1,"428":1,"434":1,"441":1,"455":1,"472":1,"489":1,"490":1,"499":1,"502":1,"514":2,"527":1,"540":1}}],["disable",{"0":{"550":1,"556":1},"2":{"11":1,"12":1,"78":1,"89":1,"186":1,"281":1,"282":1,"283":1,"284":1,"285":2,"329":2,"332":1,"353":1,"389":2,"390":1,"432":1,"435":1,"458":5,"462":1,"465":1,"477":1,"488":1,"496":1,"500":1,"507":3,"513":1,"514":1,"516":1,"517":1,"521":1,"535":1,"536":1,"541":2,"548":1,"550":1,"553":1,"556":2}}],["disabling",{"2":{"11":1,"64":1,"334":1}}],["dist",{"2":{"405":1}}],["distribution",{"2":{"399":1}}],["distributions",{"2":{"337":1,"352":1,"494":1}}],["distributed",{"2":{"385":2,"483":2}}],["distros",{"2":{"372":1,"373":1}}],["discuss",{"2":{"459":1}}],["disconnect",{"2":{"429":1}}],["disconnected",{"0":{"346":1},"2":{"346":1}}],["discardvirtualmemory",{"0":{"333":1}}],["display=",{"2":{"539":1}}],["display=1920x1080",{"2":{"468":1,"477":1,"539":2,"540":2}}],["displays",{"2":{"12":1,"59":1,"265":1,"267":1,"441":1,"473":1,"533":2,"541":1}}],["displayed",{"2":{"11":1,"29":1,"307":1,"313":1}}],["display",{"0":{"533":1,"538":1,"539":1,"543":1},"1":{"539":1,"540":1,"541":1,"542":1,"543":1},"2":{"10":1,"11":5,"12":13,"17":1,"18":1,"19":2,"36":1,"37":1,"53":2,"55":1,"58":1,"65":1,"79":1,"84":1,"85":1,"93":1,"94":1,"110":3,"182":1,"263":1,"265":1,"281":1,"282":1,"307":1,"314":1,"317":1,"324":1,"416":1,"419":1,"447":1,"452":2,"464":3,"468":1,"473":2,"477":2,"478":1,"517":6,"522":1,"530":5,"532":1,"533":5,"534":1,"539":5,"540":2,"541":3,"542":3,"543":8}}],["dialog",{"2":{"8":1,"10":1,"12":1,"17":1,"314":1}}],["d18444f",{"2":{"11":1,"101":1}}],["d19e781",{"2":{"10":1,"83":1}}],["d1f8176",{"2":{"7":1}}],["d1c04ce",{"2":{"4":1}}],["degrees",{"2":{"531":1}}],["demux=h264",{"2":{"458":1}}],["demuxed",{"2":{"452":1}}],["demuxer",{"2":{"452":3}}],["demuxers",{"2":{"451":1}}],["demonstrating",{"2":{"268":1}}],["dex",{"2":{"443":5}}],["dexed",{"2":{"443":1}}],["dedicated",{"2":{"441":1,"524":1,"537":1}}],["density",{"2":{"539":1}}],["den",{"2":{"419":1}}],["decorations",{"0":{"541":1},"2":{"540":2,"541":3,"553":1}}],["decoder",{"2":{"452":3}}],["decoders",{"2":{"451":1}}],["decoded",{"2":{"450":1,"452":1}}],["decodes",{"2":{"441":2}}],["declarative",{"2":{"417":1}}],["declared",{"2":{"417":3,"419":2}}],["decided",{"2":{"327":1}}],["dee55499ca4fef00ce2559c767d2d8130163736d43fdbce753e923e75309c275",{"2":{"377":1}}],["debian",{"0":{"402":1},"2":{"372":1,"373":1,"405":1,"494":1,"495":1}}],["debugger=true",{"2":{"460":2}}],["debugger",{"2":{"460":2}}],["debugging",{"2":{"167":1,"268":1,"292":2,"294":1,"295":2,"323":1,"328":3,"342":1,"343":1,"349":2,"373":1,"429":1,"472":2,"474":4,"477":1,"490":2,"502":2,"514":1,"516":2}}],["debug",{"0":{"460":1},"2":{"280":1,"460":3}}],["dequeueoutputbuffer",{"2":{"355":1}}],["delay",{"2":{"265":1,"462":1,"463":2,"464":1,"504":1,"521":1,"522":1,"534":1}}],["deleting",{"2":{"12":1,"27":1}}],["delete",{"0":{"315":1},"2":{"6":1,"8":1,"143":2,"315":1}}],["depends",{"2":{"435":1}}],["depend",{"2":{"410":1}}],["depending",{"2":{"265":1,"452":1,"473":1}}],["dependent",{"2":{"197":1}}],["dependency",{"2":{"11":1,"67":1,"119":1}}],["dependencies",{"2":{"6":1,"8":1,"11":1,"12":1,"45":1,"68":1,"104":1,"132":1,"278":1,"296":1,"402":3,"403":2,"406":4,"407":2,"547":1}}],["defines",{"2":{"382":2}}],["definitely",{"2":{"273":1}}],["definition",{"2":{"263":1,"525":2}}],["defender",{"2":{"329":1}}],["default",{"2":{"11":1,"12":1,"34":1,"90":1,"295":1,"299":1,"301":3,"306":1,"350":1,"352":1,"388":2,"391":2,"393":2,"395":1,"396":4,"416":3,"421":2,"426":1,"428":1,"434":1,"436":1,"441":3,"447":1,"455":1,"467":1,"469":1,"484":2,"486":1,"487":1,"497":1,"499":1,"500":1,"503":6,"514":2,"517":1,"519":1,"522":1,"524":1,"525":1,"526":1,"528":2,"529":1,"534":1,"541":2,"542":1,"543":2,"551":1,"556":1}}],["de3555b",{"2":{"174":1}}],["de9352c",{"2":{"164":1}}],["determined",{"2":{"419":1}}],["determines",{"2":{"418":1}}],["detects",{"2":{"472":1}}],["detect",{"0":{"323":1},"2":{"295":1,"445":1,"455":1}}],["detected",{"0":{"342":1},"2":{"292":1,"342":2,"347":1,"364":2}}],["detecting",{"2":{"12":1,"27":1,"521":1}}],["detection",{"0":{"329":1},"2":{"8":1,"12":2,"49":1,"72":1}}],["detailed",{"0":{"303":1},"1":{"304":1,"305":1,"306":1,"307":1,"308":1,"309":1,"310":1,"311":1,"312":1,"313":1,"314":1,"315":1},"2":{"328":1,"357":1}}],["details",{"2":{"12":4,"19":2,"24":1,"60":1,"380":1,"441":1,"448":1,"455":1,"458":1,"459":1}}],["devel",{"2":{"403":5}}],["developing",{"2":{"271":1}}],["developer",{"2":{"273":1,"292":1,"294":1,"330":1,"349":1,"485":1,"498":1}}],["developers",{"0":{"384":1,"440":1},"1":{"441":1,"442":1,"443":1,"444":1,"445":1,"446":1,"447":1,"448":1,"449":1,"450":1,"451":1,"452":1,"453":1,"454":1,"455":1,"456":1,"457":1,"458":1,"459":1,"460":1},"2":{"268":1,"384":1,"465":1,"479":1}}],["developed",{"2":{"263":1}}],["development",{"0":{"271":1},"2":{"11":1,"52":1,"398":1,"495":1,"517":2}}],["dev",{"2":{"398":3,"402":7,"405":1,"477":1,"495":8,"521":7,"535":2}}],["devicemessage",{"2":{"457":1}}],["deviceid",{"2":{"318":1}}],["devices",{"0":{"328":1,"344":1},"2":{"10":2,"11":1,"12":3,"29":1,"47":1,"63":2,"65":1,"98":1,"144":1,"165":1,"172":1,"263":1,"266":1,"267":1,"278":3,"297":2,"301":1,"306":1,"307":2,"326":1,"342":2,"344":2,"347":1,"349":1,"357":1,"358":2,"359":2,"360":1,"362":2,"369":1,"379":1,"380":2,"388":1,"416":1,"417":1,"419":1,"426":2,"435":1,"473":1,"474":1,"485":1,"488":1,"498":1,"514":1,"518":1,"521":4,"528":1,"540":1,"541":1}}],["device",{"0":{"262":1,"274":1,"277":1,"282":1,"298":1,"302":1,"307":1,"323":1,"327":1,"330":1,"342":1,"343":1,"346":1,"439":1,"461":1},"1":{"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"269":1,"270":1,"271":1,"272":1,"273":1,"275":1,"276":1,"277":1,"299":1,"300":1,"301":1,"302":1,"303":1,"304":1,"305":1,"306":1,"307":1,"308":1,"309":1,"310":1,"311":1,"312":1,"313":1,"314":1,"315":1,"316":1,"317":1,"318":1,"319":1,"320":1,"321":1,"462":1,"463":1,"464":1,"465":1,"466":1,"467":1,"468":1},"2":{"5":1,"6":1,"10":9,"11":6,"12":18,"14":1,"18":1,"19":1,"25":1,"27":3,"29":1,"32":4,"34":4,"35":1,"38":1,"39":1,"40":1,"42":1,"53":1,"54":1,"59":1,"60":1,"61":1,"63":1,"65":1,"72":2,"79":1,"92":1,"172":1,"263":1,"265":1,"266":3,"267":1,"270":1,"271":1,"273":3,"278":8,"280":1,"284":1,"292":1,"294":1,"295":4,"297":2,"298":4,"299":2,"302":2,"307":7,"315":1,"318":1,"319":2,"321":5,"323":2,"324":3,"326":1,"330":1,"340":1,"342":3,"343":3,"344":9,"346":1,"347":1,"349":1,"357":1,"358":2,"359":2,"360":1,"361":1,"363":3,"364":3,"365":2,"366":1,"367":2,"369":1,"373":1,"379":1,"380":3,"388":1,"391":5,"392":2,"393":1,"394":1,"396":1,"410":1,"414":1,"416":2,"424":1,"426":2,"427":3,"428":5,"429":10,"430":1,"432":1,"434":2,"435":5,"439":1,"441":11,"443":2,"445":1,"446":2,"447":2,"451":1,"452":1,"453":1,"455":7,"456":1,"457":2,"458":5,"460":2,"461":1,"462":3,"464":2,"465":2,"466":1,"467":1,"468":1,"469":1,"470":1,"471":1,"472":2,"473":5,"474":3,"477":6,"478":1,"484":1,"488":3,"489":1,"490":2,"496":1,"497":1,"499":1,"500":2,"501":1,"502":2,"503":4,"504":1,"505":1,"513":1,"514":4,"516":2,"517":5,"518":2,"521":6,"524":2,"525":3,"527":1,"529":1,"530":3,"532":2,"533":2,"535":1,"539":1,"548":1,"551":2}}],["destroy",{"0":{"542":1},"2":{"542":1}}],["destroyed",{"2":{"539":1,"542":1}}],["deserialization",{"2":{"457":2}}],["describing",{"2":{"456":1}}],["described",{"2":{"397":1,"485":1}}],["describe",{"2":{"153":1}}],["description",{"0":{"311":1},"2":{"152":1,"164":1,"173":1,"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"367":1,"368":1}}],["desktop",{"2":{"10":1,"12":1,"51":1,"53":1,"278":1,"353":1}}],["designed",{"0":{"327":1},"2":{"298":1,"458":1,"518":1}}],["design",{"2":{"10":1,"150":1}}],["pts",{"2":{"456":4}}],["png",{"2":{"414":1}}],["pixel",{"2":{"517":1}}],["pid",{"2":{"460":1}}],["pinch",{"0":{"436":1},"2":{"436":1,"517":1}}],["pierlon",{"2":{"408":1}}],["pip",{"2":{"402":1}}],["pip3",{"2":{"402":2}}],["python3",{"2":{"402":1}}],["pkg",{"2":{"402":1,"406":2,"407":1,"495":1}}],["p",{"0":{"361":1,"362":1,"363":1,"364":1,"366":1,"367":1,"368":1},"2":{"361":1,"362":1,"363":2,"364":1,"366":1,"367":1,"368":1}}],["physically",{"2":{"429":1}}],["physical",{"0":{"470":1,"488":1,"500":1},"1":{"471":1,"472":1,"489":1,"490":1,"501":1,"502":1},"2":{"324":3,"350":1,"464":1,"465":3,"469":2,"470":2,"471":1,"472":2,"473":1,"477":2,"484":2,"488":2,"489":1,"490":1,"497":2,"500":1,"501":1,"502":1,"514":3,"530":1}}],["phones",{"2":{"328":1}}],["phone",{"2":{"268":2,"292":4,"295":1,"429":1,"532":1}}],["pcm",{"2":{"393":1}}],["pc",{"2":{"297":1}}],["people",{"2":{"273":1}}],["per",{"2":{"452":1,"527":1}}],["periodically",{"2":{"387":1}}],["personalized",{"2":{"321":1}}],["permissions",{"2":{"321":1,"328":1,"335":2,"349":1,"385":1,"483":1}}],["permission",{"2":{"193":2,"329":1,"379":1,"471":1,"474":1,"489":1,"501":1}}],["perform",{"2":{"461":1}}],["performed",{"2":{"441":1,"517":1,"532":1}}],["performance",{"0":{"7":1,"12":1,"15":1,"16":1,"19":1,"22":1,"23":1,"24":1,"27":1,"28":1,"30":1,"31":1,"34":1,"35":1,"37":1,"40":1,"41":1,"43":1,"44":1,"47":1,"48":1,"49":1,"50":1,"53":1,"55":1,"57":1,"59":1,"60":1,"61":1,"62":1,"65":1,"66":1,"68":1,"69":1,"72":1,"75":1,"77":1,"80":1,"82":1,"85":1,"86":1,"87":1,"89":1,"93":1,"94":1,"96":1,"98":1,"100":1,"102":1,"103":1,"104":1,"106":1,"108":1,"109":1,"110":1,"114":1,"115":1,"118":1,"122":1,"125":1,"127":1,"131":1,"134":1,"136":1,"139":1,"143":1,"144":1,"145":1,"146":1,"147":1,"149":1,"150":1,"153":1,"155":1,"157":1,"160":1,"163":1,"164":1,"165":1,"168":1,"169":1,"170":1,"172":1,"174":1,"175":1,"178":1,"183":1,"186":1,"187":1,"198":1,"203":1,"204":1,"208":1,"211":1,"213":1,"223":1,"226":1,"228":1,"230":1,"231":1,"233":1,"234":1,"240":1,"244":1,"256":1},"2":{"12":11,"19":1,"34":2,"55":1,"57":1,"60":1,"77":1,"80":1,"93":1,"96":1,"102":1,"115":1,"122":1,"168":1,"172":1,"265":1,"278":1,"391":3,"473":1,"476":1,"487":1,"525":1}}],["perfect",{"2":{"115":1,"517":1}}],["plugged",{"2":{"367":1,"369":1,"380":1,"462":6,"470":1,"477":1,"514":1}}],["plug",{"2":{"346":1,"429":1}}],["plugin",{"2":{"2":1}}],["please",{"2":{"272":1,"295":1,"323":2,"326":2,"328":1,"329":1,"334":1,"336":1,"347":1,"398":1,"459":1,"481":1}}],["plasma",{"2":{"353":1}}],["player",{"2":{"452":2}}],["played",{"2":{"416":1}}],["play",{"2":{"390":2,"458":1,"507":1,"527":1,"535":1}}],["playback",{"0":{"507":1,"535":1},"2":{"285":2,"389":2,"391":5,"396":1,"416":1,"434":1,"477":1,"507":5,"521":2,"534":4,"535":6}}],["playing",{"2":{"268":1,"392":1,"535":2,"550":1}}],["platforms",{"2":{"296":1,"378":1}}],["platform",{"0":{"269":1},"2":{"371":1,"373":2,"399":2,"450":1,"512":1}}],["plans",{"2":{"271":1}}],["plan",{"2":{"107":1,"406":1,"548":1}}],["poor",{"2":{"447":1}}],["polling",{"2":{"441":1}}],["policy=local",{"2":{"543":3}}],["policy",{"0":{"543":1},"2":{"12":1,"40":1}}],["pointer",{"2":{"500":1}}],["point",{"0":{"333":1},"2":{"295":1,"310":1,"445":1}}],["points",{"2":{"282":1}}],["popup",{"2":{"343":2,"379":1,"388":1}}],["popular",{"2":{"337":1}}],["pop",{"2":{"116":1}}],["powered",{"2":{"467":1}}],["powerful",{"2":{"273":1}}],["power",{"0":{"466":1,"467":1},"2":{"12":1,"61":1,"277":1,"464":5,"466":1,"467":1,"503":1,"517":2}}],["powershell",{"2":{"11":1,"21":1,"345":2,"426":2,"519":2,"520":4}}],["portrait",{"2":{"530":1,"532":1}}],["port=1234",{"2":{"519":1}}],["port",{"0":{"361":1,"362":1,"363":1,"364":1,"366":1,"367":1,"368":1},"2":{"12":1,"27":1,"295":2,"346":1,"361":1,"362":1,"363":2,"364":1,"366":1,"367":1,"368":1,"426":2,"428":3,"429":1,"441":1,"458":1,"460":4,"512":1,"519":3,"520":1}}],["portable",{"2":{"5":1}}],["post",{"2":{"441":1,"448":1}}],["positions",{"2":{"299":1,"317":1}}],["position",{"0":{"309":1,"552":1},"2":{"12":2,"85":1,"163":1,"175":1,"266":1,"271":1,"298":1,"301":1,"302":1,"309":4,"310":1,"552":1}}],["possible",{"2":{"11":1,"33":1,"391":1,"393":1,"396":2,"418":1,"419":1,"429":1,"441":1,"445":1,"463":1,"464":2,"465":1,"468":1,"472":2,"488":1,"490":2,"502":2,"505":1,"507":1,"514":3,"517":1,"518":1,"519":1,"521":1,"522":2,"524":1,"528":1,"533":2,"534":1,"535":2}}],["practice",{"2":{"458":1}}],["primary",{"2":{"503":1}}],["privileges",{"0":{"443":1},"2":{"443":1}}],["printed",{"2":{"438":1,"439":1,"527":1}}],["print",{"2":{"429":1,"527":1}}],["principle",{"2":{"327":1}}],["prioritize",{"2":{"307":1}}],["priority",{"2":{"278":1,"319":1}}],["prerequisites",{"0":{"474":1},"2":{"485":1,"496":1,"498":1,"513":1,"548":1}}],["prefixes",{"2":{"468":1}}],["prefixed",{"2":{"456":1}}],["prefix",{"2":{"428":1,"468":2}}],["prefer",{"2":{"486":1,"548":1}}],["preferable",{"2":{"396":1,"520":1}}],["preferred",{"2":{"12":1,"22":1,"280":1,"405":1}}],["preferences",{"0":{"279":1},"1":{"280":1,"281":1,"282":1,"283":1,"284":1,"285":1,"286":1,"287":1},"2":{"11":2,"12":2,"36":1,"40":1,"46":1,"122":1,"164":1,"178":1,"182":1,"183":1,"186":1,"278":1,"324":1,"330":1,"334":1}}],["preference",{"0":{"486":1},"2":{"5":1,"11":1,"12":3,"33":1,"34":1,"86":1,"98":1,"146":1,"182":1}}],["prebuilt",{"0":{"412":1},"2":{"410":1,"412":1,"495":1}}],["presses",{"2":{"517":1}}],["pressed",{"2":{"486":1}}],["pressing",{"2":{"436":2,"464":1,"488":1,"503":2,"517":2}}],["press",{"2":{"330":1,"379":1,"460":1,"464":1,"517":2}}],["preserved",{"2":{"525":1}}],["preservation",{"2":{"122":1}}],["present",{"2":{"379":1,"398":1}}],["presentations",{"2":{"465":1}}],["presentation",{"2":{"12":1}}],["preset",{"2":{"182":1,"310":1}}],["precisely",{"2":{"298":1,"436":1}}],["preliminarily",{"2":{"296":1}}],["preparation",{"2":{"12":1,"34":1,"324":2}}],["prevent",{"2":{"462":1,"464":1,"467":1,"556":1}}],["prevented",{"2":{"11":1,"36":1}}],["preview",{"2":{"299":1}}],["previous",{"2":{"11":1,"21":1,"447":1}}],["pronounced",{"2":{"473":1}}],["produce",{"2":{"452":1,"458":1}}],["produced",{"2":{"447":1,"456":1,"527":1,"541":1}}],["protocol",{"0":{"454":1},"1":{"455":1,"456":1,"457":1},"2":{"445":2,"454":2,"457":2,"458":1,"469":1,"472":1,"484":1,"490":1,"497":1,"502":1,"518":1}}],["protection",{"2":{"329":4}}],["properly",{"2":{"321":2,"488":1}}],["properties",{"2":{"301":1}}],["proportions",{"2":{"310":1}}],["proportion",{"2":{"310":1}}],["projects",{"2":{"387":1}}],["project",{"0":{"261":1},"2":{"261":2,"263":1,"271":1,"272":1,"369":2,"398":1,"406":1,"409":1}}],["provided",{"2":{"358":1,"359":1,"387":1,"426":1,"435":1,"444":1,"518":1}}],["provide",{"2":{"12":1,"53":1,"273":1,"297":1,"326":1,"344":1,"371":1,"528":2}}],["provides",{"2":{"12":1,"27":1,"263":1,"299":1,"356":1,"369":1,"450":1,"465":1,"478":1}}],["processed",{"2":{"391":1}}],["processes",{"2":{"12":1,"53":1}}],["process",{"2":{"278":1,"397":1,"443":2,"445":2,"458":1,"472":1,"490":1,"495":2,"502":1}}],["processing",{"0":{"275":1},"2":{"12":1,"27":1,"278":1}}],["programmatically",{"2":{"435":1}}],["programs",{"2":{"321":1}}],["program",{"2":{"11":2,"12":2,"19":1,"39":2,"48":1,"128":1,"345":2,"381":1}}],["problems",{"2":{"11":1,"12":1,"47":1,"99":1,"126":1,"339":1,"356":1,"371":1,"447":1,"487":1,"521":1}}],["problem",{"2":{"9":1,"11":11,"12":3,"21":2,"36":1,"40":1,"42":1,"45":1,"49":1,"52":1,"54":1,"58":1,"64":1,"65":1,"79":1,"99":1,"113":1,"116":1,"121":1,"122":1,"185":1,"340":1,"350":1,"481":1,"486":1}}],["prompt",{"0":{"332":1},"2":{"11":1,"26":1,"168":1,"171":1,"317":1,"332":1}}],["promptbar",{"2":{"8":1}}],["prompts",{"0":{"325":1,"329":1},"2":{"8":1,"131":1,"172":1,"292":1}}],["pause",{"2":{"517":2}}],["pasting",{"2":{"435":3}}],["paste⁵",{"2":{"517":1}}],["pastes",{"2":{"435":1}}],["paste",{"0":{"435":1},"2":{"435":3,"441":1,"473":1}}],["passing",{"2":{"468":1}}],["passwords",{"2":{"435":1}}],["passed",{"2":{"416":1,"452":1}}],["pass",{"2":{"393":1,"418":1,"419":1,"514":1,"528":1}}],["packets",{"2":{"446":3,"447":1,"452":4}}],["packet",{"2":{"441":2,"456":7,"458":1,"504":1}}],["packaged",{"2":{"399":1,"494":1}}],["package",{"0":{"494":1,"512":1,"547":1},"2":{"12":2,"37":1,"68":1,"332":2,"352":1,"372":1,"373":1,"401":1,"443":2,"468":2,"494":1,"521":1}}],["packages",{"0":{"290":1},"2":{"12":1,"82":1,"150":1,"329":2,"401":1,"406":1,"407":1,"495":1}}],["pacman",{"2":{"406":4,"494":1}}],["pairs",{"2":{"445":1}}],["pair",{"2":{"294":1}}],["pairing",{"2":{"10":1,"12":1,"63":1,"156":1,"295":1,"325":1}}],["panels",{"2":{"517":1}}],["panel",{"2":{"12":2,"55":1,"313":1,"503":3,"517":3}}],["pages",{"2":{"477":1,"478":1}}],["page",{"2":{"11":1,"12":1,"39":1,"53":1,"132":1,"295":1,"329":1,"330":2,"384":1,"398":1,"488":2,"524":1,"537":1}}],["parses",{"2":{"446":1,"451":1}}],["parsed",{"2":{"11":1,"79":1}}],["parts",{"2":{"441":1}}],["particular",{"2":{"327":1,"328":1,"347":1,"393":1,"435":1}}],["partial",{"2":{"12":1}}],["party",{"2":{"323":1}}],["part",{"2":{"11":1,"101":1,"532":1}}],["parameter",{"2":{"11":1,"12":1,"79":1,"93":1,"318":1,"358":1,"359":1,"380":1,"395":1,"485":1,"498":1}}],["parameters",{"2":{"11":1,"12":2,"33":1,"53":1,"86":1,"280":2,"301":1,"306":1,"319":1,"364":1,"393":1,"485":1,"528":1}}],["params",{"2":{"6":1}}],["parallel",{"2":{"10":1,"17":1}}],["paypal",{"2":{"482":1}}],["payload",{"2":{"6":1}}],["payment",{"2":{"6":1,"8":1}}],["patterns",{"2":{"4":1}}],["pattern",{"2":{"4":1}}],["path=",{"2":{"406":1,"407":1}}],["paths",{"2":{"197":1,"335":1,"451":1}}],["path",{"2":{"4":1,"11":2,"18":1,"21":1,"113":1,"182":1,"280":4,"329":1,"330":1,"336":2,"341":2,"345":3,"382":3,"399":1,"406":1,"407":1,"412":2,"443":1,"512":1}}],["put",{"2":{"462":2,"463":1,"465":2}}],["public",{"2":{"443":1}}],["publishing",{"2":{"111":1}}],["publish",{"2":{"4":1}}],["purpose",{"2":{"441":1,"455":1,"516":1}}],["pure",{"2":{"267":1}}],["pushes",{"2":{"451":1,"453":1}}],["pushed",{"2":{"410":1,"443":1,"460":1}}],["push",{"0":{"439":1},"2":{"172":1,"174":1,"278":1,"414":1,"439":2,"441":1,"443":1,"445":1,"458":1,"517":1}}],["pull",{"2":{"4":1,"495":1}}],["eye",{"2":{"532":1}}],["etc",{"2":{"450":1,"452":1}}],["equivalent",{"2":{"395":1,"503":1,"526":1}}],["equipment",{"2":{"12":1,"48":1,"102":1,"114":1,"121":1,"150":1}}],["echo",{"2":{"391":1}}],["emerge",{"2":{"494":1}}],["emulator",{"2":{"344":1}}],["empty",{"2":{"5":1,"6":1,"313":1,"540":1}}],["either",{"2":{"344":1,"385":1,"435":1,"483":1,"500":1,"517":1}}],["e",{"2":{"329":1,"344":2,"403":1,"426":2,"443":1,"446":1,"449":1,"462":1,"503":1,"518":1}}],["else",{"2":{"419":1}}],["eliminating",{"2":{"296":1}}],["electron",{"0":{"262":1},"1":{"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"269":1,"270":1,"271":1,"272":1,"273":1},"2":{"4":1,"235":1,"237":1,"259":1,"263":1}}],["edit",{"2":{"460":1,"548":1}}],["editing",{"2":{"271":1,"299":1}}],["edges",{"0":{"338":1},"2":{"338":1}}],["edge",{"2":{"10":1,"12":3,"59":1,"61":1,"76":1,"77":1,"278":1,"338":1}}],["e84f24e",{"2":{"256":1}}],["e89a7a5",{"2":{"217":1}}],["e9a8fc2",{"2":{"222":1}}],["e9befea",{"2":{"183":1}}],["e1237cd",{"2":{"198":1}}],["e249d84",{"2":{"186":1}}],["even",{"2":{"455":1,"472":1,"490":1,"502":1,"529":1}}],["events",{"0":{"449":1},"2":{"11":1,"18":1,"321":1,"432":1,"435":2,"436":1,"441":2,"446":1,"449":2,"450":1,"453":2,"474":2,"485":1,"486":7,"487":3,"498":1,"499":1,"514":2}}],["event",{"2":{"5":1,"8":1,"453":1}}],["everything",{"0":{"411":1},"2":{"432":1,"454":1}}],["every",{"2":{"371":1,"398":1}}],["everywhere",{"2":{"345":1,"485":1}}],["evoke",{"2":{"179":1,"180":1}}],["e5f78e7",{"2":{"173":1}}],["e5c157e",{"2":{"10":1,"20":1}}],["especially",{"2":{"474":1}}],["establishes",{"2":{"446":1}}],["establish",{"2":{"441":1,"520":1}}],["establishment",{"2":{"325":1,"519":1}}],["escrcpy",{"0":{"262":1,"263":1,"322":1},"1":{"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"269":1,"270":1,"271":1,"272":1,"273":1,"323":1,"324":1,"325":1,"326":1,"327":1,"328":1,"329":1,"330":1,"331":1,"332":1,"333":1,"334":1,"335":1,"336":1,"337":1,"338":1},"2":{"263":2,"268":1,"269":1,"270":1,"271":1,"272":1,"273":3,"291":1,"292":2,"295":2,"296":1,"298":1,"324":2,"327":2,"330":1,"331":1,"332":1,"337":1,"356":2,"387":1}}],["esm",{"2":{"132":1}}],["eslint",{"2":{"8":1,"149":1}}],["e0c221f",{"2":{"12":1,"19":1}}],["e0687e8",{"2":{"10":1,"63":1}}],["e6e8a09",{"2":{"12":1,"27":1}}],["e643f8e",{"2":{"12":1}}],["eaa27133e0520979873ba57ad651560a4cc2618373bd05450b23a84d32beafd0",{"2":{"546":1}}],["earlier",{"2":{"388":1}}],["easily",{"2":{"263":1,"458":1}}],["ea227e0",{"2":{"130":1}}],["each",{"2":{"12":1,"34":1,"278":1,"298":1,"302":1,"306":1,"307":1,"357":1,"364":1,"380":1,"441":4,"455":2,"456":1,"458":1,"470":1,"503":2}}],["eab402b",{"2":{"12":1,"28":1}}],["ea75615",{"2":{"12":1}}],["effort",{"2":{"464":1}}],["efficiency",{"2":{"321":1}}],["efficient",{"0":{"265":1},"2":{"273":1,"298":1}}],["effects",{"2":{"299":1}}],["effect",{"2":{"11":1,"12":8,"19":2,"33":1,"34":1,"53":1,"55":1,"94":1,"108":1,"110":3,"319":1,"321":1,"462":1}}],["ef9e7d3",{"2":{"8":1}}],["e337d5cf0ba4e1281699c338ce5f104aee96eb7b2893dc851399b6643eb4044e",{"2":{"511":1}}],["e34e1c2",{"2":{"11":1,"45":1}}],["e323611",{"2":{"8":1}}],["error",{"0":{"330":1,"335":1},"2":{"11":5,"12":1,"39":1,"52":1,"58":1,"84":1,"85":1,"90":1,"134":1,"152":1,"158":1,"159":1,"168":1,"181":1,"182":1,"193":1,"197":1,"330":1,"339":1,"342":1,"343":3,"344":7,"345":1,"347":1,"355":1,"393":2,"418":1,"419":1,"455":1,"474":1,"525":1,"548":4}}],["errors",{"2":{"11":2,"56":1,"81":1,"119":1,"123":1,"171":1,"189":1,"190":1,"191":1,"192":1,"330":1,"471":1,"489":1,"501":1}}],["extract",{"2":{"373":1,"377":1,"378":1,"399":1,"452":1,"493":1,"511":1,"546":1}}],["extension",{"2":{"505":1}}],["extensions",{"2":{"327":1,"548":1}}],["extend",{"2":{"327":1}}],["extended",{"2":{"12":1,"96":1,"164":1}}],["external",{"2":{"7":1,"418":1}}],["exact",{"2":{"445":1,"547":1}}],["exactly",{"2":{"361":1,"379":1,"426":3,"503":1}}],["example",{"2":{"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"367":1,"368":1,"391":1,"393":1,"396":1,"411":1,"419":1,"423":1,"428":1,"435":2,"445":2,"455":1,"458":1,"495":1,"503":1,"517":2,"521":1,"527":1,"532":1,"540":2,"548":2}}],["examples",{"0":{"477":1},"2":{"357":1,"419":1,"477":1}}],["exe",{"2":{"341":1,"345":2,"373":1,"377":1,"399":1,"548":1}}],["executing",{"2":{"429":1,"445":1,"488":1}}],["execution",{"0":{"445":1},"2":{"120":2,"144":1,"275":1,"277":1,"441":1,"445":1}}],["executable",{"2":{"335":2,"382":1,"548":1}}],["executed",{"2":{"441":2,"443":1,"446":2,"517":1,"548":1}}],["executes",{"2":{"379":1,"381":1,"443":1}}],["execute",{"0":{"336":1},"2":{"266":1,"278":1,"280":1,"332":2,"340":1,"379":1,"380":2,"445":1,"495":1,"517":1}}],["exclusive",{"2":{"521":2}}],["exclusion",{"2":{"329":1}}],["exclusions",{"2":{"329":2}}],["excluding",{"2":{"364":1}}],["excluded",{"2":{"329":1}}],["except",{"2":{"385":1,"483":1}}],["exception",{"0":{"334":1,"355":1},"2":{"355":2}}],["exceptions",{"2":{"11":1,"33":1}}],["exceed",{"2":{"326":1}}],["exceeded",{"2":{"321":1}}],["excellent",{"2":{"273":1}}],["existing",{"2":{"327":1}}],["exists",{"2":{"313":1}}],["exit",{"2":{"11":1,"12":1,"39":1,"53":1,"358":1,"359":1,"363":1,"365":1,"463":1,"465":1,"539":1}}],["expand",{"2":{"503":2,"517":3}}],["expands",{"2":{"503":1}}],["expanded",{"2":{"12":1,"50":1,"423":1}}],["expansion",{"0":{"423":1},"2":{"423":1}}],["expressed",{"2":{"441":1,"532":1}}],["express",{"2":{"385":1,"483":1}}],["expose",{"2":{"458":1,"477":1}}],["exposed",{"2":{"449":1}}],["exposes",{"2":{"381":1,"465":1}}],["export",{"2":{"6":2,"266":1,"278":1,"345":1,"407":2,"411":2,"426":1,"519":1,"520":2}}],["expect",{"2":{"435":1}}],["expected",{"2":{"344":1,"435":1,"486":1,"548":1}}],["experimentally",{"2":{"12":1,"53":1}}],["experimental",{"2":{"12":2,"53":1,"93":1,"277":1,"493":1,"511":1}}],["experience",{"0":{"267":1},"2":{"12":6,"19":1,"22":1,"62":1,"65":1,"72":1,"85":1,"263":1,"267":1,"271":1,"273":1,"278":2,"458":1}}],["explicit",{"2":{"418":1,"419":1}}],["explicitly",{"2":{"12":1,"53":1,"419":1,"434":1,"505":1,"514":1,"540":1}}],["explorer",{"2":{"10":1,"17":1}}],["end",{"2":{"505":1}}],["ending",{"2":{"438":1}}],["enough",{"2":{"396":2}}],["ensuring",{"2":{"335":1}}],["ensure",{"2":{"6":1,"317":1,"325":1,"388":1}}],["enabling",{"2":{"298":1,"328":2,"330":1,"520":1}}],["enabled",{"2":{"342":1,"373":1,"388":2,"441":3,"474":1,"485":1,"498":1,"516":1,"521":2,"525":1,"527":1,"535":1,"541":1}}],["enable",{"2":{"12":2,"19":1,"47":1,"292":1,"294":1,"295":1,"297":1,"324":1,"349":2,"357":1,"361":1,"362":1,"379":1,"403":1,"428":1,"429":2,"434":1,"460":1,"462":1,"465":2,"471":1,"472":1,"474":1,"488":1,"489":1,"490":1,"494":1,"500":1,"501":1,"502":1,"514":2,"517":1,"548":1}}],["entered",{"2":{"486":1}}],["enter",{"0":{"324":1},"2":{"294":1,"295":1,"304":1}}],["entrance",{"2":{"112":1}}],["entry",{"2":{"12":2,"34":1,"48":1}}],["entries",{"2":{"10":1,"32":1}}],["enjoy",{"2":{"292":1}}],["enjoying",{"2":{"263":1,"294":1,"295":1}}],["energized",{"2":{"261":1}}],["english",{"2":{"121":1,"324":2}}],["encodes",{"2":{"447":1}}],["encoded",{"2":{"446":2,"447":1,"448":1,"452":1,"505":1}}],["encoder=omx",{"2":{"529":1}}],["encoder=",{"2":{"394":1}}],["encoders",{"2":{"394":2,"528":1,"529":2}}],["encoder",{"0":{"394":1,"529":1},"2":{"355":1,"393":1,"394":2,"529":2}}],["encoding",{"0":{"447":1,"448":1},"2":{"11":1,"79":1,"446":1,"447":3,"517":1,"525":1}}],["encounter",{"2":{"339":1,"344":1,"486":1,"521":1}}],["enclosed",{"2":{"12":1,"27":1}}],["enhance",{"2":{"12":1,"87":1}}],["enhanced",{"2":{"10":1,"92":1,"273":1,"278":2}}],["enhancing",{"2":{"10":1,"17":1,"271":1}}],["environment",{"0":{"382":1},"2":{"321":1,"340":1,"345":1,"352":1,"371":1,"426":1}}],["env",{"2":{"4":1}}],["vbs",{"2":{"548":2}}],["vd",{"2":{"540":2,"541":2,"542":1}}],["vflip",{"2":{"530":1}}],["v4l",{"2":{"521":1}}],["v4l2loopback",{"2":{"521":4}}],["v4l2",{"2":{"281":1,"424":1,"452":2,"473":1,"477":1,"521":9,"522":3,"534":4,"535":4}}],["vvvv",{"2":{"503":1}}],["vlc",{"2":{"458":2,"468":1,"477":2,"521":2,"540":1}}],["void",{"2":{"443":1}}],["voice",{"2":{"391":17}}],["volume",{"2":{"174":1,"175":2,"277":1,"517":2}}],["variation",{"2":{"504":1}}],["variants",{"2":{"428":1}}],["variables",{"0":{"382":1}}],["variable",{"2":{"134":1,"345":1,"352":1,"426":1,"527":1}}],["valid",{"2":{"417":1,"419":2}}],["values",{"2":{"393":1,"528":1,"530":1,"532":1}}],["value",{"2":{"11":1,"58":1,"344":1,"419":2,"445":1,"462":2,"463":4,"465":2,"525":2}}],["v2",{"0":{"369":1},"1":{"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1,"378":1,"379":1,"380":1,"381":1,"382":1,"383":1,"384":1,"385":1,"386":1},"2":{"127":1,"151":1,"157":1,"160":1,"184":1,"377":3,"378":1,"441":1,"454":1,"458":1}}],["vertically",{"2":{"517":2}}],["vertical",{"2":{"436":1}}],["very",{"2":{"375":1,"379":1,"458":1}}],["verifications",{"2":{"12":1,"48":1}}],["verification",{"2":{"12":1,"59":1,"324":1}}],["version",{"0":{"335":1},"2":{"5":1,"8":1,"12":1,"19":1,"270":1,"326":1,"327":1,"330":1,"334":1,"339":1,"345":3,"371":1,"372":1,"373":1,"375":1,"385":1,"386":2,"406":1,"407":1,"412":1,"426":3,"432":1,"434":2,"444":1,"445":4,"454":3,"464":2,"465":1,"471":1,"477":2,"483":1,"489":1,"494":1,"501":1,"514":1,"516":1,"518":1,"525":1,"526":1,"555":1}}],["versions",{"0":{"345":1},"2":{"2":1,"12":1,"47":1,"333":1,"344":1,"345":1,"402":1,"407":1,"445":1,"471":1,"489":1,"495":1,"501":1}}],["vimont",{"2":{"483":1}}],["virtual",{"0":{"538":1},"1":{"539":1,"540":1,"541":1,"542":1,"543":1},"2":{"436":1,"468":1,"473":1,"477":1,"478":1,"533":1,"539":2,"540":2,"541":2,"542":1,"543":1}}],["virus",{"2":{"329":2}}],["visible",{"2":{"531":1}}],["visibility",{"2":{"11":1,"99":1}}],["visual",{"2":{"266":1,"278":2,"298":1,"299":1,"438":1,"439":1}}],["viewing",{"2":{"12":1,"61":1}}],["videon",{"2":{"521":5}}],["video4linux",{"0":{"521":1,"537":1},"1":{"522":1},"2":{"478":1,"537":1}}],["video2",{"2":{"477":1,"535":2}}],["videolan",{"2":{"468":1,"477":1,"540":1}}],["videodriver=wayland",{"2":{"352":1}}],["videodriver",{"2":{"352":1}}],["video",{"0":{"281":1,"285":1,"447":1,"452":1,"456":1,"523":1,"536":1},"1":{"524":1,"525":1,"526":1,"527":1,"528":1,"529":1,"530":1,"531":1,"532":1,"533":1,"534":1,"535":1,"536":1,"537":1},"2":{"11":3,"64":1,"79":1,"84":1,"182":1,"278":1,"281":4,"285":3,"352":1,"388":1,"390":5,"391":2,"396":3,"416":8,"418":6,"419":9,"420":3,"421":1,"422":1,"423":2,"434":7,"441":7,"446":6,"447":2,"450":1,"451":1,"452":6,"455":3,"456":4,"458":3,"473":1,"477":5,"478":1,"504":6,"505":1,"506":2,"507":3,"514":1,"516":4,"517":1,"521":8,"522":2,"526":3,"527":1,"528":5,"529":3,"530":4,"531":1,"534":5,"535":6,"536":2,"541":1}}],["via",{"0":{"290":1,"291":1,"295":1,"326":1},"2":{"10":2,"12":1,"50":1,"63":2,"266":1,"328":1,"344":1,"349":1,"352":1,"357":1,"426":1,"435":1,"457":1,"464":2,"473":1,"514":1,"530":1}}],["v3",{"0":{"473":1},"1":{"474":1,"475":1,"476":1,"477":1,"478":1,"479":1,"480":1,"481":1,"482":1,"483":1},"2":{"10":1,"11":1,"12":8,"23":1,"25":1,"41":1,"43":1,"50":1,"66":1,"68":1,"74":1,"75":2,"412":1,"493":1,"511":2,"546":2}}],["vuerouter",{"2":{"12":1}}],["vue",{"2":{"4":2}}],["ignore",{"2":{"503":1}}],["irrelevant",{"2":{"445":1}}],["i686",{"2":{"406":8}}],["illegalstateexception",{"2":{"355":1}}],["ibar",{"2":{"331":1}}],["i",{"0":{"332":2},"2":{"327":1,"329":1,"330":1,"426":1,"453":1,"462":1,"482":1,"521":1}}],["if",{"2":{"261":1,"273":1,"292":1,"295":1,"313":1,"321":4,"323":1,"326":1,"329":2,"330":1,"335":1,"338":1,"339":1,"340":1,"342":1,"343":1,"344":2,"346":1,"347":2,"355":1,"358":2,"359":2,"360":1,"361":1,"363":3,"367":1,"373":1,"375":1,"379":1,"380":2,"388":2,"391":2,"393":1,"396":2,"397":1,"398":1,"406":1,"407":1,"416":1,"418":1,"419":1,"423":1,"426":5,"428":4,"436":1,"441":4,"443":1,"445":2,"447":1,"455":4,"459":1,"460":1,"462":1,"464":1,"472":2,"474":1,"482":1,"484":1,"485":1,"486":1,"490":1,"498":1,"502":1,"503":1,"504":2,"512":1,"514":4,"516":1,"517":2,"521":1,"525":1,"527":1,"530":2,"533":2,"540":1,"541":1,"547":2,"548":1}}],["i8n",{"2":{"145":1}}],["i18n",{"2":{"136":1,"205":1}}],["ime",{"0":{"543":1},"2":{"489":1,"543":4}}],["image",{"2":{"473":1}}],["images",{"2":{"12":1,"61":1}}],["immediately",{"2":{"315":1,"319":1,"481":1,"548":1}}],["impacts",{"2":{"508":1}}],["impact",{"2":{"504":1}}],["implicitly",{"2":{"514":1}}],["implied",{"2":{"385":1,"390":1,"392":1,"483":1}}],["implementation",{"2":{"371":1}}],["implementations",{"2":{"370":1}}],["implemented",{"2":{"337":1,"371":1,"373":1}}],["implement",{"2":{"327":1,"459":1}}],["important",{"2":{"324":1,"327":1}}],["import",{"2":{"266":1,"278":1}}],["imports",{"2":{"142":1}}],["improving",{"2":{"261":1,"279":1}}],["improved",{"2":{"8":1,"10":1,"12":3,"17":1,"55":1,"72":1,"93":1,"278":2}}],["improvements",{"0":{"7":1,"12":1,"15":1,"16":1,"19":1,"22":1,"23":1,"24":1,"27":1,"28":1,"30":1,"31":1,"34":1,"35":1,"37":1,"40":1,"41":1,"43":1,"44":1,"47":1,"48":1,"49":1,"50":1,"53":1,"55":1,"57":1,"59":1,"60":1,"61":1,"62":1,"65":1,"66":1,"68":1,"69":1,"72":1,"75":1,"77":1,"80":1,"82":1,"85":1,"86":1,"87":1,"89":1,"93":1,"94":1,"96":1,"98":1,"100":1,"102":1,"103":1,"104":1,"106":1,"108":1,"109":1,"110":1,"114":1,"115":1,"118":1,"122":1,"125":1,"127":1,"131":1,"134":1,"136":1,"139":1,"143":1,"144":1,"145":1,"146":1,"147":1,"149":1,"150":1,"153":1,"155":1,"157":1,"160":1,"163":1,"164":1,"165":1,"168":1,"169":1,"170":1,"172":1,"174":1,"175":1,"178":1,"183":1,"186":1,"187":1,"198":1,"203":1,"204":1,"208":1,"211":1,"213":1,"223":1,"226":1,"228":1,"230":1,"231":1,"233":1,"234":1,"240":1,"244":1,"256":1},"2":{"12":1,"68":1}}],["improve",{"2":{"6":1,"8":1,"12":15,"16":1,"19":1,"34":5,"57":1,"59":2,"72":1,"85":1,"100":1,"118":1,"145":1,"271":1,"278":2,"321":1,"476":1}}],["item",{"2":{"329":1,"474":1}}],["itself",{"2":{"346":1,"461":1,"540":1}}],["its",{"2":{"273":1,"411":1,"412":1,"426":1,"435":1,"441":2,"446":1,"451":1,"453":1,"455":1,"468":2,"473":1}}],["it",{"0":{"332":1},"2":{"12":1,"47":1,"263":1,"297":1,"323":1,"326":1,"327":3,"328":1,"338":1,"341":1,"343":1,"346":1,"366":1,"369":6,"371":1,"373":2,"377":1,"378":1,"379":1,"380":2,"388":4,"390":1,"391":2,"392":1,"395":1,"396":5,"398":1,"399":2,"402":1,"405":1,"406":2,"407":1,"416":1,"418":1,"419":1,"423":2,"426":1,"428":1,"429":1,"430":1,"434":1,"435":2,"441":4,"443":3,"445":1,"446":5,"447":1,"453":4,"454":1,"455":2,"458":1,"460":2,"463":1,"464":5,"465":3,"468":1,"472":7,"473":3,"474":1,"477":1,"484":1,"485":2,"488":2,"489":4,"490":7,"493":1,"495":2,"502":7,"503":2,"505":1,"507":1,"508":1,"511":1,"512":1,"514":5,"516":1,"517":3,"518":1,"519":2,"520":1,"521":1,"522":1,"524":1,"525":1,"526":1,"527":1,"529":1,"530":2,"532":1,"533":3,"535":3,"543":1,"546":1,"547":2,"548":2,"551":1,"556":1}}],["ipv4",{"2":{"369":1}}],["ipv6",{"2":{"11":1,"12":1,"27":1,"58":1,"369":1}}],["ip",{"0":{"295":1,"427":1},"1":{"428":1,"429":1},"2":{"12":1,"65":1,"295":2,"344":3,"426":4,"427":1,"428":4,"429":7,"462":1,"473":1,"489":1}}],["ipc",{"2":{"8":1}}],["id=1",{"2":{"533":1,"543":1}}],["id=0",{"2":{"418":2}}],["ids",{"2":{"521":1,"533":1}}],["idummy",{"2":{"458":1}}],["idea",{"2":{"459":1}}],["ideal",{"2":{"268":1}}],["identify",{"2":{"445":1}}],["identifier",{"2":{"344":1}}],["id",{"2":{"11":1,"58":1,"418":3,"456":2,"521":1}}],["ispackaged",{"2":{"231":1,"232":1}}],["is",{"0":{"263":1,"327":1,"332":1},"2":{"6":1,"11":1,"12":1,"39":1,"65":1,"130":1,"263":1,"268":1,"272":1,"273":1,"295":1,"297":1,"298":1,"301":1,"306":1,"321":3,"324":2,"327":2,"328":1,"330":1,"331":1,"332":1,"335":1,"337":1,"339":1,"340":1,"341":2,"342":2,"343":1,"344":2,"349":2,"350":1,"353":2,"357":2,"363":3,"367":2,"369":1,"371":1,"372":1,"373":2,"375":1,"379":2,"380":3,"385":2,"387":3,"388":9,"390":1,"391":3,"392":2,"395":1,"396":5,"398":1,"399":2,"402":1,"405":2,"406":1,"416":3,"418":3,"419":3,"421":1,"422":1,"423":1,"426":6,"428":2,"429":1,"430":1,"434":2,"435":4,"436":1,"438":2,"439":2,"441":15,"443":4,"444":1,"445":7,"446":2,"447":3,"448":1,"451":1,"452":2,"453":2,"455":10,"456":2,"457":1,"458":2,"460":2,"461":1,"462":5,"463":5,"464":3,"465":1,"467":1,"468":2,"472":3,"473":1,"474":5,"483":2,"484":2,"485":2,"486":1,"488":3,"489":3,"490":3,"494":1,"495":1,"496":1,"498":1,"500":1,"502":3,"503":2,"504":1,"505":2,"507":1,"508":1,"512":2,"513":1,"514":5,"516":4,"517":2,"518":2,"519":2,"520":2,"521":2,"522":2,"524":1,"525":4,"526":1,"527":2,"529":1,"530":4,"531":2,"532":4,"533":3,"534":2,"535":4,"536":1,"539":1,"540":4,"541":2,"542":1,"548":4,"551":1}}],["issue",{"0":{"352":1},"2":{"6":1,"11":18,"18":2,"21":2,"26":2,"29":1,"33":2,"36":2,"39":4,"46":1,"54":1,"70":1,"156":1,"321":4,"330":1,"334":1,"481":1}}],["issues",{"0":{"321":1,"340":1,"347":1,"348":1,"351":1,"515":1},"1":{"341":1,"342":1,"343":1,"344":1,"345":1,"346":1,"349":1,"350":1,"352":1,"353":1},"2":{"3":1,"11":3,"29":1,"33":1,"67":1,"111":1,"193":2,"326":1,"330":1,"347":1,"352":1,"369":1,"486":1,"489":1,"529":1}}],["icons",{"2":{"8":2,"11":1,"12":2,"19":2,"99":1,"331":1,"414":1}}],["icon",{"0":{"331":1},"2":{"5":1,"6":1,"8":5,"10":1,"12":7,"17":1,"19":6,"65":1,"331":1,"414":2}}],["involved",{"2":{"519":1}}],["inversion",{"2":{"441":1}}],["inverts",{"2":{"436":2}}],["inverted",{"2":{"436":2}}],["injected",{"2":{"485":1,"486":1,"498":1}}],["injecting",{"2":{"474":1}}],["injectinputevent",{"2":{"449":1}}],["injection",{"0":{"449":1,"486":1},"2":{"11":1,"21":1,"286":1,"350":1}}],["injects",{"2":{"435":4,"441":1,"503":1,"514":1}}],["inject",{"2":{"350":1,"435":1,"449":1,"474":1,"486":2,"517":1}}],["inserted",{"2":{"486":1}}],["insert",{"2":{"325":1}}],["instrumentation",{"2":{"474":1}}],["instructions",{"2":{"328":1,"397":1,"399":1,"479":1}}],["installs",{"2":{"414":1}}],["installing",{"0":{"413":1}}],["installed",{"0":{"291":1},"2":{"296":1,"330":1,"352":1,"371":1,"468":1,"473":2,"496":1,"513":1,"521":1,"547":1}}],["install",{"0":{"358":1,"414":1,"438":1,"492":1,"495":1,"510":1,"545":1},"1":{"493":1,"494":1,"495":1,"511":1,"512":1,"546":1,"547":1},"2":{"277":1,"296":1,"297":1,"323":1,"324":1,"358":3,"360":1,"361":1,"372":1,"373":1,"375":2,"380":2,"381":2,"397":1,"401":1,"402":6,"403":3,"405":3,"406":2,"407":5,"411":2,"414":2,"438":1,"494":3,"495":6,"512":4,"517":1,"521":1,"547":6}}],["installation",{"0":{"289":1,"290":1,"332":1,"337":1},"1":{"290":1,"291":1},"2":{"12":1,"49":1,"124":1,"275":1,"296":3,"297":1,"335":1,"336":2,"495":1}}],["instance",{"2":{"12":1,"55":1,"391":1}}],["instances",{"2":{"10":1,"17":1,"455":1}}],["instead",{"2":{"7":1,"379":1,"381":1,"391":1,"416":1,"434":1,"435":1,"443":1,"500":1,"503":1,"516":1,"520":2,"524":1,"525":1,"539":1,"542":1,"548":1}}],["inherit",{"2":{"319":1}}],["inheritance",{"2":{"302":1,"319":1}}],["inputmanager",{"2":{"449":2}}],["input",{"0":{"286":1,"333":1,"449":1},"2":{"324":11,"349":2,"432":1,"441":1,"446":1,"449":2,"450":1,"453":1,"469":1,"474":1,"484":1,"485":1,"488":1,"497":1,"498":1,"514":1}}],["indirectly",{"2":{"455":1}}],["individual",{"0":{"315":1},"2":{"278":1}}],["independently",{"2":{"534":1}}],["independent",{"2":{"10":1,"17":1,"266":1,"302":2}}],["initializes",{"2":{"451":1}}],["initialize",{"2":{"340":1,"393":1}}],["initialization",{"0":{"451":1},"2":{"6":2}}],["initial",{"2":{"295":1,"456":2,"458":1,"462":1,"463":1,"465":1,"530":1,"552":1}}],["initially",{"2":{"105":1,"371":1,"441":1}}],["include",{"2":{"473":1}}],["includes",{"2":{"391":1}}],["included",{"2":{"341":1}}],["including",{"2":{"271":1,"301":1}}],["incoming",{"2":{"428":1}}],["incompatible",{"2":{"174":1}}],["incorrect",{"2":{"11":1,"21":1,"330":1}}],["increase",{"2":{"12":1,"48":1,"525":1}}],["information",{"2":{"12":2,"34":1,"61":1,"317":1,"458":1}}],["inactive",{"2":{"12":1,"53":1}}],["intrinsically",{"2":{"527":1}}],["intrusiveness",{"2":{"473":1}}],["introducing",{"2":{"10":1,"17":1,"386":1,"448":1,"480":1}}],["intuitive",{"2":{"270":1}}],["into",{"2":{"10":1,"17":1,"297":1,"346":1,"405":1,"429":1,"435":1,"452":2,"470":1,"477":1}}],["integer",{"2":{"521":1}}],["integration",{"2":{"11":1,"12":1,"34":1,"78":1}}],["integrated",{"2":{"296":2}}],["integrate",{"2":{"10":1,"83":1,"278":2}}],["intended",{"2":{"379":1,"455":1,"548":2}}],["interact",{"2":{"396":1,"432":1}}],["interactive",{"2":{"12":1,"19":1,"150":1,"327":1}}],["interaction",{"0":{"277":1,"327":1},"2":{"12":5,"19":1,"22":2,"35":1,"37":1,"102":1,"118":1,"134":1,"164":1,"187":1,"198":1,"278":1}}],["interesting",{"2":{"390":1}}],["interrupt",{"2":{"390":1,"460":1,"507":1,"535":1,"550":1}}],["interruption",{"2":{"12":1,"80":1}}],["interception",{"2":{"275":1}}],["internal",{"2":{"454":1}}],["internationalization",{"2":{"11":1,"101":1,"113":1,"278":1}}],["internet",{"2":{"267":1,"357":1,"369":1,"473":1,"518":1}}],["interfaces",{"2":{"519":1}}],["interface",{"2":{"10":2,"12":5,"15":1,"32":1,"34":1,"40":1,"113":1,"263":1,"270":2,"273":1,"298":1,"299":1,"304":4,"317":1,"321":1,"381":1}}],["intelligently",{"2":{"10":1,"32":1}}],["in",{"0":{"337":1,"406":1},"2":{"4":2,"5":1,"6":3,"7":1,"10":1,"11":13,"12":9,"17":1,"18":2,"19":1,"21":1,"22":2,"27":1,"33":1,"34":1,"36":2,"39":1,"40":1,"46":1,"53":1,"54":2,"70":1,"71":1,"78":1,"86":1,"117":1,"121":1,"130":1,"146":1,"148":1,"155":1,"265":1,"266":1,"278":1,"292":1,"294":1,"295":1,"296":2,"297":1,"299":1,"304":1,"306":1,"307":1,"313":1,"315":2,"318":2,"321":2,"324":4,"327":3,"328":1,"329":1,"330":2,"331":1,"335":1,"336":1,"337":1,"340":2,"341":2,"344":2,"345":4,"347":2,"349":1,"367":1,"368":1,"370":2,"371":2,"373":1,"376":1,"379":2,"380":1,"383":1,"385":2,"386":2,"388":1,"393":3,"397":1,"398":2,"399":3,"402":1,"406":1,"410":1,"426":4,"428":1,"429":1,"435":4,"441":1,"443":1,"445":3,"446":1,"449":1,"451":3,"452":1,"453":1,"454":2,"455":2,"458":1,"460":1,"462":6,"463":3,"465":1,"468":2,"472":2,"473":1,"474":2,"477":4,"478":1,"483":2,"485":2,"486":2,"487":1,"488":2,"490":1,"494":1,"498":2,"500":1,"502":1,"503":3,"505":1,"508":1,"512":2,"514":2,"517":2,"519":4,"520":6,"521":1,"525":1,"527":1,"528":2,"531":1,"532":1,"540":2,"541":1,"548":1,"555":1}}],["utils",{"2":{"521":1}}],["utilization",{"2":{"12":1,"34":1}}],["u62",{"2":{"456":1}}],["u1",{"2":{"456":2}}],["u32",{"2":{"456":5}}],["udp",{"2":{"369":1}}],["ubuntu",{"0":{"402":1},"2":{"337":1,"402":1,"494":1,"495":1}}],["uhid",{"0":{"471":1,"489":1,"501":1},"2":{"324":1,"434":2,"469":1,"471":3,"472":1,"484":2,"486":1,"488":1,"489":2,"497":1,"501":3,"503":2,"516":2}}],["unencrypted",{"2":{"519":1}}],["unsigned",{"2":{"443":1}}],["unset",{"2":{"319":1}}],["uncompressed",{"2":{"393":1}}],["unpause",{"2":{"517":1}}],["unprocessed",{"2":{"391":3}}],["unplugged",{"2":{"367":1,"380":1}}],["unplug",{"2":{"323":1,"429":1}}],["unlock",{"2":{"517":1}}],["unlocked",{"2":{"388":1}}],["unless",{"2":{"385":1,"388":1,"396":1,"441":1,"483":1,"525":1,"548":1}}],["until",{"2":{"379":1,"436":1}}],["unrelated",{"2":{"347":1}}],["unavoidable",{"2":{"396":1}}],["unavailable",{"2":{"133":1}}],["unauthorized",{"0":{"343":1},"2":{"343":2}}],["unable",{"0":{"324":1,"329":1,"333":1,"337":1},"2":{"182":1,"329":1}}],["uninstall",{"0":{"359":1,"415":1},"2":{"359":3,"360":1,"415":1,"495":2}}],["unix",{"2":{"193":2}}],["unit",{"2":{"158":1,"457":1}}],["universal",{"2":{"12":1,"82":1}}],["underflow",{"2":{"396":1}}],["underrun",{"2":{"396":1}}],["underlying",{"2":{"327":1}}],["under",{"2":{"11":3,"12":2,"19":2,"26":1,"39":1,"52":1,"328":1,"385":3,"483":3}}],["unnecessary",{"2":{"4":2,"12":2,"48":1,"53":1,"447":1}}],["uplink",{"2":{"391":3}}],["upload",{"2":{"12":2,"14":1,"15":2,"103":1}}],["uploading",{"2":{"12":1,"57":1,"278":1}}],["upgrade",{"2":{"339":1}}],["upon",{"2":{"263":1}}],["up",{"2":{"8":1,"12":1,"53":1,"116":1,"367":1,"375":1,"436":1,"455":2,"479":1,"512":1,"517":3}}],["updated",{"2":{"387":1}}],["updater",{"2":{"170":1}}],["updates",{"2":{"11":1,"70":1,"319":1,"327":1}}],["update",{"2":{"1":1,"4":3,"5":1,"6":2,"8":3,"10":1,"11":1,"12":10,"15":1,"23":1,"25":1,"41":1,"42":1,"43":1,"50":1,"65":1,"66":1,"68":1,"75":1,"96":1,"104":1,"109":1,"121":1,"126":1,"127":1,"132":1,"139":1,"149":1,"151":1,"157":1,"160":2,"168":1,"178":1,"182":1,"183":1,"184":1,"186":1,"278":1,"495":1}}],["usual",{"2":{"429":1}}],["usually",{"2":{"295":1,"332":1,"334":1}}],["usr",{"2":{"382":1,"407":1,"414":6}}],["usb",{"0":{"292":1,"340":1},"1":{"341":1,"342":1,"343":1,"344":1,"345":1,"346":1},"2":{"292":1,"294":1,"295":1,"296":1,"323":1,"325":1,"328":3,"342":1,"343":2,"344":4,"346":2,"347":2,"349":2,"357":1,"426":2,"428":1,"429":1,"434":1,"462":1,"472":5,"473":1,"474":4,"477":1,"490":5,"502":5,"514":3,"516":2}}],["usage",{"0":{"477":1},"2":{"272":1,"357":1,"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"367":1,"368":1,"393":1,"528":1}}],["useless",{"2":{"487":1}}],["uses",{"2":{"352":1,"427":1,"446":1,"458":1,"519":1}}],["used",{"2":{"301":1,"306":1,"357":1,"419":1,"424":1,"426":1,"430":1,"441":3,"446":1,"451":1,"452":1,"455":2,"456":1,"458":1,"468":1,"484":1,"488":1,"519":1,"525":1}}],["users",{"2":{"263":2,"268":1,"356":1}}],["user",{"0":{"267":1,"478":1},"2":{"12":1,"47":1,"113":1,"263":1,"273":2,"278":1,"387":1,"409":1,"411":1,"473":1}}],["useful",{"2":{"10":1,"17":1,"380":2,"435":1,"464":1,"465":1,"519":1,"525":1,"529":1,"532":1,"535":1,"541":1,"550":1}}],["use",{"0":{"268":1,"272":1,"412":1},"2":{"7":1,"10":1,"273":1,"280":1,"297":1,"324":1,"337":1,"345":3,"363":1,"369":1,"371":1,"375":1,"385":1,"391":1,"410":1,"418":4,"419":6,"420":1,"426":1,"434":2,"435":1,"445":1,"449":1,"471":1,"472":3,"481":1,"483":1,"484":2,"489":1,"490":2,"495":1,"500":1,"501":1,"502":2,"503":2,"504":1,"517":2,"518":1,"520":1,"539":2,"541":1,"542":1,"543":1,"548":2}}],["using",{"2":{"6":1,"12":2,"40":1,"49":1,"278":1,"294":1,"321":1,"323":1,"324":1,"325":1,"331":1,"335":1,"345":1,"429":1,"434":1,"436":2,"441":1,"444":1,"447":1,"448":2,"469":2,"471":1,"472":1,"473":1,"474":1,"477":1,"484":2,"486":2,"489":2,"490":1,"497":2,"501":1,"502":1,"503":1,"514":2,"517":2,"521":1,"530":2}}],["ui",{"2":{"5":1,"8":1,"12":1,"24":1,"379":1,"450":1,"541":2}}],["bhsn",{"2":{"503":2}}],["b",{"2":{"503":1,"526":1}}],["bsky",{"2":{"481":1}}],["broken",{"2":{"541":1}}],["break",{"2":{"435":1,"486":1}}],["brew",{"2":{"375":1,"407":3}}],["brace",{"0":{"423":1},"2":{"423":1}}],["branch",{"2":{"398":2,"412":1,"495":1}}],["branches",{"0":{"398":1},"2":{"398":1}}],["briefly",{"2":{"388":1}}],["brings",{"2":{"273":1}}],["bluesky",{"2":{"481":1}}],["blog",{"2":{"441":1,"448":1}}],["blockers",{"2":{"369":1}}],["block",{"2":{"329":1,"353":1}}],["blocking",{"2":{"12":1,"49":1}}],["black",{"0":{"338":1},"2":{"338":2,"517":2}}],["blank",{"2":{"314":1}}],["borders",{"2":{"517":2}}],["borderless",{"0":{"553":1},"2":{"283":1,"553":1}}],["boundaries",{"2":{"452":1}}],["boundary",{"2":{"12":1,"34":1,"311":1}}],["both",{"2":{"361":1,"391":1,"396":1,"441":2,"446":1,"447":1,"452":1,"457":1,"473":1,"507":1,"525":1,"535":1}}],["bottom",{"2":{"317":1}}],["box",{"2":{"341":1,"388":1}}],["bits",{"2":{"406":1,"456":1}}],["bit",{"0":{"395":1,"526":1},"2":{"393":1,"395":3,"455":1,"526":3,"546":2}}],["bitrate",{"2":{"281":1,"284":1}}],["bind=++bh",{"2":{"503":1}}],["bind=++++",{"2":{"503":1}}],["bind=bhsn",{"2":{"503":3}}],["bind=xxxx",{"2":{"503":2}}],["bindings",{"0":{"503":1},"2":{"503":4}}],["binding",{"2":{"125":1,"286":1}}],["bin",{"2":{"406":1,"407":1,"414":1}}],["binary",{"2":{"296":1,"345":2,"371":2,"410":1,"441":1,"457":1,"495":1}}],["binaries",{"2":{"10":1,"83":1}}],["b6986d1",{"2":{"246":1}}],["b864fab",{"2":{"186":1}}],["b8d77e3",{"2":{"126":1}}],["b7eb1dd",{"2":{"172":1}}],["b759502",{"2":{"168":1}}],["b73c179",{"2":{"4":1}}],["bps",{"2":{"158":1}}],["bfdad9e",{"2":{"171":1}}],["bf2d2b4",{"2":{"149":1}}],["bf06382",{"2":{"12":1,"75":1}}],["b920e0ea01936bf2482f4ba2fa985c22c13c621999e3d33b45baa5acfc1ea3d0",{"2":{"412":1}}],["b989140",{"2":{"128":1}}],["b9faabf",{"2":{"12":1,"40":1}}],["bbf2335",{"2":{"12":1,"43":1}}],["bb56d5b",{"2":{"12":1,"22":1}}],["bc4f492",{"2":{"12":1,"19":1}}],["b40bdcf",{"2":{"174":1}}],["b413889",{"2":{"12":1,"57":1}}],["b4e5780",{"2":{"8":1}}],["b4e8058",{"2":{"6":1}}],["b18256b",{"2":{"198":1}}],["b1a6ba7",{"2":{"12":1,"80":1}}],["b168cc3",{"2":{"12":1,"19":1}}],["b5bffc5",{"2":{"11":1,"99":1}}],["b2bb0ae",{"2":{"11":1,"84":1}}],["b0f42aa",{"2":{"11":1,"99":1}}],["b08021b",{"2":{"10":1}}],["best",{"2":{"464":1,"489":1}}],["behaves",{"2":{"486":1,"514":1}}],["behave",{"2":{"435":1}}],["behavior",{"2":{"11":1,"12":3,"27":1,"34":1,"39":1,"47":1,"426":1,"435":2,"462":1,"467":1,"485":1,"486":1}}],["benefit",{"2":{"371":1,"423":1,"443":1,"516":1}}],["benefits",{"2":{"327":1,"473":1}}],["below",{"2":{"357":1,"426":1,"445":1,"485":1}}],["because",{"2":{"334":1,"532":1}}],["become",{"2":{"314":1}}],["before",{"2":{"325":1,"428":1,"441":1,"443":1,"468":1,"530":1,"532":1}}],["be89b36",{"2":{"12":1,"47":1}}],["be5e639",{"2":{"12":1,"89":1}}],["being",{"2":{"11":2,"42":1,"54":1,"329":1,"332":1,"468":1}}],["between",{"0":{"345":1},"2":{"11":2,"18":1,"52":1,"324":1,"445":1,"454":1,"519":1,"530":1}}],["better",{"2":{"8":1,"477":1,"528":1}}],["be",{"0":{"291":1},"2":{"11":8,"12":4,"18":1,"26":1,"27":3,"29":1,"36":1,"39":1,"46":1,"47":1,"54":1,"79":1,"128":1,"182":1,"302":1,"307":2,"310":1,"311":2,"313":1,"314":1,"315":1,"323":1,"324":1,"336":1,"342":1,"347":1,"352":2,"358":1,"359":1,"364":1,"379":1,"380":1,"387":1,"388":1,"390":1,"391":1,"393":1,"394":2,"396":4,"398":1,"410":1,"411":2,"416":1,"418":1,"419":3,"423":1,"424":1,"426":1,"427":1,"430":1,"439":1,"441":2,"443":2,"444":1,"445":1,"447":1,"449":1,"452":4,"454":3,"455":2,"458":1,"462":1,"464":2,"465":1,"468":4,"485":1,"488":1,"489":1,"498":1,"499":1,"503":5,"506":1,"514":1,"517":2,"519":1,"521":3,"525":2,"527":3,"528":1,"529":2,"530":4,"532":1,"533":2,"534":2,"540":1,"541":2,"547":1,"548":2,"550":1,"551":1,"552":1,"555":2}}],["been",{"2":{"10":2,"17":2,"337":1,"346":1,"458":1,"486":1}}],["bdb3644",{"2":{"10":1,"25":1}}],["b32043c",{"2":{"9":1}}],["b3203af",{"2":{"8":1}}],["bytes",{"2":{"456":2}}],["byte",{"2":{"455":1,"456":9,"458":3}}],["bypass",{"2":{"429":1}}],["by",{"2":{"6":1,"11":1,"12":2,"34":1,"45":1,"68":1,"278":1,"307":1,"321":1,"330":1,"331":1,"335":1,"342":1,"345":1,"352":1,"379":2,"385":1,"388":2,"390":1,"391":1,"394":1,"396":1,"406":1,"416":1,"418":1,"419":2,"421":1,"422":1,"426":3,"429":1,"430":1,"434":1,"436":1,"441":5,"443":1,"444":1,"445":4,"447":3,"449":3,"450":1,"452":1,"453":1,"455":2,"456":2,"460":1,"464":1,"465":1,"467":1,"468":4,"472":1,"477":2,"483":1,"484":1,"486":1,"487":1,"488":2,"490":1,"499":1,"500":1,"502":1,"503":5,"514":2,"517":3,"519":1,"521":1,"522":1,"524":1,"525":1,"529":1,"530":2,"531":1,"533":1,"534":1,"540":1,"541":1,"542":1,"543":1,"551":1,"556":1}}],["bat",{"2":{"548":5}}],["batch",{"0":{"275":1},"2":{"10":1,"14":1,"51":1,"118":1,"120":1,"122":1,"123":1,"124":1,"172":1,"270":1,"271":1,"275":6,"278":3}}],["backward",{"2":{"445":1}}],["back",{"2":{"277":1,"367":1,"380":2,"418":1,"464":1,"476":1,"500":1,"503":3,"517":2}}],["background",{"2":{"6":1,"8":1,"12":1,"19":1}}],["ba51fe3",{"2":{"143":1}}],["ba551b7",{"2":{"5":1}}],["basis",{"2":{"385":1,"464":1,"483":1}}],["basically",{"2":{"445":1}}],["basic",{"2":{"112":1}}],["bashchoco",{"2":{"547":1}}],["bashwinget",{"2":{"547":1}}],["bashffplay",{"2":{"521":1}}],["bashautoadb",{"2":{"430":1}}],["bashadb",{"2":{"429":1,"445":1,"458":1,"460":3,"519":1,"520":1}}],["bashmeson",{"2":{"411":1,"412":1,"460":1}}],["bashgit",{"2":{"409":1,"495":2}}],["bashgnirehtet",{"2":{"358":2,"359":2,"360":2,"361":4,"362":4,"363":5,"364":4,"365":2,"366":5,"367":3,"368":2}}],["bashbrew",{"2":{"407":1,"512":2}}],["bashscoop",{"2":{"547":1}}],["bashscrcpy",{"2":{"344":2,"390":1,"392":1,"393":2,"394":2,"395":1,"396":1,"416":1,"418":2,"419":2,"423":2,"426":4,"428":3,"432":1,"434":4,"439":1,"462":1,"463":1,"464":2,"465":1,"466":1,"467":1,"468":1,"471":1,"472":1,"477":6,"486":2,"487":1,"489":1,"490":1,"496":2,"501":1,"502":1,"503":2,"504":3,"507":2,"508":1,"513":2,"514":3,"516":1,"521":1,"522":1,"525":1,"526":1,"527":1,"528":1,"529":2,"530":3,"532":1,"533":2,"534":2,"535":1,"539":1,"540":2,"543":1,"548":2,"550":1,"551":1,"552":1,"553":1,"554":1,"555":1,"556":1}}],["bashsudo",{"2":{"402":1,"405":2,"414":1,"415":1,"495":1,"512":1,"521":2}}],["bashexport",{"2":{"352":1,"406":1}}],["bash",{"2":{"345":2,"383":1,"390":1,"396":1,"402":1,"403":1,"405":1,"406":2,"407":1,"411":1,"413":1,"414":2,"416":1,"423":1,"426":2,"445":1,"455":1,"462":1,"463":1,"465":1,"495":1,"507":1,"517":1,"519":2,"520":6,"521":1,"535":1}}],["base",{"2":{"160":1,"398":1}}],["based",{"0":{"262":1},"1":{"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"269":1,"270":1,"271":1,"272":1,"273":1},"2":{"12":1,"72":1,"263":1,"327":1,"372":1,"373":1,"505":1}}],["bartender",{"2":{"331":1}}],["bar",{"0":{"277":1,"327":1},"2":{"10":2,"11":6,"12":7,"18":2,"19":1,"21":1,"38":1,"39":1,"40":1,"50":1,"52":1,"53":1,"84":1,"96":2,"97":1,"98":1,"110":2,"114":1,"164":1,"278":2,"280":1,"297":1,"327":1,"379":1}}],["but",{"0":{"328":1},"2":{"311":1,"328":1,"340":1,"344":1,"350":1,"369":1,"396":1,"416":1,"417":2,"419":1,"435":2,"441":1,"443":1,"447":1,"452":1,"455":1,"463":1,"468":1,"472":1,"484":1,"485":1,"486":3,"490":1,"502":1,"505":1,"507":1,"521":1,"528":1,"530":1,"535":2,"548":1}}],["buttons",{"2":{"503":1,"517":1}}],["button",{"2":{"11":1,"12":2,"26":1,"85":1,"98":1,"114":1,"304":2,"306":1,"307":1,"309":1,"310":1,"313":1,"314":1,"315":1,"317":2,"321":1,"330":1,"436":2,"464":2}}],["buy",{"2":{"261":1}}],["bulk",{"2":{"172":1}}],["buffer=50",{"2":{"534":2}}],["buffer=300",{"2":{"522":1,"534":2}}],["buffer=delay",{"2":{"441":1}}],["buffer=10",{"2":{"396":1}}],["buffer=100",{"2":{"396":1}}],["buffer=40",{"2":{"396":1}}],["buffer=200",{"2":{"390":1,"396":2,"534":1}}],["buffering",{"0":{"396":1,"522":1,"534":1},"2":{"390":1,"396":3,"441":2,"521":1,"522":3,"534":5}}],["buffer",{"2":{"11":3,"79":1,"84":2,"186":1,"281":2,"284":2,"396":5}}],["built",{"2":{"7":1,"11":2,"12":2,"22":2,"70":1,"71":1,"148":1,"263":1,"266":1,"278":1,"297":2,"387":1,"405":1,"443":1}}],["buildtype=release",{"2":{"411":1,"412":1}}],["building",{"2":{"12":1,"82":1}}],["builds",{"2":{"5":1,"493":1,"511":1}}],["builder",{"2":{"4":1,"237":1}}],["build",{"0":{"397":1,"410":1,"411":1},"1":{"398":1,"399":1,"400":1,"401":1,"402":1,"403":1,"404":1,"405":1,"406":1,"407":1,"408":1,"409":1,"410":1,"411":2,"412":2,"413":1,"414":1,"415":1},"2":{"1":1,"3":1,"11":4,"12":1,"45":1,"56":1,"68":1,"81":1,"84":1,"119":1,"133":1,"159":1,"181":1,"235":1,"369":1,"397":2,"402":3,"403":2,"405":1,"406":4,"407":2,"410":1,"411":1,"414":1,"443":1,"479":1,"493":1,"495":3,"511":1,"512":2,"547":2}}],["bug",{"0":{"3":1,"6":1,"9":1,"11":1,"18":1,"21":1,"26":1,"29":1,"33":1,"36":1,"39":1,"42":1,"45":1,"46":1,"52":1,"54":1,"56":1,"58":1,"64":1,"67":1,"70":1,"71":1,"73":1,"74":1,"78":1,"79":1,"81":1,"84":1,"88":1,"90":1,"95":1,"99":1,"101":1,"107":1,"111":1,"113":1,"116":1,"117":1,"119":1,"121":1,"123":1,"126":1,"128":1,"129":1,"130":1,"133":1,"135":1,"137":1,"138":1,"141":1,"142":1,"148":1,"152":1,"156":1,"158":1,"159":1,"166":1,"171":1,"173":1,"177":1,"179":1,"180":1,"181":1,"182":1,"185":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"197":1,"199":1,"200":1,"202":1,"206":1,"207":1,"209":1,"210":1,"212":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"225":1,"227":1,"232":1,"235":1,"236":1,"237":1,"238":1,"239":1,"242":1,"243":1,"245":1,"247":1,"249":1,"250":1,"251":1,"252":1,"257":1,"260":1},"2":{"11":1,"95":1,"107":1,"340":1,"344":1,"459":1,"481":2}}],["1e252341",{"2":{"436":1}}],["1eef9d2",{"2":{"109":1}}],["17",{"2":{"402":1,"405":1,"407":2}}],["13",{"2":{"392":2}}],["1341fb8",{"2":{"230":1}}],["1349b2a",{"2":{"153":1}}],["1+",{"2":{"296":1}}],["1224x1440",{"2":{"532":1}}],["12+",{"2":{"473":1}}],["1234",{"2":{"458":3}}],["1234567890abcdef",{"2":{"358":1,"359":1,"360":1,"363":1,"365":1,"366":1,"367":1}}],["128kbps",{"2":{"395":1}}],["12",{"2":{"388":1,"416":1,"456":2,"458":1}}],["120",{"2":{"265":1}}],["1279994",{"2":{"193":1}}],["15",{"2":{"464":1}}],["151cb29",{"2":{"189":1}}],["1505518",{"2":{"175":1}}],["1d7b188",{"2":{"188":1}}],["1d603ab",{"2":{"12":1,"72":1}}],["1af9abd",{"2":{"182":1}}],["1a95325",{"2":{"11":1,"58":1}}],["168",{"2":{"344":1,"361":1,"362":1,"363":1,"364":1,"366":1,"426":3,"428":4,"519":7}}],["16",{"0":{"258":1},"1":{"259":1,"260":1},"2":{"154":1,"161":1,"393":1,"402":1,"419":1}}],["16f9535",{"2":{"114":1}}],["1cac054",{"2":{"150":1}}],["1ca0469",{"2":{"136":1}}],["1920x1080",{"2":{"477":1}}],["1920",{"2":{"419":2,"477":1}}],["1920×1080",{"2":{"265":1,"473":1,"525":1}}],["192",{"2":{"344":1,"361":1,"362":1,"363":1,"364":1,"366":1,"428":1,"519":4}}],["193f80a",{"2":{"150":1}}],["194689e",{"2":{"11":1,"21":1}}],["1f27597",{"2":{"135":1}}],["1b96ffc",{"2":{"253":1}}],["1b2236c",{"2":{"194":1}}],["1b3f49e",{"2":{"175":1}}],["1be470a",{"2":{"12":1,"34":1}}],["1b82336",{"2":{"12":1,"34":1}}],["180",{"2":{"530":1}}],["180°",{"2":{"530":6}}],["18d490f",{"2":{"205":1}}],["18dcd24",{"2":{"12":1,"93":1}}],["1813718",{"2":{"12":1}}],["18a57b9",{"2":{"11":1,"18":1}}],["1024×576",{"2":{"525":1}}],["1024",{"2":{"525":2}}],["10",{"2":{"333":1,"388":1,"419":3,"533":1}}],["10d0370",{"2":{"12":1,"93":1}}],["10b902a",{"2":{"11":1,"64":1}}],["1082e0d",{"2":{"11":1,"74":1}}],["11",{"2":{"388":2,"429":1,"460":2}}],["11+",{"2":{"334":1,"473":1,"474":1}}],["11e0884",{"2":{"144":1}}],["119b518",{"2":{"11":1,"26":1}}],["11be6f1",{"2":{"10":1,"17":1}}],["1440",{"2":{"532":1}}],["14306b2",{"2":{"10":1,"63":1}}],["14a81de",{"2":{"10":1,"76":1}}],["1",{"0":{"258":1,"369":1,"411":1},"1":{"259":1,"260":1,"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1,"378":1,"379":1,"380":1,"381":1,"382":1,"383":1,"384":1,"385":1,"386":1},"2":{"4":4,"12":2,"13":2,"41":1,"66":1,"91":2,"109":1,"154":1,"157":1,"161":1,"265":1,"294":1,"295":1,"296":1,"311":2,"321":1,"344":2,"361":1,"362":1,"363":1,"364":1,"366":1,"373":1,"377":3,"378":1,"402":2,"407":1,"414":1,"419":1,"426":6,"428":8,"441":1,"445":3,"454":1,"456":1,"458":2,"465":1,"495":2,"517":2,"519":7}}],["2m",{"2":{"526":1}}],["265",{"2":{"477":2}}],["264",{"2":{"441":1,"458":1}}],["26c4a920",{"2":{"436":1}}],["269bd29",{"2":{"11":1,"46":1}}],["283",{"2":{"346":1}}],["281",{"2":{"346":1}}],["270",{"2":{"530":1}}],["270°",{"2":{"530":6}}],["27183",{"2":{"445":1,"455":2,"519":1,"520":6}}],["27",{"2":{"296":1}}],["2776e8a",{"2":{"8":1}}],["240",{"2":{"539":2}}],["2464",{"2":{"534":1}}],["24fps",{"2":{"527":1}}],["24",{"2":{"337":1,"361":1,"362":1,"363":1,"364":1,"366":1,"527":1}}],["24c011f",{"2":{"252":1}}],["24e9399",{"2":{"203":1}}],["21",{"2":{"372":1,"474":1}}],["218de1c",{"2":{"243":1}}],["217d82d",{"2":{"202":1}}],["23d68d4",{"2":{"225":1}}],["2352593",{"2":{"218":1}}],["2c97189",{"2":{"196":1}}],["2c53b77",{"2":{"11":1,"29":1}}],["29ae786",{"2":{"202":1}}],["296e21d",{"2":{"169":1}}],["29e5e1b",{"2":{"12":1,"85":1}}],["200ms",{"2":{"534":1}}],["2025",{"2":{"483":1}}],["2023",{"0":{"258":1},"1":{"259":1,"260":1}}],["2018",{"2":{"483":2}}],["2017",{"2":{"385":1}}],["2013413",{"2":{"120":1}}],["20d37c1",{"2":{"166":1}}],["206a030",{"2":{"12":1,"53":1}}],["256x256",{"2":{"414":1}}],["256",{"2":{"377":3,"378":1,"412":1,"493":1,"511":2,"546":2}}],["2559",{"2":{"352":1}}],["2554",{"2":{"352":1}}],["25c42d9",{"2":{"121":1}}],["25",{"2":{"13":1,"91":1}}],["2f2e1cf",{"2":{"134":1}}],["2f389af",{"2":{"118":1}}],["2ffc588",{"2":{"12":1,"22":1}}],["2f63f6f",{"2":{"11":1,"18":1}}],["2e27443",{"2":{"12":1,"44":1}}],["2b7ee79",{"2":{"11":1,"58":1}}],["22cc5a3",{"2":{"127":1}}],["222f626",{"2":{"111":1}}],["22eb718",{"2":{"12":1,"37":1}}],["22e331d",{"2":{"4":1}}],["22623c4",{"2":{"5":1}}],["2",{"0":{"412":1,"473":1},"1":{"474":1,"475":1,"476":1,"477":1,"478":1,"479":1,"480":1,"481":1,"482":1,"483":1},"2":{"4":5,"10":2,"12":3,"13":1,"25":1,"50":1,"68":1,"96":1,"109":1,"184":1,"294":1,"295":1,"321":1,"324":1,"344":1,"377":1,"385":2,"386":1,"402":1,"412":1,"441":1,"445":3,"456":1,"458":1,"480":1,"483":2,"493":1,"495":1,"511":2,"517":2,"519":7,"546":2}}],["f",{"2":{"555":1}}],["ffms2",{"2":{"403":1}}],["ffmpeg",{"2":{"399":1,"402":1,"406":2,"407":1,"450":1,"495":1}}],["ff9f9bd",{"2":{"11":1,"33":1}}],["fusion",{"2":{"403":1}}],["fullscreen",{"0":{"555":1},"2":{"283":1,"299":1,"304":1,"476":1,"517":1,"527":1,"555":3}}],["future",{"0":{"271":1},"2":{"271":1,"327":1,"379":1,"455":1}}],["functional",{"0":{"266":1}}],["functionality",{"2":{"5":1,"266":1,"327":1}}],["functions",{"2":{"11":1,"12":1,"34":1,"36":1,"186":1,"414":1}}],["function",{"2":{"10":2,"12":9,"14":1,"15":2,"27":1,"30":1,"34":1,"37":1,"38":1,"59":1,"61":1,"76":1,"96":1,"112":1,"120":2,"124":1,"132":1,"174":1,"176":1,"196":1,"297":1}}],["fps=15",{"2":{"527":1}}],["fps=120",{"2":{"423":2}}],["fps=240",{"2":{"422":1}}],["fps=60",{"2":{"421":1,"477":2}}],["fps",{"2":{"265":1,"421":1,"517":1,"527":1}}],["fbd1885",{"2":{"232":1}}],["fbf88d0",{"2":{"11":1,"21":1}}],["f768566",{"2":{"214":1}}],["f4dfb2c",{"2":{"183":1}}],["f41d853",{"2":{"10":1,"17":1}}],["f9a32d6",{"2":{"198":1}}],["f9c6c32",{"2":{"182":1}}],["f9e4a0e",{"2":{"150":1}}],["f0f25a7",{"2":{"164":1}}],["front",{"2":{"418":1,"477":1}}],["from",{"0":{"405":1,"411":1,"493":1,"494":1,"495":1,"511":1,"512":1,"546":1,"547":1},"2":{"4":1,"278":1,"294":1,"295":2,"297":1,"304":1,"307":1,"315":1,"329":1,"332":1,"341":1,"359":1,"364":1,"379":1,"399":1,"401":1,"402":1,"405":1,"406":3,"407":2,"423":1,"436":1,"441":4,"443":1,"444":1,"445":1,"446":3,"449":1,"453":1,"454":1,"455":1,"457":2,"462":1,"464":1,"474":1,"477":1,"488":4,"495":1,"496":1,"500":1,"512":1,"513":1,"517":1,"519":1,"520":2,"530":1,"547":3,"548":2,"556":1}}],["frequent",{"2":{"396":1}}],["frequently",{"2":{"122":1}}],["french",{"2":{"386":2}}],["freedom",{"2":{"473":1}}],["free",{"2":{"267":1,"272":1,"273":1,"403":4,"473":1}}],["framework",{"2":{"443":1,"444":1}}],["frames",{"2":{"441":2,"447":2,"452":3,"527":1}}],["frame",{"0":{"421":1,"527":1},"2":{"265":1,"287":1,"417":2,"421":2,"422":1,"447":3,"456":5,"458":1,"477":1,"527":4,"541":1}}],["friendly",{"2":{"263":1,"273":1}}],["f6d1f3c5f74d4d46f5080baa5b56b69f5edbf698d47e0cf4e2a1fd5058f9507b",{"2":{"511":1}}],["f61d820",{"2":{"14":1}}],["f60245b",{"2":{"13":1,"91":1}}],["f6c9fa4",{"2":{"12":1,"44":1}}],["facing",{"2":{"418":1}}],["facing=external",{"2":{"418":1}}],["facing=back",{"2":{"418":1,"423":2}}],["facing=front",{"2":{"418":2,"477":1}}],["fake",{"2":{"388":1}}],["fallbacks",{"2":{"344":1}}],["fallback",{"2":{"344":1,"455":1}}],["faq",{"2":{"295":1,"479":1,"481":1,"515":1}}],["fast",{"2":{"265":1,"447":1}}],["far",{"2":{"12":1,"89":1}}],["fail",{"2":{"388":2,"441":1,"455":2}}],["fails",{"2":{"12":1,"85":1,"295":1,"340":1,"388":1,"445":1,"525":1}}],["failures",{"2":{"133":1}}],["failure",{"0":{"334":1},"2":{"11":4,"12":1,"21":2,"45":1,"58":1,"72":1,"179":1,"180":1}}],["failed",{"0":{"330":1},"2":{"6":1,"11":2,"21":1,"70":1,"138":1,"344":1,"393":1}}],["fcf8269",{"2":{"134":1}}],["fcfd78e",{"2":{"10":1,"51":1}}],["fc91f07",{"2":{"12":1,"50":1}}],["fd20736",{"2":{"241":1}}],["fd2e639",{"2":{"12":1,"57":1}}],["fdf40c7",{"2":{"167":1}}],["fd32c36",{"2":{"6":1}}],["flipping",{"2":{"530":1}}],["flip270",{"2":{"530":1}}],["flip180",{"2":{"530":1}}],["flip90",{"2":{"530":1}}],["flip0",{"2":{"530":1}}],["flip",{"2":{"517":2}}],["flickering",{"2":{"11":1,"39":1}}],["flags",{"2":{"456":1}}],["flag",{"2":{"447":1,"456":2}}],["flac",{"2":{"393":2,"504":2,"505":2}}],["flavor",{"2":{"376":1}}],["flavors",{"0":{"370":1},"1":{"371":1}}],["flexible",{"2":{"278":1}}],["flow",{"2":{"12":1,"27":1}}],["floating",{"0":{"327":1},"2":{"10":1,"11":3,"12":4,"39":1,"52":1,"53":1,"84":1,"96":2,"97":1,"98":1,"278":1,"280":1}}],["fedora",{"0":{"403":1},"2":{"352":1,"403":2,"494":1}}],["feature",{"0":{"298":1,"299":1},"1":{"299":1,"300":1,"301":1,"302":1,"303":1,"304":1,"305":1,"306":1,"307":1,"308":1,"309":1,"310":1,"311":1,"312":1,"313":1,"314":1,"315":1,"316":1,"317":1,"318":1,"319":1,"320":1,"321":1},"2":{"263":1,"278":1,"297":1,"299":1,"321":1,"327":1,"334":1,"424":1,"441":1,"448":1,"465":2,"468":1,"481":1}}],["features",{"0":{"5":1,"10":1,"17":1,"20":1,"25":1,"32":1,"38":1,"51":1,"63":1,"76":1,"83":1,"92":1,"97":1,"105":1,"112":1,"120":1,"124":1,"132":1,"140":1,"151":1,"162":1,"167":1,"176":1,"184":1,"196":1,"201":1,"205":1,"224":1,"229":1,"241":1,"246":1,"248":1,"253":1,"254":1,"255":1,"259":1,"264":1,"266":1},"1":{"265":1,"266":1,"267":1},"2":{"10":1,"17":1,"270":1,"273":1,"298":1,"473":1,"478":1}}],["feedback",{"2":{"12":1,"53":1,"309":1,"317":1,"329":1,"330":1,"438":1,"439":1}}],["fee",{"2":{"9":1}}],["fossify",{"2":{"540":2}}],["focuses",{"2":{"473":1}}],["found",{"0":{"331":1,"341":1},"2":{"429":1,"445":1}}],["folding",{"2":{"447":1}}],["folder",{"2":{"329":2}}],["follows",{"2":{"324":1,"337":1}}],["followed",{"2":{"307":1,"445":1}}],["follow",{"2":{"294":1,"295":1,"296":1,"397":1,"399":1,"495":1}}],["following",{"2":{"268":1,"279":1,"329":1,"330":1,"331":1,"332":1,"373":1,"379":1,"387":1,"393":1,"399":1,"445":1,"474":1,"478":1,"488":1,"503":1,"517":1}}],["font",{"2":{"8":1}}],["form",{"2":{"445":1,"460":1}}],["format=mkv",{"2":{"505":1}}],["formats",{"2":{"505":1}}],["format",{"0":{"505":1},"2":{"1":1,"171":1,"285":1,"318":1,"454":1}}],["forbidden",{"2":{"418":1,"419":1}}],["forced",{"2":{"468":1}}],["force",{"2":{"416":2,"428":1,"441":1,"455":1,"464":1,"486":1,"519":1,"520":4,"539":1}}],["foreground",{"2":{"388":1}}],["forward=true",{"2":{"458":1}}],["forwards",{"2":{"391":1}}],["forwarded",{"2":{"391":1,"435":1,"499":1,"503":2,"517":1,"536":1}}],["forward",{"2":{"327":1,"344":1,"441":1,"445":2,"455":5,"458":2,"460":2,"503":3,"519":1,"520":4}}],["forwarding",{"2":{"11":1,"64":1,"281":1,"284":1,"334":1,"388":1,"473":1,"474":1,"487":1,"520":1,"536":1}}],["for",{"0":{"440":1},"1":{"441":1,"442":1,"443":1,"444":1,"445":1,"446":1,"447":1,"448":1,"449":1,"450":1,"451":1,"452":1,"453":1,"454":1,"455":1,"456":1,"457":1,"458":1,"459":1,"460":1},"2":{"5":3,"6":1,"8":4,"10":2,"11":1,"12":10,"15":1,"27":1,"34":2,"53":1,"57":1,"68":1,"71":1,"80":1,"82":1,"83":2,"93":1,"122":1,"130":1,"268":2,"273":1,"292":1,"296":3,"298":1,"301":1,"306":1,"321":1,"324":1,"327":2,"328":1,"330":2,"335":1,"337":1,"342":1,"356":1,"361":1,"362":1,"364":1,"369":1,"372":1,"373":1,"379":3,"380":2,"385":1,"386":2,"387":1,"388":4,"391":6,"392":1,"393":2,"396":2,"406":1,"411":1,"416":1,"419":2,"423":1,"428":1,"435":2,"436":1,"441":6,"443":1,"445":1,"450":1,"451":1,"454":1,"455":4,"456":1,"457":1,"458":5,"459":1,"460":2,"462":1,"464":2,"465":1,"468":1,"470":1,"472":1,"474":1,"481":2,"483":1,"484":1,"485":1,"486":1,"488":1,"489":2,"493":1,"495":4,"496":1,"498":1,"503":7,"504":1,"511":1,"512":1,"513":1,"517":4,"519":1,"521":1,"522":2,"525":1,"527":1,"528":1,"530":2,"532":5,"534":5,"540":2,"541":1,"548":3,"550":2}}],["f2bd345",{"2":{"8":1}}],["f211924",{"2":{"8":1}}],["f52d3a5",{"2":{"5":1}}],["firefox",{"2":{"468":4}}],["firstly",{"2":{"455":1}}],["first",{"2":{"265":1,"325":1,"339":1,"379":1,"418":4,"441":1,"445":1,"455":3,"456":1,"458":1,"460":1,"473":1,"481":1,"495":1,"503":1,"520":1,"530":1,"532":1}}],["fields",{"2":{"455":1}}],["finally",{"2":{"517":1}}],["fingers",{"2":{"517":2}}],["finger",{"2":{"436":1,"465":1}}],["find",{"2":{"304":1,"329":2,"342":1,"345":1,"347":1,"428":1,"459":1,"460":1,"481":1}}],["findinpage",{"2":{"134":1}}],["fi",{"2":{"429":1}}],["fill",{"2":{"460":1}}],["filtering",{"2":{"278":1}}],["filter",{"2":{"11":1,"54":1}}],["filename",{"2":{"505":2}}],["file",{"0":{"332":1,"437":1,"439":1},"1":{"438":1,"439":1},"2":{"10":4,"11":4,"12":6,"15":1,"16":1,"17":4,"18":2,"19":1,"21":1,"42":1,"44":1,"57":1,"87":1,"102":1,"103":1,"105":2,"171":1,"172":1,"174":1,"175":1,"275":1,"277":1,"278":4,"280":1,"321":1,"335":1,"385":1,"438":1,"439":2,"443":1,"452":1,"477":1,"483":1,"496":1,"504":2,"513":1,"517":3,"530":2,"548":4}}],["files",{"2":{"5":1,"6":1,"10":1,"11":1,"25":1,"26":1,"296":1,"317":1,"335":1,"373":1,"399":1,"414":1,"432":1,"548":1}}],["fixing",{"2":{"332":1}}],["fixed",{"2":{"6":1,"11":18,"12":1,"18":3,"21":1,"26":2,"33":2,"36":2,"39":3,"46":1,"49":1,"54":1,"67":1,"70":1,"99":1,"111":1,"369":1}}],["fixes",{"0":{"3":1,"6":1,"9":1,"11":1,"18":1,"21":1,"26":1,"29":1,"33":1,"36":1,"39":1,"42":1,"45":1,"46":1,"52":1,"54":1,"56":1,"58":1,"64":1,"67":1,"70":1,"71":1,"73":1,"74":1,"78":1,"79":1,"81":1,"84":1,"88":1,"90":1,"95":1,"99":1,"101":1,"107":1,"111":1,"113":1,"116":1,"117":1,"119":1,"121":1,"123":1,"126":1,"128":1,"129":1,"130":1,"133":1,"135":1,"137":1,"138":1,"141":1,"142":1,"148":1,"152":1,"156":1,"158":1,"159":1,"166":1,"171":1,"173":1,"177":1,"179":1,"180":1,"181":1,"182":1,"185":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"197":1,"199":1,"200":1,"202":1,"206":1,"207":1,"209":1,"210":1,"212":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"225":1,"227":1,"232":1,"235":1,"236":1,"237":1,"238":1,"239":1,"242":1,"243":1,"245":1,"247":1,"249":1,"250":1,"251":1,"252":1,"257":1,"260":1}}],["fix",{"2":{"3":1,"6":1,"9":1,"11":12,"12":1,"21":3,"33":1,"39":1,"45":1,"47":1,"58":1,"70":1,"71":1,"79":1,"81":1,"95":1,"116":1,"117":1,"119":1,"122":1,"123":1,"126":1,"182":1,"235":1,"280":1}}],["aarch64",{"2":{"511":2}}],["aac",{"2":{"393":1,"456":1,"504":2,"505":1}}],["aidl",{"2":{"444":1}}],["aoav2",{"2":{"469":1,"472":1,"484":1,"490":1,"497":1,"502":1}}],["aoa",{"0":{"472":1,"490":1,"502":1},"2":{"434":1,"472":1,"488":1,"490":1,"502":1,"503":2,"514":1,"516":1}}],["awesome",{"2":{"459":1}}],["awk",{"2":{"429":1}}],["aware",{"2":{"441":1}}],["awake",{"0":{"462":1},"2":{"282":1,"462":2,"464":1,"548":1}}],["away",{"2":{"12":1,"89":1}}],["agreed",{"2":{"385":1,"483":1}}],["against",{"2":{"443":1,"444":1}}],["again",{"2":{"321":1,"323":1,"326":1,"330":1,"525":1}}],["among",{"2":{"419":2,"525":1}}],["amount",{"2":{"6":1}}],["am",{"2":{"381":2,"488":1}}],["amp",{"0":{"296":2},"2":{"324":1,"329":2,"432":1,"438":1,"439":1,"494":2,"517":2}}],["alongside",{"2":{"547":1}}],["along",{"2":{"357":1}}],["alt",{"2":{"500":1,"517":1}}],["alt+f",{"2":{"476":1}}],["alternative",{"2":{"371":1,"392":1,"514":1}}],["alternatively",{"2":{"325":1,"373":1,"379":1,"418":1,"419":1,"429":1,"512":1}}],["although",{"2":{"327":1,"444":1,"458":2}}],["already",{"2":{"307":1,"321":1,"418":1,"419":1,"426":1,"428":1,"460":1,"472":1,"490":1,"502":1}}],["always",{"0":{"554":1},"2":{"283":1,"454":1,"464":1,"486":1,"504":1,"548":1,"554":2}}],["also",{"2":{"273":1,"328":1,"350":1,"392":1,"396":1,"399":1,"405":1,"416":1,"419":1,"422":1,"426":2,"434":1,"435":1,"452":1,"464":1,"468":1,"481":1,"488":1,"504":1,"505":1,"507":2,"508":1,"512":1,"516":1,"519":1,"527":1,"533":1,"535":1,"548":1}}],["allsettledwrapper",{"2":{"115":1}}],["all",{"0":{"314":1},"2":{"11":1,"36":1,"270":1,"301":1,"306":1,"313":1,"314":2,"317":1,"350":1,"362":1,"378":1,"379":1,"416":1,"417":1,"423":1,"436":1,"441":2,"458":1,"484":1,"488":1,"489":1,"503":2,"514":1,"517":1,"519":2,"541":1}}],["allowing",{"2":{"357":1}}],["allowed",{"2":{"311":1,"530":1}}],["allows",{"2":{"273":1,"299":1,"329":1,"350":1,"369":1,"428":1,"429":1,"430":1,"445":1,"455":1,"473":1,"514":1}}],["allow",{"2":{"6":1,"292":1,"328":1,"332":1,"349":2,"470":1,"485":1,"488":1,"500":1,"518":1}}],["a46a5e1",{"2":{"259":1}}],["ac",{"2":{"462":1}}],["actual",{"2":{"435":1,"527":1}}],["activate",{"2":{"379":1}}],["activating",{"2":{"11":1,"39":1}}],["active",{"2":{"367":1,"379":2,"380":1,"435":1,"517":1}}],["actively",{"0":{"325":1},"2":{"369":1}}],["actions",{"2":{"12":1,"53":1,"380":1,"461":1,"517":1}}],["action",{"2":{"10":1,"11":1,"51":1,"84":1,"517":1}}],["accurate",{"2":{"417":1}}],["accept",{"2":{"435":1}}],["acceptable",{"2":{"388":1,"396":1}}],["accepts",{"2":{"364":1,"443":1}}],["accented",{"2":{"350":1}}],["accessible",{"2":{"341":1,"399":1,"428":1,"444":1,"512":1,"519":1}}],["access",{"0":{"325":1},"2":{"369":1,"473":1,"503":1}}],["account",{"2":{"267":1,"473":1}}],["ac52df2",{"2":{"255":1}}],["a6744dc",{"2":{"234":1}}],["a9668d9",{"2":{"210":1}}],["a90e570",{"2":{"187":1}}],["a789826",{"2":{"206":1}}],["a7a3a17",{"2":{"11":1,"33":1}}],["a57b847",{"2":{"165":1}}],["a06708f",{"2":{"142":1}}],["a195b7e",{"2":{"134":1}}],["a1c60ec",{"2":{"12":1,"96":1}}],["apt",{"2":{"402":4,"405":2,"494":1,"495":1,"521":1}}],["apache",{"2":{"385":2,"483":2}}],["apk=",{"2":{"382":1}}],["apk",{"0":{"438":1},"2":{"377":2,"378":1,"380":1,"381":2,"382":3,"438":3,"439":1,"443":2,"517":3}}],["api",{"0":{"357":1},"1":{"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"367":1,"368":1},"2":{"134":1,"372":1,"422":1,"447":1,"448":1,"450":1,"474":2,"485":1,"498":1,"514":1}}],["appreciate",{"2":{"482":1}}],["appropriate",{"2":{"453":1}}],["app=+",{"2":{"468":1}}],["app=+org",{"2":{"468":1}}],["app=",{"2":{"468":1}}],["app=org",{"2":{"468":2,"477":1,"540":2}}],["appimage",{"2":{"337":1}}],["appears",{"2":{"379":1,"500":1,"543":1}}],["appear",{"0":{"338":1},"2":{"306":1,"307":1,"338":1,"388":1,"543":1}}],["appending",{"2":{"12":1,"53":1}}],["apps",{"2":{"268":1,"297":1,"391":1,"392":1,"414":1,"468":2,"517":1,"542":1}}],["applied",{"2":{"530":4,"531":1,"532":2,"534":1}}],["applicable",{"2":{"385":1,"483":1}}],["application",{"0":{"316":1,"319":1},"1":{"317":1,"318":1,"319":1},"2":{"10":1,"11":2,"12":10,"19":3,"33":1,"51":1,"53":2,"80":1,"84":1,"85":2,"124":1,"275":1,"319":1,"321":1,"372":1,"373":1,"379":1,"435":2,"441":2,"443":3,"473":1,"478":1,"482":1,"517":1,"548":1}}],["applications",{"2":{"10":1,"12":1,"80":1,"83":1,"332":1,"337":1}}],["apple",{"2":{"332":1}}],["apply",{"2":{"129":1,"319":1,"395":1}}],["app",{"0":{"374":1,"468":1,"475":1,"540":1},"1":{"375":1,"376":1,"377":1,"378":1},"2":{"4":2,"10":1,"11":4,"12":7,"19":2,"36":1,"37":2,"38":1,"40":1,"42":1,"47":1,"52":1,"73":1,"85":1,"236":1,"277":2,"278":2,"332":1,"388":1,"414":2,"436":1,"443":2,"445":2,"458":1,"468":5,"473":1,"481":1,"495":1,"503":3,"512":1,"517":1,"530":1,"540":2,"541":1,"547":1,"555":1}}],["attempts",{"2":{"441":1,"525":1}}],["attempt",{"2":{"332":1}}],["at",{"2":{"12":1,"48":1,"114":1,"295":1,"317":1,"352":1,"355":1,"372":1,"385":1,"416":1,"421":1,"428":1,"436":1,"441":2,"452":1,"454":1,"455":1,"464":1,"472":1,"474":1,"477":1,"483":1,"485":1,"490":1,"498":1,"502":1,"514":2,"519":1,"525":3,"527":2,"530":1,"532":1,"533":1,"541":1,"548":1}}],["a2bb039",{"2":{"12":1,"41":1}}],["aeae0c6",{"2":{"203":1}}],["ae96df0",{"2":{"160":1}}],["aec9b78",{"2":{"12":1,"40":1}}],["ae13fde",{"2":{"11":1,"73":1}}],["ae19570",{"2":{"8":1}}],["avc",{"2":{"529":1}}],["av1",{"2":{"456":1,"528":2}}],["average",{"2":{"273":1,"441":1}}],["avoids",{"2":{"447":1}}],["avoided",{"2":{"311":1}}],["avoid",{"2":{"12":1,"47":1,"350":1,"396":1,"435":1,"453":1,"487":1,"520":1,"548":2}}],["available",{"2":{"12":1,"59":1,"370":1,"373":1,"386":1,"388":1,"391":3,"392":1,"394":1,"399":2,"406":2,"407":1,"417":1,"448":1,"469":1,"484":1,"496":1,"497":1,"512":2,"513":1,"514":1,"521":1,"525":1,"529":1,"533":1,"534":1,"540":2,"541":1,"548":1}}],["arch",{"2":{"494":1}}],["archive",{"2":{"377":1,"378":1}}],["archives",{"2":{"377":1}}],["architecture",{"2":{"278":1,"410":1}}],["array",{"2":{"452":1}}],["arrangement",{"0":{"298":1,"304":1},"1":{"299":1,"300":1,"301":1,"302":1,"303":1,"304":1,"305":1,"306":1,"307":1,"308":1,"309":1,"310":1,"311":1,"312":1,"313":1,"314":1,"315":1,"316":1,"317":1,"318":1,"319":1,"320":1,"321":1},"2":{"12":3,"30":1,"34":2,"266":1,"298":1,"299":1,"304":2,"306":2,"307":1,"311":1,"313":1,"314":1,"315":1,"321":3}}],["arrange",{"2":{"10":1,"32":1,"304":1}}],["argument",{"2":{"445":1,"463":1,"503":1}}],["arguments",{"2":{"380":1,"428":1,"445":1,"446":1,"451":1,"452":1,"461":1,"496":2,"513":2,"548":6}}],["args",{"2":{"443":1}}],["ar=sensor",{"2":{"419":1}}],["ar=16",{"2":{"419":1,"423":2}}],["ar=1",{"2":{"419":1}}],["ar=4",{"2":{"419":1}}],["ar",{"2":{"419":2}}],["arbitrary",{"2":{"393":1,"419":1,"430":1,"528":1}}],["articles",{"0":{"386":1,"480":1}}],["arabic",{"2":{"12":1,"44":1}}],["arm64",{"2":{"12":1,"53":1,"211":1,"222":1}}],["area",{"2":{"306":1,"307":1,"311":1,"313":1,"314":1,"315":1,"321":1,"338":1,"531":1}}],["are",{"2":{"11":1,"12":1,"36":1,"89":1,"271":1,"296":2,"307":1,"311":1,"317":1,"321":3,"330":1,"339":1,"344":1,"347":1,"358":2,"359":2,"360":1,"369":2,"370":1,"390":1,"391":1,"392":1,"393":1,"397":1,"398":1,"417":4,"419":2,"426":1,"428":1,"436":1,"441":5,"443":1,"444":1,"447":2,"448":1,"449":2,"450":1,"452":4,"455":1,"456":1,"457":1,"469":1,"476":1,"477":2,"478":1,"484":1,"485":1,"486":3,"487":1,"489":1,"493":1,"497":1,"498":1,"499":1,"503":2,"504":2,"505":3,"511":1,"514":4,"517":4,"519":2,"521":1,"528":2,"530":1,"532":1,"533":1,"541":1,"542":1}}],["author",{"2":{"430":1,"482":1}}],["authorize",{"2":{"343":1}}],["authorization",{"2":{"292":1,"323":1,"325":1,"343":1}}],["autosync",{"2":{"435":1}}],["autostart",{"0":{"364":1,"430":1},"2":{"362":1,"364":4}}],["autoadb",{"2":{"430":1}}],["autorun",{"0":{"362":1},"2":{"362":4,"379":1}}],["autoconnect",{"2":{"165":2}}],["automated",{"2":{"12":1,"55":1}}],["automation",{"2":{"10":1,"266":1,"278":1}}],["automatically",{"0":{"327":1},"2":{"5":1,"129":1,"266":1,"310":1,"319":1,"338":1,"388":1,"416":1,"418":1,"419":1,"426":1,"428":2,"435":1,"463":1,"505":1,"525":1}}],["automatic",{"0":{"428":1},"2":{"3":1,"11":1,"12":1,"34":1,"70":1,"144":1,"277":1,"391":1,"435":1}}],["autoglm",{"2":{"7":1,"10":1,"277":1,"278":1}}],["auto",{"2":{"5":3,"8":1,"266":2,"278":1,"280":2,"282":1,"495":1}}],["auxiliary",{"2":{"282":1}}],["audiorecord",{"2":{"448":1}}],["audio=false",{"2":{"445":1,"458":1}}],["audio",{"0":{"284":1,"285":1,"334":1,"388":1,"389":1,"390":1,"448":1,"452":1,"456":1},"1":{"389":1,"390":1,"391":1,"392":1,"393":1,"394":1,"395":1,"396":1},"2":{"11":1,"12":1,"50":1,"79":1,"186":1,"276":1,"278":2,"284":7,"285":1,"334":2,"388":6,"389":3,"390":4,"391":6,"392":9,"393":10,"394":2,"395":5,"396":9,"416":13,"434":6,"441":7,"445":1,"446":3,"448":2,"450":1,"451":1,"452":7,"455":3,"456":2,"473":2,"474":1,"477":3,"478":1,"480":1,"496":2,"504":7,"505":1,"507":3,"513":2,"514":1,"516":4,"534":3,"535":5,"536":1,"548":2,"550":1}}],["asynchronous",{"2":{"448":1}}],["asynchronously",{"2":{"12":1,"34":1,"452":1}}],["aspect",{"2":{"419":5,"525":1}}],["ascii",{"2":{"350":1,"435":1,"485":1}}],["ask",{"2":{"345":1}}],["assume",{"2":{"451":1}}],["associated",{"2":{"419":2,"445":1,"447":1}}],["assigned",{"2":{"295":1}}],["assets",{"2":{"436":2}}],["asset",{"2":{"111":1}}],["as",{"0":{"327":1},"2":{"10":1,"270":1,"302":1,"323":1,"324":1,"329":1,"337":2,"353":1,"364":1,"371":1,"385":1,"387":1,"391":2,"409":1,"411":3,"412":1,"416":1,"418":1,"423":1,"424":1,"426":1,"427":1,"429":2,"435":6,"441":2,"443":1,"455":4,"458":2,"472":1,"473":1,"477":1,"483":1,"486":2,"503":1,"514":3,"522":1,"533":1}}],["a84c775",{"2":{"10":1,"92":1}}],["a",{"0":{"262":1,"332":2,"512":1,"547":1},"1":{"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"269":1,"270":1,"271":1,"272":1,"273":1},"2":{"10":2,"11":1,"12":5,"17":1,"27":1,"32":1,"39":1,"50":2,"65":1,"80":1,"105":1,"112":1,"140":1,"261":1,"263":3,"268":1,"270":1,"271":1,"272":1,"273":3,"298":1,"299":1,"304":1,"314":1,"317":1,"321":1,"327":1,"330":1,"334":1,"337":1,"340":2,"342":1,"343":2,"344":3,"345":2,"350":2,"353":1,"357":1,"363":1,"364":1,"367":1,"371":3,"373":1,"379":3,"380":2,"381":5,"382":2,"385":1,"386":1,"388":1,"390":1,"391":2,"394":1,"396":2,"399":1,"406":1,"409":1,"411":1,"412":1,"414":1,"419":1,"421":1,"422":1,"424":1,"426":1,"427":1,"428":3,"429":2,"430":2,"434":2,"435":4,"436":4,"438":1,"439":3,"441":6,"443":7,"445":1,"447":1,"449":1,"452":5,"453":2,"454":2,"455":8,"456":2,"457":1,"458":4,"459":1,"460":1,"462":1,"463":1,"464":3,"465":1,"468":3,"472":2,"473":1,"474":1,"477":5,"478":1,"481":1,"483":1,"484":2,"486":3,"487":1,"488":3,"489":1,"490":2,"493":1,"495":2,"496":1,"497":2,"500":1,"501":1,"502":2,"503":1,"505":2,"511":1,"513":1,"514":3,"517":1,"518":4,"519":3,"520":2,"521":6,"525":3,"527":2,"530":4,"531":1,"532":2,"533":2,"534":1,"539":1,"540":2,"541":1,"548":9}}],["absolute",{"2":{"498":1}}],["absolutely",{"2":{"396":1}}],["above",{"2":{"297":1,"324":1,"333":1,"392":1,"419":2,"458":1,"473":1,"489":1}}],["about",{"2":{"265":1,"429":1,"441":1}}],["abd468b",{"2":{"115":1}}],["able",{"2":{"11":1,"42":1}}],["abnormalities",{"2":{"117":1}}],["abnormal",{"2":{"9":1,"11":3,"18":1,"36":1,"39":1,"128":1,"130":1,"148":1,"166":1,"321":1}}],["aba8f27",{"2":{"3":1}}],["affects",{"2":{"530":2}}],["affect",{"2":{"327":1}}],["af7a319",{"2":{"251":1}}],["after",{"0":{"323":1,"326":1,"328":1,"332":1,"337":1,"338":1},"2":{"8":1,"11":4,"12":1,"33":3,"34":1,"54":1,"282":1,"296":1,"297":1,"314":1,"319":1,"327":1,"329":1,"338":1,"414":1,"435":2,"447":2,"462":1,"463":1,"464":1,"530":1,"531":1,"532":1}}],["af18241",{"2":{"8":1}}],["another",{"2":{"346":2,"355":1,"380":1,"396":1,"444":1,"446":1,"472":1,"490":1,"502":1,"519":1,"520":2,"529":1}}],["antivirus",{"0":{"329":1}}],["angle=23",{"2":{"531":1}}],["angle",{"0":{"531":1},"2":{"281":1,"530":1,"531":1,"532":1}}],["an",{"0":{"327":1,"495":1},"2":{"7":1,"11":3,"12":1,"39":1,"46":1,"47":1,"70":1,"273":2,"302":1,"313":1,"324":1,"327":1,"329":1,"330":1,"349":1,"385":1,"392":1,"406":1,"418":1,"419":4,"428":1,"435":1,"438":2,"441":1,"443":2,"445":1,"448":1,"452":2,"455":3,"459":1,"465":1,"468":3,"473":1,"474":2,"477":1,"481":1,"483":1,"485":1,"498":1,"514":2,"520":2,"521":1,"535":1,"540":1,"548":1}}],["anytime",{"2":{"527":1}}],["anything",{"2":{"419":1}}],["anyway",{"2":{"487":1}}],["anymore",{"2":{"369":1}}],["any",{"2":{"6":1,"330":1,"332":1,"339":1,"342":1,"347":1,"355":1,"369":1,"385":1,"435":3,"441":1,"445":1,"447":1,"454":2,"458":1,"464":1,"474":1,"483":1,"499":1,"503":1,"521":1,"541":1,"548":2}}],["android",{"0":{"262":1,"468":1},"1":{"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"269":1,"270":1,"271":1,"272":1,"273":1},"2":{"263":2,"267":1,"268":1,"273":2,"278":1,"292":2,"297":1,"326":1,"334":2,"344":1,"355":1,"357":1,"358":1,"359":1,"363":1,"365":1,"369":1,"372":2,"373":2,"380":1,"386":2,"388":4,"391":1,"392":3,"394":1,"399":1,"410":2,"411":9,"416":1,"421":1,"422":1,"424":1,"426":4,"429":1,"430":1,"435":5,"443":2,"444":2,"453":1,"460":3,"462":1,"463":2,"464":2,"465":1,"468":1,"471":1,"472":1,"473":5,"474":3,"485":1,"488":1,"489":1,"498":1,"500":1,"501":1,"512":1,"514":2,"517":1,"518":1,"521":1,"525":2,"528":1,"533":2,"535":1,"540":1}}],["and",{"0":{"265":1,"305":1,"316":1,"340":1,"349":1,"433":1,"436":1,"452":1,"456":1,"552":1},"1":{"306":1,"307":1,"317":1,"318":1,"319":1,"341":1,"342":1,"343":1,"344":1,"345":1,"346":1},"2":{"1":1,"4":2,"5":3,"6":4,"8":5,"10":8,"11":6,"12":12,"15":2,"17":4,"18":2,"19":1,"24":1,"25":1,"27":3,"32":1,"34":1,"48":1,"52":1,"61":1,"63":1,"64":1,"79":1,"87":1,"88":1,"93":1,"102":1,"122":1,"150":1,"171":1,"174":1,"187":1,"261":1,"263":2,"266":3,"267":1,"271":1,"272":1,"273":3,"278":6,"292":2,"294":1,"295":3,"296":1,"297":1,"298":3,"299":4,"301":1,"302":1,"309":1,"310":1,"317":1,"321":3,"323":3,"324":5,"325":1,"326":1,"327":2,"328":1,"330":5,"331":1,"332":2,"333":1,"335":1,"338":1,"339":1,"341":1,"345":1,"346":1,"347":1,"349":1,"352":1,"356":1,"358":1,"359":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"367":1,"369":2,"371":2,"373":1,"375":1,"377":1,"379":2,"380":2,"385":1,"387":1,"388":2,"390":2,"391":3,"392":2,"393":1,"396":3,"397":2,"399":2,"405":2,"406":1,"407":1,"410":1,"411":1,"412":1,"416":3,"417":2,"419":4,"422":1,"423":1,"427":1,"428":1,"433":1,"435":3,"436":5,"441":11,"443":3,"444":3,"445":6,"446":5,"447":2,"448":1,"450":1,"451":2,"452":4,"453":1,"454":2,"455":2,"456":1,"458":1,"459":1,"460":3,"465":1,"468":1,"472":1,"473":7,"474":1,"477":4,"478":1,"482":1,"483":1,"484":2,"485":1,"486":1,"488":2,"489":1,"490":1,"493":1,"494":1,"495":3,"496":1,"500":1,"502":1,"503":8,"504":4,"505":1,"507":3,"511":1,"512":1,"513":1,"514":9,"516":2,"517":9,"519":1,"525":1,"528":1,"530":5,"531":1,"532":1,"534":2,"535":2,"539":2,"546":1,"547":2,"548":2,"552":1}}],["adoptopenjdk17",{"2":{"407":1}}],["adoptopenjdk",{"2":{"407":1}}],["adopt",{"2":{"327":1}}],["adopted",{"2":{"12":1,"65":1}}],["advantage",{"2":{"391":1}}],["advantages",{"0":{"270":1},"2":{"270":1}}],["advanced",{"2":{"298":1,"380":1,"393":1,"528":1}}],["ads",{"2":{"267":1,"473":1}}],["ad3f77f",{"2":{"191":1}}],["adapted",{"2":{"12":1,"28":1}}],["adapt",{"2":{"11":1,"73":1}}],["adbwinusbapi",{"2":{"373":1,"399":1}}],["adbwinapi",{"2":{"373":1,"399":1}}],["adb=c",{"2":{"345":1}}],["adb=",{"2":{"345":1}}],["adb",{"0":{"336":1,"340":1,"341":1,"345":1,"373":1,"519":1},"1":{"341":1,"342":1,"343":1,"344":1,"345":1,"346":1},"2":{"11":1,"12":3,"27":1,"72":1,"99":1,"100":1,"135":1,"148":1,"260":1,"278":1,"280":1,"330":1,"335":1,"340":2,"341":2,"342":4,"344":5,"345":11,"346":1,"367":1,"369":1,"373":6,"380":1,"381":1,"382":3,"399":3,"402":1,"426":3,"427":2,"428":3,"429":5,"441":1,"443":1,"445":3,"455":5,"458":2,"462":3,"463":2,"464":2,"465":3,"472":2,"488":1,"490":2,"495":1,"502":2,"512":2,"514":1,"516":1,"518":3,"519":7,"520":11,"547":3}}],["adjusted",{"2":{"317":1,"396":1}}],["adjustment",{"0":{"308":1},"1":{"309":1,"310":1,"311":1},"2":{"266":1,"309":1,"310":1,"317":1}}],["adjusting",{"0":{"310":1},"2":{"11":1,"12":1,"33":1}}],["adjust",{"2":{"6":1,"12":5,"34":1,"47":1,"75":1,"85":1,"175":1,"299":1,"310":1}}],["addable",{"2":{"315":1}}],["additional",{"2":{"436":1,"441":2,"474":1,"485":2,"498":1}}],["additionally",{"2":{"407":1}}],["addition",{"2":{"12":1,"53":1,"435":1}}],["adding",{"0":{"305":1,"306":1,"307":1},"1":{"306":1,"307":1},"2":{"10":1,"12":2,"34":1,"51":1,"53":1,"270":1,"278":1,"327":1,"468":2}}],["addresses",{"2":{"12":1,"27":1}}],["address",{"0":{"295":1},"2":{"11":3,"18":1,"21":1,"58":1,"295":3,"428":3,"429":2}}],["added",{"2":{"10":1,"12":2,"17":1,"44":1,"59":1,"302":1,"307":3,"321":1,"458":1,"534":1}}],["add251f",{"2":{"10":1,"51":1}}],["adds",{"2":{"5":1}}],["add",{"2":{"1":1,"2":1,"4":1,"5":6,"6":2,"10":1,"12":4,"20":1,"35":1,"47":1,"48":1,"53":1,"105":1,"112":3,"124":1,"125":1,"132":1,"140":1,"160":1,"163":1,"164":1,"165":1,"167":1,"174":2,"175":1,"176":1,"178":1,"182":1,"186":2,"196":1,"306":1,"307":2,"321":1,"329":3,"390":1,"521":1,"522":2,"534":2,"548":1}}],["ctl",{"2":{"521":1}}],["ctrl+key",{"2":{"517":1}}],["ctrl+shift",{"2":{"436":1}}],["ctrl+shift+click",{"2":{"436":1,"517":1}}],["ctrl+v",{"2":{"435":3}}],["ctrl+x",{"2":{"435":1}}],["ctrl+click",{"2":{"436":1,"517":1}}],["ctrl+c",{"2":{"361":1,"379":1,"390":1,"435":2,"460":1,"507":1,"535":1,"550":1}}],["ctrl",{"2":{"324":1,"330":1,"435":1,"436":2}}],["cn",{"2":{"520":2}}],["cbuild",{"2":{"495":1}}],["cb7ac96",{"2":{"8":1}}],["ck",{"2":{"456":1}}],["cx",{"2":{"411":1,"412":1,"414":1,"415":1}}],["cpu",{"2":{"371":1}}],["c",{"2":{"345":1,"385":1,"451":2,"483":2}}],["cmd",{"2":{"345":2,"377":1,"378":2,"379":1,"426":2,"464":2,"517":1,"519":2,"520":4}}],["c85f8fb",{"2":{"259":1}}],["c82560f",{"2":{"143":1}}],["cf",{"2":{"449":1}}],["cfd0e1d",{"2":{"197":1}}],["cf9c82d",{"2":{"178":1}}],["cf8e183",{"2":{"11":1,"39":1}}],["c0e6a01",{"2":{"174":1}}],["c00ac1e",{"2":{"8":1}}],["cursor",{"2":{"503":1}}],["currently",{"2":{"279":1,"307":1,"369":1,"455":1}}],["current",{"2":{"103":1,"313":1,"317":1,"341":1,"366":1,"368":1,"398":1,"454":1,"462":1,"463":1,"465":1,"528":1,"530":1}}],["cut",{"2":{"435":2,"517":1}}],["cuts",{"2":{"435":1}}],["customize",{"2":{"335":1,"485":1}}],["customization",{"2":{"270":1}}],["customizable",{"2":{"266":1}}],["custom",{"2":{"5":1,"12":1,"53":1,"115":1,"116":1,"122":1,"197":1,"266":2,"276":1,"278":2,"299":1,"307":1,"382":2,"457":1,"531":1}}],["c17aaba",{"2":{"12":1,"48":1}}],["c49d22c",{"2":{"12":1,"55":1}}],["c976d4c",{"2":{"12":1,"22":1}}],["c5bed0e",{"2":{"141":1}}],["c5369af",{"2":{"12":1,"49":1}}],["c59994e",{"2":{"8":1}}],["ccb59e1",{"2":{"12":1,"34":1}}],["ccc7f0e",{"2":{"12":1,"87":1}}],["c666709",{"2":{"12":1,"19":1}}],["center",{"0":{"356":1},"2":{"329":1,"436":2,"531":2}}],["certificate",{"2":{"329":1}}],["certain",{"2":{"11":2,"29":1,"39":1}}],["cec6539",{"2":{"140":1}}],["cef022f",{"2":{"12":1}}],["c74f03d",{"2":{"181":1}}],["c70e6ca",{"2":{"130":1}}],["c7a5cd4",{"2":{"12":1}}],["c7c8616",{"2":{"4":1}}],["c2",{"2":{"394":1}}],["c210140",{"2":{"186":1}}],["c214e5a",{"2":{"12":1,"65":1}}],["c2254aa",{"2":{"11":1,"70":1}}],["c323ad6",{"2":{"11":1,"26":1}}],["critical",{"2":{"390":1}}],["crash",{"2":{"529":1}}],["crashes",{"0":{"353":1,"354":1},"1":{"355":1}}],["crashing",{"2":{"11":1,"64":1}}],["crop=1224",{"2":{"532":1}}],["cropped",{"2":{"532":1}}],["cropping",{"2":{"281":1,"532":2}}],["crop",{"0":{"532":1},"2":{"530":1,"531":1}}],["cross",{"0":{"269":1,"405":1},"2":{"450":1}}],["creates",{"2":{"453":1}}],["create",{"2":{"321":1,"521":3,"533":1,"548":1}}],["created",{"2":{"11":1,"39":1}}],["creating",{"2":{"12":1,"50":1}}],["creation",{"2":{"4":1,"11":1,"36":1}}],["cd",{"2":{"409":1,"495":1}}],["cd7d9cd",{"2":{"11":1,"95":1}}],["cd06d3b",{"2":{"8":1}}],["classpath=",{"2":{"443":1,"445":2,"458":1}}],["class",{"2":{"443":1}}],["classes",{"2":{"443":5,"444":2}}],["clarity",{"2":{"8":1}}],["clockwise",{"2":{"530":12,"531":1}}],["clone",{"2":{"409":2,"495":2}}],["closing",{"2":{"11":1,"12":3,"22":1,"39":1,"50":1,"466":1}}],["closest",{"2":{"419":1}}],["closed",{"2":{"128":1,"346":1,"462":1,"542":1}}],["close",{"0":{"466":1,"542":1},"2":{"10":1,"92":1,"466":1,"548":2}}],["clear",{"0":{"314":1},"2":{"313":1,"314":1}}],["cleared",{"2":{"11":1,"36":1}}],["cleanup=false",{"2":{"458":1}}],["clean",{"2":{"8":1,"12":2,"22":1,"53":1,"504":1}}],["clients",{"2":{"362":1,"445":1,"519":1}}],["client",{"0":{"351":1,"450":1},"1":{"352":1,"353":1,"451":1,"452":1,"453":1},"2":{"345":1,"358":1,"359":1,"360":1,"361":3,"363":1,"364":1,"365":1,"366":1,"380":2,"381":2,"397":1,"399":1,"402":1,"403":1,"406":2,"407":1,"410":1,"412":1,"441":15,"443":1,"445":6,"446":2,"447":1,"449":1,"450":1,"451":2,"452":1,"453":1,"454":2,"455":5,"457":2,"458":3,"460":1,"505":1,"518":1,"530":2}}],["click³",{"2":{"517":3}}],["click²",{"2":{"517":2}}],["click¹",{"2":{"517":1}}],["clicks",{"2":{"326":1,"328":1,"499":1,"503":3}}],["clicking",{"0":{"326":1},"2":{"329":1,"548":1}}],["clicked",{"2":{"321":1}}],["click",{"2":{"11":1,"18":1,"292":2,"294":1,"295":2,"304":1,"306":1,"307":1,"309":1,"313":1,"314":1,"315":1,"317":2,"321":1,"324":1,"326":2,"329":2,"330":1,"338":1,"379":1,"436":2,"449":1,"460":2,"464":1,"476":2,"503":17,"517":10,"548":3}}],["clipboards",{"2":{"517":1}}],["clipboard⁵",{"2":{"517":2}}],["clipboard",{"2":{"10":1,"11":1,"25":1,"26":1,"435":11,"441":1,"446":1,"449":1,"517":1}}],["caching=0",{"2":{"458":1}}],["camcorder",{"2":{"391":2}}],["cameras",{"2":{"417":2,"418":1}}],["camera",{"0":{"287":1,"416":1},"1":{"417":1,"418":1,"419":1,"420":1,"421":1,"422":1,"423":1,"424":1},"2":{"11":1,"12":3,"87":1,"88":1,"93":2,"141":1,"178":1,"276":2,"278":1,"287":4,"391":1,"416":3,"417":1,"418":15,"419":14,"420":1,"421":2,"422":4,"423":7,"424":1,"473":1,"477":5,"478":1,"524":2,"525":2,"532":1}}],["cask",{"2":{"407":1,"512":1}}],["caskroom",{"2":{"407":1}}],["case",{"2":{"344":2,"371":1,"402":1,"410":1,"474":1,"503":1,"505":1,"540":1}}],["cases",{"0":{"268":1},"2":{"11":1,"54":1,"130":1,"435":1}}],["casting",{"0":{"338":1},"2":{"338":1}}],["caps=1",{"2":{"521":1}}],["caps",{"2":{"521":1}}],["capable",{"2":{"521":2}}],["capability",{"2":{"265":1}}],["capturing",{"2":{"443":1}}],["captures",{"2":{"391":10,"441":1,"446":1}}],["captured",{"2":{"388":1,"391":1,"392":1,"416":2,"420":1,"421":1,"448":1,"500":1,"504":1,"530":1}}],["capture",{"0":{"334":1,"422":1},"2":{"388":2,"391":2,"392":1,"416":1,"422":1,"446":1,"477":2,"500":1,"504":1,"517":1,"521":1,"524":1,"527":2,"530":21,"531":1,"532":1,"535":1}}],["causing",{"0":{"329":1,"334":1},"2":{"396":1}}],["cause",{"2":{"11":1,"39":1,"128":1,"464":1,"486":1,"487":1}}],["caused",{"2":{"11":1,"45":1,"330":1,"331":1,"335":1}}],["careful",{"2":{"327":1}}],["card",{"2":{"8":1}}],["cable",{"0":{"326":1},"2":{"346":1,"514":1}}],["ca79e1b",{"2":{"12":1,"93":1}}],["ca4e826",{"2":{"12":1,"31":1}}],["ca6be85",{"2":{"12":1,"72":1}}],["category",{"2":{"11":1,"36":1}}],["caller",{"2":{"474":1}}],["called",{"2":{"444":1}}],["call",{"2":{"11":1,"21":1,"380":1,"381":1,"391":7}}],["calling",{"2":{"11":1,"21":1,"379":1}}],["callbacks",{"2":{"8":1}}],["candidate",{"2":{"443":1}}],["cancellation",{"2":{"391":1}}],["cannot",{"0":{"323":1,"328":1},"2":{"11":2,"12":1,"18":1,"27":1,"79":1,"128":1,"182":1,"310":1,"311":1,"388":1}}],["can",{"0":{"291":1,"328":1},"2":{"10":1,"32":1,"261":1,"263":1,"273":1,"298":1,"302":1,"306":1,"307":1,"309":1,"321":1,"329":2,"330":1,"332":1,"344":1,"352":1,"373":1,"379":2,"380":1,"381":1,"391":1,"392":1,"393":1,"394":1,"396":1,"414":2,"416":1,"423":1,"427":1,"430":1,"432":1,"435":1,"439":1,"443":1,"444":1,"445":1,"455":1,"458":2,"462":1,"464":1,"468":4,"481":2,"482":1,"486":1,"487":1,"488":1,"489":1,"495":1,"499":1,"503":1,"506":1,"517":2,"521":3,"527":1,"528":1,"529":1,"530":3,"533":1,"534":2,"551":1,"555":1}}],["counter",{"2":{"517":1}}],["course",{"2":{"504":1}}],["could",{"0":{"336":1},"2":{"11":4,"12":1,"26":1,"29":1,"46":1,"49":1,"54":1,"141":1,"342":1,"345":1,"347":1,"435":1,"486":1,"520":1,"521":1,"548":1}}],["coordinates",{"2":{"301":1,"436":1,"498":1}}],["coordinate",{"2":{"283":2,"318":2}}],["correctly",{"2":{"342":1}}],["correct",{"2":{"321":1,"452":1}}],["corresponding",{"2":{"315":1,"319":1}}],["core",{"0":{"264":1,"300":1},"1":{"265":1,"266":1,"267":1,"301":1,"302":1},"2":{"327":1}}],["corner",{"2":{"12":1,"19":1,"304":1,"310":1,"315":1,"330":1}}],["coffee",{"2":{"261":1}}],["collapse",{"2":{"517":1}}],["collaborative",{"2":{"298":1}}],["collaboration",{"2":{"278":1}}],["column",{"2":{"102":1}}],["color",{"2":{"6":1,"12":1,"19":1}}],["copr",{"2":{"494":1}}],["copy",{"0":{"435":1},"2":{"385":1,"435":2,"441":1,"449":1,"473":2,"483":1,"517":1,"548":1}}],["copyright",{"2":{"385":1,"483":2}}],["copying",{"2":{"10":1,"25":1}}],["copies",{"2":{"435":2}}],["copied",{"2":{"11":1,"26":1}}],["copilot",{"2":{"5":1,"8":3,"10":1,"106":1,"160":1}}],["combined",{"2":{"424":1,"468":1}}],["com",{"2":{"332":1,"381":4,"409":1,"436":2,"445":2,"458":1,"495":1}}],["come",{"2":{"296":1}}],["compensate",{"2":{"534":1}}],["computed",{"2":{"525":1}}],["computer",{"0":{"323":1,"325":1},"2":{"268":1,"292":1,"323":1,"324":2,"334":1,"357":1,"369":2,"372":1,"379":1,"391":1,"424":1,"427":1,"429":3,"435":6,"441":1,"455":2,"460":1,"470":1,"473":1,"477":2,"488":2,"500":3,"504":1,"514":1,"517":2,"520":3,"530":1,"535":1,"556":1}}],["computers",{"2":{"263":1,"268":1}}],["compiled",{"2":{"443":2,"444":1}}],["compile",{"0":{"405":1}}],["compression",{"2":{"393":2}}],["comprehensive",{"2":{"270":1}}],["complex",{"2":{"519":1}}],["completions",{"2":{"414":1}}],["completion",{"2":{"414":3}}],["complete",{"2":{"309":1,"311":1,"317":1,"324":1}}],["completely",{"2":{"267":1,"272":1,"536":1}}],["compliance",{"2":{"385":1,"483":1}}],["composed",{"2":{"441":1}}],["composes",{"2":{"435":1}}],["compositing",{"2":{"353":1}}],["compositor",{"0":{"353":1},"2":{"353":1}}],["components",{"0":{"300":1,"305":1,"307":1,"314":1,"446":1},"1":{"301":1,"302":1,"306":1,"307":1},"2":{"313":1,"314":1,"317":1,"444":1,"446":1,"451":1,"452":2}}],["component",{"0":{"301":1,"302":1,"306":1,"315":1},"2":{"8":1,"10":1,"17":1,"301":1,"302":1,"306":3,"307":1,"309":1,"315":2,"435":1}}],["compatibility",{"2":{"11":1,"29":1,"445":1}}],["compatible",{"2":{"11":1,"12":2,"27":1,"47":1,"74":1}}],["communicate",{"2":{"427":1,"520":1}}],["communications",{"2":{"391":1,"519":1}}],["communication",{"2":{"391":2,"441":1,"444":1}}],["commits",{"2":{"398":1}}],["commit",{"2":{"398":1}}],["comment",{"2":{"347":1}}],["comments",{"2":{"4":2,"12":1,"31":1}}],["common",{"0":{"321":1,"409":1},"1":{"410":1,"411":1,"412":1,"413":1,"414":1,"415":1},"2":{"279":1,"301":1,"339":1,"356":1,"477":1,"528":1}}],["command",{"2":{"11":1,"21":1,"148":1,"357":1,"364":1,"381":1,"429":1,"451":1,"461":1,"463":1,"464":1,"496":1,"513":1,"548":5}}],["commands",{"2":{"1":1,"340":1,"379":1,"381":1,"430":1,"445":1,"449":1}}],["codec=av1",{"2":{"528":1}}],["codec=aac",{"2":{"393":2,"504":1}}],["codec=h264",{"2":{"528":1,"529":1}}],["codec=h265",{"2":{"477":3,"528":1}}],["codec=raw",{"2":{"393":1,"395":1,"504":1}}],["codec=flac",{"2":{"393":2,"504":1}}],["codec=opus",{"2":{"393":1,"394":1}}],["codec",{"0":{"393":1,"528":1},"2":{"182":1,"183":1,"281":1,"284":1,"393":3,"395":1,"447":1,"456":3,"458":2,"528":2}}],["code",{"0":{"8":1,"14":1,"294":1},"2":{"8":1,"10":1,"12":7,"14":1,"31":1,"34":1,"40":1,"47":1,"57":1,"62":1,"63":1,"118":1,"150":1,"156":1,"266":1,"294":1,"327":1,"398":1,"445":1,"451":2,"455":1,"459":1}}],["concretely",{"2":{"458":1}}],["conclusion",{"0":{"273":1}}],["concurrency",{"2":{"6":1,"280":1}}],["convert",{"2":{"453":1}}],["conversion",{"2":{"12":1,"93":1}}],["convenience",{"2":{"379":1,"464":1,"468":1}}],["convenient",{"2":{"270":1}}],["connects",{"2":{"441":1,"455":2,"458":1}}],["connected",{"0":{"344":1},"2":{"302":1,"307":1,"321":1,"344":2,"358":2,"359":2,"360":1,"379":1,"426":5,"427":1,"430":1,"462":1,"473":1,"514":2}}],["connect",{"0":{"294":1,"295":1},"2":{"266":1,"278":1,"280":1,"292":1,"295":1,"427":1,"428":2,"429":4,"518":3,"519":1}}],["connections",{"2":{"12":1,"27":1,"172":1,"364":1,"428":1,"458":1}}],["connection",{"0":{"292":1,"293":1,"325":1,"425":1,"455":1},"1":{"294":1,"295":1,"426":1,"427":1,"428":1,"429":1,"430":1},"2":{"11":1,"12":12,"27":3,"57":1,"58":1,"59":2,"62":1,"65":1,"72":1,"80":1,"100":1,"113":1,"143":1,"172":1,"266":2,"270":1,"271":1,"278":2,"294":1,"295":2,"296":2,"325":2,"340":1,"346":1,"357":1,"367":1,"369":1,"380":1,"428":1,"429":1,"441":1,"446":1,"455":2,"478":1,"520":1}}],["connecting",{"0":{"323":1,"326":1,"328":1},"2":{"10":2,"63":2,"172":1,"295":1,"297":1,"343":1}}],["consequence",{"2":{"435":1}}],["consumes",{"2":{"371":1}}],["considered",{"2":{"454":1}}],["consideration",{"2":{"327":1}}],["consistent",{"2":{"12":1,"47":1}}],["constraints",{"2":{"310":1,"311":1,"419":1}}],["console",{"2":{"12":1,"69":1,"147":1,"438":1,"439":1,"527":1,"548":3}}],["contact",{"0":{"481":1}}],["containing",{"2":{"443":1,"548":1}}],["contains",{"2":{"377":1,"378":1,"398":1}}],["contain",{"2":{"377":1}}],["containers",{"2":{"505":1}}],["container",{"2":{"311":2,"452":1,"505":2}}],["contrary",{"2":{"446":1,"472":1,"486":1,"489":4,"490":1,"502":1}}],["contribute",{"2":{"398":1,"459":1}}],["control=false",{"2":{"458":1}}],["controlmessage",{"2":{"457":1}}],["controllers",{"2":{"477":1}}],["controller",{"0":{"453":1},"2":{"446":1,"449":1,"453":3}}],["controlled",{"2":{"379":1,"533":1}}],["controlling",{"2":{"10":1,"92":1,"278":1}}],["controls",{"0":{"457":1},"2":{"12":1,"93":1,"432":1,"441":2,"457":1}}],["control",{"0":{"262":1,"276":1,"281":1,"282":1,"283":1,"284":1,"286":1,"287":1,"327":1,"348":1,"431":1,"434":1,"516":1},"1":{"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"269":1,"270":1,"271":1,"272":1,"273":1,"349":1,"350":1,"432":1,"433":1,"434":1,"435":1,"436":1,"437":1,"438":1,"439":1},"2":{"10":2,"11":2,"12":9,"18":1,"19":1,"38":1,"39":1,"40":2,"50":1,"53":1,"87":1,"96":2,"97":1,"98":1,"155":1,"174":1,"175":2,"178":1,"263":2,"273":3,"277":1,"278":4,"280":1,"282":3,"297":1,"298":1,"313":1,"324":1,"327":1,"390":3,"391":1,"432":1,"434":2,"441":1,"446":4,"449":1,"451":1,"453":3,"455":3,"472":1,"473":1,"474":1,"477":3,"478":1,"490":1,"500":1,"502":1,"507":2,"514":1,"516":2}}],["continuously",{"2":{"279":1}}],["continues",{"2":{"271":1,"388":1}}],["content",{"2":{"268":1,"387":1,"435":4,"436":1,"441":1,"446":1,"447":1,"527":1,"531":1,"532":1,"541":1,"542":1}}],["context",{"2":{"164":1}}],["contextbridge",{"2":{"12":1,"68":1}}],["conditions",{"2":{"11":1,"54":1,"385":1,"441":1,"483":1}}],["confusion",{"2":{"548":1}}],["conference",{"2":{"521":1}}],["confirm",{"2":{"321":4}}],["confirmation",{"2":{"314":2}}],["configurable",{"2":{"473":1}}],["configurations",{"2":{"10":1,"11":1,"12":1,"27":1,"32":1,"36":1,"266":1,"278":1,"279":1,"299":2,"302":2,"313":1,"460":1}}],["configuration",{"0":{"301":1,"306":1,"316":1,"317":1,"318":1,"319":1},"1":{"317":1,"318":1,"319":1},"2":{"4":1,"5":2,"6":2,"11":3,"12":7,"27":1,"34":2,"36":1,"47":1,"53":1,"65":1,"84":1,"88":1,"136":1,"141":2,"175":1,"278":1,"301":1,"306":3,"313":1,"317":2,"318":4,"319":5,"321":1,"330":1,"412":1,"460":1,"478":1,"488":2,"534":1}}],["configured",{"2":{"12":1,"40":1,"460":1,"489":1,"503":1}}],["configure",{"2":{"8":1,"174":1,"324":1,"335":1,"396":1,"421":1,"428":1,"460":1,"484":1,"488":1}}],["config",{"2":{"1":1,"2":1,"4":1,"6":1,"8":4,"149":1,"266":1,"402":1,"406":2,"407":1,"456":2,"495":1}}],["conflicts",{"0":{"345":1},"2":{"130":1}}],["conflict",{"2":{"11":4,"18":1,"26":1,"52":1,"88":1,"141":2}}],["choco",{"2":{"547":1}}],["chocolatey",{"2":{"547":1}}],["choose",{"0":{"371":1}}],["chores",{"0":{"1":1,"2":1,"4":1,"13":1,"91":1,"154":1,"161":1}}],["chrome",{"2":{"337":1,"521":1}}],["chmod",{"2":{"337":1}}],["check",{"2":{"321":4,"330":1,"342":1,"343":1,"393":1,"445":1,"521":1,"528":1}}],["child",{"2":{"12":1,"53":1}}],["chinese",{"0":{"324":1},"2":{"11":1,"18":1,"126":1,"140":1,"324":1,"336":1}}],["character",{"2":{"503":1}}],["characters",{"0":{"350":1},"2":{"11":1,"36":1,"336":1,"350":2,"449":1,"485":1,"486":1,"489":1,"503":1}}],["chargers",{"2":{"462":1}}],["charging",{"2":{"155":1}}],["changing",{"2":{"336":1}}],["changes",{"2":{"309":1,"396":1,"435":1,"441":1,"447":2,"462":1,"527":1,"530":1}}],["changed",{"2":{"182":1,"352":1,"439":1,"462":1,"517":1,"530":1,"551":1}}],["change",{"2":{"8":1,"310":1,"350":1,"393":1,"395":1,"396":1,"435":1,"445":1,"447":1,"454":2,"463":2,"464":1,"465":1,"526":1,"530":1}}],["changelog",{"0":{"0":1},"1":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"154":1,"155":1,"156":1,"157":1,"158":1,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"168":1,"169":1,"170":1,"171":1,"172":1,"173":1,"174":1,"175":1,"176":1,"177":1,"178":1,"179":1,"180":1,"181":1,"182":1,"183":1,"184":1,"185":1,"186":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"209":1,"210":1,"211":1,"212":1,"213":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1,"225":1,"226":1,"227":1,"228":1,"229":1,"230":1,"231":1,"232":1,"233":1,"234":1,"235":1,"236":1,"237":1,"238":1,"239":1,"240":1,"241":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":1,"248":1,"249":1,"250":1,"251":1,"252":1,"253":1,"254":1,"255":1,"256":1,"257":1,"258":1,"259":1,"260":1}}],["chance",{"2":{"11":1,"39":1}}]],"serializationVersion":2}';export{e as default}; +const e='{"documentCount":557,"nextId":557,"documentIds":{"0":"/changelog#changelog","1":"/changelog#miscellaneous-chores","2":"/changelog#miscellaneous-chores-1","3":"/changelog#bug-fixes","4":"/changelog#miscellaneous-chores-2","5":"/changelog#features","6":"/changelog#bug-fixes-1","7":"/changelog#performance-improvements","8":"/changelog#code-refactoring","9":"/changelog#bug-fixes-2","10":"/changelog#features-1","11":"/changelog#bug-fixes-3","12":"/changelog#performance-improvements-1","13":"/changelog#miscellaneous-chores-3","14":"/changelog#code-refactoring-1","15":"/changelog#performance-improvements-2","16":"/changelog#performance-improvements-3","17":"/changelog#features-2","18":"/changelog#bug-fixes-4","19":"/changelog#performance-improvements-4","20":"/changelog#features-3","21":"/changelog#bug-fixes-5","22":"/changelog#performance-improvements-5","23":"/changelog#performance-improvements-6","24":"/changelog#performance-improvements-7","25":"/changelog#features-4","26":"/changelog#bug-fixes-6","27":"/changelog#performance-improvements-8","28":"/changelog#performance-improvements-9","29":"/changelog#bug-fixes-7","30":"/changelog#performance-improvements-10","31":"/changelog#performance-improvements-11","32":"/changelog#features-5","33":"/changelog#bug-fixes-8","34":"/changelog#performance-improvements-12","35":"/changelog#performance-improvements-13","36":"/changelog#bug-fixes-9","37":"/changelog#performance-improvements-14","38":"/changelog#features-6","39":"/changelog#bug-fixes-10","40":"/changelog#performance-improvements-15","41":"/changelog#performance-improvements-16","42":"/changelog#bug-fixes-11","43":"/changelog#performance-improvements-17","44":"/changelog#performance-improvements-18","45":"/changelog#bug-fixes-12","46":"/changelog#bug-fixes-13","47":"/changelog#performance-improvements-19","48":"/changelog#performance-improvements-20","49":"/changelog#performance-improvements-21","50":"/changelog#performance-improvements-22","51":"/changelog#features-7","52":"/changelog#bug-fixes-14","53":"/changelog#performance-improvements-23","54":"/changelog#bug-fixes-15","55":"/changelog#performance-improvements-24","56":"/changelog#bug-fixes-16","57":"/changelog#performance-improvements-25","58":"/changelog#bug-fixes-17","59":"/changelog#performance-improvements-26","60":"/changelog#performance-improvements-27","61":"/changelog#performance-improvements-28","62":"/changelog#performance-improvements-29","63":"/changelog#features-8","64":"/changelog#bug-fixes-18","65":"/changelog#performance-improvements-30","66":"/changelog#performance-improvements-31","67":"/changelog#bug-fixes-19","68":"/changelog#performance-improvements-32","69":"/changelog#performance-improvements-33","70":"/changelog#bug-fixes-20","71":"/changelog#bug-fixes-21","72":"/changelog#performance-improvements-34","73":"/changelog#bug-fixes-22","74":"/changelog#bug-fixes-23","75":"/changelog#performance-improvements-35","76":"/changelog#features-9","77":"/changelog#performance-improvements-36","78":"/changelog#bug-fixes-24","79":"/changelog#bug-fixes-25","80":"/changelog#performance-improvements-37","81":"/changelog#bug-fixes-26","82":"/changelog#performance-improvements-38","83":"/changelog#features-10","84":"/changelog#bug-fixes-27","85":"/changelog#performance-improvements-39","86":"/changelog#performance-improvements-40","87":"/changelog#performance-improvements-41","88":"/changelog#bug-fixes-28","89":"/changelog#performance-improvements-42","90":"/changelog#bug-fixes-29","91":"/changelog#miscellaneous-chores-4","92":"/changelog#features-11","93":"/changelog#performance-improvements-43","94":"/changelog#performance-improvements-44","95":"/changelog#bug-fixes-30","96":"/changelog#performance-improvements-45","97":"/changelog#features-12","98":"/changelog#performance-improvements-46","99":"/changelog#bug-fixes-31","100":"/changelog#performance-improvements-47","101":"/changelog#bug-fixes-32","102":"/changelog#performance-improvements-48","103":"/changelog#performance-improvements-49","104":"/changelog#performance-improvements-50","105":"/changelog#features-13","106":"/changelog#performance-improvements-51","107":"/changelog#bug-fixes-33","108":"/changelog#performance-improvements-52","109":"/changelog#performance-improvements-53","110":"/changelog#performance-improvements-54","111":"/changelog#bug-fixes-34","112":"/changelog#features-14","113":"/changelog#bug-fixes-35","114":"/changelog#performance-improvements-55","115":"/changelog#performance-improvements-56","116":"/changelog#bug-fixes-36","117":"/changelog#bug-fixes-37","118":"/changelog#performance-improvements-57","119":"/changelog#bug-fixes-38","120":"/changelog#features-15","121":"/changelog#bug-fixes-39","122":"/changelog#performance-improvements-58","123":"/changelog#bug-fixes-40","124":"/changelog#features-16","125":"/changelog#performance-improvements-59","126":"/changelog#bug-fixes-41","127":"/changelog#performance-improvements-60","128":"/changelog#bug-fixes-42","129":"/changelog#bug-fixes-43","130":"/changelog#bug-fixes-44","131":"/changelog#performance-improvements-61","132":"/changelog#features-17","133":"/changelog#bug-fixes-45","134":"/changelog#performance-improvements-62","135":"/changelog#bug-fixes-46","136":"/changelog#performance-improvements-63","137":"/changelog#bug-fixes-47","138":"/changelog#bug-fixes-48","139":"/changelog#performance-improvements-64","140":"/changelog#features-18","141":"/changelog#bug-fixes-49","142":"/changelog#bug-fixes-50","143":"/changelog#performance-improvements-65","144":"/changelog#performance-improvements-66","145":"/changelog#performance-improvements-67","146":"/changelog#performance-improvements-68","147":"/changelog#performance-improvements-69","148":"/changelog#bug-fixes-51","149":"/changelog#performance-improvements-70","150":"/changelog#performance-improvements-71","151":"/changelog#features-19","152":"/changelog#bug-fixes-52","153":"/changelog#performance-improvements-72","154":"/changelog#miscellaneous-chores-5","155":"/changelog#performance-improvements-73","156":"/changelog#bug-fixes-53","157":"/changelog#performance-improvements-74","158":"/changelog#bug-fixes-54","159":"/changelog#bug-fixes-55","160":"/changelog#performance-improvements-75","161":"/changelog#miscellaneous-chores-6","162":"/changelog#features-20","163":"/changelog#performance-improvements-76","164":"/changelog#performance-improvements-77","165":"/changelog#performance-improvements-78","166":"/changelog#bug-fixes-56","167":"/changelog#features-21","168":"/changelog#performance-improvements-79","169":"/changelog#performance-improvements-80","170":"/changelog#performance-improvements-81","171":"/changelog#bug-fixes-57","172":"/changelog#performance-improvements-82","173":"/changelog#bug-fixes-58","174":"/changelog#performance-improvements-83","175":"/changelog#performance-improvements-84","176":"/changelog#features-22","177":"/changelog#bug-fixes-59","178":"/changelog#performance-improvements-85","179":"/changelog#bug-fixes-60","180":"/changelog#bug-fixes-61","181":"/changelog#bug-fixes-62","182":"/changelog#bug-fixes-63","183":"/changelog#performance-improvements-86","184":"/changelog#features-23","185":"/changelog#bug-fixes-64","186":"/changelog#performance-improvements-87","187":"/changelog#performance-improvements-88","188":"/changelog#bug-fixes-65","189":"/changelog#bug-fixes-66","190":"/changelog#bug-fixes-67","191":"/changelog#bug-fixes-68","192":"/changelog#bug-fixes-69","193":"/changelog#bug-fixes-70","194":"/changelog#bug-fixes-71","195":"/changelog#bug-fixes-72","196":"/changelog#features-24","197":"/changelog#bug-fixes-73","198":"/changelog#performance-improvements-89","199":"/changelog#bug-fixes-74","200":"/changelog#bug-fixes-75","201":"/changelog#features-25","202":"/changelog#bug-fixes-76","203":"/changelog#performance-improvements-90","204":"/changelog#performance-improvements-91","205":"/changelog#features-26","206":"/changelog#bug-fixes-77","207":"/changelog#bug-fixes-78","208":"/changelog#performance-improvements-92","209":"/changelog#bug-fixes-79","210":"/changelog#bug-fixes-80","211":"/changelog#performance-improvements-93","212":"/changelog#bug-fixes-81","213":"/changelog#performance-improvements-94","214":"/changelog#bug-fixes-82","215":"/changelog#bug-fixes-83","216":"/changelog#bug-fixes-84","217":"/changelog#bug-fixes-85","218":"/changelog#bug-fixes-86","219":"/changelog#bug-fixes-87","220":"/changelog#bug-fixes-88","221":"/changelog#bug-fixes-89","222":"/changelog#bug-fixes-90","223":"/changelog#performance-improvements-95","224":"/changelog#features-27","225":"/changelog#bug-fixes-91","226":"/changelog#performance-improvements-96","227":"/changelog#bug-fixes-92","228":"/changelog#performance-improvements-97","229":"/changelog#features-28","230":"/changelog#performance-improvements-98","231":"/changelog#performance-improvements-99","232":"/changelog#bug-fixes-93","233":"/changelog#performance-improvements-100","234":"/changelog#performance-improvements-101","235":"/changelog#bug-fixes-94","236":"/changelog#bug-fixes-95","237":"/changelog#bug-fixes-96","238":"/changelog#bug-fixes-97","239":"/changelog#bug-fixes-98","240":"/changelog#performance-improvements-102","241":"/changelog#features-29","242":"/changelog#bug-fixes-99","243":"/changelog#bug-fixes-100","244":"/changelog#performance-improvements-103","245":"/changelog#bug-fixes-101","246":"/changelog#features-30","247":"/changelog#bug-fixes-102","248":"/changelog#features-31","249":"/changelog#bug-fixes-103","250":"/changelog#bug-fixes-104","251":"/changelog#bug-fixes-105","252":"/changelog#bug-fixes-106","253":"/changelog#features-32","254":"/changelog#features-33","255":"/changelog#features-34","256":"/changelog#performance-improvements-104","257":"/changelog#bug-fixes-107","258":"/changelog#_1-0-0-2023-09-16","259":"/changelog#features-35","260":"/changelog#bug-fixes-108","261":"/donate#donate-project-♥️","262":"/guide/#escrcpy-a-graphical-android-device-control-tool-based-on-electron","263":"/guide/#what-is-escrcpy","264":"/guide/#core-features","265":"/guide/#efficient-and-stable-screen-mirroring","266":"/guide/#rich-functional-features","267":"/guide/#optimized-user-experience","268":"/guide/#use-cases","269":"/guide/#cross-platform-support","270":"/guide/#technical-advantages","271":"/guide/#future-development","272":"/guide/#how-to-use","273":"/guide/#conclusion","274":"/guide/milestones#milestones","275":"/guide/preferences#preferences","276":"/guide/preferences#general","277":"/guide/preferences#video-control","278":"/guide/preferences#device-control","279":"/guide/preferences#window-control","280":"/guide/preferences#audio-control","281":"/guide/preferences#audio-video-recording","282":"/guide/preferences#input-control","283":"/guide/preferences#camera-control","284":"/guide/operation#device-operation","285":"/guide/operation#batch-processing","286":"/guide/operation#control-model","287":"/guide/operation#device-interaction-bar","288":"/guide/started#quick-start","289":"/guide/started#installation","290":"/guide/started#manual-installation-via-released-packages","291":"/guide/started#macos-can-be-installed-via-homebrew","292":"/guide/started#usb-connection","293":"/guide/started#wifi-connection","294":"/guide/started#scan-qr-code-to-connect","295":"/guide/started#connect-via-ip-address","296":"/guide/started#macos-linux","297":"/guide/started#gnirehtet-reverse-tethering","298":"/guide/window-arrangement#device-window-arrangement-feature-guide","299":"/guide/window-arrangement#feature-overview","300":"/guide/window-arrangement#core-components","301":"/guide/window-arrangement#global-configuration-component","302":"/guide/window-arrangement#device-window-component","303":"/guide/window-arrangement#detailed-operation-guide","304":"/guide/window-arrangement#starting-window-arrangement","305":"/guide/window-arrangement#adding-and-managing-components","306":"/guide/window-arrangement#adding-global-configuration-component","307":"/guide/window-arrangement#adding-device-window-components","308":"/guide/window-arrangement#window-layout-adjustment","309":"/guide/window-arrangement#moving-window-position","310":"/guide/window-arrangement#adjusting-window-size","311":"/guide/window-arrangement#size-limitation-description","312":"/guide/window-arrangement#layout-management-operations","313":"/guide/window-arrangement#reset-layout","314":"/guide/window-arrangement#clear-all-components","315":"/guide/window-arrangement#delete-individual-component","316":"/guide/window-arrangement#configuration-saving-and-application","317":"/guide/window-arrangement#saving-layout-configuration","318":"/guide/window-arrangement#configuration-storage-mechanism","319":"/guide/window-arrangement#configuration-application-timing","320":"/guide/window-arrangement#troubleshooting","321":"/guide/window-arrangement#common-issues","322":"/help/#help-center","323":"/help/escrcpy#escrcpy","324":"/help/escrcpy#computer-cannot-detect-device-after-connecting","325":"/help/escrcpy#unable-to-enter-chinese","326":"/help/escrcpy#wireless-connection-prompts-the-target-computer-actively-refuses-access","327":"/help/escrcpy#clicking-wireless-mode-after-connecting-via-data-cable-has-no-response","328":"/help/escrcpy#why-is-the-device-interaction-control-bar-not-designed-as-an-automatically-sticking-floating-menu","329":"/help/escrcpy#some-devices-can-see-screenshots-after-connecting-but-cannot-operate","330":"/help/escrcpy#downloading-prompts-antivirus-detection-causing-unable-to-download-normally","331":"/help/escrcpy#failed-to-get-device-list-or-error-when-starting-mirroring-recording","332":"/help/escrcpy#macos-window-minimized-to-system-tray-icon-not-found","333":"/help/escrcpy#after-a-successful-installation-of-macos-when-i-try-to-open-it-i-receive-a-prompt-saying-the-file-is-damaged","334":"/help/escrcpy#unable-to-locate-the-input-point-discardvirtualmemory-on-the-dynamic-link-library-kernel32-dll","335":"/help/escrcpy#audio-capture-exception-causing-mirroring-failure","336":"/help/escrcpy#microsoft-store-version-mirror-startup-error","337":"/help/escrcpy#could-not-execute-adb-start-server","338":"/help/escrcpy#unable-to-open-after-installation-in-linux-system","339":"/help/escrcpy#black-edges-appear-after-resizing-the-casting-window","340":"/help/scrcpy#scrcpy","341":"/help/scrcpy#adb-and-usb-issues","342":"/help/scrcpy#adb-not-found","343":"/help/scrcpy#device-not-detected","344":"/help/scrcpy#device-unauthorized","345":"/help/scrcpy#several-devices-connected","346":"/help/scrcpy#conflicts-between-adb-versions","347":"/help/scrcpy#device-disconnected","348":"/help/scrcpy#otg-issues-on-windows","349":"/help/scrcpy#control-issues","350":"/help/scrcpy#mouse-and-keyboard-do-not-work","351":"/help/scrcpy#special-characters-do-not-work","352":"/help/scrcpy#client-issues","353":"/help/scrcpy#issue-with-wayland","354":"/help/scrcpy#kwin-compositor-crashes","355":"/help/scrcpy#crashes","356":"/help/scrcpy#exception","357":"/reference/gnirehtet/api#gnirehtet-api","358":"/reference/gnirehtet/api#gnirehtet-install-serial","359":"/reference/gnirehtet/api#gnirehtet-uninstall-serial","360":"/reference/gnirehtet/api#gnirehtet-reinstall-serial","361":"/reference/gnirehtet/api#gnirehtet-run-serial-d-dns-dns2-p-port-r-route-route2","362":"/reference/gnirehtet/api#gnirehtet-autorun-d-dns-dns2-p-port-r-route-route2","363":"/reference/gnirehtet/api#gnirehtet-start-serial-d-dns-dns2-p-port-r-route-route2","364":"/reference/gnirehtet/api#gnirehtet-autostart-d-dns-dns2-p-port-r-route-route2","365":"/reference/gnirehtet/api#gnirehtet-stop-serial","366":"/reference/gnirehtet/api#gnirehtet-restart-serial-d-dns-dns2-p-port-r-route-route2","367":"/reference/gnirehtet/api#gnirehtet-tunnel-serial-p-port","368":"/reference/gnirehtet/api#gnirehtet-relay-p-port","369":"/reference/#reference","370":"/reference/gnirehtet/#gnirehtet-v2-5-1","371":"/reference/gnirehtet/#flavors","372":"/reference/gnirehtet/#which-one-to-choose","373":"/reference/gnirehtet/#requirements","374":"/reference/gnirehtet/#adb","375":"/reference/gnirehtet/#get-the-app","376":"/reference/gnirehtet/#homebrew","377":"/reference/gnirehtet/#download","378":"/reference/gnirehtet/#rust","379":"/reference/gnirehtet/#java","380":"/reference/gnirehtet/#run-simple","381":"/reference/gnirehtet/#run","382":"/reference/gnirehtet/#run-manually","383":"/reference/gnirehtet/#environment-variables","384":"/reference/gnirehtet/#why-gnirehtet","385":"/reference/gnirehtet/#developers","386":"/reference/gnirehtet/#licence","387":"/reference/gnirehtet/#articles","388":"/reference/scrcpy/audio#audio","389":"/reference/scrcpy/audio#no-audio","390":"/reference/scrcpy/audio#audio-only","391":"/reference/scrcpy/audio#source","392":"/reference/scrcpy/audio#duplication","393":"/reference/scrcpy/audio#codec","394":"/reference/scrcpy/audio#encoder","395":"/reference/scrcpy/audio#bit-rate","396":"/reference/scrcpy/audio#buffering","397":"/reference/scrcpy/build#build-scrcpy","398":"/reference/scrcpy/build#branches","399":"/reference/scrcpy/build#requirements","400":"/reference/scrcpy/build#system-specific-steps","401":"/reference/scrcpy/build#linux","402":"/reference/scrcpy/build#debian-ubuntu","403":"/reference/scrcpy/build#fedora","404":"/reference/scrcpy/build#windows","405":"/reference/scrcpy/build#cross-compile-from-linux","406":"/reference/scrcpy/build#in-msys2","407":"/reference/scrcpy/build#mac-os","408":"/reference/scrcpy/build#docker","409":"/reference/scrcpy/build#common-steps","410":"/reference/scrcpy/build#build","411":"/reference/scrcpy/build#option-1-build-everything-from-sources","412":"/reference/scrcpy/build#option-2-use-prebuilt-server","413":"/reference/scrcpy/build#run-without-installing","414":"/reference/scrcpy/build#install","415":"/reference/scrcpy/build#uninstall","416":"/reference/scrcpy/camera#camera","417":"/reference/scrcpy/camera#list","418":"/reference/scrcpy/camera#selection","419":"/reference/scrcpy/camera#size-selection","420":"/reference/scrcpy/camera#rotation","421":"/reference/scrcpy/camera#frame-rate","422":"/reference/scrcpy/camera#high-speed-capture","423":"/reference/scrcpy/camera#brace-expansion-tip","424":"/reference/scrcpy/camera#webcam","425":"/reference/scrcpy/connection#connection","426":"/reference/scrcpy/connection#selection","427":"/reference/scrcpy/connection#tcp-ip-wireless","428":"/reference/scrcpy/connection#automatic","429":"/reference/scrcpy/connection#manual","430":"/reference/scrcpy/connection#autostart","431":"/reference/scrcpy/control#control","432":"/reference/scrcpy/control#read-only","433":"/reference/scrcpy/control#keyboard-and-mouse","434":"/reference/scrcpy/control#control-only","435":"/reference/scrcpy/control#copy-paste","436":"/reference/scrcpy/control#pinch-to-zoom-rotate-and-tilt-simulation","437":"/reference/scrcpy/control#file-drop","438":"/reference/scrcpy/control#install-apk","439":"/reference/scrcpy/control#push-file-to-device","440":"/reference/scrcpy/develop#scrcpy-for-developers","441":"/reference/scrcpy/develop#overview","442":"/reference/scrcpy/develop#server","443":"/reference/scrcpy/develop#privileges","444":"/reference/scrcpy/develop#hidden-methods","445":"/reference/scrcpy/develop#execution","446":"/reference/scrcpy/develop#components","447":"/reference/scrcpy/develop#screen-video-encoding","448":"/reference/scrcpy/develop#audio-encoding","449":"/reference/scrcpy/develop#input-events-injection","450":"/reference/scrcpy/develop#client","451":"/reference/scrcpy/develop#initialization","452":"/reference/scrcpy/develop#video-and-audio-streams","453":"/reference/scrcpy/develop#controller","454":"/reference/scrcpy/develop#protocol","455":"/reference/scrcpy/develop#connection","456":"/reference/scrcpy/develop#video-and-audio","457":"/reference/scrcpy/develop#controls","458":"/reference/scrcpy/develop#standalone-server","459":"/reference/scrcpy/develop#hack","460":"/reference/scrcpy/develop#debug-the-server","461":"/reference/scrcpy/device#device","462":"/reference/scrcpy/device#stay-awake","463":"/reference/scrcpy/device#screen-off-timeout","464":"/reference/scrcpy/device#turn-screen-off","465":"/reference/scrcpy/device#show-touches","466":"/reference/scrcpy/device#power-off-on-close","467":"/reference/scrcpy/device#power-on-on-start","468":"/reference/scrcpy/device#start-android-app","469":"/reference/scrcpy/gamepad#gamepad","470":"/reference/scrcpy/gamepad#physical-gamepad-simulation","471":"/reference/scrcpy/gamepad#uhid","472":"/reference/scrcpy/gamepad#aoa","473":"/reference/scrcpy/#scrcpy-v3-2","474":"/reference/scrcpy/#prerequisites","475":"/reference/scrcpy/#get-the-app","476":"/reference/scrcpy/#must-know-tips","477":"/reference/scrcpy/#usage-examples","478":"/reference/scrcpy/#user-documentation","479":"/reference/scrcpy/#resources","480":"/reference/scrcpy/#articles","481":"/reference/scrcpy/#contact","482":"/reference/scrcpy/#donate","483":"/reference/scrcpy/#licence","484":"/reference/scrcpy/keyboard#keyboard","485":"/reference/scrcpy/keyboard#sdk-keyboard","486":"/reference/scrcpy/keyboard#text-injection-preference","487":"/reference/scrcpy/keyboard#key-repeat","488":"/reference/scrcpy/keyboard#physical-keyboard-simulation","489":"/reference/scrcpy/keyboard#uhid","490":"/reference/scrcpy/keyboard#aoa","491":"/reference/scrcpy/linux#on-linux","492":"/reference/scrcpy/linux#install","493":"/reference/scrcpy/linux#from-the-official-release","494":"/reference/scrcpy/linux#from-your-package-manager","495":"/reference/scrcpy/linux#from-an-install-script","496":"/reference/scrcpy/linux#run","497":"/reference/scrcpy/mouse#mouse","498":"/reference/scrcpy/mouse#sdk-mouse","499":"/reference/scrcpy/mouse#mouse-hover","500":"/reference/scrcpy/mouse#physical-mouse-simulation","501":"/reference/scrcpy/mouse#uhid","502":"/reference/scrcpy/mouse#aoa","503":"/reference/scrcpy/mouse#mouse-bindings","504":"/reference/scrcpy/macos#on-macos","505":"/reference/scrcpy/macos#install","506":"/reference/scrcpy/macos#from-the-official-release","507":"/reference/scrcpy/macos#from-a-package-manager","508":"/reference/scrcpy/macos#run","509":"/reference/scrcpy/otg#otg","510":"/reference/scrcpy/otg#otg-issues-on-windows","511":"/reference/scrcpy/otg#control-only","512":"/reference/scrcpy/recording#recording","513":"/reference/scrcpy/recording#format","514":"/reference/scrcpy/recording#rotation","515":"/reference/scrcpy/recording#no-playback","516":"/reference/scrcpy/recording#time-limit","517":"/reference/scrcpy/tunnels#tunnels","518":"/reference/scrcpy/tunnels#remote-adb-server","519":"/reference/scrcpy/tunnels#ssh-tunnel","520":"/reference/scrcpy/v4l2#video4linux","521":"/reference/scrcpy/v4l2#buffering","522":"/reference/scrcpy/video#video","523":"/reference/scrcpy/video#source","524":"/reference/scrcpy/video#size","525":"/reference/scrcpy/video#bit-rate","526":"/reference/scrcpy/video#frame-rate","527":"/reference/scrcpy/video#codec","528":"/reference/scrcpy/video#encoder","529":"/reference/scrcpy/video#orientation","530":"/reference/scrcpy/video#angle","531":"/reference/scrcpy/video#crop","532":"/reference/scrcpy/video#display","533":"/reference/scrcpy/video#buffering","534":"/reference/scrcpy/video#no-playback","535":"/reference/scrcpy/video#no-video","536":"/reference/scrcpy/video#video4linux","537":"/reference/scrcpy/shortcuts#shortcuts","538":"/reference/scrcpy/virtual_display#virtual-display","539":"/reference/scrcpy/virtual_display#new-display","540":"/reference/scrcpy/virtual_display#start-app","541":"/reference/scrcpy/virtual_display#system-decorations","542":"/reference/scrcpy/virtual_display#destroy-on-close","543":"/reference/scrcpy/virtual_display#display-ime-policy","544":"/reference/scrcpy/window#window","545":"/reference/scrcpy/window#disable-window","546":"/reference/scrcpy/window#title","547":"/reference/scrcpy/window#position-and-size","548":"/reference/scrcpy/window#borderless","549":"/reference/scrcpy/window#always-on-top","550":"/reference/scrcpy/window#fullscreen","551":"/reference/scrcpy/window#disable-screensaver","552":"/reference/scrcpy/windows#on-windows","553":"/reference/scrcpy/windows#install","554":"/reference/scrcpy/windows#from-the-official-release","555":"/reference/scrcpy/windows#from-a-package-manager","556":"/reference/scrcpy/windows#run"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[1,1,1],"1":[2,1,14],"2":[2,1,9],"3":[2,1,7],"4":[2,1,43],"5":[1,1,59],"6":[2,1,65],"7":[2,1,14],"8":[2,1,103],"9":[2,1,11],"10":[1,1,154],"11":[2,1,282],"12":[2,1,533],"13":[2,1,8],"14":[2,1,14],"15":[2,1,23],"16":[2,1,7],"17":[1,1,40],"18":[2,1,34],"19":[2,1,59],"20":[1,1,7],"21":[2,1,36],"22":[2,1,23],"23":[2,1,8],"24":[2,1,8],"25":[1,1,21],"26":[2,1,23],"27":[2,1,51],"28":[2,1,10],"29":[2,1,20],"30":[2,1,8],"31":[2,1,7],"32":[1,1,26],"33":[2,1,33],"34":[2,1,78],"35":[2,1,14],"36":[2,1,41],"37":[2,1,14],"38":[1,1,18],"39":[2,1,49],"40":[2,1,45],"41":[2,1,9],"42":[2,1,19],"43":[2,1,8],"44":[2,1,17],"45":[2,1,13],"46":[2,1,16],"47":[2,1,43],"48":[2,1,25],"49":[2,1,23],"50":[2,1,29],"51":[1,1,21],"52":[2,1,23],"53":[2,1,63],"54":[2,1,30],"55":[2,1,26],"56":[2,1,6],"57":[2,1,17],"58":[2,1,18],"59":[2,1,27],"60":[2,1,7],"61":[2,1,20],"62":[2,1,8],"63":[1,1,18],"64":[2,1,13],"65":[2,1,33],"66":[2,1,8],"67":[2,1,7],"68":[2,1,26],"69":[2,1,6],"70":[2,1,16],"71":[2,1,12],"72":[2,1,22],"73":[2,1,9],"74":[2,1,10],"75":[2,1,12],"76":[1,1,7],"77":[2,1,7],"78":[2,1,9],"79":[2,1,23],"80":[2,1,23],"81":[2,1,7],"82":[2,1,10],"83":[1,1,13],"84":[2,1,23],"85":[2,1,22],"86":[2,1,17],"87":[2,1,19],"88":[2,1,10],"89":[2,1,12],"90":[2,1,7],"91":[2,1,5],"92":[1,1,15],"93":[2,1,35],"94":[2,1,7],"95":[2,1,8],"96":[2,1,23],"97":[1,1,7],"98":[2,1,18],"99":[2,1,16],"100":[2,1,7],"101":[2,1,9],"102":[2,1,13],"103":[2,1,11],"104":[2,1,5],"105":[1,1,13],"106":[2,1,5],"107":[2,1,8],"108":[2,1,6],"109":[2,1,9],"110":[2,1,16],"111":[2,1,7],"112":[1,1,16],"113":[2,1,17],"114":[2,1,16],"115":[2,1,11],"116":[2,1,12],"117":[2,1,10],"118":[2,1,12],"119":[2,1,7],"120":[1,1,10],"121":[2,1,16],"122":[2,1,26],"123":[2,1,8],"124":[1,1,8],"125":[2,1,7],"126":[2,1,12],"127":[2,1,8],"128":[2,1,12],"129":[2,1,7],"130":[2,1,17],"131":[2,1,5],"132":[1,1,13],"133":[2,1,9],"134":[2,1,23],"135":[2,1,9],"136":[2,1,5],"137":[2,1,7],"138":[2,1,8],"139":[2,1,5],"140":[1,1,10],"141":[2,1,15],"142":[2,1,7],"143":[2,1,16],"144":[2,1,10],"145":[2,1,5],"146":[2,1,8],"147":[2,1,6],"148":[2,1,9],"149":[2,1,6],"150":[2,1,24],"151":[1,1,8],"152":[2,1,8],"153":[2,1,5],"154":[2,1,6],"155":[2,1,7],"156":[2,1,7],"157":[2,1,8],"158":[2,1,6],"159":[2,1,6],"160":[2,1,16],"161":[2,1,6],"162":[1,1,3],"163":[2,1,7],"164":[2,1,16],"165":[2,1,11],"166":[2,1,6],"167":[1,1,6],"168":[2,1,15],"169":[2,1,10],"170":[2,1,9],"171":[2,1,9],"172":[2,1,22],"173":[2,1,9],"174":[2,1,26],"175":[2,1,15],"176":[1,1,7],"177":[2,1,5],"178":[2,1,23],"179":[2,1,10],"180":[2,1,10],"181":[2,1,6],"182":[2,1,33],"183":[2,1,13],"184":[1,1,8],"185":[2,1,5],"186":[2,1,23],"187":[2,1,11],"188":[2,1,7],"189":[2,1,6],"190":[2,1,6],"191":[2,1,6],"192":[2,1,6],"193":[2,1,10],"194":[2,1,6],"195":[2,1,6],"196":[1,1,8],"197":[2,1,8],"198":[2,1,12],"199":[2,1,4],"200":[2,1,6],"201":[1,1,7],"202":[2,1,13],"203":[2,1,7],"204":[2,1,4],"205":[1,1,6],"206":[2,1,6],"207":[2,1,4],"208":[2,1,6],"209":[2,1,6],"210":[2,1,6],"211":[2,1,10],"212":[2,1,8],"213":[2,1,4],"214":[2,1,6],"215":[2,1,6],"216":[2,1,6],"217":[2,1,4],"218":[2,1,6],"219":[2,1,7],"220":[2,1,6],"221":[2,1,8],"222":[2,1,11],"223":[2,1,6],"224":[1,1,8],"225":[2,1,7],"226":[2,1,4],"227":[2,1,4],"228":[2,1,4],"229":[1,1,6],"230":[2,1,4],"231":[2,1,5],"232":[2,1,6],"233":[2,1,4],"234":[2,1,4],"235":[2,1,9],"236":[2,1,7],"237":[2,1,10],"238":[2,1,4],"239":[2,1,4],"240":[2,1,4],"241":[1,1,4],"242":[2,1,4],"243":[2,1,4],"244":[2,1,4],"245":[2,1,4],"246":[1,1,4],"247":[2,1,4],"248":[1,1,4],"249":[2,1,6],"250":[2,1,4],"251":[2,1,4],"252":[2,1,4],"253":[1,1,6],"254":[1,1,4],"255":[1,1,6],"256":[2,1,4],"257":[2,1,4],"258":[6,1,1],"259":[1,7,13],"260":[2,7,6],"261":[3,1,19],"262":[10,1,1],"263":[4,10,47],"264":[2,10,1],"265":[5,12,38],"266":[3,12,68],"267":[3,12,33],"268":[2,10,39],"269":[3,10,9],"270":[2,10,30],"271":[2,10,33],"272":[3,10,19],"273":[1,10,54],"274":[1,1,131],"275":[1,1,9],"276":[1,1,26],"277":[2,1,21],"278":[2,1,18],"279":[2,1,15],"280":[2,1,12],"281":[3,1,10],"282":[2,1,8],"283":[2,1,7],"284":[2,1,1],"285":[2,2,13],"286":[2,2,7],"287":[3,2,29],"288":[2,1,1],"289":[1,2,1],"290":[5,3,4],"291":[6,3,4],"292":[2,2,34],"293":[2,2,1],"294":[5,4,25],"295":[4,4,61],"296":[3,2,46],"297":[3,2,48],"298":[5,1,41],"299":[2,5,45],"300":[2,5,1],"301":[3,7,25],"302":[3,7,26],"303":[3,5,1],"304":[3,7,28],"305":[4,7,1],"306":[4,11,38],"307":[4,11,48],"308":[3,7,1],"309":[3,9,37],"310":[3,9,40],"311":[3,9,32],"312":[3,7,1],"313":[2,10,31],"314":[3,10,24],"315":[3,10,30],"316":[4,5,1],"317":[3,9,44],"318":[3,9,22],"319":[3,9,33],"320":[1,5,1],"321":[2,6,93],"322":[2,1,13],"323":[1,1,1],"324":[6,1,37],"325":[4,1,84],"326":[9,1,19],"327":[11,1,26],"328":[16,1,76],"329":[10,1,41],"330":[9,1,76],"331":[11,1,78],"332":[9,1,24],"333":[20,1,42],"334":[14,1,8],"335":[7,1,31],"336":[6,1,33],"337":[8,1,17],"338":[8,1,35],"339":[8,1,20],"340":[1,1,22],"341":[4,1,27],"342":[3,5,26],"343":[3,5,37],"344":[2,5,32],"345":[3,5,95],"346":[4,5,61],"347":[2,5,30],"348":[4,1,38],"349":[2,1,1],"350":[6,3,34],"351":[5,3,34],"352":[2,1,1],"353":[3,3,38],"354":[3,3,17],"355":[1,1,1],"356":[1,2,31],"357":[2,1,32],"358":[4,2,27],"359":[4,2,27],"360":[4,2,19],"361":[12,2,41],"362":[11,2,36],"363":[12,2,45],"364":[11,2,45],"365":[4,2,18],"366":[12,2,30],"367":[6,2,33],"368":[5,2,16],"369":[1,1,25],"370":[5,1,66],"371":[1,5,11],"372":[5,5,52],"373":[1,5,31],"374":[1,5,63],"375":[3,5,1],"376":[1,7,19],"377":[1,7,9],"378":[1,8,34],"379":[1,8,22],"380":[3,5,84],"381":[1,5,73],"382":[2,5,45],"383":[2,5,21],"384":[3,5,6],"385":[1,5,5],"386":[1,5,70],"387":[1,5,19],"388":[1,1,77],"389":[2,1,10],"390":[2,1,40],"391":[1,1,104],"392":[1,2,47],"393":[1,1,67],"394":[1,1,26],"395":[2,1,25],"396":[1,1,92],"397":[2,1,26],"398":[1,2,40],"399":[1,2,45],"400":[3,2,1],"401":[1,5,9],"402":[2,6,50],"403":[1,6,32],"404":[1,5,1],"405":[4,6,41],"406":[2,6,64],"407":[2,5,57],"408":[1,5,5],"409":[2,2,16],"410":[1,4,36],"411":[6,4,52],"412":[5,4,47],"413":[4,4,5],"414":[1,4,51],"415":[1,4,9],"416":[1,1,62],"417":[1,1,33],"418":[1,1,42],"419":[2,2,99],"420":[1,1,14],"421":[2,1,21],"422":[3,1,30],"423":[3,1,39],"424":[1,1,18],"425":[1,1,1],"426":[1,1,86],"427":[4,1,25],"428":[1,5,72],"429":[1,5,78],"430":[1,1,29],"431":[1,1,1],"432":[2,1,26],"433":[3,1,5],"434":[2,1,46],"435":[2,1,137],"436":[7,1,96],"437":[2,1,1],"438":[2,3,25],"439":[4,3,36],"440":[3,1,1],"441":[1,3,186],"442":[1,3,1],"443":[1,4,103],"444":[2,4,39],"445":[1,4,119],"446":[1,4,68],"447":[3,4,81],"448":[2,4,23],"449":[3,4,64],"450":[1,3,25],"451":[1,4,53],"452":[4,4,86],"453":[1,4,48],"454":[1,3,49],"455":[1,4,128],"456":[3,4,76],"457":[1,4,33],"458":[2,3,127],"459":[1,3,25],"460":[3,4,81],"461":[1,1,15],"462":[2,1,70],"463":[3,1,55],"464":[3,1,90],"465":[2,1,61],"466":[4,1,14],"467":[3,1,16],"468":[3,1,77],"469":[1,1,26],"470":[3,1,19],"471":[1,4,34],"472":[1,4,82],"473":[4,1,110],"474":[1,4,90],"475":[3,4,8],"476":[3,4,23],"477":[2,4,105],"478":[2,4,35],"479":[1,4,11],"480":[1,4,11],"481":[1,4,39],"482":[1,4,25],"483":[1,4,73],"484":[1,1,47],"485":[2,1,57],"486":[3,3,72],"487":[2,3,29],"488":[3,1,77],"489":[1,4,69],"490":[1,4,68],"491":[2,1,1],"492":[1,2,1],"493":[4,3,30],"494":[4,3,33],"495":[4,3,96],"496":[1,2,40],"497":[1,1,27],"498":[2,1,42],"499":[2,3,22],"500":[3,1,46],"501":[1,4,35],"502":[1,4,68],"503":[2,1,134],"504":[2,1,1],"505":[1,2,1],"506":[4,3,32],"507":[4,3,44],"508":[1,2,40],"509":[1,1,101],"510":[4,1,3],"511":[2,1,53],"512":[1,1,58],"513":[1,1,58],"514":[1,1,9],"515":[2,1,33],"516":[2,1,24],"517":[1,1,33],"518":[3,1,88],"519":[2,1,77],"520":[1,1,116],"521":[1,1,26],"522":[1,1,1],"523":[1,1,18],"524":[1,1,79],"525":[2,1,21],"526":[2,1,63],"527":[1,1,53],"528":[1,1,36],"529":[1,1,123],"530":[1,1,30],"531":[1,1,64],"532":[1,1,46],"533":[1,1,51],"534":[2,1,51],"535":[2,1,14],"536":[1,1,6],"537":[1,1,242],"538":[2,1,1],"539":[2,2,30],"540":[2,2,52],"541":[2,2,50],"542":[3,2,26],"543":[3,2,21],"544":[1,1,1],"545":[2,1,20],"546":[1,1,16],"547":[3,1,15],"548":[1,1,7],"549":[3,1,9],"550":[1,1,24],"551":[2,1,17],"552":[2,1,1],"553":[1,2,1],"554":[4,3,21],"555":[4,3,37],"556":[1,2,125]},"averageFieldLength":[2.360861759425497,2.1095152603231595,28.61759425493716],"storedFields":{"0":{"title":"Changelog","titles":[]},"1":{"title":"Miscellaneous Chores","titles":["Changelog"]},"2":{"title":"Miscellaneous Chores","titles":["Changelog"]},"3":{"title":"Bug Fixes","titles":["Changelog"]},"4":{"title":"Miscellaneous Chores","titles":["Changelog"]},"5":{"title":"Features","titles":["Changelog"]},"6":{"title":"Bug Fixes","titles":["Changelog"]},"7":{"title":"Performance Improvements","titles":["Changelog"]},"8":{"title":"Code Refactoring","titles":["Changelog"]},"9":{"title":"Bug Fixes","titles":["Changelog"]},"10":{"title":"Features","titles":["Changelog"]},"11":{"title":"Bug Fixes","titles":["Changelog"]},"12":{"title":"Performance Improvements","titles":["Changelog"]},"13":{"title":"Miscellaneous Chores","titles":["Changelog"]},"14":{"title":"Code Refactoring","titles":["Changelog"]},"15":{"title":"Performance Improvements","titles":["Changelog"]},"16":{"title":"Performance Improvements","titles":["Changelog"]},"17":{"title":"Features","titles":["Changelog"]},"18":{"title":"Bug Fixes","titles":["Changelog"]},"19":{"title":"Performance Improvements","titles":["Changelog"]},"20":{"title":"Features","titles":["Changelog"]},"21":{"title":"Bug Fixes","titles":["Changelog"]},"22":{"title":"Performance Improvements","titles":["Changelog"]},"23":{"title":"Performance Improvements","titles":["Changelog"]},"24":{"title":"Performance Improvements","titles":["Changelog"]},"25":{"title":"Features","titles":["Changelog"]},"26":{"title":"Bug Fixes","titles":["Changelog"]},"27":{"title":"Performance Improvements","titles":["Changelog"]},"28":{"title":"Performance Improvements","titles":["Changelog"]},"29":{"title":"Bug Fixes","titles":["Changelog"]},"30":{"title":"Performance Improvements","titles":["Changelog"]},"31":{"title":"Performance Improvements","titles":["Changelog"]},"32":{"title":"Features","titles":["Changelog"]},"33":{"title":"Bug Fixes","titles":["Changelog"]},"34":{"title":"Performance Improvements","titles":["Changelog"]},"35":{"title":"Performance Improvements","titles":["Changelog"]},"36":{"title":"Bug Fixes","titles":["Changelog"]},"37":{"title":"Performance Improvements","titles":["Changelog"]},"38":{"title":"Features","titles":["Changelog"]},"39":{"title":"Bug Fixes","titles":["Changelog"]},"40":{"title":"Performance Improvements","titles":["Changelog"]},"41":{"title":"Performance Improvements","titles":["Changelog"]},"42":{"title":"Bug Fixes","titles":["Changelog"]},"43":{"title":"Performance Improvements","titles":["Changelog"]},"44":{"title":"Performance Improvements","titles":["Changelog"]},"45":{"title":"Bug Fixes","titles":["Changelog"]},"46":{"title":"Bug Fixes","titles":["Changelog"]},"47":{"title":"Performance Improvements","titles":["Changelog"]},"48":{"title":"Performance Improvements","titles":["Changelog"]},"49":{"title":"Performance Improvements","titles":["Changelog"]},"50":{"title":"Performance Improvements","titles":["Changelog"]},"51":{"title":"Features","titles":["Changelog"]},"52":{"title":"Bug Fixes","titles":["Changelog"]},"53":{"title":"Performance Improvements","titles":["Changelog"]},"54":{"title":"Bug Fixes","titles":["Changelog"]},"55":{"title":"Performance Improvements","titles":["Changelog"]},"56":{"title":"Bug Fixes","titles":["Changelog"]},"57":{"title":"Performance Improvements","titles":["Changelog"]},"58":{"title":"Bug Fixes","titles":["Changelog"]},"59":{"title":"Performance Improvements","titles":["Changelog"]},"60":{"title":"Performance Improvements","titles":["Changelog"]},"61":{"title":"Performance Improvements","titles":["Changelog"]},"62":{"title":"Performance Improvements","titles":["Changelog"]},"63":{"title":"Features","titles":["Changelog"]},"64":{"title":"Bug Fixes","titles":["Changelog"]},"65":{"title":"Performance Improvements","titles":["Changelog"]},"66":{"title":"Performance Improvements","titles":["Changelog"]},"67":{"title":"Bug Fixes","titles":["Changelog"]},"68":{"title":"Performance Improvements","titles":["Changelog"]},"69":{"title":"Performance Improvements","titles":["Changelog"]},"70":{"title":"Bug Fixes","titles":["Changelog"]},"71":{"title":"Bug Fixes","titles":["Changelog"]},"72":{"title":"Performance Improvements","titles":["Changelog"]},"73":{"title":"Bug Fixes","titles":["Changelog"]},"74":{"title":"Bug Fixes","titles":["Changelog"]},"75":{"title":"Performance Improvements","titles":["Changelog"]},"76":{"title":"Features","titles":["Changelog"]},"77":{"title":"Performance Improvements","titles":["Changelog"]},"78":{"title":"Bug Fixes","titles":["Changelog"]},"79":{"title":"Bug Fixes","titles":["Changelog"]},"80":{"title":"Performance Improvements","titles":["Changelog"]},"81":{"title":"Bug Fixes","titles":["Changelog"]},"82":{"title":"Performance Improvements","titles":["Changelog"]},"83":{"title":"Features","titles":["Changelog"]},"84":{"title":"Bug Fixes","titles":["Changelog"]},"85":{"title":"Performance Improvements","titles":["Changelog"]},"86":{"title":"Performance Improvements","titles":["Changelog"]},"87":{"title":"Performance Improvements","titles":["Changelog"]},"88":{"title":"Bug Fixes","titles":["Changelog"]},"89":{"title":"Performance Improvements","titles":["Changelog"]},"90":{"title":"Bug Fixes","titles":["Changelog"]},"91":{"title":"Miscellaneous Chores","titles":["Changelog"]},"92":{"title":"Features","titles":["Changelog"]},"93":{"title":"Performance Improvements","titles":["Changelog"]},"94":{"title":"Performance Improvements","titles":["Changelog"]},"95":{"title":"Bug Fixes","titles":["Changelog"]},"96":{"title":"Performance Improvements","titles":["Changelog"]},"97":{"title":"Features","titles":["Changelog"]},"98":{"title":"Performance Improvements","titles":["Changelog"]},"99":{"title":"Bug Fixes","titles":["Changelog"]},"100":{"title":"Performance Improvements","titles":["Changelog"]},"101":{"title":"Bug Fixes","titles":["Changelog"]},"102":{"title":"Performance Improvements","titles":["Changelog"]},"103":{"title":"Performance Improvements","titles":["Changelog"]},"104":{"title":"Performance Improvements","titles":["Changelog"]},"105":{"title":"Features","titles":["Changelog"]},"106":{"title":"Performance Improvements","titles":["Changelog"]},"107":{"title":"Bug Fixes","titles":["Changelog"]},"108":{"title":"Performance Improvements","titles":["Changelog"]},"109":{"title":"Performance Improvements","titles":["Changelog"]},"110":{"title":"Performance Improvements","titles":["Changelog"]},"111":{"title":"Bug Fixes","titles":["Changelog"]},"112":{"title":"Features","titles":["Changelog"]},"113":{"title":"Bug Fixes","titles":["Changelog"]},"114":{"title":"Performance Improvements","titles":["Changelog"]},"115":{"title":"Performance Improvements","titles":["Changelog"]},"116":{"title":"Bug Fixes","titles":["Changelog"]},"117":{"title":"Bug Fixes","titles":["Changelog"]},"118":{"title":"Performance Improvements","titles":["Changelog"]},"119":{"title":"Bug Fixes","titles":["Changelog"]},"120":{"title":"Features","titles":["Changelog"]},"121":{"title":"Bug Fixes","titles":["Changelog"]},"122":{"title":"Performance Improvements","titles":["Changelog"]},"123":{"title":"Bug Fixes","titles":["Changelog"]},"124":{"title":"Features","titles":["Changelog"]},"125":{"title":"Performance Improvements","titles":["Changelog"]},"126":{"title":"Bug Fixes","titles":["Changelog"]},"127":{"title":"Performance Improvements","titles":["Changelog"]},"128":{"title":"Bug Fixes","titles":["Changelog"]},"129":{"title":"Bug Fixes","titles":["Changelog"]},"130":{"title":"Bug Fixes","titles":["Changelog"]},"131":{"title":"Performance Improvements","titles":["Changelog"]},"132":{"title":"Features","titles":["Changelog"]},"133":{"title":"Bug Fixes","titles":["Changelog"]},"134":{"title":"Performance Improvements","titles":["Changelog"]},"135":{"title":"Bug Fixes","titles":["Changelog"]},"136":{"title":"Performance Improvements","titles":["Changelog"]},"137":{"title":"Bug Fixes","titles":["Changelog"]},"138":{"title":"Bug Fixes","titles":["Changelog"]},"139":{"title":"Performance Improvements","titles":["Changelog"]},"140":{"title":"Features","titles":["Changelog"]},"141":{"title":"Bug Fixes","titles":["Changelog"]},"142":{"title":"Bug Fixes","titles":["Changelog"]},"143":{"title":"Performance Improvements","titles":["Changelog"]},"144":{"title":"Performance Improvements","titles":["Changelog"]},"145":{"title":"Performance Improvements","titles":["Changelog"]},"146":{"title":"Performance Improvements","titles":["Changelog"]},"147":{"title":"Performance Improvements","titles":["Changelog"]},"148":{"title":"Bug Fixes","titles":["Changelog"]},"149":{"title":"Performance Improvements","titles":["Changelog"]},"150":{"title":"Performance Improvements","titles":["Changelog"]},"151":{"title":"Features","titles":["Changelog"]},"152":{"title":"Bug Fixes","titles":["Changelog"]},"153":{"title":"Performance Improvements","titles":["Changelog"]},"154":{"title":"Miscellaneous Chores","titles":["Changelog"]},"155":{"title":"Performance Improvements","titles":["Changelog"]},"156":{"title":"Bug Fixes","titles":["Changelog"]},"157":{"title":"Performance Improvements","titles":["Changelog"]},"158":{"title":"Bug Fixes","titles":["Changelog"]},"159":{"title":"Bug Fixes","titles":["Changelog"]},"160":{"title":"Performance Improvements","titles":["Changelog"]},"161":{"title":"Miscellaneous Chores","titles":["Changelog"]},"162":{"title":"Features","titles":["Changelog"]},"163":{"title":"Performance Improvements","titles":["Changelog"]},"164":{"title":"Performance Improvements","titles":["Changelog"]},"165":{"title":"Performance Improvements","titles":["Changelog"]},"166":{"title":"Bug Fixes","titles":["Changelog"]},"167":{"title":"Features","titles":["Changelog"]},"168":{"title":"Performance Improvements","titles":["Changelog"]},"169":{"title":"Performance Improvements","titles":["Changelog"]},"170":{"title":"Performance Improvements","titles":["Changelog"]},"171":{"title":"Bug Fixes","titles":["Changelog"]},"172":{"title":"Performance Improvements","titles":["Changelog"]},"173":{"title":"Bug Fixes","titles":["Changelog"]},"174":{"title":"Performance Improvements","titles":["Changelog"]},"175":{"title":"Performance Improvements","titles":["Changelog"]},"176":{"title":"Features","titles":["Changelog"]},"177":{"title":"Bug Fixes","titles":["Changelog"]},"178":{"title":"Performance Improvements","titles":["Changelog"]},"179":{"title":"Bug Fixes","titles":["Changelog"]},"180":{"title":"Bug Fixes","titles":["Changelog"]},"181":{"title":"Bug Fixes","titles":["Changelog"]},"182":{"title":"Bug Fixes","titles":["Changelog"]},"183":{"title":"Performance Improvements","titles":["Changelog"]},"184":{"title":"Features","titles":["Changelog"]},"185":{"title":"Bug Fixes","titles":["Changelog"]},"186":{"title":"Performance Improvements","titles":["Changelog"]},"187":{"title":"Performance Improvements","titles":["Changelog"]},"188":{"title":"Bug Fixes","titles":["Changelog"]},"189":{"title":"Bug Fixes","titles":["Changelog"]},"190":{"title":"Bug Fixes","titles":["Changelog"]},"191":{"title":"Bug Fixes","titles":["Changelog"]},"192":{"title":"Bug Fixes","titles":["Changelog"]},"193":{"title":"Bug Fixes","titles":["Changelog"]},"194":{"title":"Bug Fixes","titles":["Changelog"]},"195":{"title":"Bug Fixes","titles":["Changelog"]},"196":{"title":"Features","titles":["Changelog"]},"197":{"title":"Bug Fixes","titles":["Changelog"]},"198":{"title":"Performance Improvements","titles":["Changelog"]},"199":{"title":"Bug Fixes","titles":["Changelog"]},"200":{"title":"Bug Fixes","titles":["Changelog"]},"201":{"title":"Features","titles":["Changelog"]},"202":{"title":"Bug Fixes","titles":["Changelog"]},"203":{"title":"Performance Improvements","titles":["Changelog"]},"204":{"title":"Performance Improvements","titles":["Changelog"]},"205":{"title":"Features","titles":["Changelog"]},"206":{"title":"Bug Fixes","titles":["Changelog"]},"207":{"title":"Bug Fixes","titles":["Changelog"]},"208":{"title":"Performance Improvements","titles":["Changelog"]},"209":{"title":"Bug Fixes","titles":["Changelog"]},"210":{"title":"Bug Fixes","titles":["Changelog"]},"211":{"title":"Performance Improvements","titles":["Changelog"]},"212":{"title":"Bug Fixes","titles":["Changelog"]},"213":{"title":"Performance Improvements","titles":["Changelog"]},"214":{"title":"Bug Fixes","titles":["Changelog"]},"215":{"title":"Bug Fixes","titles":["Changelog"]},"216":{"title":"Bug Fixes","titles":["Changelog"]},"217":{"title":"Bug Fixes","titles":["Changelog"]},"218":{"title":"Bug Fixes","titles":["Changelog"]},"219":{"title":"Bug Fixes","titles":["Changelog"]},"220":{"title":"Bug Fixes","titles":["Changelog"]},"221":{"title":"Bug Fixes","titles":["Changelog"]},"222":{"title":"Bug Fixes","titles":["Changelog"]},"223":{"title":"Performance Improvements","titles":["Changelog"]},"224":{"title":"Features","titles":["Changelog"]},"225":{"title":"Bug Fixes","titles":["Changelog"]},"226":{"title":"Performance Improvements","titles":["Changelog"]},"227":{"title":"Bug Fixes","titles":["Changelog"]},"228":{"title":"Performance Improvements","titles":["Changelog"]},"229":{"title":"Features","titles":["Changelog"]},"230":{"title":"Performance Improvements","titles":["Changelog"]},"231":{"title":"Performance Improvements","titles":["Changelog"]},"232":{"title":"Bug Fixes","titles":["Changelog"]},"233":{"title":"Performance Improvements","titles":["Changelog"]},"234":{"title":"Performance Improvements","titles":["Changelog"]},"235":{"title":"Bug Fixes","titles":["Changelog"]},"236":{"title":"Bug Fixes","titles":["Changelog"]},"237":{"title":"Bug Fixes","titles":["Changelog"]},"238":{"title":"Bug Fixes","titles":["Changelog"]},"239":{"title":"Bug Fixes","titles":["Changelog"]},"240":{"title":"Performance Improvements","titles":["Changelog"]},"241":{"title":"Features","titles":["Changelog"]},"242":{"title":"Bug Fixes","titles":["Changelog"]},"243":{"title":"Bug Fixes","titles":["Changelog"]},"244":{"title":"Performance Improvements","titles":["Changelog"]},"245":{"title":"Bug Fixes","titles":["Changelog"]},"246":{"title":"Features","titles":["Changelog"]},"247":{"title":"Bug Fixes","titles":["Changelog"]},"248":{"title":"Features","titles":["Changelog"]},"249":{"title":"Bug Fixes","titles":["Changelog"]},"250":{"title":"Bug Fixes","titles":["Changelog"]},"251":{"title":"Bug Fixes","titles":["Changelog"]},"252":{"title":"Bug Fixes","titles":["Changelog"]},"253":{"title":"Features","titles":["Changelog"]},"254":{"title":"Features","titles":["Changelog"]},"255":{"title":"Features","titles":["Changelog"]},"256":{"title":"Performance Improvements","titles":["Changelog"]},"257":{"title":"Bug Fixes","titles":["Changelog"]},"258":{"title":"1.0.0 (2023-09-16)","titles":["Changelog"]},"259":{"title":"Features","titles":["Changelog","1.0.0 (2023-09-16)"]},"260":{"title":"Bug Fixes","titles":["Changelog","1.0.0 (2023-09-16)"]},"261":{"title":"Donate Project ♥️","titles":[]},"262":{"title":"Escrcpy: A Graphical Android Device Control Tool Based on Electron","titles":[]},"263":{"title":"What is Escrcpy?","titles":["Escrcpy: A Graphical Android Device Control Tool Based on Electron"]},"264":{"title":"Core Features","titles":["Escrcpy: A Graphical Android Device Control Tool Based on Electron"]},"265":{"title":"Efficient and Stable Screen Mirroring","titles":["Escrcpy: A Graphical Android Device Control Tool Based on Electron","Core Features"]},"266":{"title":"Rich Functional Features","titles":["Escrcpy: A Graphical Android Device Control Tool Based on Electron","Core Features"]},"267":{"title":"Optimized User Experience","titles":["Escrcpy: A Graphical Android Device Control Tool Based on Electron","Core Features"]},"268":{"title":"Use Cases","titles":["Escrcpy: A Graphical Android Device Control Tool Based on Electron"]},"269":{"title":"Cross-Platform Support","titles":["Escrcpy: A Graphical Android Device Control Tool Based on Electron"]},"270":{"title":"Technical Advantages","titles":["Escrcpy: A Graphical Android Device Control Tool Based on Electron"]},"271":{"title":"Future Development","titles":["Escrcpy: A Graphical Android Device Control Tool Based on Electron"]},"272":{"title":"How to use","titles":["Escrcpy: A Graphical Android Device Control Tool Based on Electron"]},"273":{"title":"Conclusion","titles":["Escrcpy: A Graphical Android Device Control Tool Based on Electron"]},"274":{"title":"Milestones","titles":[]},"275":{"title":"Preferences","titles":[]},"276":{"title":"General","titles":["Preferences"]},"277":{"title":"Video Control","titles":["Preferences"]},"278":{"title":"Device Control","titles":["Preferences"]},"279":{"title":"Window Control","titles":["Preferences"]},"280":{"title":"Audio Control","titles":["Preferences"]},"281":{"title":"Audio/Video Recording","titles":["Preferences"]},"282":{"title":"Input Control","titles":["Preferences"]},"283":{"title":"Camera Control","titles":["Preferences"]},"284":{"title":"Device Operation","titles":[]},"285":{"title":"Batch Processing","titles":["Device Operation"]},"286":{"title":"Control Model","titles":["Device Operation"]},"287":{"title":"Device Interaction Bar","titles":["Device Operation"]},"288":{"title":"Quick Start","titles":[]},"289":{"title":"Installation","titles":["Quick Start"]},"290":{"title":"Manual installation via released packages","titles":["Quick Start","Installation"]},"291":{"title":"macOS can be installed via Homebrew","titles":["Quick Start","Installation"]},"292":{"title":"USB Connection","titles":["Quick Start"]},"293":{"title":"WIFI Connection","titles":["Quick Start"]},"294":{"title":"Scan QR Code to Connect","titles":["Quick Start","WIFI Connection"]},"295":{"title":"Connect via IP Address","titles":["Quick Start","WIFI Connection"]},"296":{"title":"macOS && Linux","titles":["Quick Start"]},"297":{"title":"Gnirehtet Reverse Tethering","titles":["Quick Start"]},"298":{"title":"Device Window Arrangement Feature Guide","titles":[]},"299":{"title":"Feature Overview","titles":["Device Window Arrangement Feature Guide"]},"300":{"title":"Core Components","titles":["Device Window Arrangement Feature Guide"]},"301":{"title":"Global Configuration Component","titles":["Device Window Arrangement Feature Guide","Core Components"]},"302":{"title":"Device Window Component","titles":["Device Window Arrangement Feature Guide","Core Components"]},"303":{"title":"Detailed Operation Guide","titles":["Device Window Arrangement Feature Guide"]},"304":{"title":"Starting Window Arrangement","titles":["Device Window Arrangement Feature Guide","Detailed Operation Guide"]},"305":{"title":"Adding and Managing Components","titles":["Device Window Arrangement Feature Guide","Detailed Operation Guide"]},"306":{"title":"Adding Global Configuration Component","titles":["Device Window Arrangement Feature Guide","Detailed Operation Guide","Adding and Managing Components"]},"307":{"title":"Adding Device Window Components","titles":["Device Window Arrangement Feature Guide","Detailed Operation Guide","Adding and Managing Components"]},"308":{"title":"Window Layout Adjustment","titles":["Device Window Arrangement Feature Guide","Detailed Operation Guide"]},"309":{"title":"Moving Window Position","titles":["Device Window Arrangement Feature Guide","Detailed Operation Guide","Window Layout Adjustment"]},"310":{"title":"Adjusting Window Size","titles":["Device Window Arrangement Feature Guide","Detailed Operation Guide","Window Layout Adjustment"]},"311":{"title":"Size Limitation Description","titles":["Device Window Arrangement Feature Guide","Detailed Operation Guide","Window Layout Adjustment"]},"312":{"title":"Layout Management Operations","titles":["Device Window Arrangement Feature Guide","Detailed Operation Guide"]},"313":{"title":"Reset Layout","titles":["Device Window Arrangement Feature Guide","Detailed Operation Guide","Layout Management Operations"]},"314":{"title":"Clear All Components","titles":["Device Window Arrangement Feature Guide","Detailed Operation Guide","Layout Management Operations"]},"315":{"title":"Delete Individual Component","titles":["Device Window Arrangement Feature Guide","Detailed Operation Guide","Layout Management Operations"]},"316":{"title":"Configuration Saving and Application","titles":["Device Window Arrangement Feature Guide"]},"317":{"title":"Saving Layout Configuration","titles":["Device Window Arrangement Feature Guide","Configuration Saving and Application"]},"318":{"title":"Configuration Storage Mechanism","titles":["Device Window Arrangement Feature Guide","Configuration Saving and Application"]},"319":{"title":"Configuration Application Timing","titles":["Device Window Arrangement Feature Guide","Configuration Saving and Application"]},"320":{"title":"Troubleshooting","titles":["Device Window Arrangement Feature Guide"]},"321":{"title":"Common Issues","titles":["Device Window Arrangement Feature Guide","Troubleshooting"]},"322":{"title":"Help Center","titles":[]},"323":{"title":"Escrcpy","titles":[]},"324":{"title":"Computer cannot detect device after connecting","titles":["Escrcpy"]},"325":{"title":"Unable to enter Chinese","titles":["Escrcpy"]},"326":{"title":"Wireless connection prompts: The target computer actively refuses access","titles":["Escrcpy"]},"327":{"title":"Clicking wireless mode after connecting via data cable has no response","titles":["Escrcpy"]},"328":{"title":"Why is the device interaction control bar not designed as an automatically sticking floating menu?","titles":["Escrcpy"]},"329":{"title":"Some devices can see screenshots after connecting but cannot operate","titles":["Escrcpy"]},"330":{"title":"Downloading prompts antivirus detection causing unable to download normally","titles":["Escrcpy"]},"331":{"title":"Failed to get device list or error when starting mirroring/recording","titles":["Escrcpy"]},"332":{"title":"macOS window minimized to system tray icon not found","titles":["Escrcpy"]},"333":{"title":"After a successful installation of macOS, when I try to open it, I receive a prompt saying the file is damaged.","titles":["Escrcpy"]},"334":{"title":"Unable to locate the input point DiscardvirtualMemory on the dynamic link library Kernel32.dll.","titles":["Escrcpy"]},"335":{"title":"Audio capture exception causing mirroring failure.","titles":["Escrcpy"]},"336":{"title":"Microsoft Store version mirror startup error","titles":["Escrcpy"]},"337":{"title":"Could not execute "adb start-server"","titles":["Escrcpy"]},"338":{"title":"Unable to Open After Installation in Linux System","titles":["Escrcpy"]},"339":{"title":"Black edges appear after resizing the casting window","titles":["Escrcpy"]},"340":{"title":"Scrcpy","titles":[]},"341":{"title":"adb and USB issues","titles":["Scrcpy"]},"342":{"title":"adb not found","titles":["Scrcpy","adb and USB issues"]},"343":{"title":"Device not detected","titles":["Scrcpy","adb and USB issues"]},"344":{"title":"Device unauthorized","titles":["Scrcpy","adb and USB issues"]},"345":{"title":"Several devices connected","titles":["Scrcpy","adb and USB issues"]},"346":{"title":"Conflicts between adb versions","titles":["Scrcpy","adb and USB issues"]},"347":{"title":"Device disconnected","titles":["Scrcpy","adb and USB issues"]},"348":{"title":"OTG issues on Windows","titles":["Scrcpy"]},"349":{"title":"Control issues","titles":["Scrcpy"]},"350":{"title":"Mouse and keyboard do not work","titles":["Scrcpy","Control issues"]},"351":{"title":"Special characters do not work","titles":["Scrcpy","Control issues"]},"352":{"title":"Client issues","titles":["Scrcpy"]},"353":{"title":"Issue with Wayland","titles":["Scrcpy","Client issues"]},"354":{"title":"KWin compositor crashes","titles":["Scrcpy","Client issues"]},"355":{"title":"Crashes","titles":["Scrcpy"]},"356":{"title":"Exception","titles":["Scrcpy","Crashes"]},"357":{"title":"Gnirehtet API","titles":[]},"358":{"title":"gnirehtet install [serial]","titles":["Gnirehtet API"]},"359":{"title":"gnirehtet uninstall [serial]","titles":["Gnirehtet API"]},"360":{"title":"gnirehtet reinstall [serial]","titles":["Gnirehtet API"]},"361":{"title":"gnirehtet run [serial] [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]","titles":["Gnirehtet API"]},"362":{"title":"gnirehtet autorun [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]","titles":["Gnirehtet API"]},"363":{"title":"gnirehtet start [serial] [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]","titles":["Gnirehtet API"]},"364":{"title":"gnirehtet autostart [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]","titles":["Gnirehtet API"]},"365":{"title":"gnirehtet stop [serial]","titles":["Gnirehtet API"]},"366":{"title":"gnirehtet restart [serial] [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]","titles":["Gnirehtet API"]},"367":{"title":"gnirehtet tunnel [serial] [-p PORT]","titles":["Gnirehtet API"]},"368":{"title":"gnirehtet relay [-p PORT]","titles":["Gnirehtet API"]},"369":{"title":"Reference","titles":[]},"370":{"title":"Gnirehtet (v2.5.1)","titles":[]},"371":{"title":"Flavors","titles":["Gnirehtet (v2.5.1)"]},"372":{"title":"Which one to choose?","titles":["Gnirehtet (v2.5.1)","Flavors"]},"373":{"title":"Requirements","titles":["Gnirehtet (v2.5.1)"]},"374":{"title":"adb","titles":["Gnirehtet (v2.5.1)","Requirements"]},"375":{"title":"Get the app","titles":["Gnirehtet (v2.5.1)"]},"376":{"title":"Homebrew","titles":["Gnirehtet (v2.5.1)","Get the app"]},"377":{"title":"Download","titles":["Gnirehtet (v2.5.1)","Get the app"]},"378":{"title":"Rust","titles":["Gnirehtet (v2.5.1)","Get the app","Download"]},"379":{"title":"Java","titles":["Gnirehtet (v2.5.1)","Get the app","Download"]},"380":{"title":"Run (simple)","titles":["Gnirehtet (v2.5.1)"]},"381":{"title":"Run","titles":["Gnirehtet (v2.5.1)"]},"382":{"title":"Run manually","titles":["Gnirehtet (v2.5.1)"]},"383":{"title":"Environment variables","titles":["Gnirehtet (v2.5.1)"]},"384":{"title":"Why gnirehtet?","titles":["Gnirehtet (v2.5.1)"]},"385":{"title":"Developers","titles":["Gnirehtet (v2.5.1)"]},"386":{"title":"Licence","titles":["Gnirehtet (v2.5.1)"]},"387":{"title":"Articles","titles":["Gnirehtet (v2.5.1)"]},"388":{"title":"Audio","titles":[]},"389":{"title":"No audio","titles":["Audio"]},"390":{"title":"Audio only","titles":["Audio"]},"391":{"title":"Source","titles":["Audio"]},"392":{"title":"Duplication","titles":["Audio","Source"]},"393":{"title":"Codec","titles":["Audio"]},"394":{"title":"Encoder","titles":["Audio"]},"395":{"title":"Bit rate","titles":["Audio"]},"396":{"title":"Buffering","titles":["Audio"]},"397":{"title":"Build scrcpy","titles":[]},"398":{"title":"Branches","titles":["Build scrcpy"]},"399":{"title":"Requirements","titles":["Build scrcpy"]},"400":{"title":"System-specific steps","titles":["Build scrcpy"]},"401":{"title":"Linux","titles":["Build scrcpy","System-specific steps"]},"402":{"title":"Debian/Ubuntu","titles":["Build scrcpy","System-specific steps","Linux"]},"403":{"title":"Fedora","titles":["Build scrcpy","System-specific steps","Linux"]},"404":{"title":"Windows","titles":["Build scrcpy","System-specific steps"]},"405":{"title":"Cross-compile from Linux","titles":["Build scrcpy","System-specific steps","Windows"]},"406":{"title":"In MSYS2","titles":["Build scrcpy","System-specific steps","Windows"]},"407":{"title":"Mac OS","titles":["Build scrcpy","System-specific steps"]},"408":{"title":"Docker","titles":["Build scrcpy","System-specific steps"]},"409":{"title":"Common steps","titles":["Build scrcpy"]},"410":{"title":"Build","titles":["Build scrcpy","Common steps"]},"411":{"title":"Option 1: Build everything from sources","titles":["Build scrcpy","Common steps","Build"]},"412":{"title":"Option 2: Use prebuilt server","titles":["Build scrcpy","Common steps","Build"]},"413":{"title":"Run without installing:","titles":["Build scrcpy","Common steps"]},"414":{"title":"Install","titles":["Build scrcpy","Common steps"]},"415":{"title":"Uninstall","titles":["Build scrcpy","Common steps"]},"416":{"title":"Camera","titles":[]},"417":{"title":"List","titles":["Camera"]},"418":{"title":"Selection","titles":["Camera"]},"419":{"title":"Size selection","titles":["Camera","Selection"]},"420":{"title":"Rotation","titles":["Camera"]},"421":{"title":"Frame rate","titles":["Camera"]},"422":{"title":"High speed capture","titles":["Camera"]},"423":{"title":"Brace expansion tip","titles":["Camera"]},"424":{"title":"Webcam","titles":["Camera"]},"425":{"title":"Connection","titles":[]},"426":{"title":"Selection","titles":["Connection"]},"427":{"title":"TCP/IP (wireless)","titles":["Connection"]},"428":{"title":"Automatic","titles":["Connection","TCP/IP (wireless)"]},"429":{"title":"Manual","titles":["Connection","TCP/IP (wireless)"]},"430":{"title":"Autostart","titles":["Connection"]},"431":{"title":"Control","titles":[]},"432":{"title":"Read-only","titles":["Control"]},"433":{"title":"Keyboard and mouse","titles":["Control"]},"434":{"title":"Control only","titles":["Control"]},"435":{"title":"Copy-paste","titles":["Control"]},"436":{"title":"Pinch-to-zoom, rotate and tilt simulation","titles":["Control"]},"437":{"title":"File drop","titles":["Control"]},"438":{"title":"Install APK","titles":["Control","File drop"]},"439":{"title":"Push file to device","titles":["Control","File drop"]},"440":{"title":"scrcpy for developers","titles":[]},"441":{"title":"Overview","titles":["scrcpy for developers"]},"442":{"title":"Server","titles":["scrcpy for developers"]},"443":{"title":"Privileges","titles":["scrcpy for developers","Server"]},"444":{"title":"Hidden methods","titles":["scrcpy for developers","Server"]},"445":{"title":"Execution","titles":["scrcpy for developers","Server"]},"446":{"title":"Components","titles":["scrcpy for developers","Server"]},"447":{"title":"Screen video encoding","titles":["scrcpy for developers","Server"]},"448":{"title":"Audio encoding","titles":["scrcpy for developers","Server"]},"449":{"title":"Input events injection","titles":["scrcpy for developers","Server"]},"450":{"title":"Client","titles":["scrcpy for developers"]},"451":{"title":"Initialization","titles":["scrcpy for developers","Client"]},"452":{"title":"Video and audio streams","titles":["scrcpy for developers","Client"]},"453":{"title":"Controller","titles":["scrcpy for developers","Client"]},"454":{"title":"Protocol","titles":["scrcpy for developers"]},"455":{"title":"Connection","titles":["scrcpy for developers","Protocol"]},"456":{"title":"Video and audio","titles":["scrcpy for developers","Protocol"]},"457":{"title":"Controls","titles":["scrcpy for developers","Protocol"]},"458":{"title":"Standalone server","titles":["scrcpy for developers"]},"459":{"title":"Hack","titles":["scrcpy for developers"]},"460":{"title":"Debug the server","titles":["scrcpy for developers","Hack"]},"461":{"title":"Device","titles":[]},"462":{"title":"Stay awake","titles":["Device"]},"463":{"title":"Screen off timeout","titles":["Device"]},"464":{"title":"Turn screen off","titles":["Device"]},"465":{"title":"Show touches","titles":["Device"]},"466":{"title":"Power off on close","titles":["Device"]},"467":{"title":"Power on on start","titles":["Device"]},"468":{"title":"Start Android app","titles":["Device"]},"469":{"title":"Gamepad","titles":[]},"470":{"title":"Physical gamepad simulation","titles":["Gamepad"]},"471":{"title":"UHID","titles":["Gamepad","Physical gamepad simulation"]},"472":{"title":"AOA","titles":["Gamepad","Physical gamepad simulation"]},"473":{"title":"scrcpy (v3.2)","titles":[]},"474":{"title":"Prerequisites","titles":["scrcpy (v3.2)"]},"475":{"title":"Get the app","titles":["scrcpy (v3.2)"]},"476":{"title":"Must-know tips","titles":["scrcpy (v3.2)"]},"477":{"title":"Usage examples","titles":["scrcpy (v3.2)"]},"478":{"title":"User documentation","titles":["scrcpy (v3.2)"]},"479":{"title":"Resources","titles":["scrcpy (v3.2)"]},"480":{"title":"Articles","titles":["scrcpy (v3.2)"]},"481":{"title":"Contact","titles":["scrcpy (v3.2)"]},"482":{"title":"Donate","titles":["scrcpy (v3.2)"]},"483":{"title":"Licence","titles":["scrcpy (v3.2)"]},"484":{"title":"Keyboard","titles":[]},"485":{"title":"SDK keyboard","titles":["Keyboard"]},"486":{"title":"Text injection preference","titles":["Keyboard","SDK keyboard"]},"487":{"title":"Key repeat","titles":["Keyboard","SDK keyboard"]},"488":{"title":"Physical keyboard simulation","titles":["Keyboard"]},"489":{"title":"UHID","titles":["Keyboard","Physical keyboard simulation"]},"490":{"title":"AOA","titles":["Keyboard","Physical keyboard simulation"]},"491":{"title":"On Linux","titles":[]},"492":{"title":"Install","titles":["On Linux"]},"493":{"title":"From the official release","titles":["On Linux","Install"]},"494":{"title":"From your package manager","titles":["On Linux","Install"]},"495":{"title":"From an install script","titles":["On Linux","Install"]},"496":{"title":"Run","titles":["On Linux"]},"497":{"title":"Mouse","titles":[]},"498":{"title":"SDK mouse","titles":["Mouse"]},"499":{"title":"Mouse hover","titles":["Mouse","SDK mouse"]},"500":{"title":"Physical mouse simulation","titles":["Mouse"]},"501":{"title":"UHID","titles":["Mouse","Physical mouse simulation"]},"502":{"title":"AOA","titles":["Mouse","Physical mouse simulation"]},"503":{"title":"Mouse bindings","titles":["Mouse"]},"504":{"title":"On macOS","titles":[]},"505":{"title":"Install","titles":["On macOS"]},"506":{"title":"From the official release","titles":["On macOS","Install"]},"507":{"title":"From a package manager","titles":["On macOS","Install"]},"508":{"title":"Run","titles":["On macOS"]},"509":{"title":"OTG","titles":[]},"510":{"title":"OTG issues on Windows","titles":["OTG"]},"511":{"title":"Control only","titles":["OTG"]},"512":{"title":"Recording","titles":[]},"513":{"title":"Format","titles":["Recording"]},"514":{"title":"Rotation","titles":["Recording"]},"515":{"title":"No playback","titles":["Recording"]},"516":{"title":"Time limit","titles":["Recording"]},"517":{"title":"Tunnels","titles":[]},"518":{"title":"Remote ADB server","titles":["Tunnels"]},"519":{"title":"SSH tunnel","titles":["Tunnels"]},"520":{"title":"Video4Linux","titles":[]},"521":{"title":"Buffering","titles":["Video4Linux"]},"522":{"title":"Video","titles":[]},"523":{"title":"Source","titles":["Video"]},"524":{"title":"Size","titles":["Video"]},"525":{"title":"Bit rate","titles":["Video"]},"526":{"title":"Frame rate","titles":["Video"]},"527":{"title":"Codec","titles":["Video"]},"528":{"title":"Encoder","titles":["Video"]},"529":{"title":"Orientation","titles":["Video"]},"530":{"title":"Angle","titles":["Video"]},"531":{"title":"Crop","titles":["Video"]},"532":{"title":"Display","titles":["Video"]},"533":{"title":"Buffering","titles":["Video"]},"534":{"title":"No playback","titles":["Video"]},"535":{"title":"No video","titles":["Video"]},"536":{"title":"Video4Linux","titles":["Video"]},"537":{"title":"Shortcuts","titles":[]},"538":{"title":"Virtual display","titles":[]},"539":{"title":"New display","titles":["Virtual display"]},"540":{"title":"Start app","titles":["Virtual display"]},"541":{"title":"System decorations","titles":["Virtual display"]},"542":{"title":"Destroy on close","titles":["Virtual display"]},"543":{"title":"Display IME policy","titles":["Virtual display"]},"544":{"title":"Window","titles":[]},"545":{"title":"Disable window","titles":["Window"]},"546":{"title":"Title","titles":["Window"]},"547":{"title":"Position and size","titles":["Window"]},"548":{"title":"Borderless","titles":["Window"]},"549":{"title":"Always on top","titles":["Window"]},"550":{"title":"Fullscreen","titles":["Window"]},"551":{"title":"Disable screensaver","titles":["Window"]},"552":{"title":"On Windows","titles":[]},"553":{"title":"Install","titles":["On Windows"]},"554":{"title":"From the official release","titles":["On Windows","Install"]},"555":{"title":"From a package manager","titles":["On Windows","Install"]},"556":{"title":"Run","titles":["On Windows"]}},"dirtCount":0,"index":[["⁵only",{"2":{"537":1}}],["³4th",{"2":{"537":1}}],["²right",{"2":{"537":1}}],["¹double",{"2":{"537":1}}],["⁴for",{"2":{"537":1}}],["⁴",{"2":{"537":1}}],["~1",{"2":{"473":1}}],["`",{"2":{"456":2,"503":4}}],["^^^^",{"2":{"503":1}}],["^^",{"2":{"456":1}}],[">",{"2":{"452":2,"456":4,"519":3}}],["||||",{"2":{"503":2}}],["|||",{"2":{"503":2}}],["||",{"2":{"456":1,"503":2}}],["|",{"2":{"429":1,"456":2,"457":2,"503":2,"537":9}}],["$9",{"2":{"429":1}}],["$path",{"2":{"406":1,"407":1}}],["$java",{"2":{"406":1,"407":1}}],["$",{"2":{"403":1,"407":1}}],["$env",{"2":{"346":1,"426":1,"518":1,"519":2}}],["=",{"2":{"346":1,"406":1,"426":1,"435":1,"460":1,"474":1,"518":1,"519":2,"537":1}}],["kmg",{"2":{"511":1}}],["k",{"2":{"435":1,"477":1,"484":1,"489":1}}],["known",{"2":{"513":1}}],["knows",{"2":{"441":1}}],["know",{"0":{"476":1},"2":{"428":1}}],["karaoke",{"2":{"391":1}}],["kill",{"2":{"518":1}}],["killing",{"2":{"346":1}}],["kinds",{"2":{"486":1}}],["kind",{"2":{"386":1,"483":1}}],["kwin",{"0":{"354":1}}],["kernel",{"2":{"469":1,"471":1,"484":1,"489":1,"497":1,"501":1}}],["kernel32",{"0":{"334":1}}],["kept",{"2":{"396":1}}],["keeping",{"2":{"392":1}}],["keep",{"2":{"261":1,"278":1,"280":1,"381":1,"441":1,"518":1,"519":2,"534":1,"537":2,"549":1}}],["keyevent",{"2":{"449":1}}],["keycodes",{"2":{"449":1}}],["keycode",{"2":{"449":1}}],["key=value",{"2":{"445":1}}],["keys",{"2":{"432":1,"445":1,"486":1,"537":2}}],["key",{"0":{"487":1},"2":{"130":1,"380":1,"435":2,"447":1,"456":2,"486":5,"487":4,"503":1,"537":2}}],["keyboard=disabled",{"2":{"484":1,"509":1}}],["keyboard=sdk",{"2":{"484":1,"485":2,"489":2}}],["keyboard=uhid",{"2":{"434":1,"477":1,"484":1,"489":1,"511":1}}],["keyboard=aoa",{"2":{"348":1,"434":1,"484":1,"489":2,"490":1,"509":1,"511":1}}],["keyboards",{"2":{"325":1}}],["keyboard",{"0":{"350":1,"433":1,"484":1,"485":1,"488":1},"1":{"485":1,"486":2,"487":2,"488":1,"489":2,"490":2},"2":{"12":1,"47":1,"282":2,"325":7,"329":1,"351":2,"433":1,"434":1,"441":1,"473":2,"474":1,"477":2,"478":1,"484":4,"485":2,"486":2,"488":4,"489":5,"490":2,"509":6,"537":3}}],["++sn",{"2":{"503":1}}],["++++",{"2":{"503":1}}],["+",{"2":{"325":1,"331":2,"419":3,"428":1,"460":1,"468":2,"503":5,"529":9}}],["→",{"2":{"325":4,"429":2,"488":3}}],["×",{"2":{"315":1}}],["y=100",{"2":{"547":1}}],["yet",{"2":{"370":1,"507":1,"555":2}}],["y",{"2":{"279":1,"318":2,"436":2}}],["your",{"0":{"494":1},"2":{"10":1,"32":1,"274":1,"292":4,"295":2,"321":1,"324":2,"331":1,"335":1,"341":1,"342":2,"343":2,"345":1,"346":3,"373":1,"374":1,"381":1,"393":1,"398":1,"399":2,"401":1,"410":1,"423":1,"429":8,"474":1,"481":1,"496":1,"507":1,"508":1,"512":1,"519":2,"520":3,"526":1,"537":1,"556":4}}],["you",{"2":{"10":1,"32":1,"261":2,"273":2,"295":2,"296":1,"297":1,"298":1,"299":1,"307":1,"309":2,"321":1,"330":3,"331":2,"333":1,"335":1,"336":1,"340":1,"342":1,"343":2,"344":1,"345":4,"346":3,"350":1,"356":1,"374":4,"376":1,"377":1,"380":4,"381":2,"382":1,"386":2,"388":1,"393":1,"396":2,"397":1,"398":1,"399":1,"405":1,"406":2,"407":1,"410":2,"414":2,"423":1,"426":1,"428":1,"429":3,"430":1,"435":2,"455":1,"458":1,"459":1,"472":1,"474":3,"481":3,"482":2,"483":2,"484":1,"486":3,"495":2,"507":3,"511":1,"512":2,"519":1,"520":4,"526":2,"540":1,"555":2,"556":4}}],["x=100",{"2":{"547":1}}],["xxxx",{"2":{"460":2,"503":2}}],["x3c",{"2":{"455":2,"456":5,"519":1}}],["x86",{"2":{"406":8,"493":2,"506":2}}],["x11",{"2":{"353":1}}],["xattr",{"2":{"333":1}}],["xiaomi",{"2":{"329":1,"474":1}}],["x",{"2":{"279":1,"318":2,"411":1,"412":1,"413":1,"436":2,"460":3}}],["x64archfiles",{"2":{"189":1,"190":1,"191":1,"192":1,"193":1}}],["x64",{"2":{"11":1,"71":1}}],["♥️",{"0":{"261":1}}],["环境变量配置错误导致无法连接的问题",{"2":{"260":1}}],["基本支持",{"2":{"259":1}}],["合并无线连接及有线连接到设备列表",{"2":{"256":1}}],["高级配置",{"2":{"255":1}}],["增加了常用的",{"2":{"255":1}}],["增加了对设备交互控制栏的支持",{"2":{"241":1}}],["制作了合适的",{"2":{"253":1}}],["用户界面进行优化",{"2":{"253":1}}],["去除未测试环境的打包以修复构建失败的问题",{"2":{"257":1}}],["去除页面组件冗余参数",{"2":{"245":1}}],["去除冗余的依赖项",{"2":{"234":1}}],["自定义通用的文件存储路径相关逻辑完善",{"2":{"240":1}}],["配置异常导致打包的文件无法发布的问题",{"2":{"237":1}}],["错误",{"2":{"236":1}}],["资源路径问题",{"2":{"235":1}}],["判断条件解决某些情况下资源路径解析异常的问题",{"2":{"232":1}}],["➕",{"2":{"230":1}}],["偏好设置描述信息修改",{"2":{"225":1}}],["的支持",{"2":{"224":1}}],["的问题",{"2":{"221":1}}],["以及",{"2":{"224":1}}],["初步添加对",{"2":{"224":1}}],["初步支持设置偏好设置的作用域范围",{"2":{"228":1}}],["初步支持",{"2":{"205":1}}],["支持通过操作栏安装应用并提供相应安装反馈",{"2":{"233":1}}],["支持创建更多架构的",{"2":{"223":1}}],["支持所有平台在点击关闭按钮时选择是否保存到托盘中的功能",{"2":{"211":1}}],["版本打包失败的问题",{"2":{"222":1}}],["获取默认依赖路径异常的问题",{"2":{"222":1}}],["及",{"2":{"222":1}}],["软件包格式",{"2":{"223":1}}],["软件包安装后无线显示",{"2":{"221":1}}],["软件包编译",{"2":{"211":1}}],["问题",{"2":{"219":1}}],["无法正确获取系统依赖路径的问题",{"2":{"218":1}}],["无法启动镜像或录制服务以及修改自定义依赖目录的问题",{"2":{"200":1}}],["简单关闭应用重新打开时报错的问题",{"2":{"216":1}}],["窗口过小导致出现横向滚动条的问题",{"2":{"215":1}}],["窗口问题",{"2":{"214":1}}],["窗口控制及交互逻辑优化",{"2":{"204":1}}],["优化设备界面视图并添加虚拟控制栏配置",{"2":{"254":1}}],["优化",{"2":{"232":1}}],["优化窗口默认大小",{"2":{"213":1}}],["优化页面查找工具性能",{"2":{"134":1}}],["下自定义依赖选项描述错误的问题",{"2":{"212":1}}],["或",{"2":{"212":1}}],["为",{"2":{"211":1}}],["平台启动白屏无法正常使用的问题",{"2":{"209":1}}],["设备交互栏添加重启设备及打开通知栏功能",{"2":{"230":1}}],["设备备注文本框描述信息调整",{"2":{"226":1}}],["设备列表标签显示细节调整",{"2":{"225":1}}],["设计",{"2":{"208":1}}],["设置主题跟随系统后",{"2":{"188":1}}],["采用新的方法实现所有进程共享",{"2":{"231":1}}],["采用新的",{"2":{"208":1}}],["尝试修复构建失败",{"2":{"207":1}}],["最小化到托盘后状态栏图标不显示的问题",{"2":{"206":1}}],["关于页面国际化",{"2":{"203":1}}],["翻译设备列表",{"2":{"203":1}}],["打包配置错误的问题",{"2":{"210":1}}],["打包后图标丢失的问题",{"2":{"202":1}}],["打包失败的问题",{"2":{"194":1,"195":1,"220":1}}],["运行日志等功能",{"2":{"201":1}}],["国际化语言",{"2":{"201":1}}],["深色模式",{"2":{"201":1}}],["新增支持添加设备备注",{"2":{"229":1}}],["新增支持导入及导出配置",{"2":{"229":1}}],["新增支持",{"2":{"201":1}}],["补充依赖及目录结构调整",{"2":{"198":1}}],["目录结构及描述调整",{"2":{"198":1}}],["拆分依赖文件禁用冗余的警告信息",{"2":{"198":1}}],["某些情况下循环触发导致死循环的问题",{"2":{"188":1}}],["修复图标不透明的问题",{"2":{"252":1}}],["修复旋转屏幕配置异常的问题",{"2":{"251":1}}],["修复触摸点配置描述错误的问题",{"2":{"250":1}}],["修复直接进行无线连接时没有处理配对设备的问题",{"2":{"249":1}}],["修复无线配对时表单验证错误",{"2":{"249":1}}],["修复检查更新失败没有提示的问题",{"2":{"247":1}}],["修复高级配置标题语义不明的问题",{"2":{"243":1}}],["修复点击无线模式没有反应的问题",{"2":{"242":1}}],["修复usb未授权设备导致无线连接地址变为假值的问题",{"2":{"239":1}}],["修复打包后图标丢失的问题",{"2":{"238":1}}],["修复打包多个平台时可能生成重复文件导致发布软件包失败的问题",{"2":{"217":1}}],["修复设备列表按钮状态变更影响布局变化的问题",{"2":{"237":1}}],["修复设置主题跟随系统后没有生效的问题",{"2":{"199":1}}],["修复对设备进行独立配置时的一些问题",{"2":{"227":1}}],["修复自定义路径功能没有生效的问题",{"2":{"202":1}}],["修复录制结束点击取消异常弹窗以及点击重启服务没有反应的问题",{"2":{"202":1}}],["修复安装路径包含空格会导致无法启动服务的问题",{"2":{"202":1}}],["修复",{"2":{"188":1,"194":1,"195":1,"200":1,"202":1,"206":1,"209":1,"210":1,"212":1,"214":1,"215":1,"216":1,"218":1,"219":1,"220":1,"221":1,"222":2,"235":1,"236":1,"237":1,"260":1}}],["添加基本的无线连接功能",{"2":{"259":1}}],["添加基本的有线连接支持",{"2":{"259":1}}],["添加初步的构建及发布支持",{"2":{"259":1}}],["添加在线检查更新功能",{"2":{"248":1}}],["添加音视频录制功能以及更多的高级选项",{"2":{"246":1}}],["添加更多的高级配置并更新文档",{"2":{"244":1}}],["添加",{"2":{"205":1,"211":1,"259":1}}],["添加投屏窗口大小控制",{"2":{"162":1}}],["添加定时任务入口",{"2":{"112":1}}],["zeno",{"2":{"494":1}}],["zoom",{"0":{"436":1},"2":{"436":1,"537":1}}],["zsh",{"2":{"414":2,"423":1}}],["zh",{"2":{"137":1,"138":1,"140":1}}],["zip",{"2":{"5":1,"378":3,"379":1,"554":2}}],["🤩",{"2":{"267":1}}],["🤖",{"2":{"266":1}}],["🧑‍💻",{"2":{"12":4,"19":2,"72":1}}],["🩹",{"2":{"11":1,"12":2,"47":1,"50":1,"84":1}}],["jitter",{"2":{"533":1}}],["jdwp",{"2":{"460":2}}],["jdk",{"2":{"402":1,"405":2}}],["jre",{"2":{"373":2}}],["jar",{"2":{"379":1,"443":2,"445":3,"458":2}}],["java",{"0":{"379":1},"2":{"356":1,"371":1,"372":3,"373":2,"379":1,"403":1,"406":1,"407":3,"410":1,"443":2,"474":1}}],["japanese",{"2":{"12":1,"35":1}}],["just",{"2":{"328":1,"374":1,"380":2,"397":1,"399":1,"441":1,"443":1,"477":1,"486":1,"556":1}}],["js",{"2":{"7":1}}],["⬆️",{"2":{"12":4,"55":1,"57":1,"77":1,"96":1,"104":1}}],["➖",{"2":{"12":1,"69":1,"106":1,"150":1}}],["✅",{"2":{"12":4,"27":1,"57":1,"65":1,"98":1,"122":1,"274":36}}],["⚗️",{"2":{"12":1,"93":1}}],["♿️",{"2":{"12":1}}],["♻️",{"2":{"11":1,"12":25,"14":1,"19":1,"34":2,"35":1,"40":1,"59":1,"60":1,"62":1,"65":1,"67":1,"68":2,"72":2,"80":2,"82":1,"85":2,"87":2,"93":2,"100":1,"102":1,"109":1,"115":2,"118":1,"131":1,"134":4,"136":1,"142":1,"143":2,"144":1,"146":1,"147":1,"149":1,"150":3,"153":1,"164":2,"165":1,"168":1,"169":2,"170":2,"172":3,"174":2,"175":2,"178":4,"183":2,"186":1,"187":2,"198":4}}],["31",{"2":{"455":1}}],["31416",{"2":{"382":1}}],["3be0682",{"2":{"254":1}}],["3bd2075",{"2":{"233":1}}],["3bf79d3",{"2":{"208":1}}],["32",{"2":{"406":1,"554":1}}],["326a133",{"2":{"229":1}}],["3279c34",{"2":{"182":1}}],["36",{"2":{"374":1}}],["3654",{"2":{"348":1}}],["368e8ee",{"2":{"211":1}}],["368551a",{"2":{"148":1}}],["36de67b",{"2":{"172":1}}],["363bf3d",{"2":{"6":1}}],["37",{"2":{"351":1}}],["379b325",{"2":{"226":1}}],["37e2837",{"2":{"195":1}}],["37da97b",{"2":{"178":1}}],["37ce245",{"2":{"124":1}}],["37bf438",{"2":{"12":1}}],["3d4dc7c",{"2":{"117":1}}],["3dd7525",{"2":{"12":1,"87":1}}],["35~70ms",{"2":{"473":1}}],["35~70",{"2":{"265":1}}],["3566655",{"2":{"157":1}}],["359b9b9",{"2":{"12":1,"34":1}}],["358064e",{"2":{"11":1,"90":1}}],["33b0181",{"2":{"121":1}}],["33786ab",{"2":{"12":1,"30":1}}],["33a03c3",{"2":{"12":1,"55":1}}],["30~120fps",{"2":{"473":1}}],["300ms",{"2":{"521":1,"533":1}}],["30000",{"2":{"463":1}}],["300",{"2":{"463":1}}],["30",{"2":{"265":1,"421":1,"474":1}}],["3046746",{"2":{"182":1}}],["30eca50",{"2":{"164":1}}],["305187d",{"2":{"12":1,"53":1}}],["301dac5",{"2":{"11":1,"36":1}}],["3e3fc34",{"2":{"12":1}}],["39",{"2":{"346":1}}],["393e899",{"2":{"213":1}}],["39e0533",{"2":{"12":1,"27":1}}],["39bbc98",{"2":{"12":1,"86":1}}],["34800cf",{"2":{"186":1}}],["343423e",{"2":{"139":1}}],["343eab2",{"2":{"118":1}}],["34f27c5",{"2":{"12":1,"53":1}}],["344b385",{"2":{"12":1,"80":1}}],["34785dd",{"2":{"11":1,"18":1}}],["389ac33",{"2":{"150":1}}],["38f854b",{"2":{"110":1}}],["3812061",{"2":{"12":1,"35":1}}],["38d1433",{"2":{"12":1,"60":1}}],["3",{"2":{"10":1,"12":4,"23":2,"25":1,"41":1,"43":1,"157":1,"160":1,"321":1,"419":2,"441":1,"455":1,"456":1,"529":1}}],["79d85eb",{"2":{"236":1}}],["790e703",{"2":{"12":1,"96":1}}],["77dd81b",{"2":{"221":1}}],["7dbca01",{"2":{"190":1}}],["7d91d71",{"2":{"12":1,"19":1}}],["70f8b46",{"2":{"174":1}}],["705f8be",{"2":{"11":1,"39":1}}],["780e3b9",{"2":{"143":1}}],["7cd9ea3",{"2":{"249":1}}],["7c55e50",{"2":{"134":1}}],["7c74c71",{"2":{"12":1,"66":1}}],["7ee4ba4",{"2":{"125":1}}],["7e5dfe0",{"2":{"13":1}}],["737c2a3",{"2":{"103":1}}],["755a130",{"2":{"165":1}}],["7510548",{"2":{"12":1,"68":1}}],["7507915",{"2":{"12":1,"47":1}}],["7f5b1063e7895182aa60def1437e50363c3758144088dcd079037bb7c3c46a1c",{"2":{"378":1}}],["7f5bd35",{"2":{"12":1,"15":1}}],["7f10161",{"2":{"10":1,"92":1}}],["7411487",{"2":{"12":1}}],["74a91a4",{"2":{"12":1,"77":1}}],["7",{"2":{"12":1,"96":1,"406":1,"435":1,"456":1,"462":1,"537":1}}],["7b3c4db",{"2":{"110":1}}],["7b61b25",{"2":{"12":1,"68":1}}],["7beb027",{"2":{"11":1,"21":1}}],["7a6417e",{"2":{"178":1}}],["7ae3f21",{"2":{"12":1,"34":1}}],["7ad5ecd",{"2":{"10":1}}],["7655ba6",{"2":{"12":1,"100":1}}],["qcom",{"2":{"528":1}}],["questions",{"2":{"481":1}}],["queue",{"2":{"453":2}}],["query",{"2":{"12":1,"34":1}}],["quarantine",{"2":{"333":1}}],["quality",{"2":{"12":1,"19":1,"265":1,"447":1,"473":2,"477":1,"527":1}}],["quot",{"0":{"337":2},"2":{"294":2,"304":2,"306":4,"307":2,"313":2,"314":2,"317":2,"321":2,"345":2,"347":2,"354":2,"372":2,"380":2,"436":4,"446":4,"451":4,"452":2,"455":2,"473":2,"486":2,"500":2,"503":2,"537":2}}],["quick",{"0":{"288":1},"1":{"289":1,"290":1,"291":1,"292":1,"293":1,"294":1,"295":1,"296":1,"297":1},"2":{"8":1,"11":1,"12":1,"34":1,"52":1,"110":1,"266":1,"274":1,"376":1}}],["qr",{"0":{"294":1},"2":{"10":1,"12":3,"47":1,"57":1,"62":1,"63":1,"266":1,"294":1}}],["9d11",{"2":{"436":1}}],["9d55ef9",{"2":{"242":1}}],["9805",{"2":{"436":1}}],["9833932",{"2":{"12":1,"85":1}}],["9",{"2":{"419":2,"423":2,"435":1}}],["922abd2",{"2":{"244":1}}],["9c25325",{"2":{"239":1}}],["9cf800c",{"2":{"187":1}}],["994cb09",{"2":{"185":1}}],["96f85d8",{"2":{"220":1}}],["96bfc77",{"2":{"177":1}}],["969378f",{"2":{"12":1,"35":1}}],["97d7868",{"2":{"162":1}}],["9777622",{"2":{"11":1,"67":1}}],["9f1696f",{"2":{"132":1}}],["9fc1ded",{"2":{"126":1}}],["9a4efa5",{"2":{"237":1}}],["9a7e56b",{"2":{"116":1}}],["9af3988",{"2":{"12":1,"19":1}}],["9a67142",{"2":{"12":1,"69":1}}],["93ad836",{"2":{"198":1}}],["93c059d",{"2":{"12":1,"27":1}}],["939a2d2",{"2":{"12":1,"34":1}}],["90",{"2":{"529":1}}],["90°",{"2":{"529":6}}],["902103e6497f995e1e9b92421be212559950cca4a8b557e1f0403769aee06fc8",{"2":{"378":1}}],["900dc69",{"2":{"12":1,"22":1}}],["90c7163",{"2":{"12":1,"55":1}}],["9063243",{"2":{"12":1,"16":1}}],["9ef7203",{"2":{"260":1}}],["9e4f432",{"2":{"160":1}}],["9e31c84",{"2":{"12":1,"59":1}}],["9eca902",{"2":{"8":1}}],["955756e",{"2":{"235":1}}],["9555f58",{"2":{"12":1,"93":1}}],["95a83f4",{"2":{"199":1}}],["95ad30d",{"2":{"8":1}}],["952b2a7",{"2":{"12":1,"87":1}}],["94ee007",{"2":{"105":1}}],["9491069",{"2":{"11":1,"84":1}}],["94ccb7b",{"2":{"10":1,"38":1}}],["9bf4d5c",{"2":{"11":1,"78":1}}],["9b43dc0",{"2":{"11":1,"81":1}}],["9b7f6a9",{"2":{"11":1,"79":1}}],["9b0c4df",{"2":{"8":1}}],["9153b324669f",{"2":{"436":1}}],["91ad249",{"2":{"10":1,"32":1}}],["91d9bbd",{"2":{"4":1}}],["5th",{"2":{"503":4,"537":3}}],["5ms",{"2":{"396":1}}],["5555",{"2":{"295":1,"345":1,"426":3,"428":3,"429":2}}],["55800be",{"2":{"12":1,"19":1}}],["58a66f1",{"2":{"238":1}}],["5dd328c",{"2":{"228":1}}],["5d44ebf",{"2":{"8":1}}],["569ed2e",{"2":{"224":1}}],["543275",{"2":{"436":2}}],["54e713b",{"2":{"209":1}}],["5488a1e",{"2":{"12":1,"65":1}}],["5f8cc5a",{"2":{"175":1}}],["517091a",{"2":{"173":1}}],["5a04b4c",{"2":{"178":1}}],["5ac5ee6",{"2":{"160":1}}],["5ae8fbe",{"2":{"4":1}}],["5793c24",{"2":{"169":1}}],["576d287",{"2":{"141":1}}],["57c11af",{"2":{"12":1,"50":1}}],["5",{"0":{"370":1},"1":{"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1,"378":1,"379":1,"380":1,"381":1,"382":1,"383":1,"384":1,"385":1,"386":1,"387":1},"2":{"127":1,"345":3,"356":1,"373":1,"378":2,"379":1,"456":1,"463":1,"474":1}}],["5038",{"2":{"519":8}}],["5037",{"2":{"518":3,"519":4}}],["5005",{"2":{"460":5}}],["50ms",{"2":{"396":1,"533":1}}],["50ae742",{"2":{"113":1}}],["50440f5",{"2":{"12":1,"98":1}}],["52514e2",{"2":{"204":1}}],["5205935",{"2":{"107":1}}],["52cc4b1",{"2":{"10":1,"32":1}}],["5b6b8d1",{"2":{"168":1}}],["5b02621",{"2":{"119":1}}],["5b033fd",{"2":{"12":1,"53":1}}],["5b7d0af",{"2":{"115":1}}],["5b2d41c",{"2":{"110":1}}],["5b5bbf7",{"2":{"12":1,"24":1}}],["595216b",{"2":{"12":1,"40":1}}],["5c401a8",{"2":{"184":1}}],["5c4f65e",{"2":{"11":1,"52":1}}],["5ca39ae",{"2":{"12":1,"94":1}}],["5c2c711",{"2":{"11":1,"39":1}}],["5cd5992",{"2":{"10":1,"17":1}}],["🌟",{"2":{"265":1}}],["🎉",{"2":{"120":1,"151":1,"167":1,"176":1,"184":1,"186":1,"196":1,"228":1,"254":1}}],["🍻",{"2":{"12":1,"16":1,"160":1}}],["🌱",{"2":{"12":3,"19":2,"24":1}}],["🎨",{"2":{"8":2,"183":1,"188":1,"266":1}}],["🌐",{"2":{"8":2,"145":1}}],["⚡️",{"2":{"8":1,"12":5,"59":1,"80":1,"85":1,"86":1,"93":1,"160":1,"265":1}}],["wget",{"2":{"495":1}}],["w",{"2":{"462":1}}],["wrapper",{"2":{"449":1}}],["wrappers",{"2":{"444":1}}],["writable",{"2":{"443":2}}],["writing",{"2":{"317":1,"386":1,"483":1,"529":1}}],["writes",{"2":{"441":1,"447":1}}],["write",{"2":{"11":1,"18":1,"317":1,"321":1}}],["w64",{"2":{"405":3,"406":14}}],["www",{"2":{"386":1,"483":1}}],["webrtc",{"2":{"520":1}}],["webcam",{"0":{"424":1},"2":{"424":1,"473":1,"477":1,"520":1}}],["websocket",{"2":{"160":1}}],["were",{"2":{"416":1,"509":1}}],["we",{"2":{"328":1,"445":1,"451":1}}],["wechat",{"2":{"325":3}}],["wav",{"2":{"512":1,"513":2}}],["wait",{"2":{"460":1}}],["waiting",{"2":{"12":1,"80":1}}],["watch",{"2":{"396":1}}],["warranties",{"2":{"386":1,"483":1}}],["warning",{"2":{"347":1,"435":1,"518":1}}],["warn",{"2":{"345":1}}],["wasd",{"2":{"486":1}}],["was",{"2":{"321":1,"372":1,"509":1,"537":1}}],["want",{"2":{"307":1,"309":1,"345":1,"377":1,"380":1,"381":1,"397":1,"398":1,"407":1,"410":1,"511":1}}],["ways",{"2":{"426":1,"488":1}}],["wayland",{"0":{"353":1}}],["way",{"2":{"271":1,"405":1,"435":2,"524":1}}],["whole",{"2":{"391":2}}],["why",{"0":{"328":1,"384":1},"2":{"329":1}}],["while",{"2":{"270":1,"354":1,"367":1,"381":1,"392":1,"417":1,"436":1,"461":1,"462":4,"463":1,"464":1,"472":1,"489":1,"490":1,"502":1,"511":1,"512":1,"515":1}}],["whichever",{"2":{"455":1}}],["which",{"0":{"372":1},"2":{"12":1,"48":1,"328":1,"329":1,"345":1,"364":1,"410":1,"432":1,"441":3,"443":1,"446":1,"450":1,"454":1,"458":1,"462":1,"507":1,"512":1,"541":1}}],["what",{"0":{"263":1}}],["whether",{"2":{"273":1}}],["whereas",{"2":{"436":1}}],["where",{"2":{"11":9,"18":1,"21":1,"26":1,"29":1,"36":1,"39":2,"46":1,"70":1,"330":1,"374":1,"487":1,"520":1}}],["whenever",{"2":{"380":1,"430":1}}],["when",{"0":{"331":1,"333":1},"2":{"10":1,"11":5,"12":7,"21":1,"22":1,"27":1,"34":1,"36":2,"39":2,"40":1,"49":1,"53":1,"85":1,"92":1,"295":1,"319":2,"344":1,"346":1,"381":1,"388":1,"434":1,"435":2,"436":1,"441":2,"446":1,"447":1,"452":1,"455":1,"462":2,"466":1,"486":1,"488":1,"495":1,"518":1,"526":1,"529":1,"534":2,"540":1,"542":1,"556":1}}],["won",{"2":{"556":2}}],["world",{"2":{"443":1}}],["worth",{"2":{"273":1}}],["works",{"2":{"370":1,"374":1,"388":1,"412":2,"435":1,"436":1,"472":2,"473":1,"480":1,"485":1,"489":2,"490":2,"495":1,"502":2,"509":1,"511":1}}],["workspace",{"2":{"6":1}}],["workaround",{"2":{"338":1,"354":1}}],["working",{"2":{"327":1,"372":1}}],["work",{"0":{"350":1,"351":1},"2":{"268":1,"324":1,"329":1,"341":1,"342":1,"345":1,"370":1,"458":1,"471":1,"472":1,"482":1,"485":1,"488":1,"489":1,"490":1,"498":1,"501":1,"502":1}}],["workflows",{"2":{"139":1}}],["workflow",{"2":{"1":1,"4":2,"321":1}}],["would",{"2":{"11":2,"36":1,"39":1,"328":3,"556":1}}],["wire",{"2":{"454":1}}],["wirelessly",{"2":{"480":1,"489":1,"511":1}}],["wireless",{"0":{"326":1,"327":1,"427":1},"1":{"428":1,"429":1},"2":{"12":5,"27":1,"59":2,"80":1,"113":1,"135":1,"143":1,"266":1,"294":1,"295":5,"326":2,"429":1,"462":1}}],["wi",{"2":{"429":1}}],["winget",{"2":{"555":1}}],["win32",{"2":{"405":1,"554":1}}],["win64",{"2":{"378":1,"405":1,"554":1}}],["windows",{"0":{"348":1,"404":1,"510":1,"552":1},"1":{"405":1,"406":1,"553":1,"554":1,"555":1,"556":1},"2":{"10":2,"11":7,"12":1,"17":1,"19":1,"21":2,"26":1,"32":1,"36":1,"39":1,"64":1,"84":1,"116":1,"211":1,"269":1,"274":1,"297":1,"299":1,"310":1,"311":2,"330":2,"334":1,"342":1,"343":1,"348":1,"370":1,"374":1,"378":2,"380":2,"399":1,"406":1,"411":1,"414":1,"415":1,"472":1,"473":1,"475":1,"489":1,"490":1,"502":1,"537":1}}],["window",{"0":{"279":1,"298":1,"302":1,"304":1,"307":1,"308":1,"309":1,"310":1,"332":1,"339":1,"544":1,"545":1},"1":{"299":1,"300":1,"301":1,"302":1,"303":1,"304":1,"305":1,"306":1,"307":1,"308":1,"309":2,"310":2,"311":2,"312":1,"313":1,"314":1,"315":1,"316":1,"317":1,"318":1,"319":1,"320":1,"321":1,"545":1,"546":1,"547":1,"548":1,"549":1,"550":1,"551":1},"2":{"6":1,"11":1,"12":8,"28":1,"30":1,"34":3,"50":1,"54":1,"87":1,"163":1,"178":1,"266":2,"271":1,"274":2,"279":4,"298":2,"299":3,"301":4,"302":2,"304":2,"307":1,"309":3,"310":3,"314":1,"315":2,"317":1,"318":8,"319":1,"321":4,"339":1,"390":3,"438":1,"439":1,"441":1,"452":1,"455":1,"478":1,"488":1,"512":1,"515":2,"520":1,"537":3,"545":2,"546":2,"547":5,"548":2,"549":1}}],["wifi",{"0":{"293":1},"1":{"294":1,"295":1},"2":{"295":1,"296":1}}],["widget",{"2":{"306":1,"307":1}}],["widgets",{"2":{"12":1,"34":1}}],["width=800",{"2":{"547":1}}],["width",{"2":{"116":1,"121":1,"279":1,"301":1,"311":2,"318":2,"419":3,"456":1,"524":1}}],["will",{"2":{"10":1,"32":1,"304":1,"306":1,"307":2,"313":2,"314":3,"315":2,"317":1,"327":1,"339":1,"341":1,"345":1,"363":2,"364":1,"367":1,"369":1,"388":2,"391":1,"398":1,"405":1,"410":2,"423":1,"428":1,"441":1,"445":1,"454":1,"458":2,"460":1,"464":2,"486":1,"520":1,"524":1,"541":2,"555":1,"556":1}}],["within",{"2":{"520":2}}],["without",{"0":{"413":1},"2":{"273":1,"274":1,"380":1,"381":1,"386":1,"388":1,"390":2,"414":1,"415":1,"428":1,"434":1,"441":2,"477":1,"483":1,"499":1,"509":1,"511":2,"534":2,"556":3}}],["with",{"0":{"353":1},"2":{"8":6,"10":1,"11":3,"12":4,"21":1,"27":1,"29":1,"47":2,"74":1,"263":2,"266":2,"271":1,"296":1,"328":1,"331":1,"341":1,"345":1,"347":2,"356":1,"357":1,"372":1,"374":1,"386":1,"388":2,"390":1,"391":1,"392":1,"396":1,"407":1,"412":2,"416":1,"417":1,"419":3,"423":1,"424":1,"427":1,"428":1,"429":1,"432":1,"438":1,"441":2,"443":2,"444":1,"446":1,"454":1,"458":1,"464":1,"472":1,"473":1,"480":1,"483":1,"490":1,"496":1,"498":1,"499":1,"502":1,"503":1,"508":1,"509":1,"513":1,"515":1,"519":1,"520":5,"524":1,"526":1,"529":1,"534":1,"537":3,"550":1,"556":3}}],["4th",{"2":{"503":4,"537":1}}],["4+",{"2":{"325":1}}],["4e2be23",{"2":{"250":1}}],["4e1542a",{"2":{"219":1}}],["420",{"2":{"539":2}}],["4263d07",{"2":{"249":1}}],["422950c",{"2":{"6":1}}],["43f1",{"2":{"436":1}}],["43f15be",{"2":{"229":1}}],["4380",{"2":{"392":1}}],["432eceb",{"2":{"11":1,"70":1}}],["4f2f00e",{"2":{"225":1}}],["4fe55a3",{"2":{"145":1}}],["4755",{"2":{"338":1}}],["4780e7c",{"2":{"223":1}}],["47ae53d",{"2":{"12":1,"98":1}}],["4b29",{"2":{"436":1}}],["4b259c3",{"2":{"216":1}}],["4b13f58",{"2":{"201":1}}],["4b4e116",{"2":{"192":1}}],["4be2cf4",{"2":{"12":1,"93":1}}],["4a3407d7f0c2c8a03e22a12cf0b5e1e585a5056fe23c8e5cf3252207c6fa8357",{"2":{"554":1}}],["4a3575f",{"2":{"172":1}}],["4a90",{"2":{"436":1}}],["4a18f61",{"2":{"11":1,"33":1}}],["4",{"2":{"151":1,"311":1,"321":1,"361":2,"362":2,"363":2,"364":2,"366":2,"419":1,"426":1,"456":2,"503":1,"529":1}}],["41",{"2":{"346":1}}],["41ffcf5",{"2":{"102":1}}],["415e4ae",{"2":{"2":1}}],["4464e7e",{"2":{"12":1,"34":1}}],["4508758",{"2":{"11":1,"88":1}}],["46defbf",{"2":{"178":1}}],["468af22",{"2":{"12":1,"37":1}}],["460aca1",{"2":{"11":1,"52":1}}],["462536c",{"2":{"10":1,"25":1}}],["487e7e2",{"2":{"11":1,"84":1}}],["498fc90",{"2":{"6":1}}],["oculus",{"2":{"531":1}}],["occur",{"2":{"447":1}}],["occurs",{"2":{"346":1,"556":1}}],["occupying",{"2":{"321":1}}],["occasionally",{"2":{"330":1}}],["occlusion",{"2":{"311":1}}],["obs",{"2":{"520":1}}],["obsolete",{"2":{"494":1}}],["obtained",{"2":{"295":1}}],["obtaining",{"2":{"12":1,"59":1}}],["obtain",{"2":{"11":1,"12":1,"42":1,"86":1,"295":1,"386":1,"483":1}}],["o",{"2":{"453":1}}],["own",{"2":{"441":1,"453":1}}],["our",{"2":{"387":1}}],["out",{"2":{"342":1,"388":1,"391":1,"392":1,"495":1}}],["outweigh",{"2":{"328":1}}],["outside",{"2":{"311":1}}],["outstanding",{"2":{"273":1}}],["outputs",{"2":{"381":1}}],["output",{"2":{"12":1,"22":1,"186":1,"280":1,"335":1,"391":4,"396":2,"416":1,"441":1,"512":1}}],["outline",{"2":{"8":1}}],["os",{"0":{"407":1},"2":{"370":1}}],["old",{"2":{"345":1,"378":1,"402":2,"471":1,"489":1,"501":1}}],["older",{"2":{"12":1,"47":1,"445":1}}],["orient",{"2":{"529":1}}],["orientation=",{"2":{"529":9}}],["orientation=flip270",{"2":{"529":2}}],["orientation=flip180",{"2":{"529":2}}],["orientation=flip90",{"2":{"529":2}}],["orientation=flip0",{"2":{"529":2}}],["orientation=270",{"2":{"529":2}}],["orientation=180",{"2":{"529":2}}],["orientation=0",{"2":{"529":2}}],["orientation=90",{"2":{"420":1,"529":2}}],["orientation",{"0":{"529":1},"2":{"277":1,"281":1,"391":1,"420":1,"514":1,"529":14,"530":1,"531":2}}],["org",{"2":{"386":1,"403":1,"483":1}}],["orchestration",{"2":{"274":2}}],["or",{"0":{"331":1},"2":{"265":1,"273":1,"302":1,"327":1,"329":1,"330":1,"331":1,"335":1,"337":1,"345":3,"346":1,"347":1,"348":2,"386":3,"388":3,"391":1,"392":1,"393":1,"399":1,"410":1,"416":1,"419":1,"428":1,"429":1,"435":1,"436":2,"441":2,"445":2,"447":1,"449":1,"452":1,"455":2,"456":2,"459":1,"460":1,"464":2,"469":1,"473":3,"474":1,"481":1,"483":3,"484":1,"485":1,"486":2,"488":2,"496":1,"497":1,"498":1,"500":2,"503":3,"508":1,"509":3,"511":1,"520":2,"526":1,"527":1,"528":1,"529":1,"534":2,"537":4,"540":1,"541":1,"545":1,"556":2}}],["order",{"2":{"12":1,"34":1,"445":1,"454":1,"455":1,"468":1}}],["otg",{"0":{"348":1,"509":1,"510":1},"1":{"510":1,"511":1},"2":{"141":2,"186":2,"286":1,"348":1,"451":3,"472":2,"473":1,"474":1,"477":1,"478":1,"490":2,"502":2,"509":10,"511":2}}],["otherwise",{"2":{"532":1,"537":1}}],["others",{"2":{"417":1}}],["other",{"2":{"122":1,"301":1,"321":1,"346":1,"446":1,"449":1,"455":1,"472":1,"476":1,"485":1,"490":1,"502":1,"524":1,"555":1}}],["omitted",{"2":{"12":1,"27":1,"485":1,"498":1,"503":1}}],["once",{"2":{"307":1,"325":1,"350":1,"429":1,"474":1,"484":1,"488":1,"489":1,"496":1,"508":1,"520":1}}],["ones",{"2":{"419":1}}],["one",{"0":{"372":1},"2":{"298":1,"306":1,"345":1,"348":1,"361":1,"371":2,"380":1,"381":1,"426":7,"444":1,"446":1,"451":1,"452":1,"455":1,"470":1,"472":1,"488":1,"489":1,"500":1,"503":4,"511":1,"528":1,"531":1,"556":1}}],["only",{"0":{"390":1,"432":1,"434":1,"511":1},"2":{"265":1,"267":1,"274":1,"306":1,"307":2,"325":1,"329":1,"334":1,"348":1,"363":1,"370":1,"372":1,"373":1,"374":1,"380":1,"381":1,"388":1,"389":1,"390":1,"391":2,"392":1,"396":1,"410":1,"411":1,"412":1,"434":1,"435":1,"436":3,"441":1,"447":1,"455":1,"457":1,"462":1,"465":1,"472":2,"473":2,"490":2,"495":1,"502":2,"509":2,"512":3,"515":1,"526":1,"529":1,"531":2,"532":2,"534":1,"535":1,"537":1,"545":1}}],["on",{"0":{"262":1,"334":1,"348":1,"466":1,"467":2,"491":1,"504":1,"510":1,"542":1,"549":1,"552":1},"1":{"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"269":1,"270":1,"271":1,"272":1,"273":1,"492":1,"493":1,"494":1,"495":1,"496":1,"505":1,"506":1,"507":1,"508":1,"553":1,"554":1,"555":1,"556":1},"2":{"10":1,"11":3,"12":5,"33":1,"39":2,"47":2,"51":1,"53":2,"98":1,"144":1,"263":2,"265":1,"267":1,"268":3,"278":1,"279":1,"292":1,"325":2,"328":1,"331":1,"342":1,"343":1,"344":2,"345":1,"348":1,"350":1,"353":2,"354":1,"356":1,"357":1,"358":1,"361":1,"363":2,"364":1,"365":1,"369":1,"370":4,"372":1,"373":2,"374":3,"380":3,"381":1,"386":1,"391":2,"392":1,"394":1,"396":1,"398":2,"399":1,"402":1,"410":1,"414":2,"415":1,"417":1,"424":2,"426":1,"427":1,"428":2,"429":2,"435":3,"439":2,"441":6,"443":1,"445":1,"446":5,"447":4,"448":1,"449":1,"450":1,"451":2,"452":3,"453":4,"454":1,"455":3,"456":3,"457":1,"458":4,"460":6,"461":1,"462":4,"463":1,"464":8,"465":4,"466":1,"467":3,"468":2,"469":1,"470":1,"471":2,"472":1,"473":5,"474":2,"477":2,"483":1,"484":1,"485":1,"486":1,"488":4,"489":4,"490":1,"496":1,"497":1,"498":1,"500":2,"501":2,"502":1,"503":3,"508":1,"512":2,"513":3,"518":1,"519":1,"520":1,"524":1,"526":1,"527":1,"528":1,"529":2,"532":1,"534":1,"537":14,"539":1,"540":1,"543":2,"549":2,"551":1,"556":6}}],["opus",{"2":{"391":1,"393":3,"394":1,"441":1,"456":1,"512":2,"513":2}}],["opt",{"2":{"338":1,"391":1,"392":1}}],["optimizing",{"2":{"271":1}}],["optimization",{"2":{"12":5,"24":1,"30":1,"40":1,"53":1,"93":1,"114":1,"122":1,"143":1,"150":1,"164":1,"168":1,"170":1,"187":1,"298":1}}],["optimized",{"0":{"267":1},"2":{"12":4,"37":2,"68":1,"72":1,"114":1}}],["optimize",{"2":{"8":2,"10":1,"12":43,"14":1,"15":2,"19":10,"22":3,"27":1,"34":3,"35":1,"38":1,"40":2,"47":1,"55":1,"59":1,"60":1,"61":1,"62":1,"65":1,"77":1,"80":1,"86":1,"87":1,"93":2,"94":1,"96":1,"98":1,"102":1,"110":3,"113":1,"115":1,"118":1,"134":1,"143":1,"150":3,"164":1,"165":1,"168":1,"169":1,"170":1,"172":3,"174":2,"175":1,"178":4,"183":2,"186":1,"187":1,"198":1}}],["optionally",{"2":{"468":1}}],["option",{"0":{"411":1,"412":1},"2":{"5":2,"12":1,"47":1,"163":1,"165":1,"182":1,"186":1,"306":1,"350":2,"396":1,"420":1,"428":1,"429":1,"435":1,"464":1,"465":1,"474":2,"485":1,"498":1,"516":1,"534":1}}],["options=flac",{"2":{"393":1}}],["options",{"2":{"4":1,"11":1,"12":4,"22":1,"46":1,"50":1,"75":1,"86":1,"125":1,"146":1,"153":1,"178":1,"182":1,"270":1,"325":1,"350":1,"381":1,"393":1,"413":1,"423":1,"458":1,"465":1,"477":1,"478":1,"485":1,"498":1,"520":1,"527":1}}],["operate",{"0":{"329":1}}],["operating",{"2":{"269":1,"321":1}}],["operations",{"0":{"312":1},"1":{"313":1,"314":1,"315":1},"2":{"128":1,"268":1,"298":1}}],["operation",{"0":{"284":1,"303":1},"1":{"285":1,"286":1,"287":1,"304":1,"305":1,"306":1,"307":1,"308":1,"309":1,"310":1,"311":1,"312":1,"313":1,"314":1,"315":1},"2":{"12":1,"47":1,"107":1,"110":1,"114":2,"118":1,"150":1,"173":1,"268":1,"270":1}}],["opened",{"2":{"454":1,"455":3,"488":1,"520":1}}],["opens",{"2":{"441":1,"451":1}}],["openjdk",{"2":{"373":1,"402":1,"405":1,"407":1}}],["opening",{"2":{"12":1,"40":1,"556":1}}],["open",{"0":{"333":1,"338":1},"2":{"10":1,"12":1,"51":1,"53":1,"263":1,"267":1,"272":1,"273":1,"274":1,"292":1,"304":1,"330":1,"331":1,"333":2,"344":3,"369":1,"380":2,"381":1,"472":2,"473":1,"481":1,"482":1,"490":2,"502":2,"518":1,"519":2,"520":1,"537":1,"540":1,"556":3}}],["overwrite",{"2":{"346":1}}],["overflowing",{"2":{"332":1}}],["over",{"2":{"315":1,"345":1,"370":2,"426":3,"427":1,"428":1,"429":1,"434":1,"458":1,"462":1,"472":1,"489":1,"490":1,"502":1,"509":1,"517":1}}],["overlap",{"2":{"311":2}}],["overview",{"0":{"299":1,"441":1},"2":{"452":1}}],["overhaul",{"2":{"10":1}}],["override",{"2":{"6":1,"302":1}}],["offset",{"2":{"531":1}}],["official",{"0":{"493":1,"506":1,"554":1}}],["offline",{"2":{"12":1,"65":1}}],["off",{"0":{"463":1,"464":1,"466":1},"2":{"11":3,"12":1,"46":1,"54":1,"88":1,"93":1,"141":1,"278":2,"287":1,"434":1,"463":5,"464":6,"466":2,"473":1,"503":1,"537":2,"556":1}}],["of",{"0":{"333":1},"2":{"6":1,"7":1,"9":1,"10":1,"11":19,"12":33,"18":1,"19":5,"21":2,"22":1,"27":1,"30":1,"33":1,"34":6,"36":2,"38":1,"39":3,"40":2,"42":1,"45":1,"47":1,"49":1,"52":2,"53":2,"54":1,"55":2,"58":1,"59":2,"61":1,"64":1,"65":2,"80":1,"85":1,"86":1,"96":1,"99":2,"101":1,"102":1,"110":3,"113":1,"114":2,"116":1,"121":1,"122":2,"144":1,"265":1,"270":2,"274":3,"298":2,"299":1,"302":1,"304":1,"310":1,"311":2,"315":1,"317":1,"321":1,"328":1,"330":1,"331":2,"338":1,"342":1,"345":1,"357":1,"370":1,"371":1,"372":2,"374":1,"386":2,"388":1,"391":1,"398":1,"416":1,"417":1,"419":3,"426":1,"435":3,"436":2,"441":7,"443":1,"445":2,"447":1,"449":2,"451":2,"452":2,"454":1,"456":1,"457":1,"462":1,"474":1,"477":1,"478":1,"482":1,"483":2,"486":1,"488":2,"493":2,"500":2,"503":3,"506":2,"511":2,"512":1,"517":1,"519":1,"529":1,"530":2,"531":2,"532":1,"539":1,"556":2}}],["mbps",{"2":{"525":1}}],["m4a",{"2":{"512":1,"513":1}}],["m1024",{"2":{"476":1}}],["m1920",{"2":{"419":3,"445":1,"477":1}}],["mka",{"2":{"512":1,"513":1}}],["mkv",{"2":{"452":1,"496":2,"508":2,"512":2,"513":1,"515":1,"516":1,"529":1,"534":2,"556":2}}],["mk",{"2":{"434":1}}],["m3000",{"2":{"419":1}}],["m",{"2":{"419":2,"434":1,"482":1,"497":1,"501":1,"524":1}}],["mp4",{"2":{"416":2,"452":1,"477":2,"512":3,"513":2,"515":2,"529":1,"545":1}}],["msys2",{"0":{"406":1},"2":{"406":3}}],["md",{"2":{"397":1,"495":1,"507":1,"555":1}}],["myscrcpy",{"2":{"556":1}}],["my",{"2":{"383":1,"443":2,"482":1,"546":1}}],["muxed",{"2":{"452":1,"513":1}}],["must",{"0":{"476":1},"2":{"12":1,"27":1,"343":1,"344":1,"346":1,"353":1,"358":1,"359":1,"396":1,"411":2,"426":1,"427":1,"443":1,"454":3,"485":1,"498":1,"503":2,"509":1,"520":1,"540":1}}],["multi",{"2":{"10":1,"14":1,"266":2,"274":2,"298":2,"321":1}}],["multiple",{"2":{"8":1,"10":1,"17":1,"299":1,"345":1,"358":2,"359":2,"360":1,"426":1,"472":2}}],["meets",{"2":{"496":1,"508":1,"556":1}}],["meta",{"2":{"458":1}}],["metata",{"2":{"458":1}}],["meta=false",{"2":{"458":2}}],["metadata",{"2":{"455":1,"456":1}}],["methods",{"0":{"444":1},"2":{"270":1,"274":1,"444":1}}],["method",{"2":{"12":6,"15":1,"27":1,"59":2,"65":1,"115":1,"282":1,"325":5,"345":1,"351":1,"356":1,"392":1,"405":1,"443":1,"446":1,"449":1}}],["meson",{"2":{"402":3,"403":1,"406":2,"407":1,"412":1,"460":1,"495":1}}],["messages",{"2":{"331":1,"446":2,"449":1,"453":4,"457":1}}],["message",{"2":{"6":1,"12":1,"85":1,"317":1,"345":1,"435":1,"556":2}}],["meant",{"2":{"391":1}}],["memory",{"2":{"372":1}}],["mediaformat",{"2":{"393":1,"527":1}}],["media",{"2":{"356":1}}],["mediacodec",{"2":{"356":2,"447":1,"448":1,"452":1,"456":1}}],["me",{"2":{"261":2}}],["menu",{"0":{"328":1},"2":{"12":1,"15":1,"164":2,"174":1,"331":1,"537":3}}],["mechanism",{"0":{"318":1},"2":{"12":1,"72":1,"174":1}}],["merge",{"2":{"10":1,"32":1,"138":1}}],["middle",{"2":{"476":1,"503":4,"537":1}}],["minutes",{"2":{"463":1}}],["mingw",{"2":{"405":4,"406":14}}],["minimal",{"2":{"441":1}}],["minimize",{"2":{"390":1,"396":1,"441":1}}],["minimized",{"0":{"332":1}}],["minimizing",{"2":{"11":1,"99":1}}],["minimum",{"2":{"310":2,"311":2,"321":1}}],["mic",{"2":{"391":6}}],["microphone",{"2":{"391":7,"416":2,"441":1,"477":1}}],["microsoft",{"0":{"336":1}}],["might",{"2":{"337":1,"345":1,"348":1,"390":1,"396":2,"447":1,"455":1,"474":1,"481":1,"520":2,"524":1,"541":1}}],["migration",{"2":{"12":1,"27":1}}],["migrating",{"2":{"12":1,"27":1}}],["migrate",{"2":{"8":1}}],["milestones",{"0":{"274":1}}],["milliseconds",{"2":{"265":1,"463":2}}],["misbehaving",{"2":{"472":1}}],["mistake",{"2":{"445":1}}],["misconfiguration",{"2":{"445":1}}],["miscellaneous",{"0":{"1":1,"2":1,"4":1,"13":1,"91":1,"154":1,"161":1}}],["missing",{"2":{"11":1,"45":1,"324":1}}],["mirrored",{"2":{"524":1,"532":1}}],["mirrors",{"2":{"144":1,"473":1,"523":1}}],["mirror",{"0":{"336":1},"2":{"11":1,"12":1,"65":1,"95":1,"169":2,"170":1,"176":1,"178":2,"271":1,"286":1,"287":1,"345":1,"472":1,"490":1,"502":1,"517":1,"524":2,"531":2,"532":1,"539":1}}],["mirroring",{"0":{"265":1,"331":1,"335":1},"2":{"10":2,"11":1,"12":1,"51":1,"55":1,"79":1,"83":1,"122":1,"263":1,"266":1,"274":3,"276":1,"285":1,"292":1,"295":1,"319":2,"325":2,"331":1,"388":1,"392":1,"416":1,"419":1,"434":1,"464":1,"472":1,"473":3,"477":1,"489":1,"490":1,"502":1,"511":1,"512":1,"516":1,"524":1,"529":1,"531":1,"537":1}}],["mozilla",{"2":{"468":2}}],["most",{"2":{"456":1}}],["motion",{"2":{"447":1,"449":1,"499":1}}],["movies",{"2":{"439":1}}],["moving",{"0":{"309":1}}],["movements",{"2":{"436":1}}],["moved",{"2":{"11":1,"54":1}}],["move",{"2":{"8":1,"309":2,"310":1,"436":3,"537":3,"542":1}}],["mobile",{"2":{"268":2}}],["mouse=disabled",{"2":{"497":1,"509":1}}],["mouse=sdk",{"2":{"436":1,"497":1,"498":1}}],["mouse=uhid",{"2":{"434":2,"497":1,"501":1,"511":1}}],["mouse=aoa",{"2":{"348":1,"434":1,"497":1,"502":1,"509":1,"511":1}}],["mouse",{"0":{"350":1,"433":1,"497":1,"498":1,"499":1,"500":1,"503":1},"1":{"498":1,"499":2,"500":1,"501":2,"502":2,"503":1},"2":{"125":1,"282":2,"309":2,"310":2,"315":1,"321":2,"329":1,"432":1,"433":1,"434":3,"436":2,"441":1,"449":2,"473":2,"474":1,"477":1,"478":1,"497":3,"498":2,"499":3,"500":5,"501":2,"502":2,"503":12,"509":6,"537":3}}],["monitor",{"2":{"12":1,"40":1,"277":1,"321":1,"362":1}}],["mod=lctrl",{"2":{"537":1}}],["mod=rctrl",{"2":{"537":1}}],["modifier",{"2":{"537":1}}],["modifying",{"2":{"329":1}}],["modify",{"2":{"12":1,"27":1,"328":1}}],["modprobe",{"2":{"520":2}}],["mod",{"2":{"500":1,"537":4}}],["mod+n+n",{"2":{"537":1}}],["mod+n",{"2":{"537":1}}],["mod+↓",{"2":{"537":1}}],["mod+↑",{"2":{"537":1}}],["mod+m",{"2":{"537":1}}],["mod+s",{"2":{"537":1}}],["mod+shift+n",{"2":{"537":1}}],["mod+shift+r",{"2":{"537":1}}],["mod+shift+z",{"2":{"537":1}}],["mod+shift+↓",{"2":{"537":1}}],["mod+shift+↑",{"2":{"537":1}}],["mod+shift+→",{"2":{"537":1}}],["mod+shift+←",{"2":{"537":1}}],["mod+shift+o",{"2":{"464":1,"537":1}}],["mod+shift+v",{"2":{"435":2,"537":1}}],["mod+backspace",{"2":{"537":1}}],["mod+b",{"2":{"537":1}}],["mod+h",{"2":{"537":1}}],["mod+w",{"2":{"537":1}}],["mod+g",{"2":{"537":1}}],["mod+z",{"2":{"537":1}}],["mod+→",{"2":{"537":1}}],["mod+←",{"2":{"537":1}}],["mod+f",{"2":{"537":1,"550":1}}],["mod+r",{"2":{"529":1,"537":1}}],["mod+i",{"2":{"526":1,"537":1}}],["mod+k",{"2":{"488":1,"537":1}}],["mod+p",{"2":{"464":1,"537":1}}],["mod+o",{"2":{"464":1,"537":1}}],["mod+v",{"2":{"435":3,"537":1}}],["mod+x",{"2":{"435":1,"537":1}}],["mod+c",{"2":{"435":1,"537":1}}],["model",{"0":{"286":1},"2":{"327":1,"546":1}}],["models",{"2":{"12":1,"49":1,"307":1}}],["modern",{"2":{"273":1}}],["modes",{"2":{"266":1,"469":1,"470":1,"484":1,"488":1,"490":1,"497":1,"500":2,"502":1,"503":2}}],["mode",{"0":{"327":1},"2":{"11":2,"12":2,"28":1,"52":1,"73":1,"108":1,"110":1,"130":1,"134":1,"141":1,"150":1,"274":1,"279":2,"282":2,"292":1,"294":1,"325":3,"331":1,"351":1,"422":2,"428":2,"434":1,"436":1,"451":4,"471":1,"472":4,"473":1,"474":1,"485":2,"489":2,"490":2,"498":2,"501":1,"502":2,"503":3,"509":4,"511":1,"520":1,"537":1,"550":1}}],["module",{"2":{"8":1,"469":1,"471":1,"484":1,"489":1,"497":1,"501":1,"520":1}}],["more",{"2":{"10":1,"17":1,"263":1,"270":3,"273":2,"328":1,"345":1,"381":2,"436":1,"441":1,"448":1,"455":1,"458":1,"459":1,"473":1,"503":1,"518":2,"520":1,"526":1}}],["matroska",{"2":{"513":1}}],["matching",{"2":{"412":1,"454":1}}],["match",{"2":{"325":1,"346":1,"488":1}}],["malicious",{"2":{"443":1}}],["mail",{"2":{"435":1}}],["mainly",{"2":{"556":1}}],["mainclass",{"2":{"443":2}}],["maintaining",{"2":{"441":1}}],["maintained",{"2":{"370":1,"372":1}}],["maintainer",{"2":{"219":1,"482":1}}],["maintains",{"2":{"310":1}}],["maintainability",{"2":{"8":1}}],["main",{"2":{"11":1,"12":4,"34":1,"40":1,"54":1,"55":1,"274":2,"304":2,"356":2,"398":1,"414":1,"443":2,"446":2,"453":2,"464":1,"539":2,"542":1}}],["mapped",{"2":{"391":10}}],["macports",{"2":{"507":1}}],["mac",{"0":{"407":1},"2":{"370":1,"411":1}}],["macos64",{"2":{"378":1}}],["macos",{"0":{"291":1,"296":1,"332":1,"333":1,"504":1},"1":{"505":1,"506":1,"507":1,"508":1},"2":{"5":1,"10":2,"11":5,"12":2,"19":1,"39":2,"51":1,"70":1,"71":1,"78":1,"82":1,"83":1,"179":1,"180":1,"188":1,"189":1,"190":1,"191":1,"192":1,"194":1,"195":1,"206":1,"212":1,"214":1,"215":1,"216":1,"218":1,"221":1,"222":2,"223":1,"224":1,"269":1,"274":1,"296":1,"297":1,"378":2,"473":1,"475":1,"506":3}}],["master",{"2":{"333":1,"398":1,"412":1,"495":1}}],["may",{"2":{"295":1,"324":1,"326":1,"330":1,"343":1,"350":1,"381":1,"386":2,"394":1,"410":1,"418":1,"419":3,"424":1,"426":1,"441":1,"443":1,"444":1,"445":1,"447":1,"449":1,"452":3,"454":2,"455":1,"465":1,"468":1,"471":1,"472":1,"476":1,"483":2,"486":1,"489":1,"490":1,"501":1,"502":1,"503":2,"518":1,"526":2,"527":1,"528":2,"529":2,"531":1,"532":1,"540":1,"545":1,"547":1,"550":1}}],["man1",{"2":{"414":1}}],["man",{"2":{"414":1,"496":1,"508":1}}],["manpage",{"2":{"393":1,"414":1,"527":1}}],["many",{"2":{"332":1,"391":1,"476":1}}],["managing",{"0":{"305":1},"1":{"306":1,"307":1}}],["managed",{"2":{"447":1}}],["manage",{"2":{"299":1,"330":1}}],["management",{"0":{"312":1},"1":{"313":1,"314":1,"315":1},"2":{"11":2,"12":2,"18":1,"21":1,"44":1,"57":1,"266":2,"270":1,"274":1,"285":1,"298":1,"321":1}}],["managers",{"2":{"494":1}}],["manager",{"0":{"494":1,"507":1,"555":1},"2":{"10":2,"11":1,"12":3,"16":1,"17":2,"18":1,"19":1,"34":1,"102":1,"103":1,"105":2,"274":2,"287":1,"401":1,"453":1}}],["manually",{"0":{"382":1},"2":{"296":1,"297":1,"353":1,"382":1,"406":1,"429":1,"462":1,"463":1,"464":1,"465":1,"495":1,"507":1,"555":1}}],["manual",{"0":{"290":1,"429":1},"2":{"296":1,"458":2}}],["making",{"2":{"273":1}}],["makes",{"2":{"503":1}}],["make",{"2":{"11":1,"12":1,"47":1,"74":1,"324":1,"328":1,"331":1,"374":1,"388":2,"403":1,"406":3,"407":1,"474":1,"496":1,"508":1,"518":1,"519":1,"543":1,"556":1}}],["max",{"2":{"419":2,"445":1,"458":1,"477":3,"524":2,"526":1,"531":2}}],["maximum",{"2":{"152":1,"277":1,"524":1}}],["maxsteps",{"2":{"8":1}}],["major",{"2":{"10":1,"269":1,"370":1}}],["rsuper",{"2":{"537":1}}],["rctrl",{"2":{"537":2}}],["r27183",{"2":{"519":1}}],["rpmfusion",{"2":{"403":2}}],["rpm",{"2":{"403":3}}],["r",{"0":{"361":1,"362":1,"363":1,"364":1,"366":1},"2":{"333":1,"361":1,"362":1,"363":2,"364":1,"366":1,"382":1,"481":1,"512":1,"519":1}}],["right",{"2":{"304":1,"315":1,"331":1,"436":1,"464":1,"476":1,"503":5,"537":5}}],["richer",{"2":{"270":1}}],["rich",{"0":{"266":1},"2":{"263":1}}],["ralt",{"2":{"537":1}}],["random",{"2":{"445":1,"455":1}}],["race",{"2":{"441":1}}],["raw",{"2":{"391":1,"393":1,"395":1,"441":2,"443":1,"446":1,"456":2,"458":4,"486":2}}],["rather",{"2":{"531":1}}],["ratio",{"2":{"283":1,"419":5,"524":1}}],["rate=2000000",{"2":{"525":1}}],["rate=2m",{"2":{"525":1}}],["rate=64000",{"2":{"395":1}}],["rate=64k",{"2":{"395":1}}],["rates",{"2":{"417":2,"422":1}}],["rate",{"0":{"395":1,"421":1,"525":1,"526":1},"2":{"277":1,"283":1,"395":1,"421":2,"477":1,"525":1,"526":3}}],["radius",{"2":{"12":1,"19":1}}],["rust",{"0":{"378":1},"2":{"371":1,"372":2,"376":1,"378":3,"387":2}}],["russian",{"2":{"12":3,"93":1,"94":1}}],["runs",{"2":{"372":1,"451":1,"453":1,"532":1}}],["runtime",{"2":{"372":2,"402":1,"406":2,"407":1}}],["run",{"0":{"361":1,"380":1,"381":1,"382":1,"413":1,"496":1,"508":1,"556":1},"2":{"361":4,"378":1,"379":1,"380":3,"383":2,"411":3,"412":1,"413":1,"414":1,"428":2,"429":2,"430":1,"443":2,"449":1,"454":1,"460":2,"468":1,"474":1,"475":1,"496":1,"508":1,"509":1,"518":1,"519":2,"540":1,"556":1}}],["running",{"2":{"5":1,"354":1,"376":1,"445":2,"461":1,"463":1,"519":1,"529":1,"542":1,"551":1}}],["rules",{"2":{"307":1}}],["romain",{"2":{"483":1}}],["rom1v",{"2":{"482":1}}],["role",{"2":{"441":1}}],["roles",{"2":{"441":2}}],["rotated",{"2":{"514":1}}],["rotate",{"0":{"436":1},"2":{"420":1,"436":1,"530":1,"537":4}}],["rotation",{"0":{"420":1,"514":1},"2":{"8":1,"174":1,"274":1,"277":1,"287":1,"441":1,"447":1,"529":2,"530":1}}],["robotic",{"2":{"396":1}}],["robustness",{"2":{"118":1}}],["routes",{"2":{"363":1}}],["route2",{"0":{"361":1,"362":1,"363":1,"364":1,"366":1}}],["route",{"0":{"361":1,"362":1,"363":1,"364":1,"366":1},"2":{"361":1,"362":1,"363":1,"364":1,"366":1,"429":1}}],["rocket",{"2":{"8":1}}],["root=",{"2":{"411":1}}],["root=~",{"2":{"411":2}}],["root",{"2":{"8":1,"12":1,"44":1,"370":1,"409":1,"411":4,"412":1,"473":1}}],["regularly",{"2":{"484":1}}],["rewritten",{"2":{"387":1}}],["rev",{"2":{"384":1}}],["reversed",{"2":{"441":1,"503":1}}],["reverse",{"0":{"297":1},"2":{"12":1,"48":1,"196":1,"266":2,"274":1,"297":2,"336":1,"345":2,"357":1,"361":1,"362":1,"363":1,"367":1,"370":1,"374":1,"380":3,"381":1,"382":1,"387":2,"455":2}}],["reversely",{"2":{"12":1,"49":1}}],["reinstall",{"0":{"360":1},"2":{"360":2,"495":1}}],["reopening",{"2":{"321":1}}],["rebooting",{"2":{"350":1,"474":1}}],["reboot",{"2":{"287":1}}],["remote",{"0":{"518":1},"2":{"391":1,"460":1,"517":3,"518":1,"519":9}}],["removing",{"2":{"12":1,"68":1}}],["removed",{"2":{"314":1,"315":1}}],["remove",{"2":{"4":3,"12":2,"31":1,"69":1,"106":1,"107":1,"142":1,"147":1,"150":1,"330":1,"537":2}}],["remaining",{"2":{"451":1}}],["remains",{"2":{"380":1}}],["remarks",{"2":{"274":1}}],["re",{"2":{"273":2,"429":1,"537":1}}],["rendered",{"2":{"452":1,"541":1}}],["renowned",{"2":{"263":1}}],["renamed",{"2":{"443":1}}],["rename",{"2":{"8":2,"11":1,"84":1}}],["requiring",{"2":{"268":1,"380":1}}],["requirements",{"0":{"373":1,"399":1},"1":{"374":1}}],["require",{"2":{"326":1,"370":1,"372":1,"388":1,"472":1,"473":1,"490":1,"502":1}}],["required",{"2":{"267":1,"319":1,"373":1,"381":1,"386":1,"401":1,"406":1,"473":1,"474":1,"477":1,"483":1,"495":1}}],["requires",{"2":{"12":1,"50":1,"329":1,"373":1,"392":1,"399":1,"443":1,"474":2,"520":1}}],["requested",{"2":{"529":1}}],["requests",{"2":{"441":1,"481":1,"529":1}}],["request",{"2":{"4":1,"344":1,"345":1,"380":1}}],["react",{"2":{"537":1}}],["reached",{"2":{"396":1}}],["reason",{"2":{"454":1,"472":1}}],["reasons",{"2":{"329":1}}],["reasonable",{"2":{"310":1}}],["reappear",{"2":{"315":1}}],["real",{"2":{"12":1,"61":1,"299":1,"309":2,"330":2}}],["readable",{"2":{"443":1}}],["readability",{"2":{"8":1}}],["reads",{"2":{"441":1}}],["read",{"0":{"432":1},"2":{"11":1,"18":1,"348":1,"385":1,"433":1,"435":1,"451":1,"452":1,"455":1,"459":1,"475":1,"481":1,"532":1,"556":1}}],["retrieved",{"2":{"532":1}}],["retrieve",{"2":{"446":1}}],["retrieving",{"2":{"12":1,"80":1,"468":1}}],["returned",{"2":{"345":1}}],["returning",{"2":{"11":1,"12":1,"21":1,"44":1}}],["retains",{"2":{"270":1}}],["reddit",{"2":{"481":1}}],["redirect",{"2":{"460":2}}],["redirections",{"2":{"518":1}}],["redirection",{"2":{"455":3}}],["reducing",{"2":{"476":1}}],["reduced",{"2":{"179":1,"180":1}}],["reduce",{"2":{"12":2,"48":1,"68":1}}],["redundant",{"2":{"12":3,"31":1,"68":1,"69":1,"142":1,"150":1}}],["redesign",{"2":{"8":1}}],["relies",{"2":{"450":1}}],["reliability",{"2":{"12":2,"16":1,"34":1}}],["releasing",{"2":{"537":1}}],["releases",{"2":{"399":1,"405":2}}],["released",{"0":{"290":1},"2":{"436":1,"486":1,"495":1}}],["release",{"0":{"493":1,"506":1,"554":1},"2":{"1":2,"2":1,"4":6,"10":1,"11":1,"13":2,"70":1,"91":1,"154":1,"161":1,"309":2,"342":1,"377":1,"378":1,"397":1,"398":2,"403":1,"405":2,"441":1,"493":1,"495":4,"506":1,"537":1,"554":1}}],["relevant",{"2":{"369":1,"441":1}}],["relative",{"2":{"434":1,"436":1}}],["related",{"2":{"11":1,"12":2,"36":1,"68":1,"356":1}}],["relays",{"2":{"370":1}}],["relay",{"0":{"368":1},"2":{"361":2,"362":1,"363":1,"368":3,"372":1,"381":2,"382":2}}],["reload",{"2":{"313":1}}],["resources",{"0":{"479":1}}],["resolutions",{"2":{"422":1,"524":1}}],["resolution",{"2":{"265":1,"321":1,"476":1,"524":1}}],["resolving",{"2":{"11":1,"56":1,"133":1}}],["resolved",{"2":{"11":1,"29":1}}],["resolve",{"2":{"11":1,"90":1,"335":1}}],["resulting",{"2":{"460":1}}],["results",{"2":{"348":1}}],["respectively",{"2":{"455":1}}],["responsible",{"2":{"441":1,"452":1,"453":2}}],["responsive",{"2":{"321":1}}],["response",{"0":{"327":1}}],["resize",{"2":{"537":2}}],["resizing",{"0":{"339":1},"2":{"339":1,"531":1}}],["residue",{"2":{"267":1}}],["reset",{"0":{"313":1},"2":{"182":1,"313":1,"331":1,"381":1,"447":1,"537":1}}],["resetting",{"2":{"11":1,"36":1,"321":1,"367":1}}],["restricted",{"2":{"422":1}}],["restrictions",{"2":{"338":1}}],["restarted",{"2":{"447":1}}],["restart",{"0":{"366":1},"2":{"319":1,"366":6}}],["restarting",{"2":{"11":1,"33":1,"321":1}}],["restored",{"2":{"11":1,"54":1,"182":1,"462":1,"463":1}}],["restore",{"2":{"11":2,"79":1,"84":1,"367":1,"465":1}}],["rest",{"2":{"6":1}}],["refuse",{"2":{"529":1}}],["refuses",{"0":{"326":1}}],["reflection",{"2":{"444":1}}],["reference",{"0":{"369":1},"2":{"369":1}}],["refer",{"2":{"272":1,"295":1,"296":2,"329":1}}],["refresh",{"2":{"12":1,"277":1,"327":1}}],["refreshing",{"2":{"11":1,"39":1,"321":1}}],["refactored",{"2":{"10":1,"17":1}}],["refactor",{"2":{"8":1,"12":1,"274":1}}],["refactoring",{"0":{"8":1,"14":1}}],["repo",{"2":{"495":2}}],["repology",{"2":{"494":1}}],["reports",{"2":{"481":2}}],["reported",{"2":{"340":1}}],["repeat",{"0":{"487":1},"2":{"447":1,"487":1}}],["repeatedly",{"2":{"11":1,"39":1,"307":1}}],["repeated",{"2":{"11":1,"67":1,"487":2,"537":1}}],["repairing",{"2":{"113":1}}],["repair",{"2":{"11":3,"84":1,"99":1,"101":1,"121":1,"138":1,"177":1}}],["replace",{"2":{"8":5,"380":1,"406":1,"429":1,"443":1,"460":1,"520":1}}],["receiving",{"2":{"452":1}}],["received",{"2":{"449":1,"453":1}}],["receives",{"2":{"441":1,"446":1}}],["receive",{"0":{"333":1}}],["receiver",{"2":{"277":1}}],["recent",{"2":{"374":1}}],["recompile",{"2":{"460":1}}],["recommended",{"2":{"325":1,"468":1,"484":1}}],["recognition",{"2":{"391":3}}],["reconnection",{"2":{"428":1}}],["reconnect",{"2":{"324":1}}],["reconfiguring",{"2":{"321":1}}],["reconstruct",{"2":{"14":1}}],["recorder",{"2":{"451":1,"452":2}}],["recorded",{"2":{"11":1,"26":1,"416":1,"512":1,"514":1,"529":1}}],["record=file",{"2":{"391":1,"416":2,"477":1,"496":1,"508":1,"512":6,"513":1,"515":3,"516":1,"534":2,"545":1,"556":1}}],["record",{"2":{"268":1,"274":1,"281":2,"391":1,"452":1,"477":1,"496":1,"508":1,"512":4,"513":1,"515":1,"529":2,"534":1,"556":1}}],["recording",{"0":{"281":1,"331":1,"512":1},"1":{"513":1,"514":1,"515":1,"516":1},"2":{"10":2,"11":3,"12":4,"25":1,"36":1,"87":2,"88":1,"90":1,"92":1,"93":2,"171":1,"183":1,"274":1,"281":1,"286":3,"391":1,"452":1,"473":1,"478":1,"515":2,"516":2,"529":3,"534":1,"545":1}}],["recharge",{"2":{"9":1}}],["gz",{"2":{"493":1,"506":2}}],["g",{"2":{"443":1,"446":1,"449":1,"469":1,"471":1,"477":1,"503":1,"509":2,"517":1}}],["guarantees",{"2":{"441":1}}],["gui",{"2":{"328":1}}],["guide",{"0":{"298":1,"303":1},"1":{"299":1,"300":1,"301":1,"302":1,"303":1,"304":2,"305":2,"306":2,"307":2,"308":2,"309":2,"310":2,"311":2,"312":2,"313":2,"314":2,"315":2,"316":1,"317":1,"318":1,"319":1,"320":1,"321":1},"2":{"297":1}}],["give",{"2":{"500":1}}],["gives",{"2":{"441":1,"503":1}}],["given",{"2":{"419":2}}],["git",{"2":{"402":1,"495":1}}],["gitcode",{"2":{"290":1}}],["gitee",{"2":{"290":1}}],["github",{"2":{"290":1,"398":1,"409":1,"436":2,"482":1,"495":1,"496":1,"508":1,"556":1}}],["gcc",{"2":{"402":1,"403":1,"406":2,"495":1}}],["gain",{"2":{"391":1}}],["games",{"2":{"268":1,"486":2,"487":1}}],["gamers",{"2":{"268":1}}],["gamepads",{"2":{"469":2,"470":1,"471":2,"472":4,"509":3}}],["gamepad=aoa",{"2":{"469":1,"472":1,"509":2,"511":1}}],["gamepad=uhid",{"2":{"469":1,"471":1,"477":1,"511":1}}],["gamepad=disabled",{"2":{"469":1}}],["gamepad",{"0":{"469":1,"470":1},"1":{"470":1,"471":2,"472":2},"2":{"12":1,"96":1,"282":1,"469":1,"470":1,"473":1,"477":1,"478":1,"509":2}}],["glitchy",{"2":{"396":1}}],["glitches",{"2":{"390":1,"396":2}}],["global",{"0":{"301":1,"306":1},"2":{"134":1,"299":1,"301":1,"302":1,"306":3,"318":2,"319":1,"331":1,"462":3}}],["gnu",{"2":{"370":1}}],["gnirehtetactivity",{"2":{"382":2}}],["gnirehtet",{"0":{"297":1,"357":1,"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"367":1,"368":1,"370":1,"384":1},"1":{"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"367":1,"368":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1,"378":1,"379":1,"380":1,"381":1,"382":1,"383":1,"384":1,"385":1,"386":1,"387":1},"2":{"12":3,"47":1,"49":1,"53":1,"173":1,"174":2,"182":1,"187":2,"196":1,"197":1,"198":1,"266":1,"274":1,"276":3,"287":1,"297":3,"336":1,"357":1,"367":1,"369":1,"371":1,"372":1,"374":1,"376":1,"378":8,"379":6,"380":7,"381":7,"382":8,"383":6,"387":3}}],["gm1913",{"2":{"345":1}}],["good",{"2":{"443":1}}],["google",{"2":{"343":1}}],["governing",{"2":{"386":1,"483":1}}],["go",{"2":{"325":1,"331":1,"459":1,"531":1}}],["gt",{"2":{"297":2,"344":1,"345":2,"406":1,"419":3,"435":1,"455":1,"460":3,"474":1,"537":1}}],["gesture",{"2":{"436":2}}],["gentoo",{"2":{"494":1}}],["genymobile",{"2":{"382":4,"386":1,"409":1,"436":2,"445":2,"458":1,"483":1,"495":1,"555":1}}],["generally",{"2":{"327":1,"331":1,"332":1}}],["general",{"0":{"276":1},"2":{"481":1}}],["generates",{"2":{"436":1,"487":1}}],["generate",{"2":{"405":2}}],["generated",{"2":{"12":1,"87":1,"486":1}}],["generating",{"2":{"5":1}}],["get",{"0":{"331":1,"375":1,"475":1},"1":{"376":1,"377":1,"378":1,"379":1},"2":{"272":1,"345":1,"356":1,"381":2,"393":1,"396":1,"429":1,"462":2,"463":2,"465":2,"474":1,"521":1,"526":1,"533":2}}],["getting",{"2":{"12":1,"34":1,"376":1}}],["greatly",{"2":{"476":1}}],["greatest",{"2":{"419":8}}],["gradle",{"2":{"443":1}}],["granting",{"2":{"350":1}}],["granted",{"2":{"324":1,"443":1}}],["graphic",{"2":{"105":1}}],["graphical",{"0":{"262":1},"1":{"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"269":1,"270":1,"271":1,"272":1,"273":1},"2":{"10":1,"32":1,"263":2,"270":1,"271":1,"273":1,"274":1}}],["group",{"2":{"11":1,"95":1,"169":2,"170":1,"176":1,"178":2,"274":1,"287":1}}],["gh",{"2":{"4":1}}],["ninja",{"2":{"402":1,"411":3,"412":1,"414":1,"415":1,"495":2}}],["n",{"2":{"382":2,"432":1,"503":1,"520":2,"537":1}}],["num",{"2":{"419":1}}],["numbers",{"2":{"486":1}}],["number",{"2":{"12":1,"27":1,"295":2,"445":2,"454":1,"455":1}}],["numeric",{"2":{"6":1}}],["necessarily",{"2":{"391":1,"479":1}}],["necessary",{"2":{"324":1,"350":1,"361":1,"396":1,"428":1,"474":1,"488":1,"509":1,"511":1,"529":1}}],["neither",{"2":{"370":1}}],["next",{"2":{"348":1,"398":1}}],["nexttick",{"2":{"236":1}}],["nexus",{"2":{"345":1}}],["network",{"2":{"12":2,"48":1,"49":1,"297":1,"427":1,"429":1,"441":1,"458":1}}],["needs",{"2":{"325":1,"513":1}}],["needing",{"2":{"268":1}}],["needed",{"2":{"267":1}}],["need",{"2":{"12":1,"86":1,"295":2,"296":2,"297":1,"336":1,"342":1,"343":1,"350":1,"374":2,"388":1,"399":1,"405":1,"406":1,"410":1,"449":1,"472":1,"474":1,"495":1,"507":1}}],["newer",{"2":{"388":1,"445":1}}],["new",{"0":{"539":1},"2":{"10":2,"12":5,"17":1,"19":3,"34":1,"65":1,"105":1,"338":1,"430":1,"435":1,"441":1,"447":1,"463":1,"468":1,"477":2,"495":1,"520":1,"526":1,"539":6,"540":2,"541":1,"542":1,"543":1}}],["noconsole",{"2":{"556":2}}],["nodaemon",{"2":{"518":1}}],["node",{"2":{"318":2}}],["non",{"2":{"409":1,"411":1,"435":1,"439":1,"473":1,"537":1}}],["noarch",{"2":{"403":1}}],["nor",{"2":{"370":1}}],["normal",{"2":{"451":2}}],["normally",{"0":{"330":1}}],["normalize",{"2":{"12":1,"87":1}}],["no",{"0":{"327":1,"389":1,"515":1,"534":1,"535":1},"2":{"12":2,"50":1,"82":1,"267":5,"313":1,"319":1,"380":1,"389":2,"390":7,"391":2,"393":1,"416":3,"432":1,"434":12,"435":1,"438":1,"439":1,"445":3,"455":4,"462":1,"467":1,"473":3,"477":3,"487":1,"489":1,"496":1,"499":1,"508":1,"511":6,"512":5,"515":5,"520":1,"521":1,"524":1,"533":1,"534":4,"535":1,"540":3,"541":5,"542":1,"545":1,"556":1}}],["notice",{"2":{"519":1}}],["notification",{"2":{"287":1,"503":3,"537":1}}],["nothing",{"2":{"455":1,"473":1}}],["note",{"2":{"292":1,"295":2,"296":1,"297":1,"306":1,"328":1,"329":1,"345":1,"380":1,"396":1,"411":1,"417":1,"441":1,"463":1,"465":1,"471":1,"472":2,"474":1,"485":1,"490":1,"495":1,"498":1,"501":1,"502":1,"511":1,"541":1}}],["notes",{"2":{"266":1}}],["not",{"0":{"328":1,"332":1,"337":1,"342":1,"343":1,"350":1,"351":1},"2":{"10":1,"11":7,"12":1,"26":1,"29":1,"33":1,"42":1,"46":1,"49":1,"51":1,"54":1,"71":1,"135":1,"141":1,"182":1,"296":1,"297":1,"307":1,"321":3,"327":2,"328":1,"329":2,"333":1,"341":2,"343":2,"344":1,"348":1,"370":3,"372":1,"386":1,"388":2,"390":1,"391":1,"392":1,"395":1,"396":1,"406":1,"410":2,"411":1,"412":1,"416":2,"417":3,"419":2,"435":2,"441":4,"443":2,"444":1,"445":1,"447":2,"449":1,"455":2,"462":1,"471":1,"472":5,"473":1,"474":1,"477":1,"479":1,"483":1,"489":1,"490":5,"501":1,"502":5,"509":1,"511":1,"512":2,"513":1,"516":1,"526":1,"527":1,"529":3,"551":1}}],["now",{"2":{"5":1,"10":3,"25":1,"32":2,"387":1,"480":1}}],["natural",{"2":{"274":1,"531":1}}],["nature",{"2":{"273":1}}],["native",{"2":{"8":1,"267":1,"328":1,"356":2,"372":1,"473":1,"537":1}}],["navigation",{"2":{"11":1,"52":1}}],["names",{"2":{"12":2,"40":1,"87":1,"274":1,"307":2,"468":1}}],["name",{"2":{"1":1,"12":1,"37":1,"134":1,"441":1,"455":1,"458":1,"468":3}}],["😉",{"2":{"459":1}}],["🚧",{"2":{"274":1}}],["👉",{"2":{"272":1}}],["🗽",{"2":{"267":1}}],["🙅‍♂️",{"2":{"267":1}}],["😎",{"2":{"267":1}}],["🔗",{"2":{"266":1}}],["🖥️",{"2":{"266":1}}],["📡",{"2":{"266":1}}],["🕒",{"2":{"265":1}}],["😛",{"2":{"261":1}}],["🚨",{"2":{"168":1}}],["💡",{"2":{"165":1,"266":1}}],["🔨",{"2":{"12":2,"14":1,"34":1,"49":1,"213":1,"240":1,"249":2}}],["🔊",{"2":{"12":1,"50":1,"186":1}}],["🔀",{"2":{"12":1,"40":1}}],["📦️",{"2":{"12":1,"15":1}}],["📌",{"2":{"12":2,"27":1}}],["💫",{"2":{"12":2,"47":1,"53":1}}],["💄",{"2":{"12":12,"28":1,"34":1,"53":1,"55":1,"87":1,"93":1,"94":1,"98":1,"108":1,"110":3,"113":1,"114":2,"143":1,"150":1,"168":1,"174":1,"178":1,"186":1,"204":1}}],["👽️",{"2":{"12":2,"53":2}}],["👷",{"2":{"12":4,"31":1,"53":1,"59":1,"61":1}}],["👥",{"2":{"12":1,"40":1}}],["📝",{"2":{"11":1,"12":7,"19":1,"35":1,"36":1,"37":1,"40":1,"44":1,"48":1,"121":1,"155":1,"164":1,"173":1,"185":1,"203":1,"225":1,"226":1,"234":1,"243":1,"259":1}}],["🚚",{"2":{"10":2,"12":1,"17":1,"48":1,"51":1}}],["🔍️",{"2":{"10":1,"12":1,"38":1,"47":1}}],["📸",{"2":{"10":1,"12":2,"61":1,"92":1,"93":1}}],["💥",{"2":{"10":1}}],["🔧",{"2":{"8":2,"11":2,"12":2,"26":1,"37":1,"88":1,"89":1,"138":1,"139":1,"202":1,"218":1,"222":2,"225":1,"232":1,"242":1,"251":1,"252":1,"257":1,"260":1}}],["🔄",{"2":{"8":5}}],["🚀",{"2":{"7":1,"10":5,"11":1,"12":32,"15":1,"17":1,"19":5,"22":3,"23":1,"25":1,"27":2,"30":1,"34":5,"38":1,"39":1,"40":1,"41":1,"43":1,"44":1,"50":1,"51":1,"53":1,"55":1,"63":1,"65":2,"66":1,"68":1,"75":2,"96":1,"103":1,"105":1,"112":4,"118":1,"120":1,"125":1,"127":1,"132":2,"134":1,"157":1,"163":1,"174":2,"175":1,"178":1,"186":1,"201":1,"203":1,"205":1,"211":2,"216":1,"221":1,"223":1,"224":1,"227":1,"229":2,"231":1,"233":1,"237":1,"241":1,"244":1,"246":1,"248":1,"255":1,"256":1,"259":3,"265":1}}],["💰",{"2":{"6":1}}],["🚑️",{"2":{"5":1,"219":1,"220":1}}],["🔖",{"2":{"5":1,"12":2,"22":1,"34":1}}],["🐛",{"2":{"3":1,"6":3,"9":1,"11":45,"12":1,"18":3,"21":4,"26":1,"29":1,"33":4,"36":2,"39":3,"42":1,"45":1,"46":1,"52":2,"54":2,"56":1,"58":2,"59":1,"64":1,"70":2,"71":1,"73":1,"74":1,"78":1,"79":2,"81":1,"84":2,"90":1,"95":1,"99":2,"101":1,"107":1,"111":1,"113":1,"117":1,"119":1,"121":1,"122":1,"123":1,"126":1,"128":1,"129":1,"130":2,"133":2,"134":1,"135":1,"137":1,"141":3,"148":1,"152":1,"156":1,"158":1,"159":1,"166":1,"171":1,"173":1,"177":1,"179":1,"180":1,"181":1,"182":6,"189":1,"190":1,"191":1,"192":1,"193":3,"194":1,"195":1,"197":1,"199":1,"200":1,"202":3,"206":1,"207":1,"209":1,"210":1,"212":1,"214":1,"215":1,"217":1,"235":2,"236":1,"237":1,"238":1,"239":1,"245":1,"247":1,"250":1}}],["8",{"2":{"361":6,"362":6,"363":6,"364":6,"366":6,"372":1,"373":2,"525":1}}],["8d4c",{"2":{"436":1}}],["8de04e0",{"2":{"248":1}}],["8d39f5b",{"2":{"12":1,"15":1}}],["8a5f7d9",{"2":{"231":1}}],["8a6f4c7",{"2":{"12":1,"19":1}}],["87b533f",{"2":{"222":1}}],["8707eb5",{"2":{"155":1}}],["894b581",{"2":{"202":1}}],["866aa2c",{"2":{"163":1}}],["86f5e69",{"2":{"12":1,"62":1}}],["8455e86",{"2":{"240":1}}],["8460945",{"2":{"133":1}}],["84c7be7",{"2":{"12":1,"50":1}}],["8080",{"2":{"361":1,"362":1,"363":1,"364":1,"366":1,"367":1,"368":1}}],["802f16f",{"2":{"159":1}}],["8097022",{"2":{"120":1}}],["80b3534",{"2":{"5":1}}],["816748078fa6a304600a294a13338a06ac778bcc0e57b62d88328c7968ad2d3a",{"2":{"379":1}}],["81c007f",{"2":{"170":1}}],["81ff63f",{"2":{"138":1}}],["81bd3d9",{"2":{"114":1}}],["8155723",{"2":{"105":1}}],["8e5df15",{"2":{"245":1}}],["8ee34ca",{"2":{"215":1}}],["8e6af20",{"2":{"113":1}}],["8e94494",{"2":{"12":1,"80":1}}],["83a8043",{"2":{"237":1}}],["8360198",{"2":{"211":1}}],["83f8c04",{"2":{"172":1}}],["8393c85",{"2":{"112":1}}],["8388646",{"2":{"12":1,"19":1}}],["8b03862",{"2":{"104":1}}],["889fe8c",{"2":{"156":1}}],["885af3a",{"2":{"137":1}}],["88a0356",{"2":{"12":1,"72":1}}],["88abe95",{"2":{"12":1,"40":1}}],["8807e50",{"2":{"10":1,"97":1}}],["8587977",{"2":{"134":1}}],["8566644",{"2":{"12":1,"23":1}}],["85be898",{"2":{"12":1,"59":1}}],["85bf096",{"2":{"10":1,"83":1}}],["857c480",{"2":{"11":1,"33":1}}],["82a99d9",{"2":{"193":1}}],["82a77ea",{"2":{"6":1}}],["8261916",{"2":{"122":1}}],["8237058",{"2":{"12":1,"27":1}}],["8212872",{"2":{"8":1}}],["8f5345b",{"2":{"1":1}}],["hflip",{"2":{"529":12}}],["h265",{"2":{"456":1,"527":2}}],["h264",{"2":{"456":1,"527":2}}],["h",{"2":{"441":1,"458":1,"477":2,"503":1}}],["https",{"2":{"403":1,"409":1,"436":2,"495":1}}],["http",{"2":{"386":1,"483":1}}],["header",{"2":{"452":1,"456":3,"458":1}}],["headers",{"2":{"441":2}}],["here",{"2":{"340":1,"397":1,"452":1,"456":1,"458":2,"477":1,"496":1,"508":1,"524":1,"556":2}}],["height=600",{"2":{"547":1}}],["height",{"2":{"279":1,"301":1,"311":2,"318":2,"419":2,"456":1,"524":1}}],["hesitation",{"2":{"273":1}}],["helped",{"2":{"261":1}}],["help",{"0":{"322":1},"2":{"12":1,"50":1,"393":1,"496":1,"508":1,"527":1,"556":1}}],["host=192",{"2":{"518":3}}],["host",{"2":{"441":1,"460":1}}],["hover",{"0":{"499":1},"2":{"315":1,"499":2}}],["holding",{"2":{"487":1}}],["hold",{"2":{"309":1,"310":1,"436":1,"453":1}}],["home=",{"2":{"407":1}}],["homebrew",{"0":{"291":1,"376":1},"2":{"291":1,"376":1,"407":2,"507":1}}],["home",{"2":{"287":1,"398":1,"406":1,"407":2,"476":1,"503":3,"537":1,"540":1}}],["however",{"2":{"328":1,"392":1,"426":1,"441":1,"509":1}}],["how",{"0":{"272":1},"2":{"458":1,"475":1}}],["horizontally",{"2":{"537":2}}],["horizontal",{"2":{"12":1,"55":1,"436":1}}],["hook",{"2":{"5":1}}],["hard",{"2":{"488":1}}],["hack",{"0":{"459":1},"1":{"460":1}}],["having",{"2":{"372":1,"429":1}}],["have",{"2":{"10":1,"17":1,"292":1,"297":1,"306":1,"328":2,"331":1,"335":1,"336":1,"338":1,"445":1,"447":1,"458":1,"459":1,"474":1,"507":1,"528":1,"555":2,"556":1}}],["happens",{"2":{"335":1}}],["habits",{"2":{"12":1,"47":1}}],["has",{"0":{"327":1},"2":{"10":1,"17":1,"261":1,"321":1,"324":1,"347":1,"380":1,"393":1,"462":1,"486":1,"537":1}}],["handled",{"2":{"441":1,"449":1,"503":1,"537":1}}],["handle",{"2":{"6":1,"441":1}}],["handlers",{"2":{"6":1}}],["handling",{"2":{"6":1,"8":2,"174":1,"311":1}}],["hicolor",{"2":{"414":1}}],["highly",{"2":{"266":1}}],["higher",{"2":{"265":1,"388":1,"396":2,"416":1}}],["high",{"0":{"422":1},"2":{"263":1,"265":2,"274":1,"422":1,"423":2,"458":1}}],["history",{"2":{"143":1,"274":1}}],["historical",{"2":{"10":1,"63":1,"143":1,"165":1,"172":2,"274":1}}],["hid",{"2":{"469":2,"470":1,"471":1,"472":1,"473":1,"484":2,"488":1,"489":1,"490":1,"497":2,"500":1,"501":1,"502":1,"509":1,"537":1}}],["hide",{"2":{"339":1}}],["hiding",{"2":{"10":1,"12":3,"59":1,"61":1,"76":1,"77":1,"332":1}}],["hidden",{"0":{"444":1},"2":{"5":1,"274":1,"444":2,"449":1}}],["slide",{"2":{"537":2}}],["sleeping",{"2":{"462":1,"464":1}}],["ssh",{"0":{"519":1},"2":{"519":4}}],["snap",{"2":{"494":2}}],["sw",{"2":{"464":1}}],["switches",{"2":{"266":1,"416":1}}],["switch",{"2":{"12":1,"59":1,"287":1,"325":2,"449":1,"486":1,"503":3,"529":1,"537":2}}],["switching",{"2":{"8":1,"11":1,"12":1,"33":1,"98":1,"266":1}}],["smoother",{"2":{"533":1}}],["smooth",{"2":{"396":1}}],["small",{"2":{"396":1,"430":1,"464":1}}],["smaller",{"2":{"12":1,"19":1,"310":1,"396":1}}],["sdcard",{"2":{"439":2}}],["sdk",{"0":{"485":1,"498":1},"1":{"486":1,"487":1,"499":1},"2":{"374":1,"399":1,"410":1,"411":8,"484":1,"503":2}}],["sdl2",{"2":{"403":1,"406":2,"407":1}}],["sdl",{"2":{"353":3,"450":1,"453":2}}],["skip",{"2":{"330":1}}],["s",{"2":{"295":1,"298":1,"325":1,"328":1,"345":2,"351":1,"357":1,"374":1,"406":4,"421":1,"426":1,"430":1,"441":1,"443":1,"464":1,"473":1,"474":1,"494":1,"503":1,"509":1,"537":1}}],["scoop",{"2":{"555":2}}],["scid>",{"2":{"455":2}}],["scid=12345678",{"2":{"445":1}}],["scid",{"2":{"445":1,"455":1}}],["scale",{"2":{"436":1}}],["scan",{"0":{"294":1},"2":{"12":1,"27":1}}],["scanning",{"2":{"12":1,"47":1,"266":1}}],["schema",{"2":{"456":1}}],["scheme",{"2":{"306":1}}],["schemes",{"2":{"299":1}}],["scheduled",{"2":{"12":2,"19":1,"89":1,"112":1,"266":1,"274":1,"285":1,"287":1}}],["scenarios",{"2":{"268":1}}],["scroll",{"2":{"330":1,"449":1}}],["scripting",{"2":{"274":1}}],["scripts",{"2":{"266":1}}],["script",{"0":{"495":1},"2":{"12":1,"93":1,"120":2,"271":1,"274":1,"285":1,"287":1,"495":1}}],["screenencoder",{"2":{"447":1}}],["screensaver",{"0":{"551":1},"2":{"279":1,"551":2}}],["screens",{"2":{"268":1}}],["screenshot",{"2":{"122":1,"287":1,"331":2}}],["screenshots",{"0":{"329":1},"2":{"10":1,"12":1,"25":1,"55":1}}],["screen",{"0":{"265":1,"447":1,"463":1,"464":1},"2":{"10":1,"11":2,"12":4,"50":1,"54":1,"55":1,"88":1,"92":1,"93":1,"141":1,"174":1,"263":1,"267":1,"268":1,"274":2,"277":1,"278":3,"285":1,"287":1,"298":1,"325":2,"388":1,"416":1,"436":2,"441":1,"443":1,"446":1,"447":1,"449":1,"452":1,"463":5,"464":8,"466":1,"473":3,"477":1,"488":1,"489":1,"503":1,"523":1,"526":1,"531":2,"537":5,"539":1,"556":1}}],["scrcpy",{"0":{"340":1,"397":1,"440":1,"473":1},"1":{"341":1,"342":1,"343":1,"344":1,"345":1,"346":1,"347":1,"348":1,"349":1,"350":1,"351":1,"352":1,"353":1,"354":1,"355":1,"356":1,"398":1,"399":1,"400":1,"401":1,"402":1,"403":1,"404":1,"405":1,"406":1,"407":1,"408":1,"409":1,"410":1,"411":1,"412":1,"413":1,"414":1,"415":1,"441":1,"442":1,"443":1,"444":1,"445":1,"446":1,"447":1,"448":1,"449":1,"450":1,"451":1,"452":1,"453":1,"454":1,"455":1,"456":1,"457":1,"458":1,"459":1,"460":1,"474":1,"475":1,"476":1,"477":1,"478":1,"479":1,"480":1,"481":1,"482":1,"483":1},"2":{"10":2,"11":4,"12":11,"23":1,"25":1,"41":1,"42":1,"43":1,"47":1,"50":1,"66":1,"68":1,"71":1,"74":1,"75":2,"78":1,"83":1,"93":1,"96":1,"109":1,"127":1,"151":1,"157":1,"160":1,"184":1,"187":1,"255":1,"263":1,"270":2,"273":1,"274":1,"276":2,"296":3,"318":2,"322":2,"325":1,"328":5,"331":1,"336":1,"341":3,"345":2,"346":4,"347":1,"348":1,"353":1,"354":1,"369":1,"388":2,"389":1,"390":2,"391":2,"392":2,"393":5,"395":1,"396":3,"397":1,"399":1,"408":1,"409":2,"412":2,"414":8,"416":7,"417":2,"418":4,"419":7,"420":1,"421":1,"422":1,"426":8,"427":1,"428":1,"429":1,"430":3,"432":1,"434":2,"436":3,"438":1,"439":1,"441":4,"443":1,"445":9,"451":4,"452":2,"454":1,"455":3,"458":6,"460":1,"461":1,"462":2,"463":2,"464":3,"465":2,"466":1,"468":5,"471":1,"472":1,"474":1,"476":1,"477":2,"480":3,"481":3,"482":1,"484":1,"488":1,"489":1,"490":1,"493":2,"494":7,"495":2,"496":2,"499":1,"501":1,"502":1,"503":3,"506":3,"507":4,"508":2,"509":6,"511":2,"512":5,"513":1,"515":1,"516":1,"517":1,"518":6,"519":8,"520":2,"523":1,"524":3,"525":2,"526":2,"527":3,"529":22,"530":1,"533":2,"534":3,"535":1,"537":3,"539":3,"541":1,"542":1,"543":1,"550":1,"551":1,"554":2,"555":4,"556":12}}],["synchronize",{"2":{"537":1}}],["synchronized",{"2":{"435":1}}],["synchronization",{"2":{"12":1,"40":1,"435":3}}],["sync",{"2":{"328":1}}],["systems",{"2":{"269":1}}],["system",{"0":{"332":1,"338":1,"400":1,"541":1},"1":{"401":1,"402":1,"403":1,"404":1,"405":1,"406":1,"407":1,"408":1},"2":{"5":1,"10":1,"11":2,"12":1,"20":1,"21":2,"22":1,"266":1,"276":1,"304":1,"310":1,"313":1,"314":1,"317":1,"325":1,"332":1,"388":1,"410":1,"414":1,"443":1,"449":1,"463":2,"465":3,"488":1,"540":2,"541":3}}],["sponsors",{"2":{"482":1}}],["spctl",{"2":{"333":1}}],["specify",{"2":{"358":1,"359":1,"360":1,"361":3,"362":3,"363":4,"364":3,"365":1,"366":4,"367":2,"368":1,"412":1,"419":1,"426":1}}],["specified",{"2":{"358":1,"359":1,"363":6,"365":1,"418":1,"419":1,"441":2,"547":1}}],["specifically",{"2":{"298":1}}],["specific",{"0":{"400":1},"1":{"401":1,"402":1,"403":1,"404":1,"405":1,"406":1,"407":1,"408":1},"2":{"272":1,"299":1,"302":1,"319":1,"346":1,"386":1,"394":1,"422":1,"458":1,"483":1,"485":1,"520":1,"529":1}}],["special",{"0":{"351":1},"2":{"11":1,"36":1,"337":1,"449":1,"486":1,"509":1}}],["spellcheck",{"2":{"186":1}}],["spelling",{"2":{"123":1}}],["speed",{"0":{"422":1},"2":{"12":1,"48":1,"422":1,"423":2}}],["spaces",{"2":{"135":1}}],["space",{"2":{"12":1,"34":1,"298":1}}],["split",{"2":{"10":1,"17":1,"452":1}}],["sides",{"2":{"457":1}}],["side",{"2":{"452":1,"455":1,"503":1,"513":1,"529":2}}],["sigint",{"2":{"435":1}}],["signaling",{"2":{"486":2}}],["signed",{"2":{"333":1}}],["significant",{"2":{"456":1}}],["significantly",{"2":{"321":1}}],["signing",{"2":{"330":1}}],["site",{"2":{"414":1}}],["situations",{"2":{"11":1,"39":1,"268":1,"518":1}}],["sinks",{"2":{"533":1}}],["sink=",{"2":{"477":1,"520":2,"534":2}}],["sink",{"2":{"452":2,"520":1,"521":1,"533":1,"534":1}}],["since",{"2":{"388":1,"429":1,"443":1,"464":1,"503":1}}],["single",{"2":{"12":1,"55":1,"345":1,"452":1,"472":1}}],["similarly",{"2":{"336":1,"436":1,"441":1,"448":1}}],["simulation",{"0":{"436":1,"470":1,"488":1,"500":1},"1":{"471":1,"472":1,"489":1,"490":1,"501":1,"502":1},"2":{"473":1,"509":1}}],["simulating",{"2":{"329":1,"350":2,"477":2}}],["simulates",{"2":{"469":2,"471":1,"472":1,"484":2,"489":1,"490":1,"497":2,"501":1,"502":1}}],["simulate",{"2":{"278":1,"351":1,"436":3,"470":1,"488":1,"500":1}}],["simultaneously",{"2":{"299":1,"346":1,"381":1,"533":1}}],["simplicity",{"2":{"443":1,"458":1}}],["simplified",{"2":{"12":1,"397":1,"495":2}}],["simplify",{"2":{"8":1,"12":1,"34":1}}],["simply",{"2":{"339":1,"392":1}}],["simpler",{"2":{"273":1}}],["simple",{"0":{"380":1},"2":{"140":1,"382":1,"516":1,"520":1}}],["size=1024",{"2":{"524":1}}],["size=1920",{"2":{"445":1,"458":1,"477":1}}],["size=1920x1080",{"2":{"419":2,"420":1,"422":1,"477":2}}],["size=1840x444",{"2":{"419":1}}],["sizes",{"2":{"12":1,"19":1,"299":1,"317":1,"417":3,"419":4,"422":1}}],["size",{"0":{"310":1,"311":1,"419":1,"524":1,"547":1},"2":{"12":3,"19":1,"68":1,"152":1,"266":1,"271":1,"277":1,"283":1,"298":1,"302":1,"310":3,"321":2,"396":1,"419":10,"456":2,"458":1,"477":1,"524":2,"531":3,"539":2,"547":1}}],["samples",{"2":{"452":1}}],["same",{"2":{"274":1,"346":1,"364":1,"372":1,"391":1,"426":1,"427":1,"429":1,"435":1,"445":2,"446":1,"455":2,"458":1,"503":1,"517":1,"556":1}}],["saying",{"0":{"333":1}}],["satisfactory",{"2":{"317":1}}],["save",{"2":{"12":1,"34":1,"274":1,"299":1,"317":3,"321":1}}],["saved",{"2":{"11":1,"18":1,"313":2,"321":1}}],["saving",{"0":{"316":1,"317":1},"1":{"317":1,"318":1,"319":1},"2":{"11":1,"12":1,"33":1,"319":1}}],["sandboxes",{"2":{"338":1}}],["sandbox",{"2":{"11":1,"12":2,"33":1,"34":2,"338":1}}],["social",{"2":{"481":1}}],["socket=tcp",{"2":{"518":2,"519":4}}],["socket",{"2":{"441":6,"446":5,"447":1,"455":8,"456":2,"458":2,"518":1,"519":2}}],["sockets",{"2":{"441":1,"446":1,"451":1,"454":2,"455":1,"456":1}}],["soon",{"2":{"441":1,"458":1}}],["sound",{"2":{"391":1,"396":1}}],["source=output",{"2":{"416":2}}],["source=display",{"2":{"416":2}}],["source=camera",{"2":{"416":6,"418":6,"419":9,"420":1,"421":1,"422":1,"423":2,"477":2}}],["source=playback",{"2":{"392":3}}],["source=mic",{"2":{"391":2,"416":3,"441":1}}],["sources",{"0":{"411":1},"2":{"391":1}}],["source",{"0":{"391":1,"523":1},"1":{"392":1},"2":{"12":1,"50":1,"263":1,"267":1,"272":1,"273":1,"280":1,"283":1,"333":1,"369":1,"392":1,"416":1,"473":1,"474":1,"482":1,"495":1,"524":1,"531":1,"540":1}}],["so",{"2":{"342":1,"390":1,"391":1,"392":1,"396":1,"406":1,"410":1,"423":1,"435":1,"441":1,"443":1,"449":1,"455":1,"468":1,"472":1,"486":1,"490":1,"495":1,"502":1,"509":3,"512":1,"520":1,"524":1,"528":1,"529":2,"535":1,"537":1,"541":1}}],["solely",{"2":{"511":1}}],["solution",{"2":{"325":1,"328":1,"481":1}}],["solutions",{"2":{"322":1,"330":1,"331":1,"333":1}}],["solved",{"2":{"11":1,"54":1,"447":1}}],["solve",{"2":{"11":7,"12":2,"36":1,"40":1,"42":1,"52":2,"58":1,"64":1,"65":1,"79":1}}],["software",{"2":{"274":1,"330":2,"333":3,"386":1,"473":1,"483":1}}],["sometimes",{"2":{"468":1,"528":1}}],["somewhere",{"2":{"412":1}}],["some",{"0":{"329":1},"2":{"11":2,"12":3,"46":1,"47":1,"48":1,"49":1,"54":1,"130":1,"328":1,"338":1,"343":1,"350":1,"351":1,"353":1,"396":1,"417":2,"419":2,"435":1,"441":2,"443":1,"449":1,"452":1,"455":1,"456":1,"458":1,"461":1,"463":1,"468":1,"472":1,"474":1,"477":1,"485":2,"487":1,"498":1,"520":1,"524":1,"540":1,"541":1,"556":1}}],["sorting",{"2":{"11":1,"12":1,"18":1,"40":1}}],["sort",{"2":{"10":1,"38":1}}],["sh",{"2":{"405":1,"495":2}}],["shellgnirehtet",{"2":{"383":1}}],["shelladb=",{"2":{"383":1}}],["shelladb",{"2":{"382":3}}],["shell",{"2":{"380":2,"381":5,"382":3,"388":1,"423":1,"429":1,"443":4,"445":2,"458":1,"462":3,"463":2,"464":2,"465":3,"488":1}}],["shellsudo",{"2":{"338":1}}],["sha",{"2":{"378":3,"379":1,"412":1,"493":1,"506":2,"554":2}}],["share",{"2":{"10":1,"32":1,"357":1,"383":1,"414":5}}],["sharp",{"2":{"6":1}}],["shift+5th",{"2":{"503":1}}],["shift+4th",{"2":{"503":1}}],["shift+right",{"2":{"503":1}}],["shift+click",{"2":{"436":1,"537":1}}],["shift",{"2":{"325":1,"331":1,"436":1,"503":6}}],["short",{"2":{"426":3,"432":1,"434":2,"464":2,"465":1,"471":1,"477":2,"489":1,"501":1,"509":1,"511":1,"524":1,"525":1,"550":1}}],["shortcuts",{"0":{"537":1},"2":{"12":1,"53":1,"464":1,"476":1,"478":1,"488":1,"503":2,"526":1,"529":1,"537":5,"550":1}}],["shortcut",{"2":{"10":1,"11":1,"12":1,"36":1,"51":1,"53":1,"130":1,"174":1,"274":1,"435":1,"500":1,"503":4,"529":1,"537":5}}],["should",{"2":{"292":1,"295":1,"311":1,"325":1,"342":1,"344":2,"345":1,"370":1,"380":1,"435":1,"526":1,"527":1}}],["shows",{"2":{"465":1}}],["showing",{"2":{"321":1}}],["show",{"0":{"465":1},"2":{"278":1,"462":1,"465":8,"556":1}}],["shutdown",{"2":{"169":1}}],["svg",{"2":{"8":1}}],["seamless",{"2":{"441":1}}],["search",{"2":{"10":1,"38":1,"130":1,"131":1,"132":1,"134":3}}],["sequences",{"2":{"503":1}}],["sequence",{"2":{"435":2,"503":1}}],["sent",{"2":{"441":2,"452":4,"455":1,"456":1,"457":1,"458":2,"464":1,"529":1}}],["sense",{"2":{"503":1}}],["sensitive",{"2":{"435":1}}],["sensor",{"2":{"419":2}}],["sends",{"2":{"435":1,"441":3,"446":2,"453":1,"455":1,"456":1}}],["send",{"2":{"8":1,"446":1,"447":2,"453":1,"458":4,"509":1,"520":1,"534":1}}],["several",{"0":{"345":1},"2":{"345":1,"346":1,"381":1,"394":1,"414":1,"446":1,"449":1,"452":1,"455":1,"468":1,"469":1,"484":1,"494":1,"497":1,"509":1,"513":1,"520":1,"528":1,"532":1}}],["separated",{"2":{"503":1}}],["separately",{"2":{"381":1,"515":1,"529":1,"534":1}}],["separate",{"2":{"343":1,"441":1,"449":1,"453":1,"477":2}}],["securely",{"2":{"519":1}}],["securityexception",{"2":{"474":1}}],["security",{"2":{"329":1,"330":1,"350":1,"474":1}}],["section",{"2":{"322":1,"454":1}}],["secondary",{"2":{"503":3,"532":1}}],["seconds",{"2":{"463":2,"468":1,"516":1}}],["second",{"2":{"265":1,"473":1,"503":1,"526":1,"537":1}}],["see",{"0":{"329":1},"2":{"291":1,"309":1,"345":1,"347":1,"351":1,"353":1,"386":1,"389":1,"392":1,"408":1,"426":1,"445":1,"464":1,"472":1,"483":1,"485":1,"488":1,"489":1,"490":1,"494":1,"495":1,"498":1,"502":1,"507":1,"509":1,"510":1,"514":1,"518":1,"523":1,"526":1,"533":1,"536":1,"550":1,"555":1,"556":1}}],["sets",{"2":{"455":1,"507":1}}],["setup",{"2":{"325":1,"411":1,"412":1,"460":1}}],["set",{"2":{"271":1,"299":1,"301":1,"306":1,"325":1,"346":1,"350":1,"367":1,"388":1,"396":2,"411":2,"426":1,"434":1,"441":1,"455":2,"457":1,"463":1,"474":1,"509":2,"518":1,"519":2,"529":1,"533":1}}],["setting",{"2":{"12":1,"98":1,"346":1,"435":1,"462":1,"463":1,"464":1,"465":1}}],["settings",{"2":{"11":1,"12":2,"33":1,"34":1,"86":1,"146":1,"302":1,"321":1,"325":5,"329":1,"330":2,"335":1,"350":1,"429":1,"462":3,"463":2,"465":3,"474":1,"488":3,"537":3}}],["selects",{"2":{"531":1}}],["selected",{"2":{"393":1,"418":1,"419":1,"426":1,"468":1,"513":1,"527":1}}],["select",{"2":{"306":1,"307":1,"309":1,"325":1,"330":1,"331":1,"345":3,"394":1,"426":2,"468":1,"511":1,"513":1,"524":1,"532":1}}],["selector",{"2":{"113":1,"182":1}}],["selection",{"0":{"418":1,"419":1,"426":1},"1":{"419":1},"2":{"12":1,"15":1}}],["selecting",{"2":{"12":1,"57":1}}],["serialization",{"2":{"457":2}}],["serializes",{"2":{"453":1}}],["serial=192",{"2":{"426":1}}],["serial=0123456789abcdef",{"2":{"426":3}}],["serial",{"0":{"358":1,"359":1,"360":1,"361":1,"363":1,"365":1,"366":1,"367":1},"2":{"345":1,"358":1,"359":1,"363":1,"364":1,"365":1,"366":1,"367":1,"381":5,"426":5,"509":1}}],["serialno",{"2":{"12":1,"34":1}}],["serves",{"2":{"441":1}}],["server=",{"2":{"412":1}}],["servers",{"2":{"363":1}}],["server",{"0":{"337":1,"412":1,"442":1,"458":1,"460":1,"518":1},"1":{"443":1,"444":1,"445":1,"446":1,"447":1,"448":1,"449":1},"2":{"11":1,"42":1,"346":1,"361":2,"362":1,"363":1,"368":1,"372":1,"381":1,"382":1,"397":1,"402":1,"403":1,"405":1,"406":1,"407":1,"410":2,"412":5,"414":2,"441":16,"443":5,"445":14,"451":1,"454":2,"455":1,"458":6,"460":2,"472":1,"490":1,"495":1,"502":1,"517":1,"518":9,"519":9}}],["services",{"2":{"8":1}}],["sessions",{"2":{"268":1}}],["session",{"2":{"8":1,"447":1}}],["sufficient",{"2":{"520":1}}],["super",{"2":{"500":1,"537":2}}],["suppose",{"2":{"518":1}}],["supporting",{"2":{"11":1,"71":1,"302":1}}],["supported",{"2":{"10":1,"51":1,"388":1,"416":1,"417":2,"419":1,"423":1,"435":1,"436":1,"474":1,"512":1,"513":1,"529":1}}],["supports",{"2":{"5":1,"10":4,"12":9,"25":1,"38":1,"40":2,"44":1,"53":1,"55":1,"57":1,"63":1,"65":1,"80":1,"83":1,"144":1,"265":2,"266":2,"269":1,"274":2,"275":1,"325":1,"392":1,"422":1,"423":1}}],["support",{"0":{"269":1},"2":{"5":2,"10":8,"11":1,"12":14,"15":1,"17":1,"20":1,"35":1,"44":1,"51":2,"53":3,"61":1,"63":1,"75":1,"76":1,"79":1,"80":1,"92":1,"93":2,"96":1,"97":1,"98":1,"103":1,"105":1,"120":2,"122":2,"132":1,"135":1,"137":1,"143":1,"172":1,"267":1,"274":4,"328":1,"334":1,"370":1,"419":1,"441":1,"473":1,"482":1,"529":1}}],["supply",{"2":{"12":2,"48":1,"49":1}}],["surface",{"2":{"447":2}}],["sure",{"2":{"324":1,"331":1,"374":1,"474":1,"496":1,"508":1,"519":1,"556":1}}],["sudo",{"2":{"333":2,"402":3,"403":3,"414":1,"415":1,"495":1,"520":1}}],["submix",{"2":{"391":1}}],["submits",{"2":{"446":1}}],["submit",{"2":{"331":1}}],["subsequent",{"2":{"12":1,"34":1}}],["subscription",{"2":{"6":1,"8":1,"9":1}}],["subscribe",{"2":{"5":1}}],["such",{"2":{"324":1,"338":1,"435":1,"443":1,"486":1}}],["success",{"2":{"317":1,"326":1}}],["successfully",{"2":{"296":1}}],["successful",{"0":{"333":1},"2":{"11":1,"36":1,"317":1,"414":1}}],["suitable",{"2":{"321":1}}],["stdout",{"2":{"537":1}}],["studio",{"2":{"411":1,"460":1}}],["sticking",{"0":{"328":1}}],["still",{"2":{"324":1,"327":1,"370":1,"372":1,"455":1,"464":1,"493":1,"506":1}}],["stops",{"2":{"347":1}}],["stop",{"0":{"365":1},"2":{"155":1,"361":1,"365":3,"366":1,"381":2,"382":2,"468":1}}],["storing",{"2":{"12":1,"34":1}}],["storage",{"0":{"318":1},"2":{"12":3,"34":1,"40":1,"65":1,"276":1}}],["stored",{"2":{"318":2}}],["store",{"0":{"336":1},"2":{"8":1}}],["styles",{"2":{"150":1,"178":1}}],["style",{"2":{"12":1,"47":1,"117":1,"126":1,"143":1,"168":1,"177":1,"182":1,"183":1}}],["styling",{"2":{"6":1}}],["string",{"2":{"443":1}}],["strip",{"2":{"411":1,"412":1}}],["strategy",{"2":{"12":2,"27":1,"34":1}}],["structure",{"2":{"8":2,"12":2,"40":1,"93":1}}],["streaming",{"2":{"458":1}}],["stream=true",{"2":{"458":1}}],["streamer",{"2":{"446":2}}],["streams",{"0":{"452":1},"2":{"441":1,"450":1,"458":1,"512":1,"513":1}}],["stream",{"2":{"5":1,"441":3,"452":3,"458":2,"520":2,"521":1,"533":1}}],["standalone",{"0":{"458":1}}],["standardize",{"2":{"12":1,"27":1}}],["stackoverflow",{"2":{"344":1}}],["stay",{"0":{"462":1},"2":{"328":1,"462":6,"464":1,"556":1}}],["stable",{"0":{"265":1}}],["stability",{"2":{"12":10,"22":1,"34":1,"59":1,"68":1,"72":1,"86":1,"87":2,"100":1,"274":1}}],["static",{"2":{"443":1,"493":2,"506":2}}],["status",{"2":{"12":1,"340":1,"380":1,"429":1}}],["state",{"2":{"5":1,"6":1,"12":1,"40":1,"121":1,"173":1,"462":1}}],["started",{"2":{"272":1,"445":1,"468":1,"541":1,"550":1}}],["starts",{"2":{"12":1,"48":1,"319":1,"446":1,"451":1}}],["startapp",{"2":{"11":1,"74":1}}],["startup",{"0":{"336":1},"2":{"10":1,"11":1,"12":6,"37":2,"47":1,"51":1,"52":1,"55":1,"72":1,"80":1,"115":1,"116":1,"122":1,"265":1,"274":1,"451":1,"460":1,"473":1}}],["starting",{"0":{"304":1,"331":1},"2":{"10":1,"12":1,"40":1,"83":1,"319":1,"388":1,"428":1,"441":1}}],["start",{"0":{"288":1,"337":1,"363":1,"467":1,"468":1,"540":1},"1":{"289":1,"290":1,"291":1,"292":1,"293":1,"294":1,"295":1,"296":1,"297":1},"2":{"5":1,"8":1,"11":2,"12":3,"73":1,"84":1,"85":3,"274":1,"287":1,"292":1,"294":1,"295":2,"325":3,"361":2,"362":2,"363":6,"364":2,"368":1,"380":1,"381":2,"382":5,"423":1,"430":1,"439":1,"441":1,"447":1,"455":1,"458":1,"460":1,"464":1,"465":1,"467":1,"468":6,"477":2,"488":1,"518":1,"519":1,"520":1,"540":3,"556":3}}],["steps",{"0":{"400":1,"409":1},"1":{"401":1,"402":1,"403":1,"404":1,"405":1,"406":1,"407":1,"408":1,"410":1,"411":1,"412":1,"413":1,"414":1,"415":1},"2":{"294":1,"295":1,"296":1,"297":1}}],["step",{"2":{"4":1,"330":1,"340":1}}],["6f733ea",{"2":{"247":1}}],["6154ffc",{"2":{"183":1}}],["6153bc4",{"2":{"180":1}}],["61ccd4a",{"2":{"170":1}}],["64",{"2":{"406":8,"493":2,"506":2,"554":1}}],["647a0c5",{"2":{"259":1}}],["64d4486",{"2":{"161":1}}],["64a98b2",{"2":{"10":1,"38":1}}],["6e25eb7",{"2":{"147":1}}],["6ee9a92",{"2":{"11":1,"36":1}}],["60fps",{"2":{"477":1}}],["608752d04767",{"2":{"436":1}}],["608b8f3",{"2":{"11":1,"39":1}}],["603e4e9",{"2":{"133":1}}],["677f30c",{"2":{"122":1}}],["67d279e",{"2":{"11":1,"36":1}}],["6",{"2":{"109":1,"154":1,"311":1,"419":2,"456":1}}],["6ccd6d0",{"2":{"227":1}}],["6ce66d4",{"2":{"112":1}}],["6ca7612",{"2":{"106":1}}],["6c4242c",{"2":{"11":1,"54":1}}],["6a8c190",{"2":{"12":1}}],["6dd2db9",{"2":{"259":1}}],["6dd8244",{"2":{"132":1}}],["6d7778a",{"2":{"154":1}}],["6de2538",{"2":{"12":1,"34":1}}],["6db1b51",{"2":{"1":1}}],["6897c0e",{"2":{"12":1,"53":1}}],["68378ef",{"2":{"12":1,"93":1}}],["69fecc3",{"2":{"12":1,"59":1}}],["695e35d",{"2":{"12":1,"19":1}}],["69c75cc",{"2":{"5":1}}],["63f7135",{"2":{"11":1,"42":1}}],["65b028f",{"2":{"5":1}}],["lctrl",{"2":{"537":2}}],["lsuper",{"2":{"537":3}}],["ls",{"2":{"520":2}}],["l27183",{"2":{"519":1}}],["l",{"2":{"519":1}}],["l5038",{"2":{"519":2}}],["ll",{"2":{"388":1}}],["lto=true",{"2":{"411":1,"412":1}}],["lt",{"2":{"384":3,"419":3,"455":1,"460":1}}],["letters",{"2":{"486":2}}],["legacy",{"2":{"435":1}}],["le",{"2":{"393":1}}],["less",{"2":{"372":1}}],["least",{"2":{"353":1,"373":1,"474":1,"532":1}}],["leaves",{"2":{"267":1}}],["left",{"2":{"309":1,"310":1,"436":3,"460":1,"473":1,"537":6}}],["levels",{"2":{"529":1}}],["level=info",{"2":{"445":1}}],["level=8",{"2":{"393":1}}],["level",{"2":{"11":1,"21":1,"382":1,"393":1,"441":2,"472":1,"485":1,"490":1,"498":1,"502":1,"509":1}}],["locked",{"2":{"529":10}}],["location",{"2":{"436":1,"556":1}}],["locate",{"0":{"334":1},"2":{"310":1}}],["localhost",{"2":{"458":1,"460":1,"519":10}}],["localappdata",{"2":{"411":1}}],["localabstract",{"2":{"382":1,"445":1,"455":2,"458":1}}],["locale",{"2":{"140":1}}],["locales",{"2":{"8":1}}],["local",{"2":{"129":1,"414":6,"443":3,"445":3,"458":2,"517":2,"518":1,"519":4,"543":1}}],["loopback",{"2":{"520":1}}],["look",{"2":{"328":1,"445":1}}],["looking",{"2":{"273":1}}],["lot",{"2":{"477":1,"478":1}}],["long",{"2":{"455":1}}],["longer",{"2":{"12":2,"50":1,"82":1}}],["load",{"2":{"299":1}}],["loading",{"2":{"11":1,"26":1}}],["lowest",{"2":{"521":1,"533":1}}],["lower",{"2":{"382":1,"524":2,"527":1}}],["low",{"2":{"263":1,"265":1,"274":1,"335":1,"473":2}}],["logo",{"2":{"208":1,"221":1,"253":1,"274":1,"380":1}}],["log",{"2":{"147":1,"438":1,"439":1,"445":1}}],["logic",{"2":{"12":1,"35":1,"143":1,"150":1,"169":1,"175":1}}],["lost",{"2":{"11":1,"101":1}}],["lalt",{"2":{"537":1}}],["landscape",{"2":{"529":1,"531":1}}],["lang",{"2":{"356":1,"474":1}}],["languages",{"2":{"129":1,"488":1}}],["language",{"2":{"8":1,"12":2,"35":1,"44":1,"126":1,"137":1,"182":1,"274":1,"276":1,"325":2,"386":1,"483":1}}],["last",{"2":{"447":1}}],["large",{"2":{"396":1}}],["larger",{"2":{"268":1}}],["law",{"2":{"386":1,"483":1}}],["latest",{"2":{"331":1,"340":1,"377":1,"397":1,"398":2,"493":1,"495":1,"506":1,"554":1}}],["latency",{"2":{"263":1,"265":1,"390":1,"396":2,"441":2,"458":1,"473":1,"521":1,"527":1,"533":1}}],["lacking",{"2":{"336":1}}],["lacks",{"2":{"335":1}}],["lack",{"2":{"330":1}}],["layout",{"0":{"308":1,"312":1,"313":1,"317":1},"1":{"309":1,"310":1,"311":1,"313":1,"314":1,"315":1},"2":{"8":2,"11":1,"12":5,"15":1,"28":1,"34":2,"39":1,"98":1,"114":1,"266":1,"274":1,"298":1,"299":3,"313":2,"317":3,"321":3,"325":1,"484":1,"488":1,"489":1}}],["labels",{"2":{"8":1}}],["launcher",{"2":{"540":4,"541":1}}],["launched",{"2":{"468":1}}],["launch",{"2":{"5":3,"8":1,"11":2,"36":1,"52":1,"274":1,"304":1}}],["live",{"2":{"391":1}}],["licenses",{"2":{"386":1,"483":1}}],["license",{"2":{"386":8,"483":8}}],["licensed",{"2":{"386":1,"483":1}}],["licence",{"0":{"386":1,"483":1}}],["like",{"2":{"370":1,"402":1,"435":1,"445":1,"472":1,"490":1,"502":1,"520":1}}],["liberapay",{"2":{"482":1}}],["libexec",{"2":{"407":1}}],["libz",{"2":{"405":1}}],["libswresample",{"2":{"402":1,"495":1}}],["libsdl2",{"2":{"399":1,"402":2,"495":2}}],["libavutil",{"2":{"402":1,"495":1}}],["libavformat",{"2":{"402":1,"495":1}}],["libavdevice",{"2":{"402":1,"403":1,"495":1}}],["libavcodec",{"2":{"402":1,"495":1}}],["libusb1",{"2":{"403":1}}],["libusb",{"2":{"402":2,"406":2,"407":1,"495":2}}],["libdecor",{"2":{"353":1}}],["library",{"0":{"334":1},"2":{"7":1,"411":1}}],["lightness",{"2":{"473":1}}],["lightweight",{"2":{"267":1}}],["light",{"2":{"130":1,"266":1}}],["lifecycle",{"2":{"12":1,"27":1}}],["limit=20",{"2":{"516":2}}],["limited",{"2":{"351":1,"485":1,"516":1,"526":1}}],["limiting",{"2":{"338":1}}],["limits",{"2":{"321":1}}],["limitations",{"2":{"386":1,"483":1}}],["limitation",{"0":{"311":1}}],["limit",{"0":{"516":1},"2":{"6":1,"276":1,"310":1,"477":2,"516":2,"524":1}}],["listed",{"2":{"394":1,"418":1,"419":2,"422":1,"426":1,"528":1}}],["listens",{"2":{"428":1,"455":2}}],["listening",{"2":{"426":1,"455":1,"460":1}}],["listen",{"2":{"363":1,"364":1,"441":1,"518":1}}],["listener",{"2":{"6":1}}],["lists",{"2":{"10":1,"32":1}}],["list",{"0":{"331":1,"417":1},"2":{"5":1,"6":1,"10":1,"11":4,"12":8,"19":1,"27":2,"29":1,"34":2,"35":1,"39":1,"42":1,"53":1,"54":1,"63":1,"80":1,"112":1,"114":1,"292":1,"295":1,"307":2,"315":1,"321":2,"330":1,"331":1,"394":1,"417":3,"418":1,"419":2,"422":1,"468":2,"520":2,"528":1,"532":2,"537":1}}],["line",{"2":{"382":1,"451":1,"461":1,"463":1,"464":1,"496":1,"508":1,"556":3}}],["link",{"0":{"334":1}}],["linked",{"2":{"2":1}}],["linux64",{"2":{"378":1}}],["linux",{"0":{"296":1,"338":1,"401":1,"405":1,"491":1},"1":{"402":1,"403":1,"492":1,"493":1,"494":1,"495":1,"496":1},"2":{"5":1,"11":3,"12":3,"33":1,"34":1,"52":1,"53":2,"81":1,"159":1,"181":1,"200":1,"202":1,"209":1,"210":1,"212":1,"219":1,"220":1,"222":1,"224":1,"269":1,"274":1,"296":1,"297":1,"353":1,"370":1,"378":2,"397":1,"411":1,"424":1,"473":2,"475":1,"477":1,"493":2,"494":1,"520":1}}],["✨",{"2":{"5":4,"10":12,"12":4,"17":1,"19":1,"20":1,"25":1,"32":2,"53":1,"63":1,"76":1,"83":2,"92":1,"96":1,"97":1,"105":1,"122":1,"124":1,"160":1,"172":1,"208":1,"253":1}}],["0°",{"2":{"529":1}}],["0xfffffffe",{"2":{"393":1}}],["0123456789abcdef",{"2":{"344":1,"345":2,"426":2,"509":1}}],["01fd926",{"2":{"152":1}}],["09",{"0":{"258":1},"1":{"259":1,"260":1}}],["09c8dee",{"2":{"235":1}}],["091d503",{"2":{"134":1}}],["0f72090",{"2":{"182":1}}],["0f3d869",{"2":{"11":1,"79":1}}],["054c55b",{"2":{"202":1}}],["0549dda",{"2":{"12":1,"53":1}}],["0530ed3",{"2":{"178":1}}],["0c9d36f",{"2":{"176":1}}],["0cc8208",{"2":{"129":1}}],["02a4d39",{"2":{"151":1}}],["0222675",{"2":{"11":1,"21":1}}],["07f7ded",{"2":{"158":1}}],["07cc5f3",{"2":{"141":1}}],["078bf18",{"2":{"4":1}}],["04",{"2":{"338":1,"402":1}}],["04a7608",{"2":{"112":1}}],["044cfcd",{"2":{"12":1,"34":1}}],["00d3495",{"2":{"108":1}}],["0053e87",{"2":{"12":1,"96":1}}],["0054fd4",{"2":{"4":1}}],["062c689",{"2":{"123":1}}],["0690f2d",{"2":{"12":1,"65":1}}],["0602676",{"2":{"12":1,"75":1}}],["060ad4a",{"2":{"4":1}}],["066d81f",{"2":{"12":1,"19":1}}],["06a151d",{"2":{"12":1,"40":1}}],["0e098c3",{"2":{"12":1,"68":1}}],["0d4b1ce",{"2":{"212":1}}],["0d963aa",{"2":{"131":1}}],["0d8a8ee",{"2":{"12":1}}],["0d60655",{"2":{"11":1,"71":1}}],["0",{"0":{"258":2},"1":{"259":2,"260":2},"2":{"10":2,"11":1,"12":3,"13":2,"68":1,"74":1,"75":2,"161":1,"361":1,"362":1,"363":1,"364":1,"366":1,"373":1,"374":1,"386":2,"402":6,"441":1,"456":1,"462":1,"464":3,"465":1,"474":1,"480":1,"483":2,"495":6,"529":1,"531":4}}],["tmp",{"2":{"443":3,"445":3,"458":2}}],["tuned",{"2":{"391":3}}],["tunnels",{"0":{"517":1},"1":{"518":1,"519":1},"2":{"478":1,"517":1}}],["tunnel",{"0":{"367":1,"519":1},"2":{"367":5,"381":2,"455":2,"458":1,"518":6,"519":2}}],["turns",{"2":{"463":1,"464":1,"537":1}}],["turn",{"0":{"464":1},"2":{"141":1,"278":2,"287":1,"464":7,"466":1,"503":1,"537":2,"556":1}}],["turning",{"2":{"12":1,"93":1}}],["turned",{"2":{"11":1,"46":1,"434":1,"464":1}}],["tcp",{"0":{"427":1},"1":{"428":1,"429":1},"2":{"345":3,"370":1,"382":1,"426":3,"427":1,"428":2,"429":2,"445":1,"455":2,"458":4,"460":3,"462":1,"473":1,"489":1,"518":1,"519":2}}],["tcpip=+192",{"2":{"428":1}}],["tcpip=192",{"2":{"426":2,"428":2}}],["tcpip",{"2":{"345":2,"426":1,"428":2,"429":1}}],["t",{"2":{"324":1,"346":1,"396":2,"428":1,"465":1,"495":1,"507":1,"555":2,"556":2}}],["twitter",{"2":{"481":1}}],["two",{"2":{"327":1,"371":1,"398":1,"419":1,"428":1,"441":1,"451":1,"470":1,"486":1,"488":1,"500":1,"503":1}}],["tw",{"2":{"137":1,"138":1,"140":1}}],["tries",{"2":{"524":1}}],["trick",{"2":{"351":1}}],["triggers",{"2":{"476":2,"503":3,"537":1}}],["trigger",{"2":{"12":1,"15":1,"122":1,"503":4}}],["try",{"0":{"333":1},"2":{"321":4,"324":1,"330":2,"331":2,"332":1,"333":1,"335":1,"337":1,"347":1,"356":1,"393":1,"520":1,"528":1}}],["trying",{"2":{"273":1}}],["troubleshooting",{"0":{"320":1},"1":{"321":1}}],["traffic",{"2":{"370":1}}],["traces",{"2":{"267":1}}],["traditional",{"2":{"140":1}}],["transformation",{"2":{"529":1,"530":1}}],["transform",{"2":{"529":1}}],["transmit",{"2":{"446":1}}],["transmits",{"2":{"441":1}}],["translate",{"2":{"185":1}}],["translation",{"2":{"12":1,"121":1}}],["translations",{"2":{"8":1,"126":1,"479":1}}],["transparent",{"2":{"12":1,"53":1}}],["trash",{"2":{"8":1}}],["tray",{"0":{"332":1},"2":{"5":1,"11":2,"39":1,"99":1,"179":1,"180":1,"332":1}}],["tilt",{"0":{"436":1},"2":{"436":2,"537":2}}],["tip",{"0":{"423":1}}],["tips",{"0":{"476":1},"2":{"133":1,"178":1}}],["timestamps",{"2":{"512":1}}],["time",{"0":{"516":1},"2":{"12":1,"61":1,"299":1,"309":2,"330":2,"435":1,"454":1,"455":1,"464":1,"468":1,"473":1,"516":4,"537":1,"556":1}}],["timeout=300",{"2":{"463":1}}],["timeout",{"0":{"463":1},"2":{"11":1,"99":1,"463":3}}],["timing",{"0":{"319":1},"2":{"11":1,"36":1,"112":2}}],["title=",{"2":{"546":1}}],["titles",{"2":{"12":1,"87":1}}],["title",{"0":{"546":1},"2":{"4":1,"12":1,"40":1,"441":1,"455":1,"546":1}}],["typing",{"2":{"486":1}}],["typically",{"2":{"341":1,"390":1,"396":1,"428":1,"435":4,"443":1,"446":1,"486":1,"518":1,"537":1}}],["typos",{"2":{"11":1,"33":1}}],["type",{"2":{"11":1,"12":1,"58":1,"65":1,"156":1,"556":1}}],["typed",{"2":{"6":1}}],["types",{"2":{"6":1,"445":1,"449":1}}],["tests",{"2":{"457":1}}],["testing",{"2":{"321":1,"495":1}}],["terminates",{"2":{"556":1}}],["terminal",{"2":{"10":1,"11":3,"12":5,"20":1,"21":3,"22":4,"72":1,"117":1,"126":1,"148":1,"166":1,"167":1,"168":2,"274":1,"276":2,"333":2,"368":1,"380":1,"381":1,"406":1,"488":1,"496":1,"508":1,"518":1,"519":2,"556":8}}],["termux",{"2":{"435":2}}],["tether",{"2":{"363":1,"381":1}}],["tethering",{"0":{"297":1},"2":{"196":1,"266":2,"274":1,"297":1,"336":1,"357":1,"361":1,"362":1,"370":1,"380":3,"384":1,"387":2}}],["temporary",{"2":{"338":1}}],["temporarily",{"2":{"11":1,"12":1,"78":1,"89":1}}],["team",{"2":{"271":1}}],["teaching",{"2":{"268":1}}],["technically",{"2":{"436":1}}],["technical",{"0":{"270":1}}],["text",{"0":{"486":1},"2":{"8":1,"11":2,"18":2,"123":1,"351":1,"435":3,"449":1,"486":6,"537":1,"556":1}}],["tablet",{"2":{"531":1}}],["tabs",{"2":{"110":1}}],["tar",{"2":{"493":1,"506":2}}],["target=",{"2":{"439":1}}],["target",{"0":{"326":1},"2":{"5":1,"309":2,"315":1,"396":2,"439":1,"529":1}}],["tap",{"2":{"407":1}}],["taken",{"2":{"364":1}}],["take",{"2":{"331":1,"391":1,"468":1}}],["takes",{"2":{"319":2,"453":1}}],["taking",{"2":{"11":1,"33":1,"321":1}}],["tasks",{"2":{"12":1,"89":1,"266":1,"274":1}}],["task",{"2":{"8":1,"12":2,"19":1,"34":1,"107":1,"112":3,"285":1,"287":1}}],["ths",{"2":{"487":1}}],["thus",{"2":{"446":1}}],["though",{"2":{"370":1,"435":1,"444":1}}],["than",{"2":{"310":1,"345":1,"381":1,"396":2,"526":1,"531":1}}],["that",{"2":{"11":2,"12":3,"36":1,"49":1,"54":1,"86":1,"89":1,"128":1,"299":1,"325":1,"328":1,"343":1,"345":3,"351":1,"382":1,"388":2,"396":3,"402":1,"410":1,"417":1,"435":2,"441":3,"451":1,"453":1,"455":2,"460":1,"463":1,"465":1,"468":1,"474":2,"485":1,"486":3,"488":1,"489":1,"495":1,"496":1,"498":1,"503":1,"508":1,"509":1,"511":2,"513":1,"518":1,"520":1,"524":2,"529":1,"535":1,"540":1,"541":1,"556":2}}],["threading",{"2":{"450":1}}],["threads",{"2":{"446":1}}],["thread",{"2":{"356":2,"441":1,"446":4,"449":1,"453":4}}],["threaded",{"2":{"274":1}}],["threat",{"2":{"330":2}}],["through",{"2":{"10":1,"32":1,"274":2,"297":2,"298":1,"299":1,"335":1,"436":1,"441":1}}],["think",{"2":{"388":1}}],["thinking",{"2":{"5":1}}],["third",{"2":{"324":1}}],["this",{"2":{"261":1,"273":1,"295":1,"297":1,"306":1,"322":1,"328":1,"330":1,"331":1,"332":1,"333":1,"335":2,"336":1,"337":1,"341":1,"345":3,"346":2,"348":1,"350":1,"370":2,"374":1,"386":1,"388":1,"392":1,"395":1,"396":2,"405":1,"412":1,"414":1,"422":1,"423":1,"428":1,"429":1,"435":2,"436":1,"441":3,"445":2,"447":1,"451":1,"454":1,"455":2,"457":1,"462":2,"463":2,"464":1,"465":3,"467":1,"468":1,"471":1,"472":2,"473":1,"474":2,"482":1,"483":1,"485":2,"486":2,"488":1,"489":1,"490":1,"495":2,"498":2,"499":1,"501":1,"502":1,"509":1,"518":2,"519":2,"520":1,"529":1,"530":1,"531":1,"534":1,"541":1,"556":1}}],["they",{"2":{"336":1,"370":1,"392":1,"394":1,"417":1,"435":1,"444":2,"449":1,"452":2,"478":1,"517":1,"528":1,"533":1,"537":1}}],["them",{"2":{"296":1,"382":1,"417":1,"441":3,"446":1,"449":1,"500":1,"537":2,"541":1,"542":1}}],["themes",{"2":{"11":1,"33":1}}],["theme",{"2":{"8":1,"12":1,"28":1,"117":1,"166":1,"266":1,"276":1}}],["these",{"2":{"296":1,"328":1,"487":1,"500":1,"503":1,"556":1}}],["then",{"2":{"295":1,"331":1,"341":1,"347":1,"356":1,"360":1,"378":1,"379":1,"388":1,"393":1,"405":1,"411":1,"414":1,"418":1,"419":1,"426":1,"428":3,"441":4,"443":1,"445":1,"451":1,"453":1,"455":5,"456":1,"460":3,"495":1,"511":1,"518":1,"519":1,"537":1,"550":1,"556":2}}],["their",{"2":{"263":1,"268":1,"340":1,"417":1,"445":1}}],["therefore",{"2":{"328":1,"472":1,"490":1,"502":1,"509":1}}],["there",{"2":{"11":1,"39":1,"331":1,"343":1,"348":1,"398":1,"426":3,"428":1,"438":1,"439":1,"441":1,"445":2,"447":1,"449":1,"455":2,"476":1,"477":1,"489":1,"521":1,"533":1}}],["the",{"0":{"326":1,"328":1,"333":1,"334":2,"339":1,"375":1,"460":1,"475":1,"493":1,"506":1,"554":1},"1":{"376":1,"377":1,"378":1,"379":1},"2":{"5":2,"6":1,"7":1,"9":1,"10":11,"11":46,"12":69,"14":1,"15":4,"17":3,"18":4,"19":8,"21":5,"22":1,"25":1,"26":2,"27":4,"29":2,"33":2,"34":11,"36":5,"38":3,"39":8,"40":6,"42":1,"44":1,"45":1,"48":2,"49":3,"50":1,"51":2,"52":2,"53":2,"54":5,"55":2,"58":2,"59":3,"61":2,"64":1,"65":1,"72":1,"79":2,"84":1,"85":5,"86":1,"92":1,"95":1,"96":3,"98":1,"99":2,"102":1,"103":1,"110":6,"113":1,"114":3,"116":1,"121":2,"122":1,"128":1,"130":1,"142":1,"146":1,"152":1,"179":1,"180":1,"261":1,"263":1,"265":1,"266":1,"267":1,"268":1,"270":2,"271":3,"272":1,"274":2,"275":1,"292":2,"295":3,"296":3,"297":4,"298":1,"299":2,"301":1,"304":5,"306":3,"307":6,"309":5,"310":6,"311":1,"313":3,"314":3,"315":9,"317":4,"321":1,"324":1,"325":8,"326":1,"328":6,"329":1,"330":8,"331":9,"332":3,"333":3,"335":1,"336":2,"337":2,"338":1,"339":2,"340":3,"341":2,"342":3,"344":2,"345":3,"346":5,"347":2,"348":1,"350":1,"351":3,"353":3,"357":3,"358":4,"359":4,"360":2,"361":5,"362":1,"363":6,"364":4,"365":2,"366":1,"367":3,"368":2,"369":2,"370":4,"372":5,"373":3,"374":5,"376":1,"377":2,"378":2,"379":1,"380":5,"381":6,"382":3,"383":1,"385":1,"386":8,"388":5,"389":1,"390":1,"391":17,"392":2,"393":6,"394":1,"395":1,"396":6,"397":3,"398":6,"399":5,"401":1,"405":6,"406":4,"407":3,"409":1,"410":5,"411":1,"412":4,"414":2,"416":2,"417":2,"418":7,"419":16,"420":2,"422":1,"424":3,"426":7,"427":4,"428":8,"429":5,"430":1,"432":1,"434":3,"435":15,"436":10,"438":2,"439":4,"441":57,"443":13,"444":2,"445":18,"446":18,"447":14,"448":4,"449":7,"450":2,"451":10,"452":11,"453":10,"454":9,"455":21,"456":11,"457":2,"458":13,"459":1,"460":10,"461":1,"462":7,"463":5,"464":7,"465":4,"466":1,"467":1,"468":5,"469":3,"470":2,"471":2,"472":6,"473":6,"474":7,"477":11,"478":2,"481":1,"482":1,"483":8,"484":4,"485":3,"486":2,"488":9,"489":6,"490":6,"493":1,"495":7,"496":1,"497":3,"498":2,"499":1,"500":10,"501":2,"502":6,"503":22,"506":1,"507":1,"508":1,"509":7,"511":3,"512":5,"513":6,"514":1,"515":1,"516":2,"517":3,"518":3,"519":3,"520":6,"521":3,"523":3,"524":6,"525":1,"526":5,"527":4,"528":2,"529":24,"530":4,"531":7,"532":4,"533":4,"534":1,"536":1,"537":8,"539":4,"540":4,"542":3,"543":3,"546":2,"547":1,"549":1,"550":1,"551":2,"554":1,"555":1,"556":5}}],["toggled",{"2":{"550":1}}],["toggle",{"2":{"500":1}}],["toggles",{"2":{"476":1}}],["touches",{"0":{"465":1},"2":{"462":1,"465":9}}],["touch",{"2":{"278":1,"436":1}}],["top",{"0":{"549":1},"2":{"114":1,"279":1,"304":1,"315":1,"331":1,"549":2}}],["tool",{"0":{"262":1},"1":{"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"269":1,"270":1,"271":1,"272":1,"273":1},"2":{"12":1,"34":1,"263":1,"271":1,"273":2,"357":1,"387":2,"430":1,"520":3}}],["tools",{"2":{"12":1,"34":1,"274":2,"324":1,"331":1,"332":1,"374":3,"399":2,"405":1,"507":1}}],["too",{"2":{"12":1,"89":1,"332":1,"402":1}}],["token",{"2":{"4":1}}],["to",{"0":{"272":1,"294":1,"325":1,"330":1,"331":1,"332":1,"333":1,"334":1,"338":1,"372":1,"436":1,"439":1},"2":{"1":1,"2":1,"4":1,"8":5,"10":6,"11":11,"12":28,"15":1,"21":2,"23":1,"25":2,"26":1,"27":1,"28":1,"29":1,"34":2,"38":1,"39":1,"40":1,"41":1,"42":2,"43":1,"44":1,"47":4,"48":1,"49":1,"50":1,"51":1,"53":1,"63":1,"65":1,"66":1,"68":1,"73":2,"75":2,"79":1,"84":1,"85":1,"86":1,"92":1,"96":2,"103":1,"109":1,"127":1,"132":1,"151":1,"160":1,"172":1,"179":2,"180":2,"182":1,"184":1,"261":1,"268":1,"271":1,"272":1,"273":2,"274":5,"292":1,"295":3,"296":3,"297":4,"299":1,"301":1,"304":1,"306":1,"307":2,"309":5,"310":3,"311":1,"317":2,"321":1,"322":1,"325":5,"326":1,"327":1,"328":6,"329":2,"330":3,"331":2,"333":3,"335":1,"336":1,"337":1,"340":2,"341":1,"344":1,"345":4,"346":4,"350":2,"351":4,"356":1,"357":2,"370":1,"372":1,"374":1,"376":1,"380":4,"381":5,"382":4,"383":3,"386":1,"388":3,"389":2,"390":4,"391":13,"393":4,"394":1,"395":2,"396":6,"397":2,"398":1,"399":1,"405":1,"406":2,"407":1,"410":2,"411":1,"412":1,"414":2,"416":2,"417":1,"418":1,"419":3,"420":1,"421":1,"422":1,"426":1,"427":2,"428":3,"429":6,"430":2,"432":1,"434":4,"435":8,"436":5,"438":3,"439":4,"441":12,"443":9,"444":1,"445":4,"446":5,"447":3,"449":5,"452":10,"453":7,"454":1,"455":4,"457":2,"458":3,"459":1,"460":4,"462":1,"463":2,"464":6,"465":3,"466":1,"467":1,"468":3,"470":1,"471":2,"472":4,"473":1,"474":4,"475":1,"477":3,"479":1,"481":1,"483":1,"484":1,"485":4,"486":2,"487":1,"488":5,"489":6,"490":4,"495":4,"496":2,"498":1,"499":1,"500":3,"501":2,"502":4,"503":5,"507":1,"508":2,"509":8,"511":2,"512":3,"513":1,"515":3,"516":2,"517":7,"518":3,"519":3,"520":6,"521":3,"523":1,"524":6,"525":1,"526":1,"527":2,"528":1,"529":15,"530":1,"531":2,"532":3,"533":3,"534":3,"535":1,"537":9,"539":1,"540":1,"541":2,"542":2,"543":1,"545":2,"548":1,"549":1,"551":1,"555":1,"556":10}}],["dpi",{"2":{"539":2}}],["dprebuilt",{"2":{"412":1}}],["dkms",{"2":{"520":1}}],["df6cf000447428fcde322022848d655ff0211d98688d0f17cbbf21be9c1272be",{"2":{"493":1}}],["df4103b",{"2":{"12":1}}],["df414b9",{"2":{"5":1}}],["dserver",{"2":{"460":2}}],["dnf",{"2":{"403":3,"494":2}}],["dns2",{"0":{"361":1,"362":1,"363":1,"364":1,"366":1}}],["dns",{"0":{"361":1,"362":1,"363":1,"364":1,"366":1},"2":{"361":1,"362":1,"363":2,"364":1,"366":1}}],["dll",{"0":{"334":1},"2":{"374":2,"399":2}}],["d",{"0":{"361":1,"362":1,"363":1,"364":1,"366":1},"2":{"333":1,"345":2,"361":1,"362":1,"363":2,"364":1,"366":1,"426":1}}],["drawback",{"2":{"489":1}}],["drawbacks",{"2":{"328":1,"447":1}}],["draggable",{"2":{"321":1}}],["dragged",{"2":{"311":1}}],["dragging",{"2":{"10":1,"38":1,"309":1,"321":1}}],["drag",{"2":{"266":1,"298":1,"299":1,"309":2,"310":2,"432":1,"438":1,"439":1,"537":2}}],["driver",{"2":{"343":1,"353":1}}],["driverwizard",{"2":{"324":1}}],["drivers",{"2":{"324":2,"343":1,"348":1}}],["dropdown",{"2":{"306":1,"307":2}}],["drop",{"0":{"437":1},"1":{"438":1,"439":1},"2":{"266":1,"298":1,"299":1,"432":1,"438":1,"439":1,"537":2}}],["d6ec7fd",{"2":{"257":1}}],["d691780",{"2":{"182":1}}],["d815643",{"2":{"200":1}}],["d908d58",{"2":{"186":1}}],["d3afc4b",{"2":{"168":1}}],["d3b4914",{"2":{"4":1}}],["d507c2d",{"2":{"150":1}}],["d5caaa9",{"2":{"12":1,"61":1}}],["dc9a3c4",{"2":{"193":1}}],["dc711cb",{"2":{"146":1}}],["dcf817f",{"2":{"12":1,"65":1}}],["double",{"2":{"339":1,"380":1,"537":3,"556":4}}],["don",{"2":{"396":2,"428":1,"507":1,"555":2}}],["done",{"2":{"325":1,"429":1}}],["donate",{"0":{"261":1,"482":1}}],["downsize",{"2":{"524":1}}],["downlink",{"2":{"391":3}}],["downloads",{"2":{"495":1}}],["download1",{"2":{"403":1}}],["downloaded",{"2":{"330":1,"331":1}}],["downloading",{"0":{"330":1}}],["download",{"0":{"330":1,"377":1},"1":{"378":1,"379":1},"2":{"325":1,"330":1,"374":1,"377":1,"399":1,"412":1,"439":1,"493":1,"506":1,"554":1}}],["down",{"2":{"309":1,"310":1,"330":1,"436":2,"487":1,"537":3}}],["do",{"0":{"350":1,"351":1},"2":{"296":1,"328":1,"329":1,"411":1,"412":1,"435":1,"445":1,"449":1}}],["doesn",{"2":{"324":1,"346":1}}],["does",{"2":{"135":1,"297":1,"328":1,"344":1,"370":2,"372":1,"395":1,"410":1,"435":1,"447":2,"455":2,"472":2,"473":1,"490":2,"502":2,"512":1,"529":2,"551":1}}],["docker",{"0":{"408":1},"2":{"408":1}}],["doc",{"2":{"397":1}}],["documented",{"2":{"477":1,"478":1}}],["documents",{"2":{"454":1}}],["document",{"2":{"296":2,"451":1}}],["documentation",{"0":{"478":1},"2":{"12":1,"24":1,"457":1,"496":1,"508":1,"556":1}}],["docs",{"2":{"12":1,"48":1}}],["d7bf83b",{"2":{"179":1}}],["d72202b",{"2":{"112":1}}],["d7eca8d",{"2":{"12":1,"53":1}}],["dd601df",{"2":{"174":1}}],["dd3ad6c",{"2":{"12":1,"47":1}}],["dd1c2e1",{"2":{"5":1}}],["dynamic",{"0":{"334":1},"2":{"319":1}}],["dynamically",{"2":{"12":1,"86":1,"529":1,"550":1}}],["dynamics",{"2":{"11":1,"101":1}}],["date",{"2":{"479":1}}],["data",{"0":{"327":1},"2":{"443":3,"445":3,"454":1,"458":2}}],["damaged",{"0":{"333":1},"2":{"333":1}}],["daeb9e5",{"2":{"207":1}}],["daemon",{"2":{"12":1,"72":1,"472":1,"490":1,"502":1}}],["dark",{"2":{"11":1,"12":1,"28":1,"73":1,"108":1,"110":1,"117":1,"134":1,"150":1,"266":1,"274":1}}],["db",{"2":{"411":1,"412":1}}],["db9e3e7",{"2":{"122":1}}],["db9b19a",{"2":{"12":1,"19":1}}],["dbdaa35",{"2":{"14":1}}],["db5d157",{"2":{"12":1,"48":1}}],["db5deb4",{"2":{"12":1,"82":1}}],["dbc34d6",{"2":{"12":1,"85":1}}],["dbf366a",{"2":{"6":1}}],["d054f8d",{"2":{"11":1,"54":1}}],["d230c15",{"2":{"12":1,"34":1}}],["d262adf",{"2":{"12":1,"61":1}}],["d25714a",{"2":{"12":1,"59":1}}],["d21fa29",{"2":{"11":1,"56":1}}],["d2c977c",{"2":{"6":1}}],["dummy",{"2":{"455":1,"458":2}}],["dup",{"2":{"392":3}}],["duplication",{"0":{"392":1}}],["duplicate",{"2":{"10":1,"11":1,"12":1,"32":1,"40":1,"54":1}}],["duration",{"2":{"281":1}}],["during",{"2":{"12":1,"80":1,"268":1,"278":2,"309":1,"412":1,"460":1}}],["due",{"2":{"11":1,"12":1,"29":1,"49":1,"330":1,"333":1,"337":1,"345":1,"441":1,"471":1,"489":1,"501":1}}],["dimension",{"2":{"524":1}}],["dimensions",{"2":{"441":1}}],["directions",{"2":{"446":1,"473":1}}],["direction",{"2":{"441":1}}],["directly",{"2":{"391":1,"444":1,"449":1,"455":1,"472":1,"490":1,"502":1,"509":1,"550":1,"556":2}}],["directories",{"2":{"12":1,"57":1,"274":1}}],["directory",{"2":{"5":1,"12":3,"15":1,"44":1,"93":1,"103":1,"336":1,"342":1,"374":1,"399":1,"411":1,"439":1,"556":1}}],["dictaphone",{"2":{"391":1}}],["differ",{"2":{"444":1}}],["different",{"2":{"274":1,"345":1,"346":1,"421":1,"445":2,"474":1,"518":1,"529":1}}],["difficult",{"2":{"328":1}}],["disappears",{"2":{"500":1}}],["disables",{"2":{"391":1}}],["disabled",{"2":{"354":1,"388":1,"416":1,"428":1,"434":1,"441":1,"455":1,"472":1,"489":1,"490":1,"499":1,"502":1,"509":2,"526":1,"540":1}}],["disable",{"0":{"545":1,"551":1},"2":{"11":1,"12":1,"78":1,"89":1,"186":1,"277":1,"278":1,"279":1,"280":1,"281":2,"330":2,"333":1,"354":1,"389":2,"390":1,"432":1,"435":1,"458":5,"462":1,"465":1,"477":1,"488":1,"496":1,"500":1,"508":1,"509":1,"511":1,"515":3,"520":1,"534":1,"535":1,"537":1,"541":2,"545":1,"548":1,"551":2,"556":1}}],["disabling",{"2":{"11":1,"64":1,"335":1}}],["dist",{"2":{"405":1}}],["distribution",{"2":{"399":1}}],["distributions",{"2":{"338":1,"353":1,"494":1}}],["distributed",{"2":{"386":2,"483":2}}],["distros",{"2":{"373":1,"374":1}}],["discuss",{"2":{"459":1}}],["disconnect",{"2":{"429":1}}],["disconnected",{"0":{"347":1},"2":{"347":1}}],["discardvirtualmemory",{"0":{"334":1}}],["display=",{"2":{"539":1}}],["display=1920x1080",{"2":{"468":1,"477":1,"539":2,"540":2}}],["displays",{"2":{"12":1,"59":1,"265":1,"267":1,"441":1,"473":1,"532":2,"541":1}}],["displayed",{"2":{"11":1,"29":1,"307":1,"313":1}}],["display",{"0":{"532":1,"538":1,"539":1,"543":1},"1":{"539":1,"540":1,"541":1,"542":1,"543":1},"2":{"10":1,"11":5,"12":13,"17":1,"18":1,"19":2,"36":1,"37":1,"53":2,"55":1,"58":1,"65":1,"79":1,"84":1,"85":1,"93":1,"94":1,"110":3,"182":1,"263":1,"265":1,"277":1,"278":1,"307":1,"314":1,"317":1,"325":1,"416":1,"419":1,"447":1,"452":2,"464":3,"468":1,"473":2,"477":2,"478":1,"521":1,"529":5,"531":1,"532":5,"533":1,"537":6,"539":5,"540":2,"541":3,"542":3,"543":8}}],["dialog",{"2":{"8":1,"10":1,"12":1,"17":1,"314":1}}],["d18444f",{"2":{"11":1,"101":1}}],["d19e781",{"2":{"10":1,"83":1}}],["d1f8176",{"2":{"7":1}}],["d1c04ce",{"2":{"4":1}}],["degrees",{"2":{"530":1}}],["demux=h264",{"2":{"458":1}}],["demuxed",{"2":{"452":1}}],["demuxer",{"2":{"452":3}}],["demuxers",{"2":{"451":1}}],["demonstrating",{"2":{"268":1}}],["dex",{"2":{"443":5}}],["dexed",{"2":{"443":1}}],["dedicated",{"2":{"441":1,"523":1,"536":1}}],["density",{"2":{"539":1}}],["den",{"2":{"419":1}}],["decorations",{"0":{"541":1},"2":{"540":2,"541":3,"548":1}}],["decoder",{"2":{"452":3}}],["decoders",{"2":{"451":1}}],["decoded",{"2":{"450":1,"452":1}}],["decodes",{"2":{"441":2}}],["declarative",{"2":{"417":1}}],["declared",{"2":{"417":3,"419":2}}],["decided",{"2":{"328":1}}],["dee55499ca4fef00ce2559c767d2d8130163736d43fdbce753e923e75309c275",{"2":{"378":1}}],["debian",{"0":{"402":1},"2":{"373":1,"374":1,"405":1,"494":1,"495":1}}],["debugger=true",{"2":{"460":2}}],["debugger",{"2":{"460":2}}],["debugging",{"2":{"167":1,"268":1,"292":2,"294":1,"295":2,"324":1,"329":3,"343":1,"344":1,"350":2,"374":1,"429":1,"472":2,"474":4,"477":1,"490":2,"502":2,"509":1,"511":2}}],["debug",{"0":{"460":1},"2":{"276":1,"460":3}}],["dequeueoutputbuffer",{"2":{"356":1}}],["delay",{"2":{"265":1,"462":1,"463":2,"464":1,"512":1,"520":1,"521":1,"533":1}}],["deleting",{"2":{"12":1,"27":1}}],["delete",{"0":{"315":1},"2":{"6":1,"8":1,"143":2,"315":1}}],["depends",{"2":{"435":1}}],["depend",{"2":{"410":1}}],["depending",{"2":{"265":1,"452":1,"473":1}}],["dependent",{"2":{"197":1}}],["dependency",{"2":{"11":1,"67":1,"119":1}}],["dependencies",{"2":{"6":1,"8":1,"11":1,"12":1,"45":1,"68":1,"104":1,"132":1,"274":1,"296":1,"402":3,"403":2,"406":4,"407":2,"555":1}}],["defines",{"2":{"383":2}}],["definitely",{"2":{"273":1}}],["definition",{"2":{"263":1,"524":2}}],["defender",{"2":{"330":1}}],["default",{"2":{"11":1,"12":1,"34":1,"90":1,"295":1,"299":1,"301":3,"306":1,"351":1,"353":1,"388":2,"391":2,"393":2,"395":1,"396":4,"416":3,"421":2,"426":1,"428":1,"434":1,"436":1,"441":3,"447":1,"455":1,"467":1,"469":1,"484":2,"486":1,"487":1,"497":1,"499":1,"500":1,"503":6,"509":2,"518":1,"521":1,"523":1,"524":1,"525":1,"527":2,"528":1,"533":1,"537":1,"541":2,"542":1,"543":2,"546":1,"551":1}}],["de3555b",{"2":{"174":1}}],["de9352c",{"2":{"164":1}}],["determined",{"2":{"419":1}}],["determines",{"2":{"418":1}}],["detects",{"2":{"472":1}}],["detect",{"0":{"324":1},"2":{"295":1,"445":1,"455":1}}],["detected",{"0":{"343":1},"2":{"292":1,"343":2,"348":1,"364":2}}],["detecting",{"2":{"12":1,"27":1,"520":1}}],["detection",{"0":{"330":1},"2":{"8":1,"12":2,"49":1,"72":1}}],["detailed",{"0":{"303":1},"1":{"304":1,"305":1,"306":1,"307":1,"308":1,"309":1,"310":1,"311":1,"312":1,"313":1,"314":1,"315":1},"2":{"329":1,"357":1}}],["details",{"2":{"12":4,"19":2,"24":1,"60":1,"381":1,"441":1,"448":1,"455":1,"458":1,"459":1}}],["devel",{"2":{"403":5}}],["developing",{"2":{"271":1}}],["developer",{"2":{"273":1,"292":1,"294":1,"331":1,"350":1,"485":1,"498":1}}],["developers",{"0":{"385":1,"440":1},"1":{"441":1,"442":1,"443":1,"444":1,"445":1,"446":1,"447":1,"448":1,"449":1,"450":1,"451":1,"452":1,"453":1,"454":1,"455":1,"456":1,"457":1,"458":1,"459":1,"460":1},"2":{"268":1,"385":1,"465":1,"479":1}}],["developed",{"2":{"263":1}}],["development",{"0":{"271":1},"2":{"11":1,"52":1,"398":1,"495":1,"537":2}}],["dev",{"2":{"398":3,"402":7,"405":1,"477":1,"495":8,"520":7,"534":2}}],["devicemessage",{"2":{"457":1}}],["deviceid",{"2":{"318":1}}],["devices",{"0":{"329":1,"345":1},"2":{"10":2,"11":1,"12":3,"29":1,"47":1,"63":2,"65":1,"98":1,"144":1,"165":1,"172":1,"263":1,"266":1,"267":1,"274":3,"297":2,"301":1,"306":1,"307":2,"327":1,"343":2,"345":2,"348":1,"350":1,"357":1,"358":2,"359":2,"360":1,"362":2,"370":1,"380":1,"381":2,"388":1,"416":1,"417":1,"419":1,"426":2,"435":1,"473":1,"474":1,"485":1,"488":1,"498":1,"509":1,"517":1,"520":4,"527":1,"540":1,"541":1}}],["device",{"0":{"262":1,"278":1,"284":1,"287":1,"298":1,"302":1,"307":1,"324":1,"328":1,"331":1,"343":1,"344":1,"347":1,"439":1,"461":1},"1":{"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"269":1,"270":1,"271":1,"272":1,"273":1,"285":1,"286":1,"287":1,"299":1,"300":1,"301":1,"302":1,"303":1,"304":1,"305":1,"306":1,"307":1,"308":1,"309":1,"310":1,"311":1,"312":1,"313":1,"314":1,"315":1,"316":1,"317":1,"318":1,"319":1,"320":1,"321":1,"462":1,"463":1,"464":1,"465":1,"466":1,"467":1,"468":1},"2":{"5":1,"6":1,"10":9,"11":6,"12":18,"14":1,"18":1,"19":1,"25":1,"27":3,"29":1,"32":4,"34":4,"35":1,"38":1,"39":1,"40":1,"42":1,"53":1,"54":1,"59":1,"60":1,"61":1,"63":1,"65":1,"72":2,"79":1,"92":1,"172":1,"263":1,"265":1,"266":3,"267":1,"270":1,"271":1,"273":3,"274":8,"276":1,"280":1,"292":1,"294":1,"295":4,"297":2,"298":4,"299":2,"302":2,"307":7,"315":1,"318":1,"319":2,"321":5,"324":2,"325":3,"327":1,"331":1,"341":1,"343":3,"344":3,"345":9,"347":1,"348":1,"350":1,"357":1,"358":2,"359":2,"360":1,"361":1,"363":3,"364":3,"365":2,"366":1,"367":2,"370":1,"374":1,"380":1,"381":3,"388":1,"391":5,"392":2,"393":1,"394":1,"396":1,"410":1,"414":1,"416":2,"424":1,"426":2,"427":3,"428":5,"429":10,"430":1,"432":1,"434":2,"435":5,"439":1,"441":11,"443":2,"445":1,"446":2,"447":2,"451":1,"452":1,"453":1,"455":7,"456":1,"457":2,"458":5,"460":2,"461":1,"462":3,"464":2,"465":2,"466":1,"467":1,"468":1,"469":1,"470":1,"471":1,"472":2,"473":5,"474":3,"477":6,"478":1,"484":1,"488":3,"489":1,"490":2,"496":1,"497":1,"499":1,"500":2,"501":1,"502":2,"503":4,"508":1,"509":4,"511":2,"512":1,"513":1,"517":2,"520":6,"523":2,"524":3,"526":1,"528":1,"529":3,"531":2,"532":2,"534":1,"537":5,"539":1,"546":2,"556":1}}],["destroy",{"0":{"542":1},"2":{"542":1}}],["destroyed",{"2":{"539":1,"542":1}}],["deserialization",{"2":{"457":2}}],["describing",{"2":{"456":1}}],["described",{"2":{"397":1,"485":1}}],["describe",{"2":{"153":1}}],["description",{"0":{"311":1},"2":{"152":1,"164":1,"173":1,"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"367":1,"368":1}}],["desktop",{"2":{"10":1,"12":1,"51":1,"53":1,"274":1,"354":1}}],["designed",{"0":{"328":1},"2":{"298":1,"458":1,"517":1}}],["design",{"2":{"10":1,"150":1}}],["pts",{"2":{"456":4}}],["png",{"2":{"414":1}}],["pixel",{"2":{"537":1}}],["pid",{"2":{"460":1}}],["pinch",{"0":{"436":1},"2":{"436":1,"537":1}}],["pierlon",{"2":{"408":1}}],["pip",{"2":{"402":1}}],["pip3",{"2":{"402":2}}],["python3",{"2":{"402":1}}],["pkg",{"2":{"402":1,"406":2,"407":1,"495":1}}],["p",{"0":{"361":1,"362":1,"363":1,"364":1,"366":1,"367":1,"368":1},"2":{"361":1,"362":1,"363":2,"364":1,"366":1,"367":1,"368":1}}],["physically",{"2":{"429":1}}],["physical",{"0":{"470":1,"488":1,"500":1},"1":{"471":1,"472":1,"489":1,"490":1,"501":1,"502":1},"2":{"325":3,"351":1,"464":1,"465":3,"469":2,"470":2,"471":1,"472":2,"473":1,"477":2,"484":2,"488":2,"489":1,"490":1,"497":2,"500":1,"501":1,"502":1,"509":3,"529":1}}],["phones",{"2":{"329":1}}],["phone",{"2":{"268":2,"292":4,"295":1,"429":1,"531":1}}],["pcm",{"2":{"393":1}}],["pc",{"2":{"297":1}}],["people",{"2":{"273":1}}],["per",{"2":{"452":1,"526":1}}],["periodically",{"2":{"369":1}}],["personalized",{"2":{"321":1}}],["permissions",{"2":{"321":1,"329":1,"336":2,"350":1,"386":1,"483":1}}],["permission",{"2":{"193":2,"330":1,"380":1,"471":1,"474":1,"489":1,"501":1}}],["perform",{"2":{"461":1}}],["performed",{"2":{"441":1,"531":1,"537":1}}],["performance",{"0":{"7":1,"12":1,"15":1,"16":1,"19":1,"22":1,"23":1,"24":1,"27":1,"28":1,"30":1,"31":1,"34":1,"35":1,"37":1,"40":1,"41":1,"43":1,"44":1,"47":1,"48":1,"49":1,"50":1,"53":1,"55":1,"57":1,"59":1,"60":1,"61":1,"62":1,"65":1,"66":1,"68":1,"69":1,"72":1,"75":1,"77":1,"80":1,"82":1,"85":1,"86":1,"87":1,"89":1,"93":1,"94":1,"96":1,"98":1,"100":1,"102":1,"103":1,"104":1,"106":1,"108":1,"109":1,"110":1,"114":1,"115":1,"118":1,"122":1,"125":1,"127":1,"131":1,"134":1,"136":1,"139":1,"143":1,"144":1,"145":1,"146":1,"147":1,"149":1,"150":1,"153":1,"155":1,"157":1,"160":1,"163":1,"164":1,"165":1,"168":1,"169":1,"170":1,"172":1,"174":1,"175":1,"178":1,"183":1,"186":1,"187":1,"198":1,"203":1,"204":1,"208":1,"211":1,"213":1,"223":1,"226":1,"228":1,"230":1,"231":1,"233":1,"234":1,"240":1,"244":1,"256":1},"2":{"12":11,"19":1,"34":2,"55":1,"57":1,"60":1,"77":1,"80":1,"93":1,"96":1,"102":1,"115":1,"122":1,"168":1,"172":1,"265":1,"274":1,"391":3,"473":1,"476":1,"487":1,"524":1}}],["perfect",{"2":{"115":1,"537":1}}],["plugged",{"2":{"367":1,"370":1,"381":1,"462":6,"470":1,"477":1,"509":1}}],["plug",{"2":{"347":1,"429":1}}],["plugin",{"2":{"2":1}}],["please",{"2":{"272":1,"295":1,"324":2,"327":2,"329":1,"330":1,"335":1,"337":1,"348":1,"398":1,"459":1,"481":1}}],["plasma",{"2":{"354":1}}],["player",{"2":{"452":2}}],["played",{"2":{"416":1}}],["play",{"2":{"390":2,"458":1,"515":1,"526":1,"534":1}}],["playback",{"0":{"515":1,"534":1},"2":{"281":2,"389":2,"391":5,"396":1,"416":1,"434":1,"477":1,"515":5,"520":2,"533":4,"534":6}}],["playing",{"2":{"268":1,"392":1,"534":2,"545":1}}],["platforms",{"2":{"296":1,"379":1}}],["platform",{"0":{"269":1},"2":{"372":1,"374":2,"399":2,"450":1,"507":1}}],["plans",{"2":{"271":1}}],["plan",{"2":{"107":1,"406":1,"556":1}}],["poor",{"2":{"447":1}}],["polling",{"2":{"441":1}}],["policy=local",{"2":{"543":3}}],["policy",{"0":{"543":1},"2":{"12":1,"40":1}}],["pointer",{"2":{"500":1}}],["point",{"0":{"334":1},"2":{"295":1,"310":1,"445":1}}],["points",{"2":{"278":1}}],["popup",{"2":{"344":2,"380":1,"388":1}}],["popular",{"2":{"338":1}}],["pop",{"2":{"116":1}}],["powered",{"2":{"467":1}}],["powerful",{"2":{"273":1}}],["power",{"0":{"466":1,"467":1},"2":{"12":1,"61":1,"287":1,"464":5,"466":1,"467":1,"503":1,"537":2}}],["powershell",{"2":{"11":1,"21":1,"346":2,"426":2,"518":2,"519":4}}],["portrait",{"2":{"529":1,"531":1}}],["port=1234",{"2":{"518":1}}],["port",{"0":{"361":1,"362":1,"363":1,"364":1,"366":1,"367":1,"368":1},"2":{"12":1,"27":1,"295":2,"347":1,"361":1,"362":1,"363":2,"364":1,"366":1,"367":1,"368":1,"426":2,"428":3,"429":1,"441":1,"458":1,"460":4,"507":1,"518":3,"519":1}}],["portable",{"2":{"5":1}}],["post",{"2":{"441":1,"448":1}}],["positions",{"2":{"299":1,"317":1}}],["position",{"0":{"309":1,"547":1},"2":{"12":2,"85":1,"163":1,"175":1,"266":1,"271":1,"298":1,"301":1,"302":1,"309":4,"310":1,"547":1}}],["possible",{"2":{"11":1,"33":1,"391":1,"393":1,"396":2,"418":1,"419":1,"429":1,"441":1,"445":1,"463":1,"464":2,"465":1,"468":1,"472":2,"488":1,"490":2,"502":2,"509":3,"513":1,"515":1,"517":1,"518":1,"520":1,"521":2,"523":1,"527":1,"532":2,"533":1,"534":2,"537":1}}],["practice",{"2":{"458":1}}],["primary",{"2":{"503":1}}],["privileges",{"0":{"443":1},"2":{"443":1}}],["printed",{"2":{"438":1,"439":1,"526":1}}],["print",{"2":{"429":1,"526":1}}],["principle",{"2":{"328":1}}],["prioritize",{"2":{"307":1}}],["priority",{"2":{"274":1,"319":1}}],["prerequisites",{"0":{"474":1},"2":{"485":1,"496":1,"498":1,"508":1,"556":1}}],["prefixes",{"2":{"468":1}}],["prefixed",{"2":{"456":1}}],["prefix",{"2":{"428":1,"468":2}}],["prefer",{"2":{"486":1,"556":1}}],["preferable",{"2":{"396":1,"519":1}}],["preferred",{"2":{"12":1,"22":1,"276":1,"405":1}}],["preferences",{"0":{"275":1},"1":{"276":1,"277":1,"278":1,"279":1,"280":1,"281":1,"282":1,"283":1},"2":{"11":2,"12":2,"36":1,"40":1,"46":1,"122":1,"164":1,"178":1,"182":1,"183":1,"186":1,"274":1,"325":1,"331":1,"335":1}}],["preference",{"0":{"486":1},"2":{"5":1,"11":1,"12":3,"33":1,"34":1,"86":1,"98":1,"146":1,"182":1}}],["prebuilt",{"0":{"412":1},"2":{"410":1,"412":1,"495":1}}],["presses",{"2":{"537":1}}],["pressed",{"2":{"486":1}}],["pressing",{"2":{"436":2,"464":1,"488":1,"503":2,"537":2}}],["press",{"2":{"331":1,"380":1,"460":1,"464":1,"537":2}}],["preserved",{"2":{"524":1}}],["preservation",{"2":{"122":1}}],["present",{"2":{"380":1,"398":1}}],["presentations",{"2":{"465":1}}],["presentation",{"2":{"12":1}}],["preset",{"2":{"182":1,"310":1}}],["precisely",{"2":{"298":1,"436":1}}],["preliminarily",{"2":{"296":1}}],["preparation",{"2":{"12":1,"34":1,"325":2}}],["prevent",{"2":{"462":1,"464":1,"467":1,"551":1}}],["prevented",{"2":{"11":1,"36":1}}],["preview",{"2":{"299":1}}],["previous",{"2":{"11":1,"21":1,"447":1}}],["pronounced",{"2":{"473":1}}],["produce",{"2":{"452":1,"458":1}}],["produced",{"2":{"447":1,"456":1,"526":1,"541":1}}],["protocol",{"0":{"454":1},"1":{"455":1,"456":1,"457":1},"2":{"445":2,"454":2,"457":2,"458":1,"469":1,"472":1,"484":1,"490":1,"497":1,"502":1,"517":1}}],["protection",{"2":{"330":4}}],["properly",{"2":{"321":2,"488":1}}],["properties",{"2":{"301":1}}],["proportions",{"2":{"310":1}}],["proportion",{"2":{"310":1}}],["projects",{"2":{"369":1}}],["project",{"0":{"261":1},"2":{"261":2,"263":1,"271":1,"272":1,"370":2,"398":1,"406":1,"409":1}}],["provided",{"2":{"358":1,"359":1,"369":1,"426":1,"435":1,"444":1,"517":1}}],["provide",{"2":{"12":1,"53":1,"273":1,"297":1,"327":1,"345":1,"372":1,"527":2}}],["provides",{"2":{"12":1,"27":1,"263":1,"299":1,"322":1,"370":1,"450":1,"465":1,"478":1}}],["processed",{"2":{"391":1}}],["processes",{"2":{"12":1,"53":1}}],["process",{"2":{"274":1,"397":1,"443":2,"445":2,"458":1,"472":1,"490":1,"495":2,"502":1}}],["processing",{"0":{"285":1},"2":{"12":1,"27":1,"274":1}}],["programmatically",{"2":{"435":1}}],["programs",{"2":{"321":1}}],["program",{"2":{"11":2,"12":2,"19":1,"39":2,"48":1,"128":1,"346":2,"382":1}}],["problems",{"2":{"11":1,"12":1,"47":1,"99":1,"126":1,"322":1,"340":1,"372":1,"447":1,"487":1,"520":1}}],["problem",{"2":{"9":1,"11":11,"12":3,"21":2,"36":1,"40":1,"42":1,"45":1,"49":1,"52":1,"54":1,"58":1,"64":1,"65":1,"79":1,"99":1,"113":1,"116":1,"121":1,"122":1,"185":1,"341":1,"351":1,"481":1,"486":1}}],["prompt",{"0":{"333":1},"2":{"11":1,"26":1,"168":1,"171":1,"317":1,"333":1}}],["promptbar",{"2":{"8":1}}],["prompts",{"0":{"326":1,"330":1},"2":{"8":1,"131":1,"172":1,"292":1}}],["pause",{"2":{"537":2}}],["pasting",{"2":{"435":3}}],["paste⁵",{"2":{"537":1}}],["pastes",{"2":{"435":1}}],["paste",{"0":{"435":1},"2":{"435":3,"441":1,"473":1}}],["passing",{"2":{"468":1}}],["passwords",{"2":{"435":1}}],["passed",{"2":{"416":1,"452":1}}],["pass",{"2":{"393":1,"418":1,"419":1,"509":1,"527":1}}],["packets",{"2":{"446":3,"447":1,"452":4}}],["packet",{"2":{"441":2,"456":7,"458":1,"512":1}}],["packaged",{"2":{"399":1,"494":1}}],["package",{"0":{"494":1,"507":1,"555":1},"2":{"12":2,"37":1,"68":1,"333":2,"353":1,"373":1,"374":1,"401":1,"443":2,"468":2,"494":1,"520":1}}],["packages",{"0":{"290":1},"2":{"12":1,"82":1,"150":1,"330":2,"401":1,"406":1,"407":1,"495":1}}],["pacman",{"2":{"406":4,"494":1}}],["pairs",{"2":{"445":1}}],["pair",{"2":{"294":1}}],["pairing",{"2":{"10":1,"12":1,"63":1,"156":1,"295":1,"326":1}}],["panels",{"2":{"537":1}}],["panel",{"2":{"12":2,"55":1,"313":1,"503":3,"537":3}}],["pages",{"2":{"477":1,"478":1}}],["page",{"2":{"11":1,"12":1,"39":1,"53":1,"132":1,"295":1,"330":1,"331":2,"385":1,"398":1,"488":2,"523":1,"536":1}}],["parses",{"2":{"446":1,"451":1}}],["parsed",{"2":{"11":1,"79":1}}],["parts",{"2":{"441":1}}],["particular",{"2":{"328":1,"329":1,"348":1,"393":1,"435":1}}],["partial",{"2":{"12":1}}],["party",{"2":{"324":1}}],["part",{"2":{"11":1,"101":1,"531":1}}],["parameter",{"2":{"11":1,"12":1,"79":1,"93":1,"318":1,"358":1,"359":1,"381":1,"395":1,"485":1,"498":1}}],["parameters",{"2":{"11":1,"12":2,"33":1,"53":1,"86":1,"276":2,"301":1,"306":1,"319":1,"364":1,"393":1,"485":1,"527":1}}],["params",{"2":{"6":1}}],["parallel",{"2":{"10":1,"17":1}}],["paypal",{"2":{"482":1}}],["payload",{"2":{"6":1}}],["payment",{"2":{"6":1,"8":1}}],["patterns",{"2":{"4":1}}],["pattern",{"2":{"4":1}}],["path=",{"2":{"406":1,"407":1}}],["paths",{"2":{"197":1,"336":1,"451":1}}],["path",{"2":{"4":1,"11":2,"18":1,"21":1,"113":1,"182":1,"276":4,"330":1,"331":1,"337":2,"342":2,"346":3,"383":3,"399":1,"406":1,"407":1,"412":2,"443":1,"507":1}}],["put",{"2":{"462":2,"463":1,"465":2}}],["public",{"2":{"443":1}}],["publishing",{"2":{"111":1}}],["publish",{"2":{"4":1}}],["purpose",{"2":{"441":1,"455":1,"511":1}}],["pure",{"2":{"267":1}}],["pushes",{"2":{"451":1,"453":1}}],["pushed",{"2":{"410":1,"443":1,"460":1}}],["push",{"0":{"439":1},"2":{"172":1,"174":1,"274":1,"414":1,"439":2,"441":1,"443":1,"445":1,"458":1,"537":1}}],["pull",{"2":{"4":1,"495":1}}],["eye",{"2":{"531":1}}],["etc",{"2":{"450":1,"452":1}}],["equivalent",{"2":{"395":1,"503":1,"525":1}}],["equipment",{"2":{"12":1,"48":1,"102":1,"114":1,"121":1,"150":1}}],["echo",{"2":{"391":1}}],["emerge",{"2":{"494":1}}],["emulator",{"2":{"345":1}}],["empty",{"2":{"5":1,"6":1,"313":1,"540":1}}],["either",{"2":{"345":1,"386":1,"435":1,"483":1,"500":1,"537":1}}],["e",{"2":{"330":1,"345":2,"403":1,"426":2,"443":1,"446":1,"449":1,"462":1,"503":1,"517":1}}],["else",{"2":{"419":1}}],["eliminating",{"2":{"296":1}}],["electron",{"0":{"262":1},"1":{"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"269":1,"270":1,"271":1,"272":1,"273":1},"2":{"4":1,"235":1,"237":1,"259":1,"263":1}}],["edit",{"2":{"460":1,"556":1}}],["editing",{"2":{"271":1,"299":1}}],["edges",{"0":{"339":1},"2":{"339":1}}],["edge",{"2":{"10":1,"12":3,"59":1,"61":1,"76":1,"77":1,"274":1,"339":1}}],["e84f24e",{"2":{"256":1}}],["e89a7a5",{"2":{"217":1}}],["e9a8fc2",{"2":{"222":1}}],["e9befea",{"2":{"183":1}}],["e1237cd",{"2":{"198":1}}],["e249d84",{"2":{"186":1}}],["even",{"2":{"455":1,"472":1,"490":1,"502":1,"528":1}}],["events",{"0":{"449":1},"2":{"11":1,"18":1,"321":1,"432":1,"435":2,"436":1,"441":2,"446":1,"449":2,"450":1,"453":2,"474":2,"485":1,"486":7,"487":3,"498":1,"499":1,"509":2}}],["event",{"2":{"5":1,"8":1,"453":1}}],["everything",{"0":{"411":1},"2":{"432":1,"454":1}}],["every",{"2":{"372":1,"398":1}}],["everywhere",{"2":{"346":1,"485":1}}],["evoke",{"2":{"179":1,"180":1}}],["e5f78e7",{"2":{"173":1}}],["e5c157e",{"2":{"10":1,"20":1}}],["especially",{"2":{"474":1}}],["establishes",{"2":{"446":1}}],["establish",{"2":{"441":1,"519":1}}],["establishment",{"2":{"326":1,"518":1}}],["escrcpy",{"0":{"262":1,"263":1,"323":1},"1":{"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"269":1,"270":1,"271":1,"272":1,"273":1,"324":1,"325":1,"326":1,"327":1,"328":1,"329":1,"330":1,"331":1,"332":1,"333":1,"334":1,"335":1,"336":1,"337":1,"338":1,"339":1},"2":{"263":2,"268":1,"269":1,"270":1,"271":1,"272":1,"273":3,"291":1,"292":2,"295":2,"296":1,"298":1,"322":2,"325":2,"328":2,"331":1,"332":1,"333":1,"338":1,"369":1}}],["esm",{"2":{"132":1}}],["eslint",{"2":{"8":1,"149":1}}],["e0c221f",{"2":{"12":1,"19":1}}],["e0687e8",{"2":{"10":1,"63":1}}],["e6e8a09",{"2":{"12":1,"27":1}}],["e643f8e",{"2":{"12":1}}],["eaa27133e0520979873ba57ad651560a4cc2618373bd05450b23a84d32beafd0",{"2":{"554":1}}],["earlier",{"2":{"388":1}}],["easily",{"2":{"263":1,"458":1}}],["ea227e0",{"2":{"130":1}}],["each",{"2":{"12":1,"34":1,"274":1,"298":1,"302":1,"306":1,"307":1,"357":1,"364":1,"381":1,"441":4,"455":2,"456":1,"458":1,"470":1,"503":2}}],["eab402b",{"2":{"12":1,"28":1}}],["ea75615",{"2":{"12":1}}],["effort",{"2":{"464":1}}],["efficiency",{"2":{"321":1}}],["efficient",{"0":{"265":1},"2":{"273":1,"298":1}}],["effects",{"2":{"299":1}}],["effect",{"2":{"11":1,"12":8,"19":2,"33":1,"34":1,"53":1,"55":1,"94":1,"108":1,"110":3,"319":1,"321":1,"462":1}}],["ef9e7d3",{"2":{"8":1}}],["e337d5cf0ba4e1281699c338ce5f104aee96eb7b2893dc851399b6643eb4044e",{"2":{"506":1}}],["e34e1c2",{"2":{"11":1,"45":1}}],["e323611",{"2":{"8":1}}],["error",{"0":{"331":1,"336":1},"2":{"11":5,"12":1,"39":1,"52":1,"58":1,"84":1,"85":1,"90":1,"134":1,"152":1,"158":1,"159":1,"168":1,"181":1,"182":1,"193":1,"197":1,"331":1,"340":1,"343":1,"344":3,"345":7,"346":1,"348":1,"356":1,"393":2,"418":1,"419":1,"455":1,"474":1,"524":1,"556":4}}],["errors",{"2":{"11":2,"56":1,"81":1,"119":1,"123":1,"171":1,"189":1,"190":1,"191":1,"192":1,"331":1,"471":1,"489":1,"501":1}}],["extract",{"2":{"374":1,"378":1,"379":1,"399":1,"452":1,"493":1,"506":1,"554":1}}],["extension",{"2":{"513":1}}],["extensions",{"2":{"328":1,"556":1}}],["extend",{"2":{"328":1}}],["extended",{"2":{"12":1,"96":1,"164":1}}],["external",{"2":{"7":1,"418":1}}],["exact",{"2":{"445":1,"555":1}}],["exactly",{"2":{"361":1,"380":1,"426":3,"503":1}}],["example",{"2":{"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"367":1,"368":1,"391":1,"393":1,"396":1,"411":1,"419":1,"423":1,"428":1,"435":2,"445":2,"455":1,"458":1,"495":1,"503":1,"520":1,"526":1,"531":1,"537":2,"540":2,"556":2}}],["examples",{"0":{"477":1},"2":{"357":1,"419":1,"477":1}}],["exe",{"2":{"342":1,"346":2,"374":1,"378":1,"399":1,"556":1}}],["executing",{"2":{"429":1,"445":1,"488":1}}],["execution",{"0":{"445":1},"2":{"120":2,"144":1,"285":1,"287":1,"441":1,"445":1}}],["executable",{"2":{"336":2,"383":1,"556":1}}],["executed",{"2":{"441":2,"443":1,"446":2,"537":1,"556":1}}],["executes",{"2":{"380":1,"382":1,"443":1}}],["execute",{"0":{"337":1},"2":{"266":1,"274":1,"276":1,"333":2,"341":1,"380":1,"381":2,"445":1,"495":1,"537":1}}],["exclusive",{"2":{"520":2}}],["exclusion",{"2":{"330":1}}],["exclusions",{"2":{"330":2}}],["excluding",{"2":{"364":1}}],["excluded",{"2":{"330":1}}],["except",{"2":{"386":1,"483":1}}],["exception",{"0":{"335":1,"356":1},"2":{"356":2}}],["exceptions",{"2":{"11":1,"33":1}}],["exceed",{"2":{"327":1}}],["exceeded",{"2":{"321":1}}],["excellent",{"2":{"273":1}}],["existing",{"2":{"328":1}}],["exists",{"2":{"313":1}}],["exit",{"2":{"11":1,"12":1,"39":1,"53":1,"358":1,"359":1,"363":1,"365":1,"463":1,"465":1,"539":1}}],["expand",{"2":{"503":2,"537":3}}],["expands",{"2":{"503":1}}],["expanded",{"2":{"12":1,"50":1,"423":1}}],["expansion",{"0":{"423":1},"2":{"423":1}}],["expressed",{"2":{"441":1,"531":1}}],["express",{"2":{"386":1,"483":1}}],["expose",{"2":{"458":1,"477":1}}],["exposed",{"2":{"449":1}}],["exposes",{"2":{"382":1,"465":1}}],["export",{"2":{"6":2,"266":1,"274":1,"346":1,"407":2,"411":2,"426":1,"518":1,"519":2}}],["expect",{"2":{"435":1}}],["expected",{"2":{"345":1,"435":1,"486":1,"556":1}}],["experimentally",{"2":{"12":1,"53":1}}],["experimental",{"2":{"12":2,"53":1,"93":1,"287":1,"493":1,"506":1}}],["experience",{"0":{"267":1},"2":{"12":6,"19":1,"22":1,"62":1,"65":1,"72":1,"85":1,"263":1,"267":1,"271":1,"273":1,"274":2,"458":1}}],["explicit",{"2":{"418":1,"419":1}}],["explicitly",{"2":{"12":1,"53":1,"419":1,"434":1,"509":1,"513":1,"540":1}}],["explorer",{"2":{"10":1,"17":1}}],["end",{"2":{"513":1}}],["ending",{"2":{"438":1}}],["enough",{"2":{"396":2}}],["ensuring",{"2":{"336":1}}],["ensure",{"2":{"6":1,"317":1,"326":1,"388":1}}],["enabling",{"2":{"298":1,"329":2,"331":1,"519":1}}],["enabled",{"2":{"343":1,"374":1,"388":2,"441":3,"474":1,"485":1,"498":1,"511":1,"520":2,"524":1,"526":1,"534":1,"541":1}}],["enable",{"2":{"12":2,"19":1,"47":1,"292":1,"294":1,"295":1,"297":1,"325":1,"350":2,"357":1,"361":1,"362":1,"380":1,"403":1,"428":1,"429":2,"434":1,"460":1,"462":1,"465":2,"471":1,"472":1,"474":1,"488":1,"489":1,"490":1,"494":1,"500":1,"501":1,"502":1,"509":2,"537":1,"556":1}}],["entered",{"2":{"486":1}}],["enter",{"0":{"325":1},"2":{"294":1,"295":1,"304":1}}],["entrance",{"2":{"112":1}}],["entry",{"2":{"12":2,"34":1,"48":1}}],["entries",{"2":{"10":1,"32":1}}],["enjoy",{"2":{"292":1}}],["enjoying",{"2":{"263":1,"294":1,"295":1}}],["energized",{"2":{"261":1}}],["english",{"2":{"121":1,"325":2}}],["encodes",{"2":{"447":1}}],["encoded",{"2":{"446":2,"447":1,"448":1,"452":1,"513":1}}],["encoder=omx",{"2":{"528":1}}],["encoder=",{"2":{"394":1}}],["encoders",{"2":{"394":2,"527":1,"528":2}}],["encoder",{"0":{"394":1,"528":1},"2":{"356":1,"393":1,"394":2,"528":2}}],["encoding",{"0":{"447":1,"448":1},"2":{"11":1,"79":1,"446":1,"447":3,"524":1,"537":1}}],["encounter",{"2":{"340":1,"345":1,"486":1,"520":1}}],["enclosed",{"2":{"12":1,"27":1}}],["enhance",{"2":{"12":1,"87":1}}],["enhanced",{"2":{"10":1,"92":1,"273":1,"274":2}}],["enhancing",{"2":{"10":1,"17":1,"271":1}}],["environment",{"0":{"383":1},"2":{"321":1,"341":1,"346":1,"353":1,"372":1,"426":1}}],["env",{"2":{"4":1}}],["vbs",{"2":{"556":2}}],["vd",{"2":{"540":2,"541":2,"542":1}}],["vflip",{"2":{"529":1}}],["v4l",{"2":{"520":1}}],["v4l2loopback",{"2":{"520":4}}],["v4l2",{"2":{"277":1,"424":1,"452":2,"473":1,"477":1,"520":9,"521":3,"533":4,"534":4}}],["vvvv",{"2":{"503":1}}],["vlc",{"2":{"458":2,"468":1,"477":2,"520":2,"540":1}}],["void",{"2":{"443":1}}],["voice",{"2":{"391":17}}],["volume",{"2":{"174":1,"175":2,"287":1,"537":2}}],["variation",{"2":{"512":1}}],["variants",{"2":{"428":1}}],["variables",{"0":{"383":1}}],["variable",{"2":{"134":1,"346":1,"353":1,"426":1,"526":1}}],["valid",{"2":{"417":1,"419":2}}],["values",{"2":{"393":1,"527":1,"529":1,"531":1}}],["value",{"2":{"11":1,"58":1,"345":1,"419":2,"445":1,"462":2,"463":4,"465":2,"524":2}}],["v2",{"0":{"370":1},"1":{"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1,"378":1,"379":1,"380":1,"381":1,"382":1,"383":1,"384":1,"385":1,"386":1,"387":1},"2":{"127":1,"151":1,"157":1,"160":1,"184":1,"378":3,"379":1,"441":1,"454":1,"458":1}}],["vertically",{"2":{"537":2}}],["vertical",{"2":{"436":1}}],["very",{"2":{"376":1,"380":1,"458":1}}],["verifications",{"2":{"12":1,"48":1}}],["verification",{"2":{"12":1,"59":1,"325":1}}],["version",{"0":{"336":1},"2":{"5":1,"8":1,"12":1,"19":1,"270":1,"327":1,"328":1,"331":1,"335":1,"340":1,"346":3,"372":1,"373":1,"374":1,"376":1,"386":1,"387":2,"406":1,"407":1,"412":1,"426":3,"432":1,"434":2,"444":1,"445":4,"454":3,"464":2,"465":1,"471":1,"477":2,"483":1,"489":1,"494":1,"501":1,"509":1,"511":1,"517":1,"524":1,"525":1,"550":1}}],["versions",{"0":{"346":1},"2":{"2":1,"12":1,"47":1,"334":1,"345":1,"346":1,"402":1,"407":1,"445":1,"471":1,"489":1,"495":1,"501":1}}],["vimont",{"2":{"483":1}}],["virtual",{"0":{"538":1},"1":{"539":1,"540":1,"541":1,"542":1,"543":1},"2":{"436":1,"468":1,"473":1,"477":1,"478":1,"532":1,"539":2,"540":2,"541":2,"542":1,"543":1}}],["virus",{"2":{"330":2}}],["visible",{"2":{"530":1}}],["visibility",{"2":{"11":1,"99":1}}],["visual",{"2":{"266":1,"274":2,"298":1,"299":1,"438":1,"439":1}}],["viewing",{"2":{"12":1,"61":1}}],["videon",{"2":{"520":5}}],["video4linux",{"0":{"520":1,"536":1},"1":{"521":1},"2":{"478":1,"536":1}}],["video2",{"2":{"477":1,"534":2}}],["videolan",{"2":{"468":1,"477":1,"540":1}}],["videodriver=wayland",{"2":{"353":1}}],["videodriver",{"2":{"353":1}}],["video",{"0":{"277":1,"281":1,"447":1,"452":1,"456":1,"522":1,"535":1},"1":{"523":1,"524":1,"525":1,"526":1,"527":1,"528":1,"529":1,"530":1,"531":1,"532":1,"533":1,"534":1,"535":1,"536":1},"2":{"11":3,"64":1,"79":1,"84":1,"182":1,"274":1,"277":4,"281":3,"353":1,"388":1,"390":5,"391":2,"396":3,"416":8,"418":6,"419":9,"420":3,"421":1,"422":1,"423":2,"434":7,"441":7,"446":6,"447":2,"450":1,"451":1,"452":6,"455":3,"456":4,"458":3,"473":1,"477":5,"478":1,"509":1,"511":4,"512":6,"513":1,"514":2,"515":3,"520":8,"521":2,"525":3,"526":1,"527":5,"528":3,"529":4,"530":1,"533":5,"534":6,"535":2,"537":1,"541":1}}],["via",{"0":{"290":1,"291":1,"295":1,"327":1},"2":{"10":2,"12":1,"50":1,"63":2,"266":1,"329":1,"345":1,"350":1,"353":1,"357":1,"426":1,"435":1,"457":1,"464":2,"473":1,"509":1,"529":1}}],["v3",{"0":{"473":1},"1":{"474":1,"475":1,"476":1,"477":1,"478":1,"479":1,"480":1,"481":1,"482":1,"483":1},"2":{"10":1,"11":1,"12":8,"23":1,"25":1,"41":1,"43":1,"50":1,"66":1,"68":1,"74":1,"75":2,"412":1,"493":1,"506":2,"554":2}}],["vuerouter",{"2":{"12":1}}],["vue",{"2":{"4":2}}],["ignore",{"2":{"503":1}}],["irrelevant",{"2":{"445":1}}],["i686",{"2":{"406":8}}],["illegalstateexception",{"2":{"356":1}}],["ibar",{"2":{"332":1}}],["i",{"0":{"333":2},"2":{"328":1,"330":1,"331":1,"426":1,"453":1,"462":1,"482":1,"520":1}}],["if",{"2":{"261":1,"273":1,"292":1,"295":1,"313":1,"321":4,"324":1,"327":1,"330":2,"331":1,"336":1,"339":1,"340":1,"341":1,"343":1,"344":1,"345":2,"347":1,"348":2,"356":1,"358":2,"359":2,"360":1,"361":1,"363":3,"367":1,"374":1,"376":1,"380":1,"381":2,"388":2,"391":2,"393":1,"396":2,"397":1,"398":1,"406":1,"407":1,"416":1,"418":1,"419":1,"423":1,"426":5,"428":4,"436":1,"441":4,"443":1,"445":2,"447":1,"455":4,"459":1,"460":1,"462":1,"464":1,"472":2,"474":1,"482":1,"484":1,"485":1,"486":1,"490":1,"498":1,"502":1,"503":1,"507":1,"509":4,"511":1,"512":2,"520":1,"524":1,"526":1,"529":2,"532":2,"537":2,"540":1,"541":1,"555":2,"556":1}}],["i8n",{"2":{"145":1}}],["i18n",{"2":{"136":1,"205":1}}],["ime",{"0":{"543":1},"2":{"489":1,"543":4}}],["image",{"2":{"473":1}}],["images",{"2":{"12":1,"61":1}}],["immediately",{"2":{"315":1,"319":1,"481":1,"556":1}}],["impacts",{"2":{"516":1}}],["impact",{"2":{"512":1}}],["implicitly",{"2":{"509":1}}],["implied",{"2":{"386":1,"390":1,"392":1,"483":1}}],["implementation",{"2":{"372":1}}],["implementations",{"2":{"371":1}}],["implemented",{"2":{"338":1,"372":1,"374":1}}],["implement",{"2":{"328":1,"459":1}}],["important",{"2":{"325":1,"328":1}}],["import",{"2":{"266":1,"274":1}}],["imports",{"2":{"142":1}}],["improving",{"2":{"261":1,"275":1}}],["improved",{"2":{"8":1,"10":1,"12":3,"17":1,"55":1,"72":1,"93":1,"274":2}}],["improvements",{"0":{"7":1,"12":1,"15":1,"16":1,"19":1,"22":1,"23":1,"24":1,"27":1,"28":1,"30":1,"31":1,"34":1,"35":1,"37":1,"40":1,"41":1,"43":1,"44":1,"47":1,"48":1,"49":1,"50":1,"53":1,"55":1,"57":1,"59":1,"60":1,"61":1,"62":1,"65":1,"66":1,"68":1,"69":1,"72":1,"75":1,"77":1,"80":1,"82":1,"85":1,"86":1,"87":1,"89":1,"93":1,"94":1,"96":1,"98":1,"100":1,"102":1,"103":1,"104":1,"106":1,"108":1,"109":1,"110":1,"114":1,"115":1,"118":1,"122":1,"125":1,"127":1,"131":1,"134":1,"136":1,"139":1,"143":1,"144":1,"145":1,"146":1,"147":1,"149":1,"150":1,"153":1,"155":1,"157":1,"160":1,"163":1,"164":1,"165":1,"168":1,"169":1,"170":1,"172":1,"174":1,"175":1,"178":1,"183":1,"186":1,"187":1,"198":1,"203":1,"204":1,"208":1,"211":1,"213":1,"223":1,"226":1,"228":1,"230":1,"231":1,"233":1,"234":1,"240":1,"244":1,"256":1},"2":{"12":1,"68":1}}],["improve",{"2":{"6":1,"8":1,"12":15,"16":1,"19":1,"34":5,"57":1,"59":2,"72":1,"85":1,"100":1,"118":1,"145":1,"271":1,"274":2,"321":1,"476":1}}],["item",{"2":{"330":1,"474":1}}],["itself",{"2":{"347":1,"461":1,"540":1}}],["its",{"2":{"273":1,"411":1,"412":1,"426":1,"435":1,"441":2,"446":1,"451":1,"453":1,"455":1,"468":2,"473":1}}],["it",{"0":{"333":1},"2":{"12":1,"47":1,"263":1,"297":1,"324":1,"327":1,"328":3,"329":1,"339":1,"342":1,"344":1,"347":1,"366":1,"370":6,"372":1,"374":2,"378":1,"379":1,"380":1,"381":2,"388":4,"390":1,"391":2,"392":1,"395":1,"396":5,"398":1,"399":2,"402":1,"405":1,"406":2,"407":1,"416":1,"418":1,"419":1,"423":2,"426":1,"428":1,"429":1,"430":1,"434":1,"435":2,"441":4,"443":3,"445":1,"446":5,"447":1,"453":4,"454":1,"455":2,"458":1,"460":2,"463":1,"464":5,"465":3,"468":1,"472":7,"473":3,"474":1,"477":1,"484":1,"485":2,"488":2,"489":4,"490":7,"493":1,"495":2,"502":7,"503":2,"506":1,"507":1,"509":5,"511":1,"513":1,"515":1,"516":1,"517":1,"518":2,"519":1,"520":1,"521":1,"523":1,"524":1,"525":1,"526":1,"528":1,"529":2,"531":1,"532":3,"534":3,"537":3,"543":1,"546":1,"551":1,"554":1,"555":2,"556":2}}],["ipv4",{"2":{"370":1}}],["ipv6",{"2":{"11":1,"12":1,"27":1,"58":1,"370":1}}],["ip",{"0":{"295":1,"427":1},"1":{"428":1,"429":1},"2":{"12":1,"65":1,"295":2,"345":3,"426":4,"427":1,"428":4,"429":7,"462":1,"473":1,"489":1}}],["ipc",{"2":{"8":1}}],["id=1",{"2":{"532":1,"543":1}}],["id=0",{"2":{"418":2}}],["ids",{"2":{"520":1,"532":1}}],["idummy",{"2":{"458":1}}],["idea",{"2":{"459":1}}],["ideal",{"2":{"268":1}}],["identify",{"2":{"445":1}}],["identifier",{"2":{"345":1}}],["id",{"2":{"11":1,"58":1,"418":3,"456":2,"520":1}}],["ispackaged",{"2":{"231":1,"232":1}}],["is",{"0":{"263":1,"328":1,"333":1},"2":{"6":1,"11":1,"12":1,"39":1,"65":1,"130":1,"263":1,"268":1,"272":1,"273":1,"295":1,"297":1,"298":1,"301":1,"306":1,"321":3,"325":2,"328":2,"329":1,"331":1,"332":1,"333":1,"336":1,"338":1,"340":1,"341":1,"342":2,"343":2,"344":1,"345":2,"350":2,"351":1,"354":2,"357":2,"363":3,"367":2,"369":3,"370":1,"372":1,"373":1,"374":2,"376":1,"380":2,"381":3,"386":2,"388":9,"390":1,"391":3,"392":2,"395":1,"396":5,"398":1,"399":2,"402":1,"405":2,"406":1,"416":3,"418":3,"419":3,"421":1,"422":1,"423":1,"426":6,"428":2,"429":1,"430":1,"434":2,"435":4,"436":1,"438":2,"439":2,"441":15,"443":4,"444":1,"445":7,"446":2,"447":3,"448":1,"451":1,"452":2,"453":2,"455":10,"456":2,"457":1,"458":2,"460":2,"461":1,"462":5,"463":5,"464":3,"465":1,"467":1,"468":2,"472":3,"473":1,"474":5,"483":2,"484":2,"485":2,"486":1,"488":3,"489":3,"490":3,"494":1,"495":1,"496":1,"498":1,"500":1,"502":3,"503":2,"507":2,"508":1,"509":5,"511":4,"512":1,"513":2,"515":1,"516":1,"517":2,"518":2,"519":2,"520":2,"521":2,"523":1,"524":4,"525":1,"526":2,"528":1,"529":4,"530":2,"531":4,"532":3,"533":2,"534":4,"535":1,"537":2,"539":1,"540":4,"541":2,"542":1,"546":1,"556":4}}],["issue",{"0":{"353":1},"2":{"6":1,"11":18,"18":2,"21":2,"26":2,"29":1,"33":2,"36":2,"39":4,"46":1,"54":1,"70":1,"156":1,"321":4,"331":1,"335":1,"481":1}}],["issues",{"0":{"321":1,"341":1,"348":1,"349":1,"352":1,"510":1},"1":{"342":1,"343":1,"344":1,"345":1,"346":1,"347":1,"350":1,"351":1,"353":1,"354":1},"2":{"3":1,"11":3,"29":1,"33":1,"67":1,"111":1,"193":2,"327":1,"331":1,"348":1,"353":1,"370":1,"486":1,"489":1,"528":1}}],["icons",{"2":{"8":2,"11":1,"12":2,"19":2,"99":1,"332":1,"414":1}}],["icon",{"0":{"332":1},"2":{"5":1,"6":1,"8":5,"10":1,"12":7,"17":1,"19":6,"65":1,"332":1,"414":2}}],["involved",{"2":{"518":1}}],["inversion",{"2":{"441":1}}],["inverts",{"2":{"436":2}}],["inverted",{"2":{"436":2}}],["injected",{"2":{"485":1,"486":1,"498":1}}],["injecting",{"2":{"474":1}}],["injectinputevent",{"2":{"449":1}}],["injection",{"0":{"449":1,"486":1},"2":{"11":1,"21":1,"282":1,"351":1}}],["injects",{"2":{"435":4,"441":1,"503":1,"509":1}}],["inject",{"2":{"351":1,"435":1,"449":1,"474":1,"486":2,"537":1}}],["inserted",{"2":{"486":1}}],["insert",{"2":{"326":1}}],["instrumentation",{"2":{"474":1}}],["instructions",{"2":{"329":1,"397":1,"399":1,"479":1}}],["installs",{"2":{"414":1}}],["installing",{"0":{"413":1}}],["installed",{"0":{"291":1},"2":{"296":1,"331":1,"353":1,"372":1,"468":1,"473":2,"496":1,"508":1,"520":1,"555":1}}],["install",{"0":{"358":1,"414":1,"438":1,"492":1,"495":1,"505":1,"553":1},"1":{"493":1,"494":1,"495":1,"506":1,"507":1,"554":1,"555":1},"2":{"287":1,"296":1,"297":1,"324":1,"325":1,"358":3,"360":1,"361":1,"373":1,"374":1,"376":2,"381":2,"382":2,"397":1,"401":1,"402":6,"403":3,"405":3,"406":2,"407":5,"411":2,"414":2,"438":1,"494":3,"495":6,"507":4,"520":1,"537":1,"555":6}}],["installation",{"0":{"289":1,"290":1,"333":1,"338":1},"1":{"290":1,"291":1},"2":{"12":1,"49":1,"124":1,"285":1,"296":3,"297":1,"336":1,"337":2,"495":1}}],["instance",{"2":{"12":1,"55":1,"391":1}}],["instances",{"2":{"10":1,"17":1,"455":1}}],["instead",{"2":{"7":1,"380":1,"382":1,"391":1,"416":1,"434":1,"435":1,"443":1,"500":1,"503":1,"511":1,"519":2,"523":1,"524":1,"539":1,"542":1,"556":1}}],["inherit",{"2":{"319":1}}],["inheritance",{"2":{"302":1,"319":1}}],["inputmanager",{"2":{"449":2}}],["input",{"0":{"282":1,"334":1,"449":1},"2":{"325":11,"350":2,"432":1,"441":1,"446":1,"449":2,"450":1,"453":1,"469":1,"474":1,"484":1,"485":1,"488":1,"497":1,"498":1,"509":1}}],["indirectly",{"2":{"455":1}}],["individual",{"0":{"315":1},"2":{"274":1}}],["independently",{"2":{"533":1}}],["independent",{"2":{"10":1,"17":1,"266":1,"302":2}}],["initializes",{"2":{"451":1}}],["initialize",{"2":{"341":1,"393":1}}],["initialization",{"0":{"451":1},"2":{"6":2}}],["initial",{"2":{"295":1,"456":2,"458":1,"462":1,"463":1,"465":1,"529":1,"547":1}}],["initially",{"2":{"105":1,"372":1,"441":1}}],["include",{"2":{"473":1}}],["includes",{"2":{"391":1}}],["included",{"2":{"342":1}}],["including",{"2":{"271":1,"301":1}}],["incoming",{"2":{"428":1}}],["incompatible",{"2":{"174":1}}],["incorrect",{"2":{"11":1,"21":1,"331":1}}],["increase",{"2":{"12":1,"48":1,"524":1}}],["information",{"2":{"12":2,"34":1,"61":1,"317":1,"458":1}}],["inactive",{"2":{"12":1,"53":1}}],["intrinsically",{"2":{"526":1}}],["intrusiveness",{"2":{"473":1}}],["introducing",{"2":{"10":1,"17":1,"387":1,"448":1,"480":1}}],["intuitive",{"2":{"270":1}}],["into",{"2":{"10":1,"17":1,"297":1,"347":1,"405":1,"429":1,"435":1,"452":2,"470":1,"477":1}}],["integer",{"2":{"520":1}}],["integration",{"2":{"11":1,"12":1,"34":1,"78":1}}],["integrated",{"2":{"296":2}}],["integrate",{"2":{"10":1,"83":1,"274":2}}],["intended",{"2":{"380":1,"455":1,"556":2}}],["interact",{"2":{"396":1,"432":1}}],["interactive",{"2":{"12":1,"19":1,"150":1,"328":1}}],["interaction",{"0":{"287":1,"328":1},"2":{"12":5,"19":1,"22":2,"35":1,"37":1,"102":1,"118":1,"134":1,"164":1,"187":1,"198":1,"274":1}}],["interesting",{"2":{"390":1}}],["interrupt",{"2":{"390":1,"460":1,"515":1,"534":1,"545":1}}],["interruption",{"2":{"12":1,"80":1}}],["interception",{"2":{"285":1}}],["internal",{"2":{"454":1}}],["internationalization",{"2":{"11":1,"101":1,"113":1,"274":1}}],["internet",{"2":{"267":1,"357":1,"370":1,"473":1,"517":1}}],["interfaces",{"2":{"518":1}}],["interface",{"2":{"10":2,"12":5,"15":1,"32":1,"34":1,"40":1,"113":1,"263":1,"270":2,"273":1,"298":1,"299":1,"304":4,"317":1,"321":1,"382":1}}],["intelligently",{"2":{"10":1,"32":1}}],["in",{"0":{"338":1,"406":1},"2":{"4":2,"5":1,"6":3,"7":1,"10":1,"11":13,"12":9,"17":1,"18":2,"19":1,"21":1,"22":2,"27":1,"33":1,"34":1,"36":2,"39":1,"40":1,"46":1,"53":1,"54":2,"70":1,"71":1,"78":1,"86":1,"117":1,"121":1,"130":1,"146":1,"148":1,"155":1,"265":1,"266":1,"274":1,"292":1,"294":1,"295":1,"296":2,"297":1,"299":1,"304":1,"306":1,"307":1,"313":1,"315":2,"318":2,"321":2,"325":4,"328":3,"329":1,"330":1,"331":2,"332":1,"336":1,"337":1,"338":1,"341":2,"342":2,"345":2,"346":4,"348":2,"350":1,"367":1,"368":1,"371":2,"372":2,"374":1,"377":1,"380":2,"381":1,"384":1,"386":2,"387":2,"388":1,"393":3,"397":1,"398":2,"399":3,"402":1,"406":1,"410":1,"426":4,"428":1,"429":1,"435":4,"441":1,"443":1,"445":3,"446":1,"449":1,"451":3,"452":1,"453":1,"454":2,"455":2,"458":1,"460":1,"462":6,"463":3,"465":1,"468":2,"472":2,"473":1,"474":2,"477":4,"478":1,"483":2,"485":2,"486":2,"487":1,"488":2,"490":1,"494":1,"498":2,"500":1,"502":1,"503":3,"507":2,"509":2,"513":1,"516":1,"518":4,"519":6,"520":1,"524":1,"526":1,"527":2,"530":1,"531":1,"537":2,"540":2,"541":1,"550":1,"556":1}}],["utils",{"2":{"520":1}}],["utilization",{"2":{"12":1,"34":1}}],["u62",{"2":{"456":1}}],["u1",{"2":{"456":2}}],["u32",{"2":{"456":5}}],["udp",{"2":{"370":1}}],["ubuntu",{"0":{"402":1},"2":{"338":1,"402":1,"494":1,"495":1}}],["uhid",{"0":{"471":1,"489":1,"501":1},"2":{"325":1,"434":2,"469":1,"471":3,"472":1,"484":2,"486":1,"488":1,"489":2,"497":1,"501":3,"503":2,"511":2}}],["unencrypted",{"2":{"518":1}}],["unsigned",{"2":{"443":1}}],["unset",{"2":{"319":1}}],["uncompressed",{"2":{"393":1}}],["unpause",{"2":{"537":1}}],["unprocessed",{"2":{"391":3}}],["unplugged",{"2":{"367":1,"381":1}}],["unplug",{"2":{"324":1,"429":1}}],["unlock",{"2":{"537":1}}],["unlocked",{"2":{"388":1}}],["unless",{"2":{"386":1,"388":1,"396":1,"441":1,"483":1,"524":1,"556":1}}],["until",{"2":{"380":1,"436":1}}],["unrelated",{"2":{"348":1}}],["unavoidable",{"2":{"396":1}}],["unavailable",{"2":{"133":1}}],["unauthorized",{"0":{"344":1},"2":{"344":2}}],["unable",{"0":{"325":1,"330":1,"334":1,"338":1},"2":{"182":1,"330":1}}],["uninstall",{"0":{"359":1,"415":1},"2":{"359":3,"360":1,"415":1,"495":2}}],["unix",{"2":{"193":2}}],["unit",{"2":{"158":1,"457":1}}],["universal",{"2":{"12":1,"82":1}}],["underflow",{"2":{"396":1}}],["underrun",{"2":{"396":1}}],["underlying",{"2":{"328":1}}],["under",{"2":{"11":3,"12":2,"19":2,"26":1,"39":1,"52":1,"329":1,"386":3,"483":3}}],["unnecessary",{"2":{"4":2,"12":2,"48":1,"53":1,"447":1}}],["uplink",{"2":{"391":3}}],["upload",{"2":{"12":2,"14":1,"15":2,"103":1}}],["uploading",{"2":{"12":1,"57":1,"274":1}}],["upgrade",{"2":{"340":1}}],["upon",{"2":{"263":1}}],["up",{"2":{"8":1,"12":1,"53":1,"116":1,"367":1,"376":1,"436":1,"455":2,"479":1,"507":1,"537":3}}],["updated",{"2":{"369":1}}],["updater",{"2":{"170":1}}],["updates",{"2":{"11":1,"70":1,"319":1,"328":1}}],["update",{"2":{"1":1,"4":3,"5":1,"6":2,"8":3,"10":1,"11":1,"12":10,"15":1,"23":1,"25":1,"41":1,"42":1,"43":1,"50":1,"65":1,"66":1,"68":1,"75":1,"96":1,"104":1,"109":1,"121":1,"126":1,"127":1,"132":1,"139":1,"149":1,"151":1,"157":1,"160":2,"168":1,"178":1,"182":1,"183":1,"184":1,"186":1,"274":1,"495":1}}],["usual",{"2":{"429":1}}],["usually",{"2":{"295":1,"333":1,"335":1}}],["usr",{"2":{"383":1,"407":1,"414":6}}],["usb",{"0":{"292":1,"341":1},"1":{"342":1,"343":1,"344":1,"345":1,"346":1,"347":1},"2":{"292":1,"294":1,"295":1,"296":1,"324":1,"326":1,"329":3,"343":1,"344":2,"345":4,"347":2,"348":2,"350":2,"357":1,"426":2,"428":1,"429":1,"434":1,"462":1,"472":5,"473":1,"474":4,"477":1,"490":5,"502":5,"509":3,"511":2}}],["usage",{"0":{"477":1},"2":{"272":1,"357":1,"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"367":1,"368":1,"393":1,"527":1}}],["useless",{"2":{"487":1}}],["uses",{"2":{"353":1,"427":1,"446":1,"458":1,"518":1}}],["used",{"2":{"301":1,"306":1,"357":1,"419":1,"424":1,"426":1,"430":1,"441":3,"446":1,"451":1,"452":1,"455":2,"456":1,"458":1,"468":1,"484":1,"488":1,"518":1,"524":1}}],["users",{"2":{"263":2,"268":1,"322":1}}],["user",{"0":{"267":1,"478":1},"2":{"12":1,"47":1,"113":1,"263":1,"273":2,"274":1,"369":1,"409":1,"411":1,"473":1}}],["useful",{"2":{"10":1,"17":1,"381":2,"435":1,"464":1,"465":1,"518":1,"524":1,"528":1,"531":1,"534":1,"541":1,"545":1}}],["use",{"0":{"268":1,"272":1,"412":1},"2":{"7":1,"10":1,"273":1,"276":1,"297":1,"325":1,"338":1,"346":3,"363":1,"370":1,"372":1,"376":1,"386":1,"391":1,"410":1,"418":4,"419":6,"420":1,"426":1,"434":2,"435":1,"445":1,"449":1,"471":1,"472":3,"481":1,"483":1,"484":2,"489":1,"490":2,"495":1,"500":1,"501":1,"502":2,"503":2,"512":1,"517":1,"519":1,"537":2,"539":2,"541":1,"542":1,"543":1,"556":2}}],["using",{"2":{"6":1,"12":2,"40":1,"49":1,"274":1,"294":1,"321":1,"324":1,"325":1,"326":1,"332":1,"336":1,"346":1,"429":1,"434":1,"436":2,"441":1,"444":1,"447":1,"448":2,"469":2,"471":1,"472":1,"473":1,"474":1,"477":1,"484":2,"486":2,"489":2,"490":1,"497":2,"501":1,"502":1,"503":1,"509":2,"520":1,"529":2,"537":2}}],["ui",{"2":{"5":1,"8":1,"12":1,"24":1,"380":1,"450":1,"541":2}}],["bhsn",{"2":{"503":2}}],["b",{"2":{"503":1,"525":1}}],["bsky",{"2":{"481":1}}],["broken",{"2":{"541":1}}],["break",{"2":{"435":1,"486":1}}],["brew",{"2":{"376":1,"407":3}}],["brace",{"0":{"423":1},"2":{"423":1}}],["branch",{"2":{"398":2,"412":1,"495":1}}],["branches",{"0":{"398":1},"2":{"398":1}}],["briefly",{"2":{"388":1}}],["brings",{"2":{"273":1}}],["bluesky",{"2":{"481":1}}],["blog",{"2":{"441":1,"448":1}}],["blockers",{"2":{"370":1}}],["block",{"2":{"330":1,"354":1}}],["blocking",{"2":{"12":1,"49":1}}],["black",{"0":{"339":1},"2":{"339":2,"537":2}}],["blank",{"2":{"314":1}}],["borders",{"2":{"537":2}}],["borderless",{"0":{"548":1},"2":{"279":1,"548":1}}],["boundaries",{"2":{"452":1}}],["boundary",{"2":{"12":1,"34":1,"311":1}}],["both",{"2":{"361":1,"391":1,"396":1,"441":2,"446":1,"447":1,"452":1,"457":1,"473":1,"515":1,"524":1,"534":1}}],["bottom",{"2":{"317":1}}],["box",{"2":{"342":1,"388":1}}],["bits",{"2":{"406":1,"456":1}}],["bit",{"0":{"395":1,"525":1},"2":{"393":1,"395":3,"455":1,"525":3,"554":2}}],["bitrate",{"2":{"277":1,"280":1}}],["bind=++bh",{"2":{"503":1}}],["bind=++++",{"2":{"503":1}}],["bind=bhsn",{"2":{"503":3}}],["bind=xxxx",{"2":{"503":2}}],["bindings",{"0":{"503":1},"2":{"503":4}}],["binding",{"2":{"125":1,"282":1}}],["bin",{"2":{"406":1,"407":1,"414":1}}],["binary",{"2":{"296":1,"346":2,"372":2,"410":1,"441":1,"457":1,"495":1}}],["binaries",{"2":{"10":1,"83":1}}],["b6986d1",{"2":{"246":1}}],["b864fab",{"2":{"186":1}}],["b8d77e3",{"2":{"126":1}}],["b7eb1dd",{"2":{"172":1}}],["b759502",{"2":{"168":1}}],["b73c179",{"2":{"4":1}}],["bps",{"2":{"158":1}}],["bfdad9e",{"2":{"171":1}}],["bf2d2b4",{"2":{"149":1}}],["bf06382",{"2":{"12":1,"75":1}}],["b920e0ea01936bf2482f4ba2fa985c22c13c621999e3d33b45baa5acfc1ea3d0",{"2":{"412":1}}],["b989140",{"2":{"128":1}}],["b9faabf",{"2":{"12":1,"40":1}}],["bbf2335",{"2":{"12":1,"43":1}}],["bb56d5b",{"2":{"12":1,"22":1}}],["bc4f492",{"2":{"12":1,"19":1}}],["b40bdcf",{"2":{"174":1}}],["b413889",{"2":{"12":1,"57":1}}],["b4e5780",{"2":{"8":1}}],["b4e8058",{"2":{"6":1}}],["b18256b",{"2":{"198":1}}],["b1a6ba7",{"2":{"12":1,"80":1}}],["b168cc3",{"2":{"12":1,"19":1}}],["b5bffc5",{"2":{"11":1,"99":1}}],["b2bb0ae",{"2":{"11":1,"84":1}}],["b0f42aa",{"2":{"11":1,"99":1}}],["b08021b",{"2":{"10":1}}],["best",{"2":{"464":1,"489":1}}],["behaves",{"2":{"486":1,"509":1}}],["behave",{"2":{"435":1}}],["behavior",{"2":{"11":1,"12":3,"27":1,"34":1,"39":1,"47":1,"426":1,"435":2,"462":1,"467":1,"485":1,"486":1}}],["benefit",{"2":{"372":1,"423":1,"443":1,"511":1}}],["benefits",{"2":{"328":1,"473":1}}],["below",{"2":{"357":1,"426":1,"445":1,"485":1}}],["because",{"2":{"335":1,"531":1}}],["become",{"2":{"314":1}}],["before",{"2":{"326":1,"428":1,"441":1,"443":1,"468":1,"529":1,"531":1}}],["be89b36",{"2":{"12":1,"47":1}}],["be5e639",{"2":{"12":1,"89":1}}],["being",{"2":{"11":2,"42":1,"54":1,"330":1,"333":1,"468":1}}],["between",{"0":{"346":1},"2":{"11":2,"18":1,"52":1,"325":1,"445":1,"454":1,"518":1,"529":1}}],["better",{"2":{"8":1,"477":1,"527":1}}],["be",{"0":{"291":1},"2":{"11":8,"12":4,"18":1,"26":1,"27":3,"29":1,"36":1,"39":1,"46":1,"47":1,"54":1,"79":1,"128":1,"182":1,"302":1,"307":2,"310":1,"311":2,"313":1,"314":1,"315":1,"324":1,"325":1,"337":1,"343":1,"348":1,"353":2,"358":1,"359":1,"364":1,"369":1,"380":1,"381":1,"388":1,"390":1,"391":1,"393":1,"394":2,"396":4,"398":1,"410":1,"411":2,"416":1,"418":1,"419":3,"423":1,"424":1,"426":1,"427":1,"430":1,"439":1,"441":2,"443":2,"444":1,"445":1,"447":1,"449":1,"452":4,"454":3,"455":2,"458":1,"462":1,"464":2,"465":1,"468":4,"485":1,"488":1,"489":1,"498":1,"499":1,"503":5,"509":1,"514":1,"518":1,"520":3,"524":2,"526":3,"527":1,"528":2,"529":4,"531":1,"532":2,"533":2,"537":2,"540":1,"541":2,"545":1,"546":1,"547":1,"550":2,"555":1,"556":2}}],["been",{"2":{"10":2,"17":2,"338":1,"347":1,"458":1,"486":1}}],["bdb3644",{"2":{"10":1,"25":1}}],["b32043c",{"2":{"9":1}}],["b3203af",{"2":{"8":1}}],["bytes",{"2":{"456":2}}],["byte",{"2":{"455":1,"456":9,"458":3}}],["bypass",{"2":{"429":1}}],["by",{"2":{"6":1,"11":1,"12":2,"34":1,"45":1,"68":1,"274":1,"307":1,"321":1,"331":1,"332":1,"336":1,"343":1,"346":1,"353":1,"380":2,"386":1,"388":2,"390":1,"391":1,"394":1,"396":1,"406":1,"416":1,"418":1,"419":2,"421":1,"422":1,"426":3,"429":1,"430":1,"434":1,"436":1,"441":5,"443":1,"444":1,"445":4,"447":3,"449":3,"450":1,"452":1,"453":1,"455":2,"456":2,"460":1,"464":1,"465":1,"467":1,"468":4,"472":1,"477":2,"483":1,"484":1,"486":1,"487":1,"488":2,"490":1,"499":1,"500":1,"502":1,"503":5,"509":2,"518":1,"520":1,"521":1,"523":1,"524":1,"528":1,"529":2,"530":1,"532":1,"533":1,"537":3,"540":1,"541":1,"542":1,"543":1,"546":1,"551":1}}],["bat",{"2":{"556":5}}],["batch",{"0":{"285":1},"2":{"10":1,"14":1,"51":1,"118":1,"120":1,"122":1,"123":1,"124":1,"172":1,"270":1,"271":1,"274":3,"285":6}}],["backward",{"2":{"445":1}}],["back",{"2":{"287":1,"367":1,"381":2,"418":1,"464":1,"476":1,"500":1,"503":3,"537":2}}],["background",{"2":{"6":1,"8":1,"12":1,"19":1}}],["ba51fe3",{"2":{"143":1}}],["ba551b7",{"2":{"5":1}}],["basis",{"2":{"386":1,"464":1,"483":1}}],["basically",{"2":{"445":1}}],["basic",{"2":{"112":1}}],["bashchoco",{"2":{"555":1}}],["bashwinget",{"2":{"555":1}}],["bashffplay",{"2":{"520":1}}],["bashautoadb",{"2":{"430":1}}],["bashadb",{"2":{"429":1,"445":1,"458":1,"460":3,"518":1,"519":1}}],["bashmeson",{"2":{"411":1,"412":1,"460":1}}],["bashgit",{"2":{"409":1,"495":2}}],["bashgnirehtet",{"2":{"358":2,"359":2,"360":2,"361":4,"362":4,"363":5,"364":4,"365":2,"366":5,"367":3,"368":2}}],["bashbrew",{"2":{"407":1,"507":2}}],["bashscoop",{"2":{"555":1}}],["bashscrcpy",{"2":{"345":2,"390":1,"392":1,"393":2,"394":2,"395":1,"396":1,"416":1,"418":2,"419":2,"423":2,"426":4,"428":3,"432":1,"434":4,"439":1,"462":1,"463":1,"464":2,"465":1,"466":1,"467":1,"468":1,"471":1,"472":1,"477":6,"486":2,"487":1,"489":1,"490":1,"496":2,"501":1,"502":1,"503":2,"508":2,"509":3,"511":1,"512":3,"515":2,"516":1,"520":1,"521":1,"524":1,"525":1,"526":1,"527":1,"528":2,"529":3,"531":1,"532":2,"533":2,"534":1,"539":1,"540":2,"543":1,"545":1,"546":1,"547":1,"548":1,"549":1,"550":1,"551":1,"556":2}}],["bashsudo",{"2":{"402":1,"405":2,"414":1,"415":1,"495":1,"507":1,"520":2}}],["bashexport",{"2":{"353":1,"406":1}}],["bash",{"2":{"346":2,"384":1,"390":1,"396":1,"402":1,"403":1,"405":1,"406":2,"407":1,"411":1,"413":1,"414":2,"416":1,"423":1,"426":2,"445":1,"455":1,"462":1,"463":1,"465":1,"495":1,"515":1,"518":2,"519":6,"520":1,"534":1,"537":1}}],["base",{"2":{"160":1,"398":1}}],["based",{"0":{"262":1},"1":{"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"269":1,"270":1,"271":1,"272":1,"273":1},"2":{"12":1,"72":1,"263":1,"328":1,"373":1,"374":1,"513":1}}],["bartender",{"2":{"332":1}}],["bar",{"0":{"287":1,"328":1},"2":{"10":2,"11":6,"12":7,"18":2,"19":1,"21":1,"38":1,"39":1,"40":1,"50":1,"52":1,"53":1,"84":1,"96":2,"97":1,"98":1,"110":2,"114":1,"164":1,"274":2,"276":1,"297":1,"328":1,"380":1}}],["but",{"0":{"329":1},"2":{"311":1,"329":1,"341":1,"345":1,"351":1,"370":1,"396":1,"416":1,"417":2,"419":1,"435":2,"441":1,"443":1,"447":1,"452":1,"455":1,"463":1,"468":1,"472":1,"484":1,"485":1,"486":3,"490":1,"502":1,"513":1,"515":1,"520":1,"527":1,"529":1,"534":2,"556":1}}],["buttons",{"2":{"503":1,"537":1}}],["button",{"2":{"11":1,"12":2,"26":1,"85":1,"98":1,"114":1,"304":2,"306":1,"307":1,"309":1,"310":1,"313":1,"314":1,"315":1,"317":2,"321":1,"331":1,"436":2,"464":2}}],["buy",{"2":{"261":1}}],["bulk",{"2":{"172":1}}],["buffer=50",{"2":{"533":2}}],["buffer=300",{"2":{"521":1,"533":2}}],["buffer=delay",{"2":{"441":1}}],["buffer=10",{"2":{"396":1}}],["buffer=100",{"2":{"396":1}}],["buffer=40",{"2":{"396":1}}],["buffer=200",{"2":{"390":1,"396":2,"533":1}}],["buffering",{"0":{"396":1,"521":1,"533":1},"2":{"390":1,"396":3,"441":2,"520":1,"521":3,"533":5}}],["buffer",{"2":{"11":3,"79":1,"84":2,"186":1,"277":2,"280":2,"396":5}}],["built",{"2":{"7":1,"11":2,"12":2,"22":2,"70":1,"71":1,"148":1,"263":1,"266":1,"274":1,"297":2,"369":1,"405":1,"443":1}}],["buildtype=release",{"2":{"411":1,"412":1}}],["building",{"2":{"12":1,"82":1}}],["builds",{"2":{"5":1,"493":1,"506":1}}],["builder",{"2":{"4":1,"237":1}}],["build",{"0":{"397":1,"410":1,"411":1},"1":{"398":1,"399":1,"400":1,"401":1,"402":1,"403":1,"404":1,"405":1,"406":1,"407":1,"408":1,"409":1,"410":1,"411":2,"412":2,"413":1,"414":1,"415":1},"2":{"1":1,"3":1,"11":4,"12":1,"45":1,"56":1,"68":1,"81":1,"84":1,"119":1,"133":1,"159":1,"181":1,"235":1,"370":1,"397":2,"402":3,"403":2,"405":1,"406":4,"407":2,"410":1,"411":1,"414":1,"443":1,"479":1,"493":1,"495":3,"506":1,"507":2,"555":2}}],["bug",{"0":{"3":1,"6":1,"9":1,"11":1,"18":1,"21":1,"26":1,"29":1,"33":1,"36":1,"39":1,"42":1,"45":1,"46":1,"52":1,"54":1,"56":1,"58":1,"64":1,"67":1,"70":1,"71":1,"73":1,"74":1,"78":1,"79":1,"81":1,"84":1,"88":1,"90":1,"95":1,"99":1,"101":1,"107":1,"111":1,"113":1,"116":1,"117":1,"119":1,"121":1,"123":1,"126":1,"128":1,"129":1,"130":1,"133":1,"135":1,"137":1,"138":1,"141":1,"142":1,"148":1,"152":1,"156":1,"158":1,"159":1,"166":1,"171":1,"173":1,"177":1,"179":1,"180":1,"181":1,"182":1,"185":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"197":1,"199":1,"200":1,"202":1,"206":1,"207":1,"209":1,"210":1,"212":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"225":1,"227":1,"232":1,"235":1,"236":1,"237":1,"238":1,"239":1,"242":1,"243":1,"245":1,"247":1,"249":1,"250":1,"251":1,"252":1,"257":1,"260":1},"2":{"11":1,"95":1,"107":1,"341":1,"345":1,"459":1,"481":2}}],["1e252341",{"2":{"436":1}}],["1eef9d2",{"2":{"109":1}}],["17",{"2":{"402":1,"405":1,"407":2}}],["13",{"2":{"392":2}}],["1341fb8",{"2":{"230":1}}],["1349b2a",{"2":{"153":1}}],["1+",{"2":{"296":1}}],["1224x1440",{"2":{"531":1}}],["12+",{"2":{"473":1}}],["1234",{"2":{"458":3}}],["1234567890abcdef",{"2":{"358":1,"359":1,"360":1,"363":1,"365":1,"366":1,"367":1}}],["128kbps",{"2":{"395":1}}],["12",{"2":{"388":1,"416":1,"456":2,"458":1}}],["120",{"2":{"265":1}}],["1279994",{"2":{"193":1}}],["15",{"2":{"464":1}}],["151cb29",{"2":{"189":1}}],["1505518",{"2":{"175":1}}],["1d7b188",{"2":{"188":1}}],["1d603ab",{"2":{"12":1,"72":1}}],["1af9abd",{"2":{"182":1}}],["1a95325",{"2":{"11":1,"58":1}}],["168",{"2":{"345":1,"361":1,"362":1,"363":1,"364":1,"366":1,"426":3,"428":4,"518":7}}],["16",{"0":{"258":1},"1":{"259":1,"260":1},"2":{"154":1,"161":1,"393":1,"402":1,"419":1}}],["16f9535",{"2":{"114":1}}],["1cac054",{"2":{"150":1}}],["1ca0469",{"2":{"136":1}}],["1920x1080",{"2":{"477":1}}],["1920",{"2":{"419":2,"477":1}}],["1920×1080",{"2":{"265":1,"473":1,"524":1}}],["192",{"2":{"345":1,"361":1,"362":1,"363":1,"364":1,"366":1,"428":1,"518":4}}],["193f80a",{"2":{"150":1}}],["194689e",{"2":{"11":1,"21":1}}],["1f27597",{"2":{"135":1}}],["1b96ffc",{"2":{"253":1}}],["1b2236c",{"2":{"194":1}}],["1b3f49e",{"2":{"175":1}}],["1be470a",{"2":{"12":1,"34":1}}],["1b82336",{"2":{"12":1,"34":1}}],["180",{"2":{"529":1}}],["180°",{"2":{"529":6}}],["18d490f",{"2":{"205":1}}],["18dcd24",{"2":{"12":1,"93":1}}],["1813718",{"2":{"12":1}}],["18a57b9",{"2":{"11":1,"18":1}}],["1024×576",{"2":{"524":1}}],["1024",{"2":{"524":2}}],["10",{"2":{"334":1,"388":1,"419":3,"532":1}}],["10d0370",{"2":{"12":1,"93":1}}],["10b902a",{"2":{"11":1,"64":1}}],["1082e0d",{"2":{"11":1,"74":1}}],["11",{"2":{"388":2,"429":1,"460":2}}],["11+",{"2":{"335":1,"473":1,"474":1}}],["11e0884",{"2":{"144":1}}],["119b518",{"2":{"11":1,"26":1}}],["11be6f1",{"2":{"10":1,"17":1}}],["1440",{"2":{"531":1}}],["14306b2",{"2":{"10":1,"63":1}}],["14a81de",{"2":{"10":1,"76":1}}],["1",{"0":{"258":1,"370":1,"411":1},"1":{"259":1,"260":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1,"378":1,"379":1,"380":1,"381":1,"382":1,"383":1,"384":1,"385":1,"386":1,"387":1},"2":{"4":4,"12":2,"13":2,"41":1,"66":1,"91":2,"109":1,"154":1,"157":1,"161":1,"265":1,"294":1,"295":1,"296":1,"311":2,"321":1,"345":2,"361":1,"362":1,"363":1,"364":1,"366":1,"374":1,"378":3,"379":1,"402":2,"407":1,"414":1,"419":1,"426":6,"428":8,"441":1,"445":3,"454":1,"456":1,"458":2,"465":1,"495":2,"518":7,"537":2}}],["2m",{"2":{"525":1}}],["265",{"2":{"477":2}}],["264",{"2":{"441":1,"458":1}}],["26c4a920",{"2":{"436":1}}],["269bd29",{"2":{"11":1,"46":1}}],["283",{"2":{"347":1}}],["281",{"2":{"347":1}}],["270",{"2":{"529":1}}],["270°",{"2":{"529":6}}],["27183",{"2":{"445":1,"455":2,"518":1,"519":6}}],["27",{"2":{"296":1}}],["2776e8a",{"2":{"8":1}}],["240",{"2":{"539":2}}],["2464",{"2":{"533":1}}],["24fps",{"2":{"526":1}}],["24",{"2":{"338":1,"361":1,"362":1,"363":1,"364":1,"366":1,"526":1}}],["24c011f",{"2":{"252":1}}],["24e9399",{"2":{"203":1}}],["21",{"2":{"373":1,"474":1}}],["218de1c",{"2":{"243":1}}],["217d82d",{"2":{"202":1}}],["23d68d4",{"2":{"225":1}}],["2352593",{"2":{"218":1}}],["2c97189",{"2":{"196":1}}],["2c53b77",{"2":{"11":1,"29":1}}],["29ae786",{"2":{"202":1}}],["296e21d",{"2":{"169":1}}],["29e5e1b",{"2":{"12":1,"85":1}}],["200ms",{"2":{"533":1}}],["2025",{"2":{"483":1}}],["2023",{"0":{"258":1},"1":{"259":1,"260":1}}],["2018",{"2":{"483":2}}],["2017",{"2":{"386":1}}],["2013413",{"2":{"120":1}}],["20d37c1",{"2":{"166":1}}],["206a030",{"2":{"12":1,"53":1}}],["256x256",{"2":{"414":1}}],["256",{"2":{"378":3,"379":1,"412":1,"493":1,"506":2,"554":2}}],["2559",{"2":{"353":1}}],["2554",{"2":{"353":1}}],["25c42d9",{"2":{"121":1}}],["25",{"2":{"13":1,"91":1}}],["2f2e1cf",{"2":{"134":1}}],["2f389af",{"2":{"118":1}}],["2ffc588",{"2":{"12":1,"22":1}}],["2f63f6f",{"2":{"11":1,"18":1}}],["2e27443",{"2":{"12":1,"44":1}}],["2b7ee79",{"2":{"11":1,"58":1}}],["22cc5a3",{"2":{"127":1}}],["222f626",{"2":{"111":1}}],["22eb718",{"2":{"12":1,"37":1}}],["22e331d",{"2":{"4":1}}],["22623c4",{"2":{"5":1}}],["2",{"0":{"412":1,"473":1},"1":{"474":1,"475":1,"476":1,"477":1,"478":1,"479":1,"480":1,"481":1,"482":1,"483":1},"2":{"4":5,"10":2,"12":3,"13":1,"25":1,"50":1,"68":1,"96":1,"109":1,"184":1,"294":1,"295":1,"321":1,"325":1,"345":1,"378":1,"386":2,"387":1,"402":1,"412":1,"441":1,"445":3,"456":1,"458":1,"480":1,"483":2,"493":1,"495":1,"506":2,"518":7,"537":2,"554":2}}],["f",{"2":{"550":1}}],["ffms2",{"2":{"403":1}}],["ffmpeg",{"2":{"399":1,"402":1,"406":2,"407":1,"450":1,"495":1}}],["ff9f9bd",{"2":{"11":1,"33":1}}],["fusion",{"2":{"403":1}}],["fullscreen",{"0":{"550":1},"2":{"279":1,"299":1,"304":1,"476":1,"526":1,"537":1,"550":3}}],["future",{"0":{"271":1},"2":{"271":1,"328":1,"380":1,"455":1}}],["functional",{"0":{"266":1}}],["functionality",{"2":{"5":1,"266":1,"328":1}}],["functions",{"2":{"11":1,"12":1,"34":1,"36":1,"186":1,"414":1}}],["function",{"2":{"10":2,"12":9,"14":1,"15":2,"27":1,"30":1,"34":1,"37":1,"38":1,"59":1,"61":1,"76":1,"96":1,"112":1,"120":2,"124":1,"132":1,"174":1,"176":1,"196":1,"297":1}}],["fps=15",{"2":{"526":1}}],["fps=120",{"2":{"423":2}}],["fps=240",{"2":{"422":1}}],["fps=60",{"2":{"421":1,"477":2}}],["fps",{"2":{"265":1,"421":1,"526":1,"537":1}}],["fbd1885",{"2":{"232":1}}],["fbf88d0",{"2":{"11":1,"21":1}}],["f768566",{"2":{"214":1}}],["f4dfb2c",{"2":{"183":1}}],["f41d853",{"2":{"10":1,"17":1}}],["f9a32d6",{"2":{"198":1}}],["f9c6c32",{"2":{"182":1}}],["f9e4a0e",{"2":{"150":1}}],["f0f25a7",{"2":{"164":1}}],["front",{"2":{"418":1,"477":1}}],["from",{"0":{"405":1,"411":1,"493":1,"494":1,"495":1,"506":1,"507":1,"554":1,"555":1},"2":{"4":1,"274":1,"294":1,"295":2,"297":1,"304":1,"307":1,"315":1,"330":1,"333":1,"342":1,"359":1,"364":1,"380":1,"399":1,"401":1,"402":1,"405":1,"406":3,"407":2,"423":1,"436":1,"441":4,"443":1,"444":1,"445":1,"446":3,"449":1,"453":1,"454":1,"455":1,"457":2,"462":1,"464":1,"474":1,"477":1,"488":4,"495":1,"496":1,"500":1,"507":1,"508":1,"518":1,"519":2,"529":1,"537":1,"551":1,"555":3,"556":2}}],["frequent",{"2":{"396":1}}],["frequently",{"2":{"122":1}}],["french",{"2":{"387":2}}],["freedom",{"2":{"473":1}}],["free",{"2":{"267":1,"272":1,"273":1,"403":4,"473":1}}],["framework",{"2":{"443":1,"444":1}}],["frames",{"2":{"441":2,"447":2,"452":3,"526":1}}],["frame",{"0":{"421":1,"526":1},"2":{"265":1,"283":1,"417":2,"421":2,"422":1,"447":3,"456":5,"458":1,"477":1,"526":4,"541":1}}],["friendly",{"2":{"263":1,"273":1}}],["f6d1f3c5f74d4d46f5080baa5b56b69f5edbf698d47e0cf4e2a1fd5058f9507b",{"2":{"506":1}}],["f61d820",{"2":{"14":1}}],["f60245b",{"2":{"13":1,"91":1}}],["f6c9fa4",{"2":{"12":1,"44":1}}],["facing",{"2":{"418":1}}],["facing=external",{"2":{"418":1}}],["facing=back",{"2":{"418":1,"423":2}}],["facing=front",{"2":{"418":2,"477":1}}],["fake",{"2":{"388":1}}],["fallbacks",{"2":{"345":1}}],["fallback",{"2":{"345":1,"455":1}}],["faq",{"2":{"295":1,"479":1,"481":1,"510":1}}],["fast",{"2":{"265":1,"447":1}}],["far",{"2":{"12":1,"89":1}}],["fail",{"2":{"388":2,"441":1,"455":2}}],["fails",{"2":{"12":1,"85":1,"295":1,"341":1,"388":1,"445":1,"524":1}}],["failures",{"2":{"133":1}}],["failure",{"0":{"335":1},"2":{"11":4,"12":1,"21":2,"45":1,"58":1,"72":1,"179":1,"180":1}}],["failed",{"0":{"331":1},"2":{"6":1,"11":2,"21":1,"70":1,"138":1,"345":1,"393":1}}],["fcf8269",{"2":{"134":1}}],["fcfd78e",{"2":{"10":1,"51":1}}],["fc91f07",{"2":{"12":1,"50":1}}],["fd20736",{"2":{"241":1}}],["fd2e639",{"2":{"12":1,"57":1}}],["fdf40c7",{"2":{"167":1}}],["fd32c36",{"2":{"6":1}}],["flip",{"2":{"537":2}}],["flipping",{"2":{"529":1}}],["flip270",{"2":{"529":1}}],["flip180",{"2":{"529":1}}],["flip90",{"2":{"529":1}}],["flip0",{"2":{"529":1}}],["flickering",{"2":{"11":1,"39":1}}],["flags",{"2":{"456":1}}],["flag",{"2":{"447":1,"456":2}}],["flac",{"2":{"393":2,"512":2,"513":2}}],["flavor",{"2":{"377":1}}],["flavors",{"0":{"371":1},"1":{"372":1}}],["flexible",{"2":{"274":1}}],["flow",{"2":{"12":1,"27":1}}],["floating",{"0":{"328":1},"2":{"10":1,"11":3,"12":4,"39":1,"52":1,"53":1,"84":1,"96":2,"97":1,"98":1,"274":1,"276":1}}],["fedora",{"0":{"403":1},"2":{"353":1,"403":2,"494":1}}],["feature",{"0":{"298":1,"299":1},"1":{"299":1,"300":1,"301":1,"302":1,"303":1,"304":1,"305":1,"306":1,"307":1,"308":1,"309":1,"310":1,"311":1,"312":1,"313":1,"314":1,"315":1,"316":1,"317":1,"318":1,"319":1,"320":1,"321":1},"2":{"263":1,"274":1,"297":1,"299":1,"321":1,"328":1,"335":1,"424":1,"441":1,"448":1,"465":2,"468":1,"481":1}}],["features",{"0":{"5":1,"10":1,"17":1,"20":1,"25":1,"32":1,"38":1,"51":1,"63":1,"76":1,"83":1,"92":1,"97":1,"105":1,"112":1,"120":1,"124":1,"132":1,"140":1,"151":1,"162":1,"167":1,"176":1,"184":1,"196":1,"201":1,"205":1,"224":1,"229":1,"241":1,"246":1,"248":1,"253":1,"254":1,"255":1,"259":1,"264":1,"266":1},"1":{"265":1,"266":1,"267":1},"2":{"10":1,"17":1,"270":1,"273":1,"298":1,"473":1,"478":1}}],["feedback",{"2":{"12":1,"53":1,"309":1,"317":1,"330":1,"331":1,"438":1,"439":1}}],["fee",{"2":{"9":1}}],["fossify",{"2":{"540":2}}],["focuses",{"2":{"473":1}}],["found",{"0":{"332":1,"342":1},"2":{"429":1,"445":1}}],["folding",{"2":{"447":1}}],["folder",{"2":{"330":2}}],["follows",{"2":{"325":1,"338":1}}],["followed",{"2":{"307":1,"445":1}}],["follow",{"2":{"294":1,"295":1,"296":1,"397":1,"399":1,"495":1}}],["following",{"2":{"268":1,"275":1,"330":1,"331":1,"332":1,"333":1,"369":1,"374":1,"380":1,"393":1,"399":1,"445":1,"474":1,"478":1,"488":1,"503":1,"537":1}}],["font",{"2":{"8":1}}],["form",{"2":{"445":1,"460":1}}],["format=mkv",{"2":{"513":1}}],["formats",{"2":{"513":1}}],["format",{"0":{"513":1},"2":{"1":1,"171":1,"281":1,"318":1,"454":1}}],["forbidden",{"2":{"418":1,"419":1}}],["forced",{"2":{"468":1}}],["force",{"2":{"416":2,"428":1,"441":1,"455":1,"464":1,"486":1,"518":1,"519":4,"539":1}}],["foreground",{"2":{"388":1}}],["forward=true",{"2":{"458":1}}],["forwards",{"2":{"391":1}}],["forwarded",{"2":{"391":1,"435":1,"499":1,"503":2,"535":1,"537":1}}],["forward",{"2":{"328":1,"345":1,"441":1,"445":2,"455":5,"458":2,"460":2,"503":3,"518":1,"519":4}}],["forwarding",{"2":{"11":1,"64":1,"277":1,"280":1,"335":1,"388":1,"473":1,"474":1,"487":1,"519":1,"535":1}}],["for",{"0":{"440":1},"1":{"441":1,"442":1,"443":1,"444":1,"445":1,"446":1,"447":1,"448":1,"449":1,"450":1,"451":1,"452":1,"453":1,"454":1,"455":1,"456":1,"457":1,"458":1,"459":1,"460":1},"2":{"5":3,"6":1,"8":4,"10":2,"11":1,"12":10,"15":1,"27":1,"34":2,"53":1,"57":1,"68":1,"71":1,"80":1,"82":1,"83":2,"93":1,"122":1,"130":1,"268":2,"273":1,"292":1,"296":3,"298":1,"301":1,"306":1,"321":1,"322":1,"325":1,"328":2,"329":1,"331":2,"336":1,"338":1,"343":1,"361":1,"362":1,"364":1,"369":1,"370":1,"373":1,"374":1,"380":3,"381":2,"386":1,"387":2,"388":4,"391":6,"392":1,"393":2,"396":2,"406":1,"411":1,"416":1,"419":2,"423":1,"428":1,"435":2,"436":1,"441":6,"443":1,"445":1,"450":1,"451":1,"454":1,"455":4,"456":1,"457":1,"458":5,"459":1,"460":2,"462":1,"464":2,"465":1,"468":1,"470":1,"472":1,"474":1,"481":2,"483":1,"484":1,"485":1,"486":1,"488":1,"489":2,"493":1,"495":4,"496":1,"498":1,"503":7,"506":1,"507":1,"508":1,"512":1,"518":1,"520":1,"521":2,"524":1,"526":1,"527":1,"529":2,"531":5,"533":5,"537":4,"540":2,"541":1,"545":2,"556":3}}],["f2bd345",{"2":{"8":1}}],["f211924",{"2":{"8":1}}],["f52d3a5",{"2":{"5":1}}],["firefox",{"2":{"468":4}}],["firstly",{"2":{"455":1}}],["first",{"2":{"265":1,"326":1,"340":1,"380":1,"418":4,"441":1,"445":1,"455":3,"456":1,"458":1,"460":1,"473":1,"481":1,"495":1,"503":1,"519":1,"529":1,"531":1}}],["fields",{"2":{"455":1}}],["finally",{"2":{"537":1}}],["fingers",{"2":{"537":2}}],["finger",{"2":{"436":1,"465":1}}],["find",{"2":{"304":1,"330":2,"343":1,"346":1,"348":1,"428":1,"459":1,"460":1,"481":1}}],["findinpage",{"2":{"134":1}}],["fi",{"2":{"429":1}}],["fill",{"2":{"460":1}}],["filtering",{"2":{"274":1}}],["filter",{"2":{"11":1,"54":1}}],["filename",{"2":{"513":2}}],["file",{"0":{"333":1,"437":1,"439":1},"1":{"438":1,"439":1},"2":{"10":4,"11":4,"12":6,"15":1,"16":1,"17":4,"18":2,"19":1,"21":1,"42":1,"44":1,"57":1,"87":1,"102":1,"103":1,"105":2,"171":1,"172":1,"174":1,"175":1,"274":4,"276":1,"285":1,"287":1,"321":1,"336":1,"386":1,"438":1,"439":2,"443":1,"452":1,"477":1,"483":1,"496":1,"508":1,"512":2,"529":2,"537":3,"556":4}}],["files",{"2":{"5":1,"6":1,"10":1,"11":1,"25":1,"26":1,"296":1,"317":1,"336":1,"374":1,"399":1,"414":1,"432":1,"556":1}}],["fixing",{"2":{"333":1}}],["fixed",{"2":{"6":1,"11":18,"12":1,"18":3,"21":1,"26":2,"33":2,"36":2,"39":3,"46":1,"49":1,"54":1,"67":1,"70":1,"99":1,"111":1,"370":1}}],["fixes",{"0":{"3":1,"6":1,"9":1,"11":1,"18":1,"21":1,"26":1,"29":1,"33":1,"36":1,"39":1,"42":1,"45":1,"46":1,"52":1,"54":1,"56":1,"58":1,"64":1,"67":1,"70":1,"71":1,"73":1,"74":1,"78":1,"79":1,"81":1,"84":1,"88":1,"90":1,"95":1,"99":1,"101":1,"107":1,"111":1,"113":1,"116":1,"117":1,"119":1,"121":1,"123":1,"126":1,"128":1,"129":1,"130":1,"133":1,"135":1,"137":1,"138":1,"141":1,"142":1,"148":1,"152":1,"156":1,"158":1,"159":1,"166":1,"171":1,"173":1,"177":1,"179":1,"180":1,"181":1,"182":1,"185":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"197":1,"199":1,"200":1,"202":1,"206":1,"207":1,"209":1,"210":1,"212":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"225":1,"227":1,"232":1,"235":1,"236":1,"237":1,"238":1,"239":1,"242":1,"243":1,"245":1,"247":1,"249":1,"250":1,"251":1,"252":1,"257":1,"260":1}}],["fix",{"2":{"3":1,"6":1,"9":1,"11":12,"12":1,"21":3,"33":1,"39":1,"45":1,"47":1,"58":1,"70":1,"71":1,"79":1,"81":1,"95":1,"116":1,"117":1,"119":1,"122":1,"123":1,"126":1,"182":1,"235":1,"276":1}}],["aarch64",{"2":{"506":2}}],["aac",{"2":{"393":1,"456":1,"512":2,"513":1}}],["aidl",{"2":{"444":1}}],["aoav2",{"2":{"469":1,"472":1,"484":1,"490":1,"497":1,"502":1}}],["aoa",{"0":{"472":1,"490":1,"502":1},"2":{"434":1,"472":1,"488":1,"490":1,"502":1,"503":2,"509":1,"511":1}}],["awesome",{"2":{"459":1}}],["awk",{"2":{"429":1}}],["aware",{"2":{"441":1}}],["awake",{"0":{"462":1},"2":{"278":1,"462":2,"464":1,"556":1}}],["away",{"2":{"12":1,"89":1}}],["agreed",{"2":{"386":1,"483":1}}],["against",{"2":{"443":1,"444":1}}],["again",{"2":{"321":1,"324":1,"327":1,"331":1,"524":1}}],["among",{"2":{"419":2,"524":1}}],["amount",{"2":{"6":1}}],["am",{"2":{"382":2,"488":1}}],["amp",{"0":{"296":2},"2":{"325":1,"330":2,"432":1,"438":1,"439":1,"494":2,"537":2}}],["alongside",{"2":{"555":1}}],["along",{"2":{"357":1}}],["alt",{"2":{"500":1,"537":1}}],["alt+f",{"2":{"476":1}}],["alternative",{"2":{"372":1,"392":1,"509":1}}],["alternatively",{"2":{"326":1,"374":1,"380":1,"418":1,"419":1,"429":1,"507":1}}],["although",{"2":{"328":1,"444":1,"458":2}}],["already",{"2":{"307":1,"321":1,"418":1,"419":1,"426":1,"428":1,"460":1,"472":1,"490":1,"502":1}}],["always",{"0":{"549":1},"2":{"279":1,"454":1,"464":1,"486":1,"512":1,"549":2,"556":1}}],["also",{"2":{"273":1,"329":1,"351":1,"392":1,"396":1,"399":1,"405":1,"416":1,"419":1,"422":1,"426":2,"434":1,"435":1,"452":1,"464":1,"468":1,"481":1,"488":1,"507":1,"511":1,"512":1,"513":1,"515":2,"516":1,"518":1,"526":1,"532":1,"534":1,"556":1}}],["allsettledwrapper",{"2":{"115":1}}],["all",{"0":{"314":1},"2":{"11":1,"36":1,"270":1,"301":1,"306":1,"313":1,"314":2,"317":1,"351":1,"362":1,"379":1,"380":1,"416":1,"417":1,"423":1,"436":1,"441":2,"458":1,"484":1,"488":1,"489":1,"503":2,"509":1,"518":2,"537":1,"541":1}}],["allowing",{"2":{"357":1}}],["allowed",{"2":{"311":1,"529":1}}],["allows",{"2":{"273":1,"299":1,"330":1,"351":1,"370":1,"428":1,"429":1,"430":1,"445":1,"455":1,"473":1,"509":1}}],["allow",{"2":{"6":1,"292":1,"329":1,"333":1,"350":2,"470":1,"485":1,"488":1,"500":1,"517":1}}],["a46a5e1",{"2":{"259":1}}],["ac",{"2":{"462":1}}],["actual",{"2":{"435":1,"526":1}}],["activate",{"2":{"380":1}}],["activating",{"2":{"11":1,"39":1}}],["active",{"2":{"367":1,"380":2,"381":1,"435":1,"537":1}}],["actively",{"0":{"326":1},"2":{"370":1}}],["actions",{"2":{"12":1,"53":1,"381":1,"461":1,"537":1}}],["action",{"2":{"10":1,"11":1,"51":1,"84":1,"537":1}}],["accurate",{"2":{"417":1}}],["accept",{"2":{"435":1}}],["acceptable",{"2":{"388":1,"396":1}}],["accepts",{"2":{"364":1,"443":1}}],["accented",{"2":{"351":1}}],["accessible",{"2":{"342":1,"399":1,"428":1,"444":1,"507":1,"518":1}}],["access",{"0":{"326":1},"2":{"370":1,"473":1,"503":1}}],["account",{"2":{"267":1,"473":1}}],["ac52df2",{"2":{"255":1}}],["a6744dc",{"2":{"234":1}}],["a9668d9",{"2":{"210":1}}],["a90e570",{"2":{"187":1}}],["a789826",{"2":{"206":1}}],["a7a3a17",{"2":{"11":1,"33":1}}],["a57b847",{"2":{"165":1}}],["a06708f",{"2":{"142":1}}],["a195b7e",{"2":{"134":1}}],["a1c60ec",{"2":{"12":1,"96":1}}],["apt",{"2":{"402":4,"405":2,"494":1,"495":1,"520":1}}],["apache",{"2":{"386":2,"483":2}}],["apk=",{"2":{"383":1}}],["apk",{"0":{"438":1},"2":{"378":2,"379":1,"381":1,"382":2,"383":3,"438":3,"439":1,"443":2,"537":3}}],["api",{"0":{"357":1},"1":{"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"367":1,"368":1},"2":{"134":1,"373":1,"422":1,"447":1,"448":1,"450":1,"474":2,"485":1,"498":1,"509":1}}],["appreciate",{"2":{"482":1}}],["appropriate",{"2":{"453":1}}],["app=+",{"2":{"468":1}}],["app=+org",{"2":{"468":1}}],["app=",{"2":{"468":1}}],["app=org",{"2":{"468":2,"477":1,"540":2}}],["appimage",{"2":{"338":1}}],["appears",{"2":{"380":1,"500":1,"543":1}}],["appear",{"0":{"339":1},"2":{"306":1,"307":1,"339":1,"388":1,"543":1}}],["appending",{"2":{"12":1,"53":1}}],["apps",{"2":{"268":1,"297":1,"391":1,"392":1,"414":1,"468":2,"537":1,"542":1}}],["applied",{"2":{"529":4,"530":1,"531":2,"533":1}}],["applicable",{"2":{"386":1,"483":1}}],["application",{"0":{"316":1,"319":1},"1":{"317":1,"318":1,"319":1},"2":{"10":1,"11":2,"12":10,"19":3,"33":1,"51":1,"53":2,"80":1,"84":1,"85":2,"124":1,"285":1,"319":1,"321":1,"373":1,"374":1,"380":1,"435":2,"441":2,"443":3,"473":1,"478":1,"482":1,"537":1,"556":1}}],["applications",{"2":{"10":1,"12":1,"80":1,"83":1,"333":1,"338":1}}],["apple",{"2":{"333":1}}],["apply",{"2":{"129":1,"319":1,"395":1}}],["app",{"0":{"375":1,"468":1,"475":1,"540":1},"1":{"376":1,"377":1,"378":1,"379":1},"2":{"4":2,"10":1,"11":4,"12":7,"19":2,"36":1,"37":2,"38":1,"40":1,"42":1,"47":1,"52":1,"73":1,"85":1,"236":1,"274":2,"287":2,"333":1,"388":1,"414":2,"436":1,"443":2,"445":2,"458":1,"468":5,"473":1,"481":1,"495":1,"503":3,"507":1,"529":1,"537":1,"540":2,"541":1,"550":1,"555":1}}],["attempts",{"2":{"441":1,"524":1}}],["attempt",{"2":{"333":1}}],["at",{"2":{"12":1,"48":1,"114":1,"295":1,"317":1,"353":1,"356":1,"373":1,"386":1,"416":1,"421":1,"428":1,"436":1,"441":2,"452":1,"454":1,"455":1,"464":1,"472":1,"474":1,"477":1,"483":1,"485":1,"490":1,"498":1,"502":1,"509":2,"518":1,"524":3,"526":2,"529":1,"531":1,"532":1,"541":1,"556":1}}],["a2bb039",{"2":{"12":1,"41":1}}],["aeae0c6",{"2":{"203":1}}],["ae96df0",{"2":{"160":1}}],["aec9b78",{"2":{"12":1,"40":1}}],["ae13fde",{"2":{"11":1,"73":1}}],["ae19570",{"2":{"8":1}}],["avc",{"2":{"528":1}}],["av1",{"2":{"456":1,"527":2}}],["average",{"2":{"273":1,"441":1}}],["avoids",{"2":{"447":1}}],["avoided",{"2":{"311":1}}],["avoid",{"2":{"12":1,"47":1,"351":1,"396":1,"435":1,"453":1,"487":1,"519":1,"556":2}}],["available",{"2":{"12":1,"59":1,"371":1,"374":1,"387":1,"388":1,"391":3,"392":1,"394":1,"399":2,"406":2,"407":1,"417":1,"448":1,"469":1,"484":1,"496":1,"497":1,"507":2,"508":1,"509":1,"520":1,"524":1,"528":1,"532":1,"533":1,"540":2,"541":1,"556":1}}],["arch",{"2":{"494":1}}],["archive",{"2":{"378":1,"379":1}}],["archives",{"2":{"378":1}}],["architecture",{"2":{"274":1,"410":1}}],["array",{"2":{"452":1}}],["arrangement",{"0":{"298":1,"304":1},"1":{"299":1,"300":1,"301":1,"302":1,"303":1,"304":1,"305":1,"306":1,"307":1,"308":1,"309":1,"310":1,"311":1,"312":1,"313":1,"314":1,"315":1,"316":1,"317":1,"318":1,"319":1,"320":1,"321":1},"2":{"12":3,"30":1,"34":2,"266":1,"298":1,"299":1,"304":2,"306":2,"307":1,"311":1,"313":1,"314":1,"315":1,"321":3}}],["arrange",{"2":{"10":1,"32":1,"304":1}}],["argument",{"2":{"445":1,"463":1,"503":1}}],["arguments",{"2":{"381":1,"428":1,"445":1,"446":1,"451":1,"452":1,"461":1,"496":2,"508":2,"556":6}}],["args",{"2":{"443":1}}],["ar=sensor",{"2":{"419":1}}],["ar=16",{"2":{"419":1,"423":2}}],["ar=1",{"2":{"419":1}}],["ar=4",{"2":{"419":1}}],["ar",{"2":{"419":2}}],["arbitrary",{"2":{"393":1,"419":1,"430":1,"527":1}}],["articles",{"0":{"387":1,"480":1}}],["arabic",{"2":{"12":1,"44":1}}],["arm64",{"2":{"12":1,"53":1,"211":1,"222":1}}],["area",{"2":{"306":1,"307":1,"311":1,"313":1,"314":1,"315":1,"321":1,"339":1,"530":1}}],["are",{"2":{"11":1,"12":1,"36":1,"89":1,"271":1,"296":2,"307":1,"311":1,"317":1,"321":3,"331":1,"340":1,"345":1,"348":1,"358":2,"359":2,"360":1,"370":2,"371":1,"390":1,"391":1,"392":1,"393":1,"397":1,"398":1,"417":4,"419":2,"426":1,"428":1,"436":1,"441":5,"443":1,"444":1,"447":2,"448":1,"449":2,"450":1,"452":4,"455":1,"456":1,"457":1,"469":1,"476":1,"477":2,"478":1,"484":1,"485":1,"486":3,"487":1,"489":1,"493":1,"497":1,"498":1,"499":1,"503":2,"506":1,"509":4,"512":2,"513":3,"518":2,"520":1,"527":2,"529":1,"531":1,"532":1,"537":4,"541":1,"542":1}}],["author",{"2":{"430":1,"482":1}}],["authorize",{"2":{"344":1}}],["authorization",{"2":{"292":1,"324":1,"326":1,"344":1}}],["autosync",{"2":{"435":1}}],["autostart",{"0":{"364":1,"430":1},"2":{"362":1,"364":4}}],["autoadb",{"2":{"430":1}}],["autorun",{"0":{"362":1},"2":{"362":4,"380":1}}],["autoconnect",{"2":{"165":2}}],["automated",{"2":{"12":1,"55":1}}],["automation",{"2":{"10":1,"266":1,"274":1}}],["automatically",{"0":{"328":1},"2":{"5":1,"129":1,"266":1,"310":1,"319":1,"339":1,"388":1,"416":1,"418":1,"419":1,"426":1,"428":2,"435":1,"463":1,"513":1,"524":1}}],["automatic",{"0":{"428":1},"2":{"3":1,"11":1,"12":1,"34":1,"70":1,"144":1,"287":1,"391":1,"435":1}}],["autoglm",{"2":{"7":1,"10":1,"274":1,"287":1}}],["auto",{"2":{"5":3,"8":1,"266":2,"274":1,"276":2,"278":1,"495":1}}],["auxiliary",{"2":{"278":1}}],["audiorecord",{"2":{"448":1}}],["audio=false",{"2":{"445":1,"458":1}}],["audio",{"0":{"280":1,"281":1,"335":1,"388":1,"389":1,"390":1,"448":1,"452":1,"456":1},"1":{"389":1,"390":1,"391":1,"392":1,"393":1,"394":1,"395":1,"396":1},"2":{"11":1,"12":1,"50":1,"79":1,"186":1,"274":2,"280":7,"281":1,"286":1,"335":2,"388":6,"389":3,"390":4,"391":6,"392":9,"393":10,"394":2,"395":5,"396":9,"416":13,"434":6,"441":7,"445":1,"446":3,"448":2,"450":1,"451":1,"452":7,"455":3,"456":2,"473":2,"474":1,"477":3,"478":1,"480":1,"496":2,"508":2,"509":1,"511":4,"512":7,"513":1,"515":3,"533":3,"534":5,"535":1,"545":1,"556":2}}],["asynchronous",{"2":{"448":1}}],["asynchronously",{"2":{"12":1,"34":1,"452":1}}],["aspect",{"2":{"419":5,"524":1}}],["ascii",{"2":{"351":1,"435":1,"485":1}}],["ask",{"2":{"346":1}}],["assume",{"2":{"451":1}}],["associated",{"2":{"419":2,"445":1,"447":1}}],["assigned",{"2":{"295":1}}],["assets",{"2":{"436":2}}],["asset",{"2":{"111":1}}],["as",{"0":{"328":1},"2":{"10":1,"270":1,"302":1,"324":1,"325":1,"330":1,"338":2,"354":1,"364":1,"369":1,"372":1,"386":1,"391":2,"409":1,"411":3,"412":1,"416":1,"418":1,"423":1,"424":1,"426":1,"427":1,"429":2,"435":6,"441":2,"443":1,"455":4,"458":2,"472":1,"473":1,"477":1,"483":1,"486":2,"503":1,"509":3,"521":1,"532":1}}],["a84c775",{"2":{"10":1,"92":1}}],["a",{"0":{"262":1,"333":2,"507":1,"555":1},"1":{"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"269":1,"270":1,"271":1,"272":1,"273":1},"2":{"10":2,"11":1,"12":5,"17":1,"27":1,"32":1,"39":1,"50":2,"65":1,"80":1,"105":1,"112":1,"140":1,"261":1,"263":3,"268":1,"270":1,"271":1,"272":1,"273":3,"298":1,"299":1,"304":1,"314":1,"317":1,"321":1,"328":1,"331":1,"335":1,"338":1,"341":2,"343":1,"344":2,"345":3,"346":2,"351":2,"354":1,"357":1,"363":1,"364":1,"367":1,"372":3,"374":1,"380":3,"381":2,"382":5,"383":2,"386":1,"387":1,"388":1,"390":1,"391":2,"394":1,"396":2,"399":1,"406":1,"409":1,"411":1,"412":1,"414":1,"419":1,"421":1,"422":1,"424":1,"426":1,"427":1,"428":3,"429":2,"430":2,"434":2,"435":4,"436":4,"438":1,"439":3,"441":6,"443":7,"445":1,"447":1,"449":1,"452":5,"453":2,"454":2,"455":8,"456":2,"457":1,"458":4,"459":1,"460":1,"462":1,"463":1,"464":3,"465":1,"468":3,"472":2,"473":1,"474":1,"477":5,"478":1,"481":1,"483":1,"484":2,"486":3,"487":1,"488":3,"489":1,"490":2,"493":1,"495":2,"496":1,"497":2,"500":1,"501":1,"502":2,"503":1,"506":1,"508":1,"509":3,"513":2,"517":4,"518":3,"519":2,"520":6,"524":3,"526":2,"529":4,"530":1,"531":2,"532":2,"533":1,"537":1,"539":1,"540":2,"541":1,"556":9}}],["absolute",{"2":{"498":1}}],["absolutely",{"2":{"396":1}}],["above",{"2":{"297":1,"325":1,"334":1,"392":1,"419":2,"458":1,"473":1,"489":1}}],["about",{"2":{"265":1,"429":1,"441":1}}],["abd468b",{"2":{"115":1}}],["able",{"2":{"11":1,"42":1}}],["abnormalities",{"2":{"117":1}}],["abnormal",{"2":{"9":1,"11":3,"18":1,"36":1,"39":1,"128":1,"130":1,"148":1,"166":1,"321":1}}],["aba8f27",{"2":{"3":1}}],["affects",{"2":{"529":2}}],["affect",{"2":{"328":1}}],["af7a319",{"2":{"251":1}}],["after",{"0":{"324":1,"327":1,"329":1,"333":1,"338":1,"339":1},"2":{"8":1,"11":4,"12":1,"33":3,"34":1,"54":1,"278":1,"296":1,"297":1,"314":1,"319":1,"328":1,"330":1,"339":1,"414":1,"435":2,"447":2,"462":1,"463":1,"464":1,"529":1,"530":1,"531":1}}],["af18241",{"2":{"8":1}}],["another",{"2":{"347":2,"356":1,"381":1,"396":1,"444":1,"446":1,"472":1,"490":1,"502":1,"518":1,"519":2,"528":1}}],["antivirus",{"0":{"330":1}}],["angle=23",{"2":{"530":1}}],["angle",{"0":{"530":1},"2":{"277":1,"529":1,"530":1,"531":1}}],["an",{"0":{"328":1,"495":1},"2":{"7":1,"11":3,"12":1,"39":1,"46":1,"47":1,"70":1,"273":2,"302":1,"313":1,"325":1,"328":1,"330":1,"331":1,"350":1,"386":1,"392":1,"406":1,"418":1,"419":4,"428":1,"435":1,"438":2,"441":1,"443":2,"445":1,"448":1,"452":2,"455":3,"459":1,"465":1,"468":3,"473":1,"474":2,"477":1,"481":1,"483":1,"485":1,"498":1,"509":2,"519":2,"520":1,"534":1,"540":1,"556":1}}],["anytime",{"2":{"526":1}}],["anything",{"2":{"419":1}}],["anyway",{"2":{"487":1}}],["anymore",{"2":{"370":1}}],["any",{"2":{"6":1,"331":1,"333":1,"340":1,"343":1,"348":1,"356":1,"370":1,"386":1,"435":3,"441":1,"445":1,"447":1,"454":2,"458":1,"464":1,"474":1,"483":1,"499":1,"503":1,"520":1,"541":1,"556":2}}],["android",{"0":{"262":1,"468":1},"1":{"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"269":1,"270":1,"271":1,"272":1,"273":1},"2":{"263":2,"267":1,"268":1,"273":2,"274":1,"292":2,"297":1,"327":1,"335":2,"345":1,"356":1,"357":1,"358":1,"359":1,"363":1,"365":1,"370":1,"373":2,"374":2,"381":1,"387":2,"388":4,"391":1,"392":3,"394":1,"399":1,"410":2,"411":9,"416":1,"421":1,"422":1,"424":1,"426":4,"429":1,"430":1,"435":5,"443":2,"444":2,"453":1,"460":3,"462":1,"463":2,"464":2,"465":1,"468":1,"471":1,"472":1,"473":5,"474":3,"485":1,"488":1,"489":1,"498":1,"500":1,"501":1,"507":1,"509":2,"517":1,"520":1,"524":2,"527":1,"532":2,"534":1,"537":1,"540":1}}],["and",{"0":{"265":1,"305":1,"316":1,"341":1,"350":1,"433":1,"436":1,"452":1,"456":1,"547":1},"1":{"306":1,"307":1,"317":1,"318":1,"319":1,"342":1,"343":1,"344":1,"345":1,"346":1,"347":1},"2":{"1":1,"4":2,"5":3,"6":4,"8":5,"10":8,"11":6,"12":12,"15":2,"17":4,"18":2,"19":1,"24":1,"25":1,"27":3,"32":1,"34":1,"48":1,"52":1,"61":1,"63":1,"64":1,"79":1,"87":1,"88":1,"93":1,"102":1,"122":1,"150":1,"171":1,"174":1,"187":1,"261":1,"263":2,"266":3,"267":1,"271":1,"272":1,"273":3,"274":6,"292":2,"294":1,"295":3,"296":1,"297":1,"298":3,"299":4,"301":1,"302":1,"309":1,"310":1,"317":1,"321":3,"322":1,"324":3,"325":5,"326":1,"327":1,"328":2,"329":1,"331":5,"332":1,"333":2,"334":1,"336":1,"339":1,"340":1,"342":1,"346":1,"347":1,"348":1,"350":1,"353":1,"358":1,"359":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"367":1,"369":1,"370":2,"372":2,"374":1,"376":1,"378":1,"380":2,"381":2,"386":1,"388":2,"390":2,"391":3,"392":2,"393":1,"396":3,"397":2,"399":2,"405":2,"406":1,"407":1,"410":1,"411":1,"412":1,"416":3,"417":2,"419":4,"422":1,"423":1,"427":1,"428":1,"433":1,"435":3,"436":5,"441":11,"443":3,"444":3,"445":6,"446":5,"447":2,"448":1,"450":1,"451":2,"452":4,"453":1,"454":2,"455":2,"456":1,"458":1,"459":1,"460":3,"465":1,"468":1,"472":1,"473":7,"474":1,"477":4,"478":1,"482":1,"483":1,"484":2,"485":1,"486":1,"488":2,"489":1,"490":1,"493":1,"494":1,"495":3,"496":1,"500":1,"502":1,"503":8,"506":1,"507":1,"508":1,"509":9,"511":2,"512":4,"513":1,"515":3,"518":1,"524":1,"527":1,"529":5,"530":1,"531":1,"533":2,"534":2,"537":9,"539":2,"547":1,"554":1,"555":2,"556":2}}],["adoptopenjdk17",{"2":{"407":1}}],["adoptopenjdk",{"2":{"407":1}}],["adopt",{"2":{"328":1}}],["adopted",{"2":{"12":1,"65":1}}],["advantage",{"2":{"391":1}}],["advantages",{"0":{"270":1},"2":{"270":1}}],["advanced",{"2":{"298":1,"381":1,"393":1,"527":1}}],["ads",{"2":{"267":1,"473":1}}],["ad3f77f",{"2":{"191":1}}],["adapted",{"2":{"12":1,"28":1}}],["adapt",{"2":{"11":1,"73":1}}],["adbwinusbapi",{"2":{"374":1,"399":1}}],["adbwinapi",{"2":{"374":1,"399":1}}],["adb=c",{"2":{"346":1}}],["adb=",{"2":{"346":1}}],["adb",{"0":{"337":1,"341":1,"342":1,"346":1,"374":1,"518":1},"1":{"342":1,"343":1,"344":1,"345":1,"346":1,"347":1},"2":{"11":1,"12":3,"27":1,"72":1,"99":1,"100":1,"135":1,"148":1,"260":1,"274":1,"276":1,"331":1,"336":1,"341":2,"342":2,"343":4,"345":5,"346":11,"347":1,"367":1,"370":1,"374":6,"381":1,"382":1,"383":3,"399":3,"402":1,"426":3,"427":2,"428":3,"429":5,"441":1,"443":1,"445":3,"455":5,"458":2,"462":3,"463":2,"464":2,"465":3,"472":2,"488":1,"490":2,"495":1,"502":2,"507":2,"509":1,"511":1,"517":3,"518":7,"519":11,"555":3}}],["adjusted",{"2":{"317":1,"396":1}}],["adjustment",{"0":{"308":1},"1":{"309":1,"310":1,"311":1},"2":{"266":1,"309":1,"310":1,"317":1}}],["adjusting",{"0":{"310":1},"2":{"11":1,"12":1,"33":1}}],["adjust",{"2":{"6":1,"12":5,"34":1,"47":1,"75":1,"85":1,"175":1,"299":1,"310":1}}],["addable",{"2":{"315":1}}],["additional",{"2":{"436":1,"441":2,"474":1,"485":2,"498":1}}],["additionally",{"2":{"407":1}}],["addition",{"2":{"12":1,"53":1,"435":1}}],["adding",{"0":{"305":1,"306":1,"307":1},"1":{"306":1,"307":1},"2":{"10":1,"12":2,"34":1,"51":1,"53":1,"270":1,"274":1,"328":1,"468":2}}],["addresses",{"2":{"12":1,"27":1}}],["address",{"0":{"295":1},"2":{"11":3,"18":1,"21":1,"58":1,"295":3,"428":3,"429":2}}],["added",{"2":{"10":1,"12":2,"17":1,"44":1,"59":1,"302":1,"307":3,"321":1,"458":1,"533":1}}],["add251f",{"2":{"10":1,"51":1}}],["adds",{"2":{"5":1}}],["add",{"2":{"1":1,"2":1,"4":1,"5":6,"6":2,"10":1,"12":4,"20":1,"35":1,"47":1,"48":1,"53":1,"105":1,"112":3,"124":1,"125":1,"132":1,"140":1,"160":1,"163":1,"164":1,"165":1,"167":1,"174":2,"175":1,"176":1,"178":1,"182":1,"186":2,"196":1,"306":1,"307":2,"321":1,"330":3,"390":1,"520":1,"521":2,"533":2,"556":1}}],["ctl",{"2":{"520":1}}],["ctrl+key",{"2":{"537":1}}],["ctrl+shift",{"2":{"436":1}}],["ctrl+shift+click",{"2":{"436":1,"537":1}}],["ctrl+v",{"2":{"435":3}}],["ctrl+x",{"2":{"435":1}}],["ctrl+click",{"2":{"436":1,"537":1}}],["ctrl+c",{"2":{"361":1,"380":1,"390":1,"435":2,"460":1,"515":1,"534":1,"545":1}}],["ctrl",{"2":{"325":1,"331":1,"435":1,"436":2}}],["cn",{"2":{"519":2}}],["cbuild",{"2":{"495":1}}],["cb7ac96",{"2":{"8":1}}],["ck",{"2":{"456":1}}],["cx",{"2":{"411":1,"412":1,"414":1,"415":1}}],["cpu",{"2":{"372":1}}],["c",{"2":{"346":1,"386":1,"451":2,"483":2}}],["cmd",{"2":{"346":2,"378":1,"379":2,"380":1,"426":2,"464":2,"518":2,"519":4,"537":1}}],["c85f8fb",{"2":{"259":1}}],["c82560f",{"2":{"143":1}}],["cf",{"2":{"449":1}}],["cfd0e1d",{"2":{"197":1}}],["cf9c82d",{"2":{"178":1}}],["cf8e183",{"2":{"11":1,"39":1}}],["c0e6a01",{"2":{"174":1}}],["c00ac1e",{"2":{"8":1}}],["cursor",{"2":{"503":1}}],["currently",{"2":{"275":1,"307":1,"370":1,"455":1}}],["current",{"2":{"103":1,"313":1,"317":1,"342":1,"366":1,"368":1,"398":1,"454":1,"462":1,"463":1,"465":1,"527":1,"529":1}}],["cut",{"2":{"435":2,"537":1}}],["cuts",{"2":{"435":1}}],["customize",{"2":{"336":1,"485":1}}],["customization",{"2":{"270":1}}],["customizable",{"2":{"266":1}}],["custom",{"2":{"5":1,"12":1,"53":1,"115":1,"116":1,"122":1,"197":1,"266":2,"274":2,"286":1,"299":1,"307":1,"383":2,"457":1,"530":1}}],["c17aaba",{"2":{"12":1,"48":1}}],["c49d22c",{"2":{"12":1,"55":1}}],["c976d4c",{"2":{"12":1,"22":1}}],["c5bed0e",{"2":{"141":1}}],["c5369af",{"2":{"12":1,"49":1}}],["c59994e",{"2":{"8":1}}],["ccb59e1",{"2":{"12":1,"34":1}}],["ccc7f0e",{"2":{"12":1,"87":1}}],["c666709",{"2":{"12":1,"19":1}}],["certificate",{"2":{"330":1}}],["certain",{"2":{"11":2,"29":1,"39":1}}],["center",{"0":{"322":1},"2":{"330":1,"436":2,"530":2}}],["cec6539",{"2":{"140":1}}],["cef022f",{"2":{"12":1}}],["c74f03d",{"2":{"181":1}}],["c70e6ca",{"2":{"130":1}}],["c7a5cd4",{"2":{"12":1}}],["c7c8616",{"2":{"4":1}}],["c2",{"2":{"394":1}}],["c210140",{"2":{"186":1}}],["c214e5a",{"2":{"12":1,"65":1}}],["c2254aa",{"2":{"11":1,"70":1}}],["c323ad6",{"2":{"11":1,"26":1}}],["critical",{"2":{"390":1}}],["crash",{"2":{"528":1}}],["crashes",{"0":{"354":1,"355":1},"1":{"356":1}}],["crashing",{"2":{"11":1,"64":1}}],["crop=1224",{"2":{"531":1}}],["cropped",{"2":{"531":1}}],["cropping",{"2":{"277":1,"531":2}}],["crop",{"0":{"531":1},"2":{"529":1,"530":1}}],["cross",{"0":{"269":1,"405":1},"2":{"450":1}}],["creates",{"2":{"453":1}}],["create",{"2":{"321":1,"520":3,"532":1,"556":1}}],["created",{"2":{"11":1,"39":1}}],["creating",{"2":{"12":1,"50":1}}],["creation",{"2":{"4":1,"11":1,"36":1}}],["cd",{"2":{"409":1,"495":1}}],["cd7d9cd",{"2":{"11":1,"95":1}}],["cd06d3b",{"2":{"8":1}}],["classpath=",{"2":{"443":1,"445":2,"458":1}}],["class",{"2":{"443":1}}],["classes",{"2":{"443":5,"444":2}}],["clarity",{"2":{"8":1}}],["clockwise",{"2":{"529":12,"530":1}}],["clone",{"2":{"409":2,"495":2}}],["closing",{"2":{"11":1,"12":3,"22":1,"39":1,"50":1,"466":1}}],["closest",{"2":{"419":1}}],["closed",{"2":{"128":1,"347":1,"462":1,"542":1}}],["close",{"0":{"466":1,"542":1},"2":{"10":1,"92":1,"466":1,"556":2}}],["clear",{"0":{"314":1},"2":{"313":1,"314":1}}],["cleared",{"2":{"11":1,"36":1}}],["cleanup=false",{"2":{"458":1}}],["clean",{"2":{"8":1,"12":2,"22":1,"53":1,"512":1}}],["clients",{"2":{"362":1,"445":1,"518":1}}],["client",{"0":{"352":1,"450":1},"1":{"353":1,"354":1,"451":1,"452":1,"453":1},"2":{"346":1,"358":1,"359":1,"360":1,"361":3,"363":1,"364":1,"365":1,"366":1,"381":2,"382":2,"397":1,"399":1,"402":1,"403":1,"406":2,"407":1,"410":1,"412":1,"441":15,"443":1,"445":6,"446":2,"447":1,"449":1,"450":1,"451":2,"452":1,"453":1,"454":2,"455":5,"457":2,"458":3,"460":1,"513":1,"517":1,"529":2}}],["click³",{"2":{"537":3}}],["click²",{"2":{"537":2}}],["click¹",{"2":{"537":1}}],["clicks",{"2":{"327":1,"329":1,"499":1,"503":3}}],["clicking",{"0":{"327":1},"2":{"330":1,"556":1}}],["clicked",{"2":{"321":1}}],["click",{"2":{"11":1,"18":1,"292":2,"294":1,"295":2,"304":1,"306":1,"307":1,"309":1,"313":1,"314":1,"315":1,"317":2,"321":1,"325":1,"327":2,"330":2,"331":1,"339":1,"380":1,"436":2,"449":1,"460":2,"464":1,"476":2,"503":17,"537":10,"556":3}}],["clipboards",{"2":{"537":1}}],["clipboard⁵",{"2":{"537":2}}],["clipboard",{"2":{"10":1,"11":1,"25":1,"26":1,"435":11,"441":1,"446":1,"449":1,"537":1}}],["caching=0",{"2":{"458":1}}],["camcorder",{"2":{"391":2}}],["cameras",{"2":{"417":2,"418":1}}],["camera",{"0":{"283":1,"416":1},"1":{"417":1,"418":1,"419":1,"420":1,"421":1,"422":1,"423":1,"424":1},"2":{"11":1,"12":3,"87":1,"88":1,"93":2,"141":1,"178":1,"274":1,"283":4,"286":2,"391":1,"416":3,"417":1,"418":15,"419":14,"420":1,"421":2,"422":4,"423":7,"424":1,"473":1,"477":5,"478":1,"523":2,"524":2,"531":1}}],["cask",{"2":{"407":1,"507":1}}],["caskroom",{"2":{"407":1}}],["case",{"2":{"345":2,"372":1,"402":1,"410":1,"474":1,"503":1,"513":1,"540":1}}],["cases",{"0":{"268":1},"2":{"11":1,"54":1,"130":1,"435":1}}],["casting",{"0":{"339":1},"2":{"339":1}}],["caps=1",{"2":{"520":1}}],["caps",{"2":{"520":1}}],["capable",{"2":{"520":2}}],["capability",{"2":{"265":1}}],["capturing",{"2":{"443":1}}],["captures",{"2":{"391":10,"441":1,"446":1}}],["captured",{"2":{"388":1,"391":1,"392":1,"416":2,"420":1,"421":1,"448":1,"500":1,"512":1,"529":1}}],["capture",{"0":{"335":1,"422":1},"2":{"388":2,"391":2,"392":1,"416":1,"422":1,"446":1,"477":2,"500":1,"512":1,"520":1,"523":1,"526":2,"529":21,"530":1,"531":1,"534":1,"537":1}}],["causing",{"0":{"330":1,"335":1},"2":{"396":1}}],["cause",{"2":{"11":1,"39":1,"128":1,"464":1,"486":1,"487":1}}],["caused",{"2":{"11":1,"45":1,"331":1,"332":1,"336":1}}],["careful",{"2":{"328":1}}],["card",{"2":{"8":1}}],["cable",{"0":{"327":1},"2":{"347":1,"509":1}}],["ca79e1b",{"2":{"12":1,"93":1}}],["ca4e826",{"2":{"12":1,"31":1}}],["ca6be85",{"2":{"12":1,"72":1}}],["category",{"2":{"11":1,"36":1}}],["caller",{"2":{"474":1}}],["called",{"2":{"444":1}}],["call",{"2":{"11":1,"21":1,"381":1,"382":1,"391":7}}],["calling",{"2":{"11":1,"21":1,"380":1}}],["callbacks",{"2":{"8":1}}],["candidate",{"2":{"443":1}}],["cancellation",{"2":{"391":1}}],["cannot",{"0":{"324":1,"329":1},"2":{"11":2,"12":1,"18":1,"27":1,"79":1,"128":1,"182":1,"310":1,"311":1,"388":1}}],["can",{"0":{"291":1,"329":1},"2":{"10":1,"32":1,"261":1,"263":1,"273":1,"298":1,"302":1,"306":1,"307":1,"309":1,"321":1,"330":2,"331":1,"333":1,"345":1,"353":1,"374":1,"380":2,"381":1,"382":1,"391":1,"392":1,"393":1,"394":1,"396":1,"414":2,"416":1,"423":1,"427":1,"430":1,"432":1,"435":1,"439":1,"443":1,"444":1,"445":1,"455":1,"458":2,"462":1,"464":1,"468":4,"481":2,"482":1,"486":1,"487":1,"488":1,"489":1,"495":1,"499":1,"503":1,"514":1,"520":3,"526":1,"527":1,"528":1,"529":3,"532":1,"533":2,"537":2,"546":1,"550":1}}],["counter",{"2":{"537":1}}],["course",{"2":{"512":1}}],["could",{"0":{"337":1},"2":{"11":4,"12":1,"26":1,"29":1,"46":1,"49":1,"54":1,"141":1,"343":1,"346":1,"348":1,"435":1,"486":1,"519":1,"520":1,"556":1}}],["coordinates",{"2":{"301":1,"436":1,"498":1}}],["coordinate",{"2":{"279":2,"318":2}}],["correctly",{"2":{"343":1}}],["correct",{"2":{"321":1,"452":1}}],["corresponding",{"2":{"315":1,"319":1}}],["core",{"0":{"264":1,"300":1},"1":{"265":1,"266":1,"267":1,"301":1,"302":1},"2":{"328":1}}],["corner",{"2":{"12":1,"19":1,"304":1,"310":1,"315":1,"331":1}}],["coffee",{"2":{"261":1}}],["collapse",{"2":{"537":1}}],["collaborative",{"2":{"298":1}}],["collaboration",{"2":{"274":1}}],["column",{"2":{"102":1}}],["color",{"2":{"6":1,"12":1,"19":1}}],["copr",{"2":{"494":1}}],["copy",{"0":{"435":1},"2":{"386":1,"435":2,"441":1,"449":1,"473":2,"483":1,"537":1,"556":1}}],["copyright",{"2":{"386":1,"483":2}}],["copying",{"2":{"10":1,"25":1}}],["copies",{"2":{"435":2}}],["copied",{"2":{"11":1,"26":1}}],["copilot",{"2":{"5":1,"8":3,"10":1,"106":1,"160":1}}],["combined",{"2":{"424":1,"468":1}}],["com",{"2":{"333":1,"382":4,"409":1,"436":2,"445":2,"458":1,"495":1}}],["come",{"2":{"296":1}}],["compensate",{"2":{"533":1}}],["computed",{"2":{"524":1}}],["computer",{"0":{"324":1,"326":1},"2":{"268":1,"292":1,"324":1,"325":2,"335":1,"357":1,"370":2,"373":1,"380":1,"391":1,"424":1,"427":1,"429":3,"435":6,"441":1,"455":2,"460":1,"470":1,"473":1,"477":2,"488":2,"500":3,"509":1,"512":1,"519":3,"529":1,"534":1,"537":2,"551":1}}],["computers",{"2":{"263":1,"268":1}}],["compiled",{"2":{"443":2,"444":1}}],["compile",{"0":{"405":1}}],["compression",{"2":{"393":2}}],["comprehensive",{"2":{"270":1}}],["complex",{"2":{"518":1}}],["completions",{"2":{"414":1}}],["completion",{"2":{"414":3}}],["complete",{"2":{"309":1,"311":1,"317":1,"325":1}}],["completely",{"2":{"267":1,"272":1,"535":1}}],["compliance",{"2":{"386":1,"483":1}}],["composed",{"2":{"441":1}}],["composes",{"2":{"435":1}}],["compositing",{"2":{"354":1}}],["compositor",{"0":{"354":1},"2":{"354":1}}],["components",{"0":{"300":1,"305":1,"307":1,"314":1,"446":1},"1":{"301":1,"302":1,"306":1,"307":1},"2":{"313":1,"314":1,"317":1,"444":1,"446":1,"451":1,"452":2}}],["component",{"0":{"301":1,"302":1,"306":1,"315":1},"2":{"8":1,"10":1,"17":1,"301":1,"302":1,"306":3,"307":1,"309":1,"315":2,"435":1}}],["compatibility",{"2":{"11":1,"29":1,"445":1}}],["compatible",{"2":{"11":1,"12":2,"27":1,"47":1,"74":1}}],["communicate",{"2":{"427":1,"519":1}}],["communications",{"2":{"391":1,"518":1}}],["communication",{"2":{"391":2,"441":1,"444":1}}],["commits",{"2":{"398":1}}],["commit",{"2":{"398":1}}],["comment",{"2":{"348":1}}],["comments",{"2":{"4":2,"12":1,"31":1}}],["common",{"0":{"321":1,"409":1},"1":{"410":1,"411":1,"412":1,"413":1,"414":1,"415":1},"2":{"275":1,"301":1,"322":1,"340":1,"477":1,"527":1}}],["command",{"2":{"11":1,"21":1,"148":1,"357":1,"364":1,"382":1,"429":1,"451":1,"461":1,"463":1,"464":1,"496":1,"508":1,"556":5}}],["commands",{"2":{"1":1,"341":1,"380":1,"382":1,"430":1,"445":1,"449":1}}],["codec=av1",{"2":{"527":1}}],["codec=aac",{"2":{"393":2,"512":1}}],["codec=h264",{"2":{"527":1,"528":1}}],["codec=h265",{"2":{"477":3,"527":1}}],["codec=raw",{"2":{"393":1,"395":1,"512":1}}],["codec=flac",{"2":{"393":2,"512":1}}],["codec=opus",{"2":{"393":1,"394":1}}],["codec",{"0":{"393":1,"527":1},"2":{"182":1,"183":1,"277":1,"280":1,"393":3,"395":1,"447":1,"456":3,"458":2,"527":2}}],["code",{"0":{"8":1,"14":1,"294":1},"2":{"8":1,"10":1,"12":7,"14":1,"31":1,"34":1,"40":1,"47":1,"57":1,"62":1,"63":1,"118":1,"150":1,"156":1,"266":1,"294":1,"328":1,"398":1,"445":1,"451":2,"455":1,"459":1}}],["concretely",{"2":{"458":1}}],["conclusion",{"0":{"273":1}}],["concurrency",{"2":{"6":1,"276":1}}],["convert",{"2":{"453":1}}],["conversion",{"2":{"12":1,"93":1}}],["convenience",{"2":{"380":1,"464":1,"468":1}}],["convenient",{"2":{"270":1}}],["connects",{"2":{"441":1,"455":2,"458":1}}],["connected",{"0":{"345":1},"2":{"302":1,"307":1,"321":1,"345":2,"358":2,"359":2,"360":1,"380":1,"426":5,"427":1,"430":1,"462":1,"473":1,"509":2}}],["connect",{"0":{"294":1,"295":1},"2":{"266":1,"274":1,"276":1,"292":1,"295":1,"427":1,"428":2,"429":4,"517":3,"518":1}}],["connections",{"2":{"12":1,"27":1,"172":1,"364":1,"428":1,"458":1}}],["connection",{"0":{"292":1,"293":1,"326":1,"425":1,"455":1},"1":{"294":1,"295":1,"426":1,"427":1,"428":1,"429":1,"430":1},"2":{"11":1,"12":12,"27":3,"57":1,"58":1,"59":2,"62":1,"65":1,"72":1,"80":1,"100":1,"113":1,"143":1,"172":1,"266":2,"270":1,"271":1,"274":2,"294":1,"295":2,"296":2,"326":2,"341":1,"347":1,"357":1,"367":1,"370":1,"381":1,"428":1,"429":1,"441":1,"446":1,"455":2,"478":1,"519":1}}],["connecting",{"0":{"324":1,"327":1,"329":1},"2":{"10":2,"63":2,"172":1,"295":1,"297":1,"344":1}}],["consequence",{"2":{"435":1}}],["consumes",{"2":{"372":1}}],["considered",{"2":{"454":1}}],["consideration",{"2":{"328":1}}],["consistent",{"2":{"12":1,"47":1}}],["constraints",{"2":{"310":1,"311":1,"419":1}}],["console",{"2":{"12":1,"69":1,"147":1,"438":1,"439":1,"526":1,"556":3}}],["contact",{"0":{"481":1}}],["containing",{"2":{"443":1,"556":1}}],["contains",{"2":{"378":1,"379":1,"398":1}}],["contain",{"2":{"378":1}}],["containers",{"2":{"513":1}}],["container",{"2":{"311":2,"452":1,"513":2}}],["contrary",{"2":{"446":1,"472":1,"486":1,"489":4,"490":1,"502":1}}],["contribute",{"2":{"398":1,"459":1}}],["control=false",{"2":{"458":1}}],["controlmessage",{"2":{"457":1}}],["controllers",{"2":{"477":1}}],["controller",{"0":{"453":1},"2":{"446":1,"449":1,"453":3}}],["controlled",{"2":{"380":1,"532":1}}],["controlling",{"2":{"10":1,"92":1,"274":1}}],["controls",{"0":{"457":1},"2":{"12":1,"93":1,"432":1,"441":2,"457":1}}],["control",{"0":{"262":1,"277":1,"278":1,"279":1,"280":1,"282":1,"283":1,"286":1,"328":1,"349":1,"431":1,"434":1,"511":1},"1":{"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"269":1,"270":1,"271":1,"272":1,"273":1,"350":1,"351":1,"432":1,"433":1,"434":1,"435":1,"436":1,"437":1,"438":1,"439":1},"2":{"10":2,"11":2,"12":9,"18":1,"19":1,"38":1,"39":1,"40":2,"50":1,"53":1,"87":1,"96":2,"97":1,"98":1,"155":1,"174":1,"175":2,"178":1,"263":2,"273":3,"274":4,"276":1,"278":3,"287":1,"297":1,"298":1,"313":1,"325":1,"328":1,"390":3,"391":1,"432":1,"434":2,"441":1,"446":4,"449":1,"451":1,"453":3,"455":3,"472":1,"473":1,"474":1,"477":3,"478":1,"490":1,"500":1,"502":1,"509":1,"511":2,"515":2}}],["continuously",{"2":{"275":1}}],["continues",{"2":{"271":1,"388":1}}],["content",{"2":{"268":1,"369":1,"435":4,"436":1,"441":1,"446":1,"447":1,"526":1,"530":1,"531":1,"541":1,"542":1}}],["context",{"2":{"164":1}}],["contextbridge",{"2":{"12":1,"68":1}}],["conditions",{"2":{"11":1,"54":1,"386":1,"441":1,"483":1}}],["confusion",{"2":{"556":1}}],["conference",{"2":{"520":1}}],["confirm",{"2":{"321":4}}],["confirmation",{"2":{"314":2}}],["configurable",{"2":{"473":1}}],["configurations",{"2":{"10":1,"11":1,"12":1,"27":1,"32":1,"36":1,"266":1,"274":1,"275":1,"299":2,"302":2,"313":1,"460":1}}],["configuration",{"0":{"301":1,"306":1,"316":1,"317":1,"318":1,"319":1},"1":{"317":1,"318":1,"319":1},"2":{"4":1,"5":2,"6":2,"11":3,"12":7,"27":1,"34":2,"36":1,"47":1,"53":1,"65":1,"84":1,"88":1,"136":1,"141":2,"175":1,"274":1,"301":1,"306":3,"313":1,"317":2,"318":4,"319":5,"321":1,"331":1,"412":1,"460":1,"478":1,"488":2,"533":1}}],["configured",{"2":{"12":1,"40":1,"460":1,"489":1,"503":1}}],["configure",{"2":{"8":1,"174":1,"325":1,"336":1,"396":1,"421":1,"428":1,"460":1,"484":1,"488":1}}],["config",{"2":{"1":1,"2":1,"4":1,"6":1,"8":4,"149":1,"266":1,"402":1,"406":2,"407":1,"456":2,"495":1}}],["conflicts",{"0":{"346":1},"2":{"130":1}}],["conflict",{"2":{"11":4,"18":1,"26":1,"52":1,"88":1,"141":2}}],["choco",{"2":{"555":1}}],["chocolatey",{"2":{"555":1}}],["choose",{"0":{"372":1}}],["chores",{"0":{"1":1,"2":1,"4":1,"13":1,"91":1,"154":1,"161":1}}],["chrome",{"2":{"338":1,"520":1}}],["chmod",{"2":{"338":1}}],["check",{"2":{"321":4,"331":1,"343":1,"344":1,"393":1,"445":1,"520":1,"527":1}}],["child",{"2":{"12":1,"53":1}}],["chinese",{"0":{"325":1},"2":{"11":1,"18":1,"126":1,"140":1,"325":1,"337":1}}],["character",{"2":{"503":1}}],["characters",{"0":{"351":1},"2":{"11":1,"36":1,"337":1,"351":2,"449":1,"485":1,"486":1,"489":1,"503":1}}],["chargers",{"2":{"462":1}}],["charging",{"2":{"155":1}}],["changing",{"2":{"337":1}}],["changes",{"2":{"309":1,"396":1,"435":1,"441":1,"447":2,"462":1,"526":1,"529":1}}],["changed",{"2":{"182":1,"353":1,"439":1,"462":1,"529":1,"537":1,"546":1}}],["change",{"2":{"8":1,"310":1,"351":1,"393":1,"395":1,"396":1,"435":1,"445":1,"447":1,"454":2,"463":2,"464":1,"465":1,"525":1,"529":1}}],["changelog",{"0":{"0":1},"1":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"154":1,"155":1,"156":1,"157":1,"158":1,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"168":1,"169":1,"170":1,"171":1,"172":1,"173":1,"174":1,"175":1,"176":1,"177":1,"178":1,"179":1,"180":1,"181":1,"182":1,"183":1,"184":1,"185":1,"186":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"209":1,"210":1,"211":1,"212":1,"213":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1,"225":1,"226":1,"227":1,"228":1,"229":1,"230":1,"231":1,"232":1,"233":1,"234":1,"235":1,"236":1,"237":1,"238":1,"239":1,"240":1,"241":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":1,"248":1,"249":1,"250":1,"251":1,"252":1,"253":1,"254":1,"255":1,"256":1,"257":1,"258":1,"259":1,"260":1}}],["chance",{"2":{"11":1,"39":1}}]],"serializationVersion":2}';export{e as default}; diff --git a/assets/chunks/@localSearchIndexzhHans.oGo9dKfH.js b/assets/chunks/@localSearchIndexzhHans.CYSL5fdv.js similarity index 71% rename from assets/chunks/@localSearchIndexzhHans.oGo9dKfH.js rename to assets/chunks/@localSearchIndexzhHans.CYSL5fdv.js index 5be8bc26b..8dbb37319 100644 --- a/assets/chunks/@localSearchIndexzhHans.oGo9dKfH.js +++ b/assets/chunks/@localSearchIndexzhHans.CYSL5fdv.js @@ -1 +1 @@ -const e='{"documentCount":557,"nextId":557,"documentIds":{"0":"/zhHans/changelog#changelog","1":"/zhHans/changelog#miscellaneous-chores","2":"/zhHans/changelog#miscellaneous-chores-1","3":"/zhHans/changelog#bug-fixes","4":"/zhHans/changelog#miscellaneous-chores-2","5":"/zhHans/changelog#features","6":"/zhHans/changelog#bug-fixes-1","7":"/zhHans/changelog#performance-improvements","8":"/zhHans/changelog#code-refactoring","9":"/zhHans/changelog#bug-fixes-2","10":"/zhHans/changelog#features-1","11":"/zhHans/changelog#bug-fixes-3","12":"/zhHans/changelog#performance-improvements-1","13":"/zhHans/changelog#miscellaneous-chores-3","14":"/zhHans/changelog#code-refactoring-1","15":"/zhHans/changelog#performance-improvements-2","16":"/zhHans/changelog#performance-improvements-3","17":"/zhHans/changelog#features-2","18":"/zhHans/changelog#bug-fixes-4","19":"/zhHans/changelog#performance-improvements-4","20":"/zhHans/changelog#features-3","21":"/zhHans/changelog#bug-fixes-5","22":"/zhHans/changelog#performance-improvements-5","23":"/zhHans/changelog#performance-improvements-6","24":"/zhHans/changelog#performance-improvements-7","25":"/zhHans/changelog#features-4","26":"/zhHans/changelog#bug-fixes-6","27":"/zhHans/changelog#performance-improvements-8","28":"/zhHans/changelog#performance-improvements-9","29":"/zhHans/changelog#bug-fixes-7","30":"/zhHans/changelog#performance-improvements-10","31":"/zhHans/changelog#performance-improvements-11","32":"/zhHans/changelog#features-5","33":"/zhHans/changelog#bug-fixes-8","34":"/zhHans/changelog#performance-improvements-12","35":"/zhHans/changelog#performance-improvements-13","36":"/zhHans/changelog#bug-fixes-9","37":"/zhHans/changelog#performance-improvements-14","38":"/zhHans/changelog#features-6","39":"/zhHans/changelog#bug-fixes-10","40":"/zhHans/changelog#performance-improvements-15","41":"/zhHans/changelog#performance-improvements-16","42":"/zhHans/changelog#bug-fixes-11","43":"/zhHans/changelog#performance-improvements-17","44":"/zhHans/changelog#performance-improvements-18","45":"/zhHans/changelog#bug-fixes-12","46":"/zhHans/changelog#bug-fixes-13","47":"/zhHans/changelog#performance-improvements-19","48":"/zhHans/changelog#performance-improvements-20","49":"/zhHans/changelog#performance-improvements-21","50":"/zhHans/changelog#performance-improvements-22","51":"/zhHans/changelog#features-7","52":"/zhHans/changelog#bug-fixes-14","53":"/zhHans/changelog#performance-improvements-23","54":"/zhHans/changelog#bug-fixes-15","55":"/zhHans/changelog#performance-improvements-24","56":"/zhHans/changelog#bug-fixes-16","57":"/zhHans/changelog#performance-improvements-25","58":"/zhHans/changelog#bug-fixes-17","59":"/zhHans/changelog#performance-improvements-26","60":"/zhHans/changelog#performance-improvements-27","61":"/zhHans/changelog#performance-improvements-28","62":"/zhHans/changelog#performance-improvements-29","63":"/zhHans/changelog#features-8","64":"/zhHans/changelog#bug-fixes-18","65":"/zhHans/changelog#performance-improvements-30","66":"/zhHans/changelog#performance-improvements-31","67":"/zhHans/changelog#bug-fixes-19","68":"/zhHans/changelog#performance-improvements-32","69":"/zhHans/changelog#performance-improvements-33","70":"/zhHans/changelog#bug-fixes-20","71":"/zhHans/changelog#bug-fixes-21","72":"/zhHans/changelog#performance-improvements-34","73":"/zhHans/changelog#bug-fixes-22","74":"/zhHans/changelog#bug-fixes-23","75":"/zhHans/changelog#performance-improvements-35","76":"/zhHans/changelog#features-9","77":"/zhHans/changelog#performance-improvements-36","78":"/zhHans/changelog#bug-fixes-24","79":"/zhHans/changelog#bug-fixes-25","80":"/zhHans/changelog#performance-improvements-37","81":"/zhHans/changelog#bug-fixes-26","82":"/zhHans/changelog#performance-improvements-38","83":"/zhHans/changelog#features-10","84":"/zhHans/changelog#bug-fixes-27","85":"/zhHans/changelog#performance-improvements-39","86":"/zhHans/changelog#performance-improvements-40","87":"/zhHans/changelog#performance-improvements-41","88":"/zhHans/changelog#bug-fixes-28","89":"/zhHans/changelog#performance-improvements-42","90":"/zhHans/changelog#bug-fixes-29","91":"/zhHans/changelog#miscellaneous-chores-4","92":"/zhHans/changelog#features-11","93":"/zhHans/changelog#performance-improvements-43","94":"/zhHans/changelog#performance-improvements-44","95":"/zhHans/changelog#bug-fixes-30","96":"/zhHans/changelog#performance-improvements-45","97":"/zhHans/changelog#features-12","98":"/zhHans/changelog#performance-improvements-46","99":"/zhHans/changelog#bug-fixes-31","100":"/zhHans/changelog#performance-improvements-47","101":"/zhHans/changelog#bug-fixes-32","102":"/zhHans/changelog#performance-improvements-48","103":"/zhHans/changelog#performance-improvements-49","104":"/zhHans/changelog#performance-improvements-50","105":"/zhHans/changelog#features-13","106":"/zhHans/changelog#performance-improvements-51","107":"/zhHans/changelog#bug-fixes-33","108":"/zhHans/changelog#performance-improvements-52","109":"/zhHans/changelog#performance-improvements-53","110":"/zhHans/changelog#performance-improvements-54","111":"/zhHans/changelog#bug-fixes-34","112":"/zhHans/changelog#features-14","113":"/zhHans/changelog#bug-fixes-35","114":"/zhHans/changelog#performance-improvements-55","115":"/zhHans/changelog#performance-improvements-56","116":"/zhHans/changelog#bug-fixes-36","117":"/zhHans/changelog#bug-fixes-37","118":"/zhHans/changelog#performance-improvements-57","119":"/zhHans/changelog#bug-fixes-38","120":"/zhHans/changelog#features-15","121":"/zhHans/changelog#bug-fixes-39","122":"/zhHans/changelog#performance-improvements-58","123":"/zhHans/changelog#bug-fixes-40","124":"/zhHans/changelog#features-16","125":"/zhHans/changelog#performance-improvements-59","126":"/zhHans/changelog#bug-fixes-41","127":"/zhHans/changelog#performance-improvements-60","128":"/zhHans/changelog#bug-fixes-42","129":"/zhHans/changelog#bug-fixes-43","130":"/zhHans/changelog#bug-fixes-44","131":"/zhHans/changelog#performance-improvements-61","132":"/zhHans/changelog#features-17","133":"/zhHans/changelog#bug-fixes-45","134":"/zhHans/changelog#performance-improvements-62","135":"/zhHans/changelog#bug-fixes-46","136":"/zhHans/changelog#performance-improvements-63","137":"/zhHans/changelog#bug-fixes-47","138":"/zhHans/changelog#bug-fixes-48","139":"/zhHans/changelog#performance-improvements-64","140":"/zhHans/changelog#features-18","141":"/zhHans/changelog#bug-fixes-49","142":"/zhHans/changelog#bug-fixes-50","143":"/zhHans/changelog#performance-improvements-65","144":"/zhHans/changelog#performance-improvements-66","145":"/zhHans/changelog#performance-improvements-67","146":"/zhHans/changelog#performance-improvements-68","147":"/zhHans/changelog#performance-improvements-69","148":"/zhHans/changelog#bug-fixes-51","149":"/zhHans/changelog#performance-improvements-70","150":"/zhHans/changelog#performance-improvements-71","151":"/zhHans/changelog#features-19","152":"/zhHans/changelog#bug-fixes-52","153":"/zhHans/changelog#performance-improvements-72","154":"/zhHans/changelog#miscellaneous-chores-5","155":"/zhHans/changelog#performance-improvements-73","156":"/zhHans/changelog#bug-fixes-53","157":"/zhHans/changelog#performance-improvements-74","158":"/zhHans/changelog#bug-fixes-54","159":"/zhHans/changelog#bug-fixes-55","160":"/zhHans/changelog#performance-improvements-75","161":"/zhHans/changelog#miscellaneous-chores-6","162":"/zhHans/changelog#features-20","163":"/zhHans/changelog#performance-improvements-76","164":"/zhHans/changelog#performance-improvements-77","165":"/zhHans/changelog#performance-improvements-78","166":"/zhHans/changelog#bug-fixes-56","167":"/zhHans/changelog#features-21","168":"/zhHans/changelog#performance-improvements-79","169":"/zhHans/changelog#performance-improvements-80","170":"/zhHans/changelog#performance-improvements-81","171":"/zhHans/changelog#bug-fixes-57","172":"/zhHans/changelog#performance-improvements-82","173":"/zhHans/changelog#bug-fixes-58","174":"/zhHans/changelog#performance-improvements-83","175":"/zhHans/changelog#performance-improvements-84","176":"/zhHans/changelog#features-22","177":"/zhHans/changelog#bug-fixes-59","178":"/zhHans/changelog#performance-improvements-85","179":"/zhHans/changelog#bug-fixes-60","180":"/zhHans/changelog#bug-fixes-61","181":"/zhHans/changelog#bug-fixes-62","182":"/zhHans/changelog#bug-fixes-63","183":"/zhHans/changelog#performance-improvements-86","184":"/zhHans/changelog#features-23","185":"/zhHans/changelog#bug-fixes-64","186":"/zhHans/changelog#performance-improvements-87","187":"/zhHans/changelog#performance-improvements-88","188":"/zhHans/changelog#bug-fixes-65","189":"/zhHans/changelog#bug-fixes-66","190":"/zhHans/changelog#bug-fixes-67","191":"/zhHans/changelog#bug-fixes-68","192":"/zhHans/changelog#bug-fixes-69","193":"/zhHans/changelog#bug-fixes-70","194":"/zhHans/changelog#bug-fixes-71","195":"/zhHans/changelog#bug-fixes-72","196":"/zhHans/changelog#features-24","197":"/zhHans/changelog#bug-fixes-73","198":"/zhHans/changelog#performance-improvements-89","199":"/zhHans/changelog#bug-fixes-74","200":"/zhHans/changelog#bug-fixes-75","201":"/zhHans/changelog#features-25","202":"/zhHans/changelog#bug-fixes-76","203":"/zhHans/changelog#performance-improvements-90","204":"/zhHans/changelog#performance-improvements-91","205":"/zhHans/changelog#features-26","206":"/zhHans/changelog#bug-fixes-77","207":"/zhHans/changelog#bug-fixes-78","208":"/zhHans/changelog#performance-improvements-92","209":"/zhHans/changelog#bug-fixes-79","210":"/zhHans/changelog#bug-fixes-80","211":"/zhHans/changelog#performance-improvements-93","212":"/zhHans/changelog#bug-fixes-81","213":"/zhHans/changelog#performance-improvements-94","214":"/zhHans/changelog#bug-fixes-82","215":"/zhHans/changelog#bug-fixes-83","216":"/zhHans/changelog#bug-fixes-84","217":"/zhHans/changelog#bug-fixes-85","218":"/zhHans/changelog#bug-fixes-86","219":"/zhHans/changelog#bug-fixes-87","220":"/zhHans/changelog#bug-fixes-88","221":"/zhHans/changelog#bug-fixes-89","222":"/zhHans/changelog#bug-fixes-90","223":"/zhHans/changelog#performance-improvements-95","224":"/zhHans/changelog#features-27","225":"/zhHans/changelog#bug-fixes-91","226":"/zhHans/changelog#performance-improvements-96","227":"/zhHans/changelog#bug-fixes-92","228":"/zhHans/changelog#performance-improvements-97","229":"/zhHans/changelog#features-28","230":"/zhHans/changelog#performance-improvements-98","231":"/zhHans/changelog#performance-improvements-99","232":"/zhHans/changelog#bug-fixes-93","233":"/zhHans/changelog#performance-improvements-100","234":"/zhHans/changelog#performance-improvements-101","235":"/zhHans/changelog#bug-fixes-94","236":"/zhHans/changelog#bug-fixes-95","237":"/zhHans/changelog#bug-fixes-96","238":"/zhHans/changelog#bug-fixes-97","239":"/zhHans/changelog#bug-fixes-98","240":"/zhHans/changelog#performance-improvements-102","241":"/zhHans/changelog#features-29","242":"/zhHans/changelog#bug-fixes-99","243":"/zhHans/changelog#bug-fixes-100","244":"/zhHans/changelog#performance-improvements-103","245":"/zhHans/changelog#bug-fixes-101","246":"/zhHans/changelog#features-30","247":"/zhHans/changelog#bug-fixes-102","248":"/zhHans/changelog#features-31","249":"/zhHans/changelog#bug-fixes-103","250":"/zhHans/changelog#bug-fixes-104","251":"/zhHans/changelog#bug-fixes-105","252":"/zhHans/changelog#bug-fixes-106","253":"/zhHans/changelog#features-32","254":"/zhHans/changelog#features-33","255":"/zhHans/changelog#features-34","256":"/zhHans/changelog#performance-improvements-104","257":"/zhHans/changelog#bug-fixes-107","258":"/zhHans/changelog#_1-0-0-2023-09-16","259":"/zhHans/changelog#features-35","260":"/zhHans/changelog#bug-fixes-108","261":"/zhHans/donate#捐赠项目♥️","262":"/zhHans/guide/#escrcpy-基于electron的图形化安卓设备控制工具","263":"/zhHans/guide/#什么是escrcpy","264":"/zhHans/guide/#核心功能","265":"/zhHans/guide/#高效稳定的投屏体验","266":"/zhHans/guide/#丰富的功能特性","267":"/zhHans/guide/#优化的用户体验","268":"/zhHans/guide/#使用场景","269":"/zhHans/guide/#跨平台支持","270":"/zhHans/guide/#技术优势","271":"/zhHans/guide/#未来发展","272":"/zhHans/guide/#如何使用","273":"/zhHans/guide/#结语","274":"/zhHans/guide/milestones#里程碑","275":"/zhHans/guide/operation#设备操作指南","276":"/zhHans/guide/operation#批量处理","277":"/zhHans/guide/operation#控制模式","278":"/zhHans/guide/operation#设备交互栏","279":"/zhHans/guide/preferences#偏好设置","280":"/zhHans/guide/preferences#通用设置","281":"/zhHans/guide/preferences#视频控制","282":"/zhHans/guide/preferences#设备控制","283":"/zhHans/guide/preferences#窗口控制","284":"/zhHans/guide/preferences#音频控制","285":"/zhHans/guide/preferences#音视频录制","286":"/zhHans/guide/preferences#输入控制","287":"/zhHans/guide/preferences#摄像头控制","288":"/zhHans/guide/started#快速上手","289":"/zhHans/guide/started#安装说明","290":"/zhHans/guide/started#手动安装-通过发行包","291":"/zhHans/guide/started#macos用户可通过homebrew安装","292":"/zhHans/guide/started#usb连接方式","293":"/zhHans/guide/started#无线连接方式","294":"/zhHans/guide/started#扫码连接","295":"/zhHans/guide/started#ip地址连接","296":"/zhHans/guide/started#macos与linux平台","297":"/zhHans/guide/started#gnirehtet反向网络共享","298":"/zhHans/guide/window-arrangement#设备窗口编排功能详解","299":"/zhHans/guide/window-arrangement#功能概述","300":"/zhHans/guide/window-arrangement#核心组件","301":"/zhHans/guide/window-arrangement#全局配置组件","302":"/zhHans/guide/window-arrangement#设备窗口组件","303":"/zhHans/guide/window-arrangement#详细操作指南","304":"/zhHans/guide/window-arrangement#启动窗口编排","305":"/zhHans/guide/window-arrangement#添加和管理组件","306":"/zhHans/guide/window-arrangement#添加全局配置组件","307":"/zhHans/guide/window-arrangement#添加设备窗口组件","308":"/zhHans/guide/window-arrangement#窗口布局调整","309":"/zhHans/guide/window-arrangement#移动窗口位置","310":"/zhHans/guide/window-arrangement#调整窗口尺寸","311":"/zhHans/guide/window-arrangement#尺寸限制说明","312":"/zhHans/guide/window-arrangement#布局管理操作","313":"/zhHans/guide/window-arrangement#重置布局","314":"/zhHans/guide/window-arrangement#清除全部组件","315":"/zhHans/guide/window-arrangement#删除单个组件","316":"/zhHans/guide/window-arrangement#配置保存和应用","317":"/zhHans/guide/window-arrangement#保存布局配置","318":"/zhHans/guide/window-arrangement#配置存储机制","319":"/zhHans/guide/window-arrangement#配置应用时机","320":"/zhHans/guide/window-arrangement#故障排除","321":"/zhHans/guide/window-arrangement#常见问题","322":"/zhHans/help/escrcpy#escrcpy","323":"/zhHans/help/escrcpy#电脑连接后无法识别设备","324":"/zhHans/help/escrcpy#无法输入中文","325":"/zhHans/help/escrcpy#无线连接提示-目标计算机积极拒绝访问","326":"/zhHans/help/escrcpy#数据线连接后点击无线模式无响应","327":"/zhHans/help/escrcpy#为何设备交互控制栏未设计为自动贴边的悬浮菜单","328":"/zhHans/help/escrcpy#部分设备连接后可见画面但无法操作","329":"/zhHans/help/escrcpy#下载时提示杀毒检测导致无法正常下载","330":"/zhHans/help/escrcpy#启动镜像-录制时获取设备列表失败或报错","331":"/zhHans/help/escrcpy#macos窗口最小化至系统托盘图标未找到","332":"/zhHans/help/escrcpy#macos安装成功后打开提示文件已损坏","333":"/zhHans/help/escrcpy#无法定位程序输入点discardvirtualmemory于动态链接库kernel32-dll上","334":"/zhHans/help/escrcpy#音频捕获异常导致镜像失败","335":"/zhHans/help/escrcpy#微软商店版镜像启动报错","336":"/zhHans/help/escrcpy#无法执行-adb-start-server","337":"/zhHans/help/escrcpy#linux系统安装后无法打开","338":"/zhHans/help/escrcpy#调整投屏窗口大小后出现黑边","339":"/zhHans/help/scrcpy#scrcpy","340":"/zhHans/help/scrcpy#adb-与-usb-问题","341":"/zhHans/help/scrcpy#adb-未找到","342":"/zhHans/help/scrcpy#设备未检测到","343":"/zhHans/help/scrcpy#设备未授权","344":"/zhHans/help/scrcpy#多设备连接冲突","345":"/zhHans/help/scrcpy#adb-版本冲突","346":"/zhHans/help/scrcpy#设备断开连接","347":"/zhHans/help/scrcpy#windows-otg-问题","348":"/zhHans/help/scrcpy#控制问题","349":"/zhHans/help/scrcpy#鼠标键盘失效","350":"/zhHans/help/scrcpy#特殊字符输入异常","351":"/zhHans/help/scrcpy#客户端问题","352":"/zhHans/help/scrcpy#wayland-兼容性问题","353":"/zhHans/help/scrcpy#kwin-合成器崩溃","354":"/zhHans/help/scrcpy#崩溃问题","355":"/zhHans/help/scrcpy#mediacodec-异常","356":"/zhHans/help/#帮助中心","357":"/zhHans/reference/gnirehtet/api#gnirehtet-api","358":"/zhHans/reference/gnirehtet/api#gnirehtet-install-serial","359":"/zhHans/reference/gnirehtet/api#gnirehtet-uninstall-serial","360":"/zhHans/reference/gnirehtet/api#gnirehtet-reinstall-serial","361":"/zhHans/reference/gnirehtet/api#gnirehtet-run-serial-d-dns-dns2-p-port-r-route-route2","362":"/zhHans/reference/gnirehtet/api#gnirehtet-autorun-d-dns-dns2-p-port-r-route-route2","363":"/zhHans/reference/gnirehtet/api#gnirehtet-start-serial-d-dns-dns2-p-port-r-route-route2","364":"/zhHans/reference/gnirehtet/api#gnirehtet-autostart-d-dns-dns2-p-port-r-route-route2","365":"/zhHans/reference/gnirehtet/api#gnirehtet-stop-serial","366":"/zhHans/reference/gnirehtet/api#gnirehtet-restart-serial-d-dns-dns2-p-port-r-route-route2","367":"/zhHans/reference/gnirehtet/api#gnirehtet-tunnel-serial-p-port","368":"/zhHans/reference/gnirehtet/api#gnirehtet-relay-p-port","369":"/zhHans/reference/gnirehtet/#gnirehtet-v2-5-1","370":"/zhHans/reference/gnirehtet/#版本","371":"/zhHans/reference/gnirehtet/#如何选择","372":"/zhHans/reference/gnirehtet/#要求","373":"/zhHans/reference/gnirehtet/#adb","374":"/zhHans/reference/gnirehtet/#获取应用","375":"/zhHans/reference/gnirehtet/#homebrew","376":"/zhHans/reference/gnirehtet/#下载","377":"/zhHans/reference/gnirehtet/#rust","378":"/zhHans/reference/gnirehtet/#java","379":"/zhHans/reference/gnirehtet/#运行-简单方式","380":"/zhHans/reference/gnirehtet/#运行-分步操作","381":"/zhHans/reference/gnirehtet/#手动运行","382":"/zhHans/reference/gnirehtet/#环境变量","383":"/zhHans/reference/gnirehtet/#为什么叫gnirehtet","384":"/zhHans/reference/gnirehtet/#开发者","385":"/zhHans/reference/gnirehtet/#许可证","386":"/zhHans/reference/gnirehtet/#相关文章","387":"/zhHans/reference/#参考手册","388":"/zhHans/reference/scrcpy/audio#音频","389":"/zhHans/reference/scrcpy/audio#禁用音频","390":"/zhHans/reference/scrcpy/audio#仅音频模式","391":"/zhHans/reference/scrcpy/audio#音频源","392":"/zhHans/reference/scrcpy/audio#音频复制","393":"/zhHans/reference/scrcpy/audio#编解码器","394":"/zhHans/reference/scrcpy/audio#编码器","395":"/zhHans/reference/scrcpy/audio#比特率","396":"/zhHans/reference/scrcpy/audio#缓冲","397":"/zhHans/reference/scrcpy/build#编译-scrcpy","398":"/zhHans/reference/scrcpy/build#分支","399":"/zhHans/reference/scrcpy/build#要求","400":"/zhHans/reference/scrcpy/build#系统特定步骤","401":"/zhHans/reference/scrcpy/build#linux","402":"/zhHans/reference/scrcpy/build#debian-ubuntu","403":"/zhHans/reference/scrcpy/build#fedora","404":"/zhHans/reference/scrcpy/build#windows","405":"/zhHans/reference/scrcpy/build#从-linux-交叉编译","406":"/zhHans/reference/scrcpy/build#在-msys2-中构建","407":"/zhHans/reference/scrcpy/build#mac-os","408":"/zhHans/reference/scrcpy/build#docker","409":"/zhHans/reference/scrcpy/build#通用步骤","410":"/zhHans/reference/scrcpy/build#构建","411":"/zhHans/reference/scrcpy/build#选项-1-从源码构建所有内容","412":"/zhHans/reference/scrcpy/build#选项-2-使用预构建服务器","413":"/zhHans/reference/scrcpy/build#不安装直接运行","414":"/zhHans/reference/scrcpy/build#安装","415":"/zhHans/reference/scrcpy/build#卸载","416":"/zhHans/reference/scrcpy/camera#相机","417":"/zhHans/reference/scrcpy/camera#列表","418":"/zhHans/reference/scrcpy/camera#选择","419":"/zhHans/reference/scrcpy/camera#尺寸选择","420":"/zhHans/reference/scrcpy/camera#旋转","421":"/zhHans/reference/scrcpy/camera#帧率","422":"/zhHans/reference/scrcpy/camera#高速捕获","423":"/zhHans/reference/scrcpy/camera#花括号扩展技巧","424":"/zhHans/reference/scrcpy/camera#网络摄像头","425":"/zhHans/reference/scrcpy/connection#连接","426":"/zhHans/reference/scrcpy/connection#设备选择","427":"/zhHans/reference/scrcpy/connection#tcp-ip-无线连接","428":"/zhHans/reference/scrcpy/connection#自动连接","429":"/zhHans/reference/scrcpy/connection#手动连接","430":"/zhHans/reference/scrcpy/connection#自动启动","431":"/zhHans/reference/scrcpy/control#控制","432":"/zhHans/reference/scrcpy/control#只读模式","433":"/zhHans/reference/scrcpy/control#键盘与鼠标","434":"/zhHans/reference/scrcpy/control#仅控制模式","435":"/zhHans/reference/scrcpy/control#复制粘贴","436":"/zhHans/reference/scrcpy/control#捏合缩放、旋转与倾斜模拟","437":"/zhHans/reference/scrcpy/control#文件拖放","438":"/zhHans/reference/scrcpy/control#安装apk","439":"/zhHans/reference/scrcpy/control#推送文件到设备","440":"/zhHans/reference/scrcpy/develop#开发者指南-scrcpy","441":"/zhHans/reference/scrcpy/develop#概述","442":"/zhHans/reference/scrcpy/develop#服务端","443":"/zhHans/reference/scrcpy/develop#权限","444":"/zhHans/reference/scrcpy/develop#隐藏方法","445":"/zhHans/reference/scrcpy/develop#执行","446":"/zhHans/reference/scrcpy/develop#组件","447":"/zhHans/reference/scrcpy/develop#屏幕视频编码","448":"/zhHans/reference/scrcpy/develop#音频编码","449":"/zhHans/reference/scrcpy/develop#输入事件注入","450":"/zhHans/reference/scrcpy/develop#客户端","451":"/zhHans/reference/scrcpy/develop#初始化","452":"/zhHans/reference/scrcpy/develop#视频和音频流","453":"/zhHans/reference/scrcpy/develop#控制器","454":"/zhHans/reference/scrcpy/develop#协议","455":"/zhHans/reference/scrcpy/develop#连接","456":"/zhHans/reference/scrcpy/develop#视频和音频","457":"/zhHans/reference/scrcpy/develop#控制","458":"/zhHans/reference/scrcpy/develop#独立服务端","459":"/zhHans/reference/scrcpy/develop#黑客指南","460":"/zhHans/reference/scrcpy/develop#调试服务端","461":"/zhHans/reference/scrcpy/device#设备控制","462":"/zhHans/reference/scrcpy/device#保持唤醒","463":"/zhHans/reference/scrcpy/device#屏幕关闭超时","464":"/zhHans/reference/scrcpy/device#关闭屏幕","465":"/zhHans/reference/scrcpy/device#显示触摸痕迹","466":"/zhHans/reference/scrcpy/device#关闭时断电","467":"/zhHans/reference/scrcpy/device#启动时通电","468":"/zhHans/reference/scrcpy/device#启动android应用","469":"/zhHans/reference/scrcpy/gamepad#gamepad-游戏手柄","470":"/zhHans/reference/scrcpy/gamepad#物理游戏手柄模拟","471":"/zhHans/reference/scrcpy/gamepad#uhid-模式","472":"/zhHans/reference/scrcpy/gamepad#aoa-模式","473":"/zhHans/reference/scrcpy/#scrcpy-v3-2","474":"/zhHans/reference/scrcpy/#前提条件","475":"/zhHans/reference/scrcpy/#获取应用","476":"/zhHans/reference/scrcpy/#必知技巧","477":"/zhHans/reference/scrcpy/#使用示例","478":"/zhHans/reference/scrcpy/#用户文档","479":"/zhHans/reference/scrcpy/#资源","480":"/zhHans/reference/scrcpy/#相关文章","481":"/zhHans/reference/scrcpy/#联系方式","482":"/zhHans/reference/scrcpy/#捐赠","483":"/zhHans/reference/scrcpy/#许可证","484":"/zhHans/reference/scrcpy/keyboard#键盘","485":"/zhHans/reference/scrcpy/keyboard#sdk-键盘模式","486":"/zhHans/reference/scrcpy/keyboard#文本注入偏好","487":"/zhHans/reference/scrcpy/keyboard#按键重复","488":"/zhHans/reference/scrcpy/keyboard#物理键盘模拟","489":"/zhHans/reference/scrcpy/keyboard#uhid-模式","490":"/zhHans/reference/scrcpy/keyboard#aoa-模式","491":"/zhHans/reference/scrcpy/linux#linux-平台指南","492":"/zhHans/reference/scrcpy/linux#安装","493":"/zhHans/reference/scrcpy/linux#官方发布版本","494":"/zhHans/reference/scrcpy/linux#通过包管理器安装","495":"/zhHans/reference/scrcpy/linux#使用安装脚本","496":"/zhHans/reference/scrcpy/linux#运行","497":"/zhHans/reference/scrcpy/macos#在-macos-上使用-scrcpy","498":"/zhHans/reference/scrcpy/macos#安装","499":"/zhHans/reference/scrcpy/macos#从官方发布版本安装","500":"/zhHans/reference/scrcpy/macos#通过包管理器安装","501":"/zhHans/reference/scrcpy/macos#运行","502":"/zhHans/reference/scrcpy/mouse#鼠标","503":"/zhHans/reference/scrcpy/mouse#sdk-鼠标模式","504":"/zhHans/reference/scrcpy/mouse#鼠标悬停","505":"/zhHans/reference/scrcpy/mouse#物理鼠标模拟","506":"/zhHans/reference/scrcpy/mouse#uhid-模式","507":"/zhHans/reference/scrcpy/mouse#aoa-模式","508":"/zhHans/reference/scrcpy/mouse#鼠标按键绑定","509":"/zhHans/reference/scrcpy/otg#otg","510":"/zhHans/reference/scrcpy/otg#windows-上的-otg-问题","511":"/zhHans/reference/scrcpy/otg#仅控制功能","512":"/zhHans/reference/scrcpy/recording#录制","513":"/zhHans/reference/scrcpy/recording#格式","514":"/zhHans/reference/scrcpy/recording#旋转","515":"/zhHans/reference/scrcpy/recording#无播放","516":"/zhHans/reference/scrcpy/recording#时间限制","517":"/zhHans/reference/scrcpy/shortcuts#快捷键","518":"/zhHans/reference/scrcpy/tunnels#隧道连接","519":"/zhHans/reference/scrcpy/tunnels#远程-adb-服务器","520":"/zhHans/reference/scrcpy/tunnels#ssh-隧道","521":"/zhHans/reference/scrcpy/v4l2#video4linux","522":"/zhHans/reference/scrcpy/v4l2#缓冲","523":"/zhHans/reference/scrcpy/virtual_display#虚拟显示屏","524":"/zhHans/reference/scrcpy/virtual_display#新建虚拟显示屏","525":"/zhHans/reference/scrcpy/virtual_display#启动应用","526":"/zhHans/reference/scrcpy/virtual_display#系统装饰","527":"/zhHans/reference/scrcpy/virtual_display#关闭时销毁","528":"/zhHans/reference/scrcpy/virtual_display#输入法策略","529":"/zhHans/reference/scrcpy/video#视频","530":"/zhHans/reference/scrcpy/video#源","531":"/zhHans/reference/scrcpy/video#尺寸","532":"/zhHans/reference/scrcpy/video#比特率","533":"/zhHans/reference/scrcpy/video#帧率","534":"/zhHans/reference/scrcpy/video#编解码器","535":"/zhHans/reference/scrcpy/video#编码器","536":"/zhHans/reference/scrcpy/video#方向","537":"/zhHans/reference/scrcpy/video#角度","538":"/zhHans/reference/scrcpy/video#裁剪","539":"/zhHans/reference/scrcpy/video#显示","540":"/zhHans/reference/scrcpy/video#缓冲","541":"/zhHans/reference/scrcpy/video#无播放","542":"/zhHans/reference/scrcpy/video#无视频","543":"/zhHans/reference/scrcpy/video#video4linux","544":"/zhHans/reference/scrcpy/window#窗口设置","545":"/zhHans/reference/scrcpy/window#禁用窗口显示","546":"/zhHans/reference/scrcpy/window#窗口标题","547":"/zhHans/reference/scrcpy/window#位置与尺寸","548":"/zhHans/reference/scrcpy/window#无边框模式","549":"/zhHans/reference/scrcpy/window#窗口置顶","550":"/zhHans/reference/scrcpy/window#全屏模式","551":"/zhHans/reference/scrcpy/window#禁用屏幕保护","552":"/zhHans/reference/scrcpy/windows#windows-平台指南","553":"/zhHans/reference/scrcpy/windows#安装","554":"/zhHans/reference/scrcpy/windows#官方发布版本","555":"/zhHans/reference/scrcpy/windows#通过包管理器安装","556":"/zhHans/reference/scrcpy/windows#运行"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[1,1,1],"1":[2,1,14],"2":[2,1,9],"3":[2,1,7],"4":[2,1,43],"5":[1,1,59],"6":[2,1,65],"7":[2,1,14],"8":[2,1,103],"9":[2,1,11],"10":[1,1,154],"11":[2,1,282],"12":[2,1,533],"13":[2,1,8],"14":[2,1,14],"15":[2,1,23],"16":[2,1,7],"17":[1,1,40],"18":[2,1,34],"19":[2,1,59],"20":[1,1,7],"21":[2,1,36],"22":[2,1,23],"23":[2,1,8],"24":[2,1,8],"25":[1,1,21],"26":[2,1,23],"27":[2,1,51],"28":[2,1,10],"29":[2,1,20],"30":[2,1,8],"31":[2,1,7],"32":[1,1,26],"33":[2,1,33],"34":[2,1,78],"35":[2,1,14],"36":[2,1,41],"37":[2,1,14],"38":[1,1,18],"39":[2,1,49],"40":[2,1,45],"41":[2,1,9],"42":[2,1,19],"43":[2,1,8],"44":[2,1,17],"45":[2,1,13],"46":[2,1,16],"47":[2,1,43],"48":[2,1,25],"49":[2,1,23],"50":[2,1,29],"51":[1,1,21],"52":[2,1,23],"53":[2,1,63],"54":[2,1,30],"55":[2,1,26],"56":[2,1,6],"57":[2,1,17],"58":[2,1,18],"59":[2,1,27],"60":[2,1,7],"61":[2,1,20],"62":[2,1,8],"63":[1,1,18],"64":[2,1,13],"65":[2,1,33],"66":[2,1,8],"67":[2,1,7],"68":[2,1,26],"69":[2,1,6],"70":[2,1,16],"71":[2,1,12],"72":[2,1,22],"73":[2,1,9],"74":[2,1,10],"75":[2,1,12],"76":[1,1,7],"77":[2,1,7],"78":[2,1,9],"79":[2,1,23],"80":[2,1,23],"81":[2,1,7],"82":[2,1,10],"83":[1,1,13],"84":[2,1,23],"85":[2,1,22],"86":[2,1,17],"87":[2,1,19],"88":[2,1,10],"89":[2,1,12],"90":[2,1,7],"91":[2,1,5],"92":[1,1,15],"93":[2,1,35],"94":[2,1,7],"95":[2,1,8],"96":[2,1,23],"97":[1,1,7],"98":[2,1,18],"99":[2,1,16],"100":[2,1,7],"101":[2,1,9],"102":[2,1,13],"103":[2,1,11],"104":[2,1,5],"105":[1,1,13],"106":[2,1,5],"107":[2,1,8],"108":[2,1,6],"109":[2,1,9],"110":[2,1,16],"111":[2,1,7],"112":[1,1,16],"113":[2,1,17],"114":[2,1,16],"115":[2,1,11],"116":[2,1,12],"117":[2,1,10],"118":[2,1,12],"119":[2,1,7],"120":[1,1,10],"121":[2,1,16],"122":[2,1,26],"123":[2,1,8],"124":[1,1,8],"125":[2,1,7],"126":[2,1,12],"127":[2,1,8],"128":[2,1,12],"129":[2,1,7],"130":[2,1,17],"131":[2,1,5],"132":[1,1,13],"133":[2,1,9],"134":[2,1,23],"135":[2,1,9],"136":[2,1,5],"137":[2,1,7],"138":[2,1,8],"139":[2,1,5],"140":[1,1,10],"141":[2,1,15],"142":[2,1,7],"143":[2,1,16],"144":[2,1,10],"145":[2,1,5],"146":[2,1,8],"147":[2,1,6],"148":[2,1,9],"149":[2,1,6],"150":[2,1,24],"151":[1,1,8],"152":[2,1,8],"153":[2,1,5],"154":[2,1,6],"155":[2,1,7],"156":[2,1,7],"157":[2,1,8],"158":[2,1,6],"159":[2,1,6],"160":[2,1,16],"161":[2,1,6],"162":[1,1,3],"163":[2,1,7],"164":[2,1,16],"165":[2,1,11],"166":[2,1,6],"167":[1,1,6],"168":[2,1,15],"169":[2,1,10],"170":[2,1,9],"171":[2,1,9],"172":[2,1,22],"173":[2,1,9],"174":[2,1,26],"175":[2,1,15],"176":[1,1,7],"177":[2,1,5],"178":[2,1,23],"179":[2,1,10],"180":[2,1,10],"181":[2,1,6],"182":[2,1,33],"183":[2,1,13],"184":[1,1,8],"185":[2,1,5],"186":[2,1,23],"187":[2,1,11],"188":[2,1,7],"189":[2,1,6],"190":[2,1,6],"191":[2,1,6],"192":[2,1,6],"193":[2,1,10],"194":[2,1,6],"195":[2,1,6],"196":[1,1,8],"197":[2,1,8],"198":[2,1,12],"199":[2,1,4],"200":[2,1,6],"201":[1,1,7],"202":[2,1,13],"203":[2,1,7],"204":[2,1,4],"205":[1,1,6],"206":[2,1,6],"207":[2,1,4],"208":[2,1,6],"209":[2,1,6],"210":[2,1,6],"211":[2,1,10],"212":[2,1,8],"213":[2,1,4],"214":[2,1,6],"215":[2,1,6],"216":[2,1,6],"217":[2,1,4],"218":[2,1,6],"219":[2,1,7],"220":[2,1,6],"221":[2,1,8],"222":[2,1,11],"223":[2,1,6],"224":[1,1,8],"225":[2,1,7],"226":[2,1,4],"227":[2,1,4],"228":[2,1,4],"229":[1,1,6],"230":[2,1,4],"231":[2,1,5],"232":[2,1,6],"233":[2,1,4],"234":[2,1,4],"235":[2,1,9],"236":[2,1,7],"237":[2,1,10],"238":[2,1,4],"239":[2,1,4],"240":[2,1,4],"241":[1,1,4],"242":[2,1,4],"243":[2,1,4],"244":[2,1,4],"245":[2,1,4],"246":[1,1,4],"247":[2,1,4],"248":[1,1,4],"249":[2,1,6],"250":[2,1,4],"251":[2,1,4],"252":[2,1,4],"253":[1,1,6],"254":[1,1,4],"255":[1,1,6],"256":[2,1,4],"257":[2,1,4],"258":[6,1,1],"259":[1,7,13],"260":[2,7,6],"261":[1,1,5],"262":[2,1,1],"263":[2,2,8],"264":[1,2,1],"265":[1,3,16],"266":[1,3,27],"267":[1,3,15],"268":[1,2,7],"269":[1,2,5],"270":[1,2,8],"271":[1,2,6],"272":[1,2,5],"273":[1,2,9],"274":[1,1,51],"275":[1,1,1],"276":[1,1,7],"277":[1,1,8],"278":[1,1,22],"279":[1,1,3],"280":[1,1,17],"281":[1,1,14],"282":[1,1,7],"283":[1,1,9],"284":[1,1,8],"285":[1,1,6],"286":[1,1,6],"287":[1,1,5],"288":[1,1,1],"289":[1,1,1],"290":[3,2,4],"291":[1,2,4],"292":[1,1,11],"293":[1,1,1],"294":[1,2,9],"295":[1,2,18],"296":[1,1,13],"297":[1,1,11],"298":[1,1,9],"299":[1,1,8],"300":[1,1,1],"301":[1,2,6],"302":[1,2,6],"303":[1,1,1],"304":[1,2,8],"305":[1,2,1],"306":[1,3,12],"307":[1,3,13],"308":[1,2,1],"309":[1,3,9],"310":[1,3,9],"311":[1,3,13],"312":[1,2,1],"313":[1,3,9],"314":[1,3,8],"315":[1,3,6],"316":[1,1,1],"317":[1,2,12],"318":[1,2,18],"319":[1,2,9],"320":[1,1,1],"321":[1,2,27],"322":[1,1,1],"323":[1,1,6],"324":[1,1,34],"325":[2,1,3],"326":[1,1,6],"327":[2,1,12],"328":[1,1,8],"329":[1,1,18],"330":[2,1,13],"331":[1,1,5],"332":[1,1,16],"333":[2,1,3],"334":[1,1,5],"335":[1,1,6],"336":[6,1,3],"337":[1,1,14],"338":[1,1,3],"339":[1,1,4],"340":[4,1,13],"341":[2,5,12],"342":[1,5,18],"343":[1,5,16],"344":[1,5,55],"345":[2,5,33],"346":[1,5,17],"347":[3,1,22],"348":[1,1,1],"349":[1,2,12],"350":[1,2,12],"351":[1,1,1],"352":[2,2,20],"353":[2,2,10],"354":[1,1,1],"355":[2,2,21],"356":[1,1,4],"357":[2,1,5],"358":[4,2,12],"359":[4,2,12],"360":[4,2,9],"361":[12,2,27],"362":[11,2,22],"363":[12,2,26],"364":[11,2,25],"365":[4,2,8],"366":[12,2,22],"367":[6,2,18],"368":[5,2,9],"369":[5,1,17],"370":[1,5,4],"371":[2,5,9],"372":[1,5,13],"373":[1,5,23],"374":[1,5,1],"375":[1,5,7],"376":[1,5,2],"377":[1,6,27],"378":[1,6,16],"379":[3,5,29],"380":[3,5,24],"381":[1,5,29],"382":[1,5,17],"383":[2,5,5],"384":[1,5,2],"385":[1,5,26],"386":[1,5,9],"387":[1,1,7],"388":[1,1,30],"389":[1,1,7],"390":[1,1,22],"391":[1,1,60],"392":[1,2,21],"393":[1,1,46],"394":[1,1,14],"395":[1,1,15],"396":[1,1,35],"397":[2,1,10],"398":[1,2,14],"399":[1,2,30],"400":[1,2,1],"401":[1,3,2],"402":[2,4,44],"403":[1,4,31],"404":[1,3,1],"405":[3,4,31],"406":[3,4,45],"407":[2,3,46],"408":[1,3,5],"409":[1,2,12],"410":[1,3,12],"411":[3,4,42],"412":[3,4,32],"413":[1,3,5],"414":[1,3,39],"415":[1,3,8],"416":[1,1,34],"417":[1,1,13],"418":[1,1,30],"419":[1,2,66],"420":[1,1,9],"421":[1,1,14],"422":[1,1,16],"423":[1,1,22],"424":[1,1,9],"425":[1,1,1],"426":[1,1,58],"427":[4,1,12],"428":[1,5,41],"429":[1,5,52],"430":[1,1,10],"431":[1,1,1],"432":[1,1,12],"433":[1,1,2],"434":[1,1,22],"435":[1,1,55],"436":[2,1,41],"437":[1,1,1],"438":[1,2,8],"439":[1,2,13],"440":[2,1,1],"441":[1,2,81],"442":[1,2,1],"443":[1,3,65],"444":[1,3,14],"445":[1,3,58],"446":[1,3,37],"447":[1,3,34],"448":[1,3,11],"449":[1,3,27],"450":[1,2,11],"451":[1,3,26],"452":[1,3,46],"453":[1,3,22],"454":[1,2,17],"455":[1,3,69],"456":[1,3,57],"457":[1,3,10],"458":[1,2,80],"459":[1,2,6],"460":[1,3,54],"461":[1,1,2],"462":[1,1,37],"463":[1,1,27],"464":[1,1,38],"465":[1,1,30],"466":[1,1,7],"467":[1,1,8],"468":[1,1,30],"469":[3,1,16],"470":[1,3,5],"471":[2,3,19],"472":[2,3,50],"473":[4,1,53],"474":[1,4,45],"475":[1,4,5],"476":[1,4,8],"477":[1,4,56],"478":[1,4,19],"479":[1,4,6],"480":[1,4,7],"481":[1,4,15],"482":[1,4,9],"483":[1,4,29],"484":[1,1,26],"485":[2,1,18],"486":[1,3,29],"487":[1,3,9],"488":[1,1,36],"489":[2,2,32],"490":[2,2,39],"491":[2,1,1],"492":[1,2,1],"493":[1,3,15],"494":[1,3,24],"495":[1,3,59],"496":[1,2,16],"497":[4,1,1],"498":[1,4,1],"499":[1,5,21],"500":[1,5,27],"501":[1,4,18],"502":[1,1,17],"503":[2,1,12],"504":[1,3,10],"505":[1,1,20],"506":[2,2,18],"507":[2,2,42],"508":[1,1,84],"509":[1,1,60],"510":[4,1,2],"511":[1,1,31],"512":[1,1,33],"513":[1,1,25],"514":[1,1,3],"515":[1,1,20],"516":[1,1,11],"517":[1,1,152],"518":[1,1,13],"519":[3,1,54],"520":[2,1,53],"521":[1,1,76],"522":[1,1,13],"523":[1,1,1],"524":[1,1,16],"525":[1,1,25],"526":[1,1,16],"527":[1,1,13],"528":[1,1,12],"529":[1,1,1],"530":[1,1,8],"531":[1,1,34],"532":[1,1,15],"533":[1,1,23],"534":[1,1,32],"535":[1,1,15],"536":[1,1,71],"537":[1,1,14],"538":[1,1,30],"539":[1,1,20],"540":[1,1,30],"541":[1,1,31],"542":[1,1,6],"543":[1,1,4],"544":[1,1,1],"545":[1,1,9],"546":[1,1,7],"547":[1,1,8],"548":[1,1,5],"549":[1,1,6],"550":[1,1,11],"551":[1,1,8],"552":[2,1,1],"553":[1,2,1],"554":[1,3,15],"555":[1,3,20],"556":[1,2,60]},"averageFieldLength":[1.6750448833034106,1.5816876122082584,17.894075403949724],"storedFields":{"0":{"title":"Changelog","titles":[]},"1":{"title":"Miscellaneous Chores","titles":["Changelog"]},"2":{"title":"Miscellaneous Chores","titles":["Changelog"]},"3":{"title":"Bug Fixes","titles":["Changelog"]},"4":{"title":"Miscellaneous Chores","titles":["Changelog"]},"5":{"title":"Features","titles":["Changelog"]},"6":{"title":"Bug Fixes","titles":["Changelog"]},"7":{"title":"Performance Improvements","titles":["Changelog"]},"8":{"title":"Code Refactoring","titles":["Changelog"]},"9":{"title":"Bug Fixes","titles":["Changelog"]},"10":{"title":"Features","titles":["Changelog"]},"11":{"title":"Bug Fixes","titles":["Changelog"]},"12":{"title":"Performance Improvements","titles":["Changelog"]},"13":{"title":"Miscellaneous Chores","titles":["Changelog"]},"14":{"title":"Code Refactoring","titles":["Changelog"]},"15":{"title":"Performance Improvements","titles":["Changelog"]},"16":{"title":"Performance Improvements","titles":["Changelog"]},"17":{"title":"Features","titles":["Changelog"]},"18":{"title":"Bug Fixes","titles":["Changelog"]},"19":{"title":"Performance Improvements","titles":["Changelog"]},"20":{"title":"Features","titles":["Changelog"]},"21":{"title":"Bug Fixes","titles":["Changelog"]},"22":{"title":"Performance Improvements","titles":["Changelog"]},"23":{"title":"Performance Improvements","titles":["Changelog"]},"24":{"title":"Performance Improvements","titles":["Changelog"]},"25":{"title":"Features","titles":["Changelog"]},"26":{"title":"Bug Fixes","titles":["Changelog"]},"27":{"title":"Performance Improvements","titles":["Changelog"]},"28":{"title":"Performance Improvements","titles":["Changelog"]},"29":{"title":"Bug Fixes","titles":["Changelog"]},"30":{"title":"Performance Improvements","titles":["Changelog"]},"31":{"title":"Performance Improvements","titles":["Changelog"]},"32":{"title":"Features","titles":["Changelog"]},"33":{"title":"Bug Fixes","titles":["Changelog"]},"34":{"title":"Performance Improvements","titles":["Changelog"]},"35":{"title":"Performance Improvements","titles":["Changelog"]},"36":{"title":"Bug Fixes","titles":["Changelog"]},"37":{"title":"Performance Improvements","titles":["Changelog"]},"38":{"title":"Features","titles":["Changelog"]},"39":{"title":"Bug Fixes","titles":["Changelog"]},"40":{"title":"Performance Improvements","titles":["Changelog"]},"41":{"title":"Performance Improvements","titles":["Changelog"]},"42":{"title":"Bug Fixes","titles":["Changelog"]},"43":{"title":"Performance Improvements","titles":["Changelog"]},"44":{"title":"Performance Improvements","titles":["Changelog"]},"45":{"title":"Bug Fixes","titles":["Changelog"]},"46":{"title":"Bug Fixes","titles":["Changelog"]},"47":{"title":"Performance Improvements","titles":["Changelog"]},"48":{"title":"Performance Improvements","titles":["Changelog"]},"49":{"title":"Performance Improvements","titles":["Changelog"]},"50":{"title":"Performance Improvements","titles":["Changelog"]},"51":{"title":"Features","titles":["Changelog"]},"52":{"title":"Bug Fixes","titles":["Changelog"]},"53":{"title":"Performance Improvements","titles":["Changelog"]},"54":{"title":"Bug Fixes","titles":["Changelog"]},"55":{"title":"Performance Improvements","titles":["Changelog"]},"56":{"title":"Bug Fixes","titles":["Changelog"]},"57":{"title":"Performance Improvements","titles":["Changelog"]},"58":{"title":"Bug Fixes","titles":["Changelog"]},"59":{"title":"Performance Improvements","titles":["Changelog"]},"60":{"title":"Performance Improvements","titles":["Changelog"]},"61":{"title":"Performance Improvements","titles":["Changelog"]},"62":{"title":"Performance Improvements","titles":["Changelog"]},"63":{"title":"Features","titles":["Changelog"]},"64":{"title":"Bug Fixes","titles":["Changelog"]},"65":{"title":"Performance Improvements","titles":["Changelog"]},"66":{"title":"Performance Improvements","titles":["Changelog"]},"67":{"title":"Bug Fixes","titles":["Changelog"]},"68":{"title":"Performance Improvements","titles":["Changelog"]},"69":{"title":"Performance Improvements","titles":["Changelog"]},"70":{"title":"Bug Fixes","titles":["Changelog"]},"71":{"title":"Bug Fixes","titles":["Changelog"]},"72":{"title":"Performance Improvements","titles":["Changelog"]},"73":{"title":"Bug Fixes","titles":["Changelog"]},"74":{"title":"Bug Fixes","titles":["Changelog"]},"75":{"title":"Performance Improvements","titles":["Changelog"]},"76":{"title":"Features","titles":["Changelog"]},"77":{"title":"Performance Improvements","titles":["Changelog"]},"78":{"title":"Bug Fixes","titles":["Changelog"]},"79":{"title":"Bug Fixes","titles":["Changelog"]},"80":{"title":"Performance Improvements","titles":["Changelog"]},"81":{"title":"Bug Fixes","titles":["Changelog"]},"82":{"title":"Performance Improvements","titles":["Changelog"]},"83":{"title":"Features","titles":["Changelog"]},"84":{"title":"Bug Fixes","titles":["Changelog"]},"85":{"title":"Performance Improvements","titles":["Changelog"]},"86":{"title":"Performance Improvements","titles":["Changelog"]},"87":{"title":"Performance Improvements","titles":["Changelog"]},"88":{"title":"Bug Fixes","titles":["Changelog"]},"89":{"title":"Performance Improvements","titles":["Changelog"]},"90":{"title":"Bug Fixes","titles":["Changelog"]},"91":{"title":"Miscellaneous Chores","titles":["Changelog"]},"92":{"title":"Features","titles":["Changelog"]},"93":{"title":"Performance Improvements","titles":["Changelog"]},"94":{"title":"Performance Improvements","titles":["Changelog"]},"95":{"title":"Bug Fixes","titles":["Changelog"]},"96":{"title":"Performance Improvements","titles":["Changelog"]},"97":{"title":"Features","titles":["Changelog"]},"98":{"title":"Performance Improvements","titles":["Changelog"]},"99":{"title":"Bug Fixes","titles":["Changelog"]},"100":{"title":"Performance Improvements","titles":["Changelog"]},"101":{"title":"Bug Fixes","titles":["Changelog"]},"102":{"title":"Performance Improvements","titles":["Changelog"]},"103":{"title":"Performance Improvements","titles":["Changelog"]},"104":{"title":"Performance Improvements","titles":["Changelog"]},"105":{"title":"Features","titles":["Changelog"]},"106":{"title":"Performance Improvements","titles":["Changelog"]},"107":{"title":"Bug Fixes","titles":["Changelog"]},"108":{"title":"Performance Improvements","titles":["Changelog"]},"109":{"title":"Performance Improvements","titles":["Changelog"]},"110":{"title":"Performance Improvements","titles":["Changelog"]},"111":{"title":"Bug Fixes","titles":["Changelog"]},"112":{"title":"Features","titles":["Changelog"]},"113":{"title":"Bug Fixes","titles":["Changelog"]},"114":{"title":"Performance Improvements","titles":["Changelog"]},"115":{"title":"Performance Improvements","titles":["Changelog"]},"116":{"title":"Bug Fixes","titles":["Changelog"]},"117":{"title":"Bug Fixes","titles":["Changelog"]},"118":{"title":"Performance Improvements","titles":["Changelog"]},"119":{"title":"Bug Fixes","titles":["Changelog"]},"120":{"title":"Features","titles":["Changelog"]},"121":{"title":"Bug Fixes","titles":["Changelog"]},"122":{"title":"Performance Improvements","titles":["Changelog"]},"123":{"title":"Bug Fixes","titles":["Changelog"]},"124":{"title":"Features","titles":["Changelog"]},"125":{"title":"Performance Improvements","titles":["Changelog"]},"126":{"title":"Bug Fixes","titles":["Changelog"]},"127":{"title":"Performance Improvements","titles":["Changelog"]},"128":{"title":"Bug Fixes","titles":["Changelog"]},"129":{"title":"Bug Fixes","titles":["Changelog"]},"130":{"title":"Bug Fixes","titles":["Changelog"]},"131":{"title":"Performance Improvements","titles":["Changelog"]},"132":{"title":"Features","titles":["Changelog"]},"133":{"title":"Bug Fixes","titles":["Changelog"]},"134":{"title":"Performance Improvements","titles":["Changelog"]},"135":{"title":"Bug Fixes","titles":["Changelog"]},"136":{"title":"Performance Improvements","titles":["Changelog"]},"137":{"title":"Bug Fixes","titles":["Changelog"]},"138":{"title":"Bug Fixes","titles":["Changelog"]},"139":{"title":"Performance Improvements","titles":["Changelog"]},"140":{"title":"Features","titles":["Changelog"]},"141":{"title":"Bug Fixes","titles":["Changelog"]},"142":{"title":"Bug Fixes","titles":["Changelog"]},"143":{"title":"Performance Improvements","titles":["Changelog"]},"144":{"title":"Performance Improvements","titles":["Changelog"]},"145":{"title":"Performance Improvements","titles":["Changelog"]},"146":{"title":"Performance Improvements","titles":["Changelog"]},"147":{"title":"Performance Improvements","titles":["Changelog"]},"148":{"title":"Bug Fixes","titles":["Changelog"]},"149":{"title":"Performance Improvements","titles":["Changelog"]},"150":{"title":"Performance Improvements","titles":["Changelog"]},"151":{"title":"Features","titles":["Changelog"]},"152":{"title":"Bug Fixes","titles":["Changelog"]},"153":{"title":"Performance Improvements","titles":["Changelog"]},"154":{"title":"Miscellaneous Chores","titles":["Changelog"]},"155":{"title":"Performance Improvements","titles":["Changelog"]},"156":{"title":"Bug Fixes","titles":["Changelog"]},"157":{"title":"Performance Improvements","titles":["Changelog"]},"158":{"title":"Bug Fixes","titles":["Changelog"]},"159":{"title":"Bug Fixes","titles":["Changelog"]},"160":{"title":"Performance Improvements","titles":["Changelog"]},"161":{"title":"Miscellaneous Chores","titles":["Changelog"]},"162":{"title":"Features","titles":["Changelog"]},"163":{"title":"Performance Improvements","titles":["Changelog"]},"164":{"title":"Performance Improvements","titles":["Changelog"]},"165":{"title":"Performance Improvements","titles":["Changelog"]},"166":{"title":"Bug Fixes","titles":["Changelog"]},"167":{"title":"Features","titles":["Changelog"]},"168":{"title":"Performance Improvements","titles":["Changelog"]},"169":{"title":"Performance Improvements","titles":["Changelog"]},"170":{"title":"Performance Improvements","titles":["Changelog"]},"171":{"title":"Bug Fixes","titles":["Changelog"]},"172":{"title":"Performance Improvements","titles":["Changelog"]},"173":{"title":"Bug Fixes","titles":["Changelog"]},"174":{"title":"Performance Improvements","titles":["Changelog"]},"175":{"title":"Performance Improvements","titles":["Changelog"]},"176":{"title":"Features","titles":["Changelog"]},"177":{"title":"Bug Fixes","titles":["Changelog"]},"178":{"title":"Performance Improvements","titles":["Changelog"]},"179":{"title":"Bug Fixes","titles":["Changelog"]},"180":{"title":"Bug Fixes","titles":["Changelog"]},"181":{"title":"Bug Fixes","titles":["Changelog"]},"182":{"title":"Bug Fixes","titles":["Changelog"]},"183":{"title":"Performance Improvements","titles":["Changelog"]},"184":{"title":"Features","titles":["Changelog"]},"185":{"title":"Bug Fixes","titles":["Changelog"]},"186":{"title":"Performance Improvements","titles":["Changelog"]},"187":{"title":"Performance Improvements","titles":["Changelog"]},"188":{"title":"Bug Fixes","titles":["Changelog"]},"189":{"title":"Bug Fixes","titles":["Changelog"]},"190":{"title":"Bug Fixes","titles":["Changelog"]},"191":{"title":"Bug Fixes","titles":["Changelog"]},"192":{"title":"Bug Fixes","titles":["Changelog"]},"193":{"title":"Bug Fixes","titles":["Changelog"]},"194":{"title":"Bug Fixes","titles":["Changelog"]},"195":{"title":"Bug Fixes","titles":["Changelog"]},"196":{"title":"Features","titles":["Changelog"]},"197":{"title":"Bug Fixes","titles":["Changelog"]},"198":{"title":"Performance Improvements","titles":["Changelog"]},"199":{"title":"Bug Fixes","titles":["Changelog"]},"200":{"title":"Bug Fixes","titles":["Changelog"]},"201":{"title":"Features","titles":["Changelog"]},"202":{"title":"Bug Fixes","titles":["Changelog"]},"203":{"title":"Performance Improvements","titles":["Changelog"]},"204":{"title":"Performance Improvements","titles":["Changelog"]},"205":{"title":"Features","titles":["Changelog"]},"206":{"title":"Bug Fixes","titles":["Changelog"]},"207":{"title":"Bug Fixes","titles":["Changelog"]},"208":{"title":"Performance Improvements","titles":["Changelog"]},"209":{"title":"Bug Fixes","titles":["Changelog"]},"210":{"title":"Bug Fixes","titles":["Changelog"]},"211":{"title":"Performance Improvements","titles":["Changelog"]},"212":{"title":"Bug Fixes","titles":["Changelog"]},"213":{"title":"Performance Improvements","titles":["Changelog"]},"214":{"title":"Bug Fixes","titles":["Changelog"]},"215":{"title":"Bug Fixes","titles":["Changelog"]},"216":{"title":"Bug Fixes","titles":["Changelog"]},"217":{"title":"Bug Fixes","titles":["Changelog"]},"218":{"title":"Bug Fixes","titles":["Changelog"]},"219":{"title":"Bug Fixes","titles":["Changelog"]},"220":{"title":"Bug Fixes","titles":["Changelog"]},"221":{"title":"Bug Fixes","titles":["Changelog"]},"222":{"title":"Bug Fixes","titles":["Changelog"]},"223":{"title":"Performance Improvements","titles":["Changelog"]},"224":{"title":"Features","titles":["Changelog"]},"225":{"title":"Bug Fixes","titles":["Changelog"]},"226":{"title":"Performance Improvements","titles":["Changelog"]},"227":{"title":"Bug Fixes","titles":["Changelog"]},"228":{"title":"Performance Improvements","titles":["Changelog"]},"229":{"title":"Features","titles":["Changelog"]},"230":{"title":"Performance Improvements","titles":["Changelog"]},"231":{"title":"Performance Improvements","titles":["Changelog"]},"232":{"title":"Bug Fixes","titles":["Changelog"]},"233":{"title":"Performance Improvements","titles":["Changelog"]},"234":{"title":"Performance Improvements","titles":["Changelog"]},"235":{"title":"Bug Fixes","titles":["Changelog"]},"236":{"title":"Bug Fixes","titles":["Changelog"]},"237":{"title":"Bug Fixes","titles":["Changelog"]},"238":{"title":"Bug Fixes","titles":["Changelog"]},"239":{"title":"Bug Fixes","titles":["Changelog"]},"240":{"title":"Performance Improvements","titles":["Changelog"]},"241":{"title":"Features","titles":["Changelog"]},"242":{"title":"Bug Fixes","titles":["Changelog"]},"243":{"title":"Bug Fixes","titles":["Changelog"]},"244":{"title":"Performance Improvements","titles":["Changelog"]},"245":{"title":"Bug Fixes","titles":["Changelog"]},"246":{"title":"Features","titles":["Changelog"]},"247":{"title":"Bug Fixes","titles":["Changelog"]},"248":{"title":"Features","titles":["Changelog"]},"249":{"title":"Bug Fixes","titles":["Changelog"]},"250":{"title":"Bug Fixes","titles":["Changelog"]},"251":{"title":"Bug Fixes","titles":["Changelog"]},"252":{"title":"Bug Fixes","titles":["Changelog"]},"253":{"title":"Features","titles":["Changelog"]},"254":{"title":"Features","titles":["Changelog"]},"255":{"title":"Features","titles":["Changelog"]},"256":{"title":"Performance Improvements","titles":["Changelog"]},"257":{"title":"Bug Fixes","titles":["Changelog"]},"258":{"title":"1.0.0 (2023-09-16)","titles":["Changelog"]},"259":{"title":"Features","titles":["Changelog","1.0.0 (2023-09-16)"]},"260":{"title":"Bug Fixes","titles":["Changelog","1.0.0 (2023-09-16)"]},"261":{"title":"捐赠项目♥️","titles":[]},"262":{"title":"Escrcpy:基于Electron的图形化安卓设备控制工具","titles":[]},"263":{"title":"什么是Escrcpy?","titles":["Escrcpy:基于Electron的图形化安卓设备控制工具"]},"264":{"title":"核心功能","titles":["Escrcpy:基于Electron的图形化安卓设备控制工具"]},"265":{"title":"高效稳定的投屏体验","titles":["Escrcpy:基于Electron的图形化安卓设备控制工具","核心功能"]},"266":{"title":"丰富的功能特性","titles":["Escrcpy:基于Electron的图形化安卓设备控制工具","核心功能"]},"267":{"title":"优化的用户体验","titles":["Escrcpy:基于Electron的图形化安卓设备控制工具","核心功能"]},"268":{"title":"使用场景","titles":["Escrcpy:基于Electron的图形化安卓设备控制工具"]},"269":{"title":"跨平台支持","titles":["Escrcpy:基于Electron的图形化安卓设备控制工具"]},"270":{"title":"技术优势","titles":["Escrcpy:基于Electron的图形化安卓设备控制工具"]},"271":{"title":"未来发展","titles":["Escrcpy:基于Electron的图形化安卓设备控制工具"]},"272":{"title":"如何使用","titles":["Escrcpy:基于Electron的图形化安卓设备控制工具"]},"273":{"title":"结语","titles":["Escrcpy:基于Electron的图形化安卓设备控制工具"]},"274":{"title":"里程碑","titles":[]},"275":{"title":"设备操作指南","titles":[]},"276":{"title":"批量处理","titles":["设备操作指南"]},"277":{"title":"控制模式","titles":["设备操作指南"]},"278":{"title":"设备交互栏","titles":["设备操作指南"]},"279":{"title":"偏好设置","titles":[]},"280":{"title":"通用设置","titles":["偏好设置"]},"281":{"title":"视频控制","titles":["偏好设置"]},"282":{"title":"设备控制","titles":["偏好设置"]},"283":{"title":"窗口控制","titles":["偏好设置"]},"284":{"title":"音频控制","titles":["偏好设置"]},"285":{"title":"音视频录制","titles":["偏好设置"]},"286":{"title":"输入控制","titles":["偏好设置"]},"287":{"title":"摄像头控制","titles":["偏好设置"]},"288":{"title":"快速上手","titles":[]},"289":{"title":"安装说明","titles":["快速上手"]},"290":{"title":"手动安装(通过发行包)","titles":["快速上手","安装说明"]},"291":{"title":"macOS用户可通过Homebrew安装","titles":["快速上手","安装说明"]},"292":{"title":"USB连接方式","titles":["快速上手"]},"293":{"title":"无线连接方式","titles":["快速上手"]},"294":{"title":"扫码连接","titles":["快速上手","无线连接方式"]},"295":{"title":"IP地址连接","titles":["快速上手","无线连接方式"]},"296":{"title":"macOS与Linux平台","titles":["快速上手"]},"297":{"title":"Gnirehtet反向网络共享","titles":["快速上手"]},"298":{"title":"设备窗口编排功能详解","titles":[]},"299":{"title":"功能概述","titles":["设备窗口编排功能详解"]},"300":{"title":"核心组件","titles":["设备窗口编排功能详解"]},"301":{"title":"全局配置组件","titles":["设备窗口编排功能详解","核心组件"]},"302":{"title":"设备窗口组件","titles":["设备窗口编排功能详解","核心组件"]},"303":{"title":"详细操作指南","titles":["设备窗口编排功能详解"]},"304":{"title":"启动窗口编排","titles":["设备窗口编排功能详解","详细操作指南"]},"305":{"title":"添加和管理组件","titles":["设备窗口编排功能详解","详细操作指南"]},"306":{"title":"添加全局配置组件","titles":["设备窗口编排功能详解","详细操作指南","添加和管理组件"]},"307":{"title":"添加设备窗口组件","titles":["设备窗口编排功能详解","详细操作指南","添加和管理组件"]},"308":{"title":"窗口布局调整","titles":["设备窗口编排功能详解","详细操作指南"]},"309":{"title":"移动窗口位置","titles":["设备窗口编排功能详解","详细操作指南","窗口布局调整"]},"310":{"title":"调整窗口尺寸","titles":["设备窗口编排功能详解","详细操作指南","窗口布局调整"]},"311":{"title":"尺寸限制说明","titles":["设备窗口编排功能详解","详细操作指南","窗口布局调整"]},"312":{"title":"布局管理操作","titles":["设备窗口编排功能详解","详细操作指南"]},"313":{"title":"重置布局","titles":["设备窗口编排功能详解","详细操作指南","布局管理操作"]},"314":{"title":"清除全部组件","titles":["设备窗口编排功能详解","详细操作指南","布局管理操作"]},"315":{"title":"删除单个组件","titles":["设备窗口编排功能详解","详细操作指南","布局管理操作"]},"316":{"title":"配置保存和应用","titles":["设备窗口编排功能详解"]},"317":{"title":"保存布局配置","titles":["设备窗口编排功能详解","配置保存和应用"]},"318":{"title":"配置存储机制","titles":["设备窗口编排功能详解","配置保存和应用"]},"319":{"title":"配置应用时机","titles":["设备窗口编排功能详解","配置保存和应用"]},"320":{"title":"故障排除","titles":["设备窗口编排功能详解"]},"321":{"title":"常见问题","titles":["设备窗口编排功能详解","故障排除"]},"322":{"title":"Escrcpy","titles":[]},"323":{"title":"电脑连接后无法识别设备","titles":["Escrcpy"]},"324":{"title":"无法输入中文","titles":["Escrcpy"]},"325":{"title":"无线连接提示:目标计算机积极拒绝访问","titles":["Escrcpy"]},"326":{"title":"数据线连接后点击无线模式无响应","titles":["Escrcpy"]},"327":{"title":"为何设备交互控制栏未设计为自动贴边的悬浮菜单?","titles":["Escrcpy"]},"328":{"title":"部分设备连接后可见画面但无法操作","titles":["Escrcpy"]},"329":{"title":"下载时提示杀毒检测导致无法正常下载","titles":["Escrcpy"]},"330":{"title":"启动镜像/录制时获取设备列表失败或报错","titles":["Escrcpy"]},"331":{"title":"macOS窗口最小化至系统托盘图标未找到","titles":["Escrcpy"]},"332":{"title":"macOS安装成功后打开提示文件已损坏","titles":["Escrcpy"]},"333":{"title":"无法定位程序输入点DiscardvirtualMemory于动态链接库Kernel32.dll上","titles":["Escrcpy"]},"334":{"title":"音频捕获异常导致镜像失败","titles":["Escrcpy"]},"335":{"title":"微软商店版镜像启动报错","titles":["Escrcpy"]},"336":{"title":"无法执行"adb start-server"","titles":["Escrcpy"]},"337":{"title":"Linux系统安装后无法打开","titles":["Escrcpy"]},"338":{"title":"调整投屏窗口大小后出现黑边","titles":["Escrcpy"]},"339":{"title":"Scrcpy","titles":[]},"340":{"title":"adb 与 USB 问题","titles":["Scrcpy"]},"341":{"title":"adb 未找到","titles":["Scrcpy","adb 与 USB 问题"]},"342":{"title":"设备未检测到","titles":["Scrcpy","adb 与 USB 问题"]},"343":{"title":"设备未授权","titles":["Scrcpy","adb 与 USB 问题"]},"344":{"title":"多设备连接冲突","titles":["Scrcpy","adb 与 USB 问题"]},"345":{"title":"adb 版本冲突","titles":["Scrcpy","adb 与 USB 问题"]},"346":{"title":"设备断开连接","titles":["Scrcpy","adb 与 USB 问题"]},"347":{"title":"Windows OTG 问题","titles":["Scrcpy"]},"348":{"title":"控制问题","titles":["Scrcpy"]},"349":{"title":"鼠标键盘失效","titles":["Scrcpy","控制问题"]},"350":{"title":"特殊字符输入异常","titles":["Scrcpy","控制问题"]},"351":{"title":"客户端问题","titles":["Scrcpy"]},"352":{"title":"Wayland 兼容性问题","titles":["Scrcpy","客户端问题"]},"353":{"title":"KWin 合成器崩溃","titles":["Scrcpy","客户端问题"]},"354":{"title":"崩溃问题","titles":["Scrcpy"]},"355":{"title":"MediaCodec 异常","titles":["Scrcpy","崩溃问题"]},"356":{"title":"帮助中心","titles":[]},"357":{"title":"Gnirehtet API","titles":[]},"358":{"title":"gnirehtet install [serial]","titles":["Gnirehtet API"]},"359":{"title":"gnirehtet uninstall [serial]","titles":["Gnirehtet API"]},"360":{"title":"gnirehtet reinstall [serial]","titles":["Gnirehtet API"]},"361":{"title":"gnirehtet run [serial] [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]","titles":["Gnirehtet API"]},"362":{"title":"gnirehtet autorun [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]","titles":["Gnirehtet API"]},"363":{"title":"gnirehtet start [serial] [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]","titles":["Gnirehtet API"]},"364":{"title":"gnirehtet autostart [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]","titles":["Gnirehtet API"]},"365":{"title":"gnirehtet stop [serial]","titles":["Gnirehtet API"]},"366":{"title":"gnirehtet restart [serial] [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]","titles":["Gnirehtet API"]},"367":{"title":"gnirehtet tunnel [serial] [-p PORT]","titles":["Gnirehtet API"]},"368":{"title":"gnirehtet relay [-p PORT]","titles":["Gnirehtet API"]},"369":{"title":"Gnirehtet (v2.5.1)","titles":[]},"370":{"title":"版本","titles":["Gnirehtet (v2.5.1)"]},"371":{"title":"如何选择?","titles":["Gnirehtet (v2.5.1)","版本"]},"372":{"title":"要求","titles":["Gnirehtet (v2.5.1)"]},"373":{"title":"adb","titles":["Gnirehtet (v2.5.1)","要求"]},"374":{"title":"获取应用","titles":["Gnirehtet (v2.5.1)"]},"375":{"title":"Homebrew","titles":["Gnirehtet (v2.5.1)","获取应用"]},"376":{"title":"下载","titles":["Gnirehtet (v2.5.1)","获取应用"]},"377":{"title":"Rust","titles":["Gnirehtet (v2.5.1)","获取应用","下载"]},"378":{"title":"Java","titles":["Gnirehtet (v2.5.1)","获取应用","下载"]},"379":{"title":"运行(简单方式)","titles":["Gnirehtet (v2.5.1)"]},"380":{"title":"运行(分步操作)","titles":["Gnirehtet (v2.5.1)"]},"381":{"title":"手动运行","titles":["Gnirehtet (v2.5.1)"]},"382":{"title":"环境变量","titles":["Gnirehtet (v2.5.1)"]},"383":{"title":"为什么叫gnirehtet?","titles":["Gnirehtet (v2.5.1)"]},"384":{"title":"开发者","titles":["Gnirehtet (v2.5.1)"]},"385":{"title":"许可证","titles":["Gnirehtet (v2.5.1)"]},"386":{"title":"相关文章","titles":["Gnirehtet (v2.5.1)"]},"387":{"title":"参考手册","titles":[]},"388":{"title":"音频","titles":[]},"389":{"title":"禁用音频","titles":["音频"]},"390":{"title":"仅音频模式","titles":["音频"]},"391":{"title":"音频源","titles":["音频"]},"392":{"title":"音频复制","titles":["音频","音频源"]},"393":{"title":"编解码器","titles":["音频"]},"394":{"title":"编码器","titles":["音频"]},"395":{"title":"比特率","titles":["音频"]},"396":{"title":"缓冲","titles":["音频"]},"397":{"title":"编译 scrcpy","titles":[]},"398":{"title":"分支","titles":["编译 scrcpy"]},"399":{"title":"要求","titles":["编译 scrcpy"]},"400":{"title":"系统特定步骤","titles":["编译 scrcpy"]},"401":{"title":"Linux","titles":["编译 scrcpy","系统特定步骤"]},"402":{"title":"Debian/Ubuntu","titles":["编译 scrcpy","系统特定步骤","Linux"]},"403":{"title":"Fedora","titles":["编译 scrcpy","系统特定步骤","Linux"]},"404":{"title":"Windows","titles":["编译 scrcpy","系统特定步骤"]},"405":{"title":"从 Linux 交叉编译","titles":["编译 scrcpy","系统特定步骤","Windows"]},"406":{"title":"在 MSYS2 中构建","titles":["编译 scrcpy","系统特定步骤","Windows"]},"407":{"title":"Mac OS","titles":["编译 scrcpy","系统特定步骤"]},"408":{"title":"Docker","titles":["编译 scrcpy","系统特定步骤"]},"409":{"title":"通用步骤","titles":["编译 scrcpy"]},"410":{"title":"构建","titles":["编译 scrcpy","通用步骤"]},"411":{"title":"选项 1:从源码构建所有内容","titles":["编译 scrcpy","通用步骤","构建"]},"412":{"title":"选项 2:使用预构建服务器","titles":["编译 scrcpy","通用步骤","构建"]},"413":{"title":"不安装直接运行","titles":["编译 scrcpy","通用步骤"]},"414":{"title":"安装","titles":["编译 scrcpy","通用步骤"]},"415":{"title":"卸载","titles":["编译 scrcpy","通用步骤"]},"416":{"title":"相机","titles":[]},"417":{"title":"列表","titles":["相机"]},"418":{"title":"选择","titles":["相机"]},"419":{"title":"尺寸选择","titles":["相机","选择"]},"420":{"title":"旋转","titles":["相机"]},"421":{"title":"帧率","titles":["相机"]},"422":{"title":"高速捕获","titles":["相机"]},"423":{"title":"花括号扩展技巧","titles":["相机"]},"424":{"title":"网络摄像头","titles":["相机"]},"425":{"title":"连接","titles":[]},"426":{"title":"设备选择","titles":["连接"]},"427":{"title":"TCP/IP(无线连接)","titles":["连接"]},"428":{"title":"自动连接","titles":["连接","TCP/IP(无线连接)"]},"429":{"title":"手动连接","titles":["连接","TCP/IP(无线连接)"]},"430":{"title":"自动启动","titles":["连接"]},"431":{"title":"控制","titles":[]},"432":{"title":"只读模式","titles":["控制"]},"433":{"title":"键盘与鼠标","titles":["控制"]},"434":{"title":"仅控制模式","titles":["控制"]},"435":{"title":"复制粘贴","titles":["控制"]},"436":{"title":"捏合缩放、旋转与倾斜模拟","titles":["控制"]},"437":{"title":"文件拖放","titles":["控制"]},"438":{"title":"安装APK","titles":["控制","文件拖放"]},"439":{"title":"推送文件到设备","titles":["控制","文件拖放"]},"440":{"title":"开发者指南:scrcpy","titles":[]},"441":{"title":"概述","titles":["开发者指南:scrcpy"]},"442":{"title":"服务端","titles":["开发者指南:scrcpy"]},"443":{"title":"权限","titles":["开发者指南:scrcpy","服务端"]},"444":{"title":"隐藏方法","titles":["开发者指南:scrcpy","服务端"]},"445":{"title":"执行","titles":["开发者指南:scrcpy","服务端"]},"446":{"title":"组件","titles":["开发者指南:scrcpy","服务端"]},"447":{"title":"屏幕视频编码","titles":["开发者指南:scrcpy","服务端"]},"448":{"title":"音频编码","titles":["开发者指南:scrcpy","服务端"]},"449":{"title":"输入事件注入","titles":["开发者指南:scrcpy","服务端"]},"450":{"title":"客户端","titles":["开发者指南:scrcpy"]},"451":{"title":"初始化","titles":["开发者指南:scrcpy","客户端"]},"452":{"title":"视频和音频流","titles":["开发者指南:scrcpy","客户端"]},"453":{"title":"控制器","titles":["开发者指南:scrcpy","客户端"]},"454":{"title":"协议","titles":["开发者指南:scrcpy"]},"455":{"title":"连接","titles":["开发者指南:scrcpy","协议"]},"456":{"title":"视频和音频","titles":["开发者指南:scrcpy","协议"]},"457":{"title":"控制","titles":["开发者指南:scrcpy","协议"]},"458":{"title":"独立服务端","titles":["开发者指南:scrcpy"]},"459":{"title":"黑客指南","titles":["开发者指南:scrcpy"]},"460":{"title":"调试服务端","titles":["开发者指南:scrcpy","黑客指南"]},"461":{"title":"设备控制","titles":[]},"462":{"title":"保持唤醒","titles":["设备控制"]},"463":{"title":"屏幕关闭超时","titles":["设备控制"]},"464":{"title":"关闭屏幕","titles":["设备控制"]},"465":{"title":"显示触摸痕迹","titles":["设备控制"]},"466":{"title":"关闭时断电","titles":["设备控制"]},"467":{"title":"启动时通电","titles":["设备控制"]},"468":{"title":"启动Android应用","titles":["设备控制"]},"469":{"title":"Gamepad(游戏手柄)","titles":[]},"470":{"title":"物理游戏手柄模拟","titles":["Gamepad(游戏手柄)"]},"471":{"title":"UHID 模式","titles":["Gamepad(游戏手柄)","物理游戏手柄模拟"]},"472":{"title":"AOA 模式","titles":["Gamepad(游戏手柄)","物理游戏手柄模拟"]},"473":{"title":"scrcpy (v3.2)","titles":[]},"474":{"title":"前提条件","titles":["scrcpy (v3.2)"]},"475":{"title":"获取应用","titles":["scrcpy (v3.2)"]},"476":{"title":"必知技巧","titles":["scrcpy (v3.2)"]},"477":{"title":"使用示例","titles":["scrcpy (v3.2)"]},"478":{"title":"用户文档","titles":["scrcpy (v3.2)"]},"479":{"title":"资源","titles":["scrcpy (v3.2)"]},"480":{"title":"相关文章","titles":["scrcpy (v3.2)"]},"481":{"title":"联系方式","titles":["scrcpy (v3.2)"]},"482":{"title":"捐赠","titles":["scrcpy (v3.2)"]},"483":{"title":"许可证","titles":["scrcpy (v3.2)"]},"484":{"title":"键盘","titles":[]},"485":{"title":"SDK 键盘模式","titles":["键盘"]},"486":{"title":"文本注入偏好","titles":["键盘","SDK 键盘模式"]},"487":{"title":"按键重复","titles":["键盘","SDK 键盘模式"]},"488":{"title":"物理键盘模拟","titles":["键盘"]},"489":{"title":"UHID 模式","titles":["键盘","物理键盘模拟"]},"490":{"title":"AOA 模式","titles":["键盘","物理键盘模拟"]},"491":{"title":"Linux 平台指南","titles":[]},"492":{"title":"安装","titles":["Linux 平台指南"]},"493":{"title":"官方发布版本","titles":["Linux 平台指南","安装"]},"494":{"title":"通过包管理器安装","titles":["Linux 平台指南","安装"]},"495":{"title":"使用安装脚本","titles":["Linux 平台指南","安装"]},"496":{"title":"运行","titles":["Linux 平台指南"]},"497":{"title":"在 macOS 上使用 scrcpy","titles":[]},"498":{"title":"安装","titles":["在 macOS 上使用 scrcpy"]},"499":{"title":"从官方发布版本安装","titles":["在 macOS 上使用 scrcpy","安装"]},"500":{"title":"通过包管理器安装","titles":["在 macOS 上使用 scrcpy","安装"]},"501":{"title":"运行","titles":["在 macOS 上使用 scrcpy"]},"502":{"title":"鼠标","titles":[]},"503":{"title":"SDK 鼠标模式","titles":["鼠标"]},"504":{"title":"鼠标悬停","titles":["鼠标","SDK 鼠标模式"]},"505":{"title":"物理鼠标模拟","titles":["鼠标"]},"506":{"title":"UHID 模式","titles":["鼠标","物理鼠标模拟"]},"507":{"title":"AOA 模式","titles":["鼠标","物理鼠标模拟"]},"508":{"title":"鼠标按键绑定","titles":["鼠标"]},"509":{"title":"OTG","titles":[]},"510":{"title":"Windows 上的 OTG 问题","titles":["OTG"]},"511":{"title":"仅控制功能","titles":["OTG"]},"512":{"title":"录制","titles":[]},"513":{"title":"格式","titles":["录制"]},"514":{"title":"旋转","titles":["录制"]},"515":{"title":"无播放","titles":["录制"]},"516":{"title":"时间限制","titles":["录制"]},"517":{"title":"快捷键","titles":[]},"518":{"title":"隧道连接","titles":[]},"519":{"title":"远程 ADB 服务器","titles":["隧道连接"]},"520":{"title":"SSH 隧道","titles":["隧道连接"]},"521":{"title":"Video4Linux","titles":[]},"522":{"title":"缓冲","titles":["Video4Linux"]},"523":{"title":"虚拟显示屏","titles":[]},"524":{"title":"新建虚拟显示屏","titles":["虚拟显示屏"]},"525":{"title":"启动应用","titles":["虚拟显示屏"]},"526":{"title":"系统装饰","titles":["虚拟显示屏"]},"527":{"title":"关闭时销毁","titles":["虚拟显示屏"]},"528":{"title":"输入法策略","titles":["虚拟显示屏"]},"529":{"title":"视频","titles":[]},"530":{"title":"源","titles":["视频"]},"531":{"title":"尺寸","titles":["视频"]},"532":{"title":"比特率","titles":["视频"]},"533":{"title":"帧率","titles":["视频"]},"534":{"title":"编解码器","titles":["视频"]},"535":{"title":"编码器","titles":["视频"]},"536":{"title":"方向","titles":["视频"]},"537":{"title":"角度","titles":["视频"]},"538":{"title":"裁剪","titles":["视频"]},"539":{"title":"显示","titles":["视频"]},"540":{"title":"缓冲","titles":["视频"]},"541":{"title":"无播放","titles":["视频"]},"542":{"title":"无视频","titles":["视频"]},"543":{"title":"Video4Linux","titles":["视频"]},"544":{"title":"窗口设置","titles":[]},"545":{"title":"禁用窗口显示","titles":["窗口设置"]},"546":{"title":"窗口标题","titles":["窗口设置"]},"547":{"title":"位置与尺寸","titles":["窗口设置"]},"548":{"title":"无边框模式","titles":["窗口设置"]},"549":{"title":"窗口置顶","titles":["窗口设置"]},"550":{"title":"全屏模式","titles":["窗口设置"]},"551":{"title":"禁用屏幕保护","titles":["窗口设置"]},"552":{"title":"Windows 平台指南","titles":[]},"553":{"title":"安装","titles":["Windows 平台指南"]},"554":{"title":"官方发布版本","titles":["Windows 平台指南","安装"]},"555":{"title":"通过包管理器安装","titles":["Windows 平台指南","安装"]},"556":{"title":"运行","titles":["Windows 平台指南"]}},"dirtCount":0,"index":[["终端会立即关闭",{"2":{"556":1}}],["终端中安装所需依赖",{"2":{"406":1}}],["避免直接双击scrcpy",{"2":{"556":1}}],["避免卡顿",{"2":{"396":1}}],["适用于仅需录制或播放音频的场景",{"2":{"545":1}}],["适用于需同时为多台设备启用反向网络共享的场景",{"2":{"380":1}}],["播放",{"2":{"540":1}}],["获得更平滑的播放",{"2":{"540":1}}],["获取当前show",{"2":{"465":1}}],["获取当前screen",{"2":{"463":1}}],["获取当前stay",{"2":{"462":1}}],["获取设备",{"2":{"429":1}}],["获取",{"2":{"399":1}}],["获取应用",{"0":{"374":1,"475":1},"1":{"375":1,"376":1,"377":1,"378":1}}],["获取默认依赖路径异常的问题",{"2":{"222":1}}],["平板为横屏",{"2":{"538":1}}],["平台指南",{"0":{"491":1,"552":1},"1":{"492":1,"493":1,"494":1,"495":1,"496":1,"553":1,"554":1,"555":1,"556":1}}],["平台工具",{"2":{"399":1}}],["平台启动白屏无法正常使用的问题",{"2":{"209":1}}],["值以设备的自然方向表示",{"2":{"538":1}}],["值用于选择摄像头源尺寸",{"2":{"531":1}}],["偏移",{"2":{"538":1}}],["偏好设置",{"0":{"279":1},"1":{"280":1,"281":1,"282":1,"283":1,"284":1,"285":1,"286":1,"287":1}}],["偏好设置描述信息修改",{"2":{"225":1}}],["裁剪在",{"2":{"538":1}}],["裁剪",{"0":{"538":1}}],["角度",{"0":{"537":1}}],["翻转不支持",{"2":{"536":1}}],["翻译",{"2":{"479":1}}],["翻译设备列表",{"2":{"203":1}}],["锁定为水平翻转",{"2":{"536":4}}],["锁定为顺时针",{"2":{"536":2}}],["锁定为",{"2":{"536":2}}],["锁定为初始方向",{"2":{"536":1}}],["锁定捕获方向",{"2":{"536":1}}],["顺时针",{"2":{"536":10,"537":1}}],["顺序无关",{"2":{"445":1}}],["动态切换",{"2":{"550":1}}],["动态改变",{"2":{"536":1}}],["动态更新",{"2":{"319":1}}],["影响显示和录制",{"2":{"536":1}}],["改变镜像方向",{"2":{"536":1}}],["改进历史设备连接体验",{"2":{"274":1}}],["传递任意参数给",{"2":{"534":1}}],["传递自定义参数给",{"2":{"393":1}}],["另一边的尺寸会按比例计算",{"2":{"531":1}}],["另一种设备音频捕获方法",{"2":{"392":1}}],["页面",{"2":{"530":1,"543":1}}],["源",{"0":{"530":1}}],["创建",{"2":{"521":1}}],["创建适合自己工作流程的个性化操作环境",{"2":{"321":1}}],["回环设备",{"2":{"521":1}}],["回退至",{"2":{"344":1}}],["环境",{"2":{"519":3,"520":6}}],["环境变量",{"0":{"382":1},"2":{"411":1}}],["环境变量中",{"2":{"341":1,"500":1}}],["环境变量配置错误导致无法连接的问题",{"2":{"260":1}}],["访问",{"2":{"519":1}}],["假设该服务器可通过",{"2":{"519":1}}],["远程计算机地址",{"2":{"520":2}}],["远程",{"0":{"519":1},"2":{"520":4}}],["⁵仅在android",{"2":{"517":1}}],["³第4和第5鼠标按键",{"2":{"517":1}}],["否则为只读镜像",{"2":{"539":1}}],["否则执行back操作",{"2":{"517":1}}],["否则不建议修改",{"2":{"396":1}}],["否则不得使用此文件",{"2":{"385":1,"483":1}}],["²右键点击会在屏幕关闭时唤醒屏幕",{"2":{"517":1}}],["¹双击黑边以去除它们",{"2":{"517":1}}],["水平翻转",{"2":{"536":8}}],["水平翻转屏幕",{"2":{"517":1}}],["水平倾斜",{"2":{"517":1}}],["垂直翻转",{"2":{"536":1}}],["垂直翻转屏幕",{"2":{"517":1}}],["垂直倾斜",{"2":{"517":1}}],["输出到stdout",{"2":{"517":1}}],["输入法策略",{"0":{"528":1}}],["输入文本时会生成两种事件",{"2":{"486":1}}],["输入管理器",{"2":{"453":1}}],["输入事件",{"2":{"450":1}}],["输入事件有多种类型",{"2":{"449":1}}],["输入事件注入",{"0":{"449":1}}],["输入事件从客户端发送到设备",{"2":{"441":1}}],["输入按键",{"2":{"432":1}}],["输入控制",{"0":{"286":1},"2":{"324":1}}],["同步剪贴板并粘贴⁵",{"2":{"517":1}}],["同时禁用窗口",{"2":{"515":1}}],["同时管理多个设备窗口的布局",{"2":{"299":1}}],["同时新增了",{"2":{"270":1}}],["折叠面板",{"2":{"517":1}}],["展开设置面板",{"2":{"517":2}}],["展开通知面板",{"2":{"508":1,"517":1}}],["⁴对于开发中的react",{"2":{"517":1}}],["⁴",{"2":{"517":1}}],["双指滑动",{"2":{"517":2}}],["双击第5键³",{"2":{"517":1}}],["双击左键¹",{"2":{"517":1}}],["双向复制粘贴",{"2":{"473":1}}],["像素级显示",{"2":{"517":1}}],["像往常一样运行",{"2":{"429":1}}],["恢复显示",{"2":{"517":1}}],["暂停或恢复显示",{"2":{"517":1}}],["右",{"2":{"517":2}}],["右键",{"2":{"508":2}}],["右键触发",{"2":{"508":1}}],["右键点击²",{"2":{"517":2}}],["右键点击触发返回",{"2":{"476":1}}],["右键点击或mod+p",{"2":{"464":1}}],["向右旋转屏幕",{"2":{"517":1}}],["向左旋转屏幕",{"2":{"517":1}}],["向下滚动页面",{"2":{"329":1}}],["修改修饰键",{"2":{"517":1}}],["修复图标不透明的问题",{"2":{"252":1}}],["修复旋转屏幕配置异常的问题",{"2":{"251":1}}],["修复触摸点配置描述错误的问题",{"2":{"250":1}}],["修复直接进行无线连接时没有处理配对设备的问题",{"2":{"249":1}}],["修复无线配对时表单验证错误",{"2":{"249":1}}],["修复检查更新失败没有提示的问题",{"2":{"247":1}}],["修复高级配置标题语义不明的问题",{"2":{"243":1}}],["修复点击无线模式没有反应的问题",{"2":{"242":1}}],["修复usb未授权设备导致无线连接地址变为假值的问题",{"2":{"239":1}}],["修复打包后图标丢失的问题",{"2":{"238":1}}],["修复打包多个平台时可能生成重复文件导致发布软件包失败的问题",{"2":{"217":1}}],["修复设备列表按钮状态变更影响布局变化的问题",{"2":{"237":1}}],["修复设置主题跟随系统后没有生效的问题",{"2":{"199":1}}],["修复对设备进行独立配置时的一些问题",{"2":{"227":1}}],["修复自定义路径功能没有生效的问题",{"2":{"202":1}}],["修复录制结束点击取消异常弹窗以及点击重启服务没有反应的问题",{"2":{"202":1}}],["修复安装路径包含空格会导致无法启动服务的问题",{"2":{"202":1}}],["修复",{"2":{"188":1,"194":1,"195":1,"200":1,"202":1,"206":1,"209":1,"210":1,"212":1,"214":1,"215":1,"216":1,"218":1,"219":1,"220":1,"221":1,"222":2,"235":1,"236":1,"237":1,"260":1}}],["左",{"2":{"517":4}}],["限制录制时间",{"2":{"516":1}}],["限制分辨率为1920",{"2":{"477":1}}],["格式",{"0":{"513":1},"2":{"512":1}}],["格式为",{"2":{"419":1}}],["就像计算机的键盘",{"2":{"509":1}}],["一种特殊模式",{"2":{"509":1}}],["一旦客户端通过",{"2":{"458":1}}],["触发",{"2":{"508":1}}],["触发快捷键",{"2":{"508":4}}],["忽略点击",{"2":{"508":1}}],["次要绑定",{"2":{"508":1}}],["个字符的序列",{"2":{"508":1}}],["个套接字",{"2":{"441":1,"455":1}}],["共",{"2":{"508":1}}],["第5键点击³",{"2":{"517":1}}],["第4键点击³",{"2":{"517":1}}],["第二组绑定可省略",{"2":{"508":1}}],["第五键",{"2":{"508":2}}],["第五键展开通知面板",{"2":{"508":1}}],["第四键",{"2":{"508":2}}],["第四键触发",{"2":{"508":1}}],["第一个",{"2":{"455":2,"458":1}}],["第一个参数",{"2":{"445":1}}],["层面工作",{"2":{"507":1}}],["层级注入输入事件",{"2":{"509":1}}],["层级注入",{"2":{"485":1}}],["层级工作",{"2":{"472":1,"490":1}}],["转而出现在",{"2":{"505":1}}],["转发右键和中键点击",{"2":{"508":1}}],["转发点击到设备",{"2":{"508":1}}],["转发全部音频输出",{"2":{"391":1}}],["转发的是设备音频输出",{"2":{"391":1}}],["工具已在",{"2":{"500":1}}],["工作中需在电脑上操作手机的情况",{"2":{"268":1}}],["你需要确保",{"2":{"500":1}}],["静态构建包仍处于实验阶段",{"2":{"499":1}}],["架构",{"2":{"499":2}}],["脚本会下载预编译的服务器二进制文件",{"2":{"495":1}}],["脚本源码",{"2":{"495":1}}],["官方发布版本",{"0":{"493":1,"554":1}}],["仍可控制设备",{"2":{"490":1,"507":1}}],["仍然在此",{"2":{"455":1}}],["缺点是由于权限问题",{"2":{"489":1}}],["两种模式可在设备上模拟物理",{"2":{"488":1}}],["长按按键会生成重复的按键事件",{"2":{"487":1}}],["等按键",{"2":{"486":1}}],["等效",{"2":{"395":1,"508":1,"532":1}}],["数字和",{"2":{"486":1}}],["数据包大小",{"2":{"456":1}}],["数据包在设备上编码",{"2":{"452":1}}],["数据格式等",{"2":{"454":1}}],["数据线连接后点击无线模式无响应",{"0":{"326":1}}],["表示文本的输入",{"2":{"486":1}}],["表示按键的按下或释放",{"2":{"486":1}}],["表明",{"2":{"346":1}}],["专用于",{"2":{"485":1}}],["专为多设备管理和屏幕空间优化而设计",{"2":{"298":1}}],["建议切换到",{"2":{"484":1}}],["建立与客户端的连接",{"2":{"446":1}}],["建立在以下开源项目的基础上",{"2":{"387":1}}],["我的设备",{"2":{"546":1}}],["我是",{"2":{"482":1}}],["我们假设使用的是",{"2":{"451":1}}],["我们决定采用现有方案",{"2":{"327":1}}],["捐赠",{"0":{"482":1}}],["捐赠项目♥️",{"0":{"261":1}}],["联系方式",{"0":{"481":1}}],["资源",{"0":{"479":1}}],["资源路径问题",{"2":{"235":1}}],["快捷键",{"0":{"517":1},"2":{"478":1,"517":1,"533":1,"536":2}}],["快速运动变化后",{"2":{"447":1}}],["快速上手",{"0":{"288":1},"1":{"289":1,"290":1,"291":1,"292":1,"293":1,"294":1,"295":1,"296":1,"297":1}}],["快速开始",{"2":{"272":1}}],["快速启动",{"2":{"265":1,"473":1}}],["降低分辨率可显著提升性能",{"2":{"476":1}}],["阅读运行方法",{"2":{"475":1}}],["阅读开发者页面",{"2":{"384":1}}],["才能控制副显示器",{"2":{"539":1}}],["才能使用键盘和鼠标控制设备",{"2":{"474":1}}],["才需指定serial参数",{"2":{"380":1}}],["尤其是小米",{"2":{"474":1}}],["前提是使用",{"2":{"512":1}}],["前提条件",{"0":{"474":1}}],["前缀可以组合使用",{"2":{"468":1}}],["前缀",{"2":{"468":1}}],["虚拟显示器",{"2":{"539":1}}],["虚拟显示屏的输入法会显示在默认屏幕上",{"2":{"528":1}}],["虚拟显示屏将不会渲染任何内容",{"2":{"526":1}}],["虚拟显示屏将显示空白内容",{"2":{"525":1}}],["虚拟显示屏会在程序退出时销毁",{"2":{"524":1}}],["虚拟显示屏",{"0":{"523":1},"1":{"524":1,"525":1,"526":1,"527":1,"528":1}}],["虚拟显示",{"2":{"473":1,"478":1}}],["虚拟手指",{"2":{"436":1}}],["免费开源软件",{"2":{"473":1}}],["约1秒显示首帧画面",{"2":{"473":1}}],["约1秒即可显示首帧画面",{"2":{"265":1}}],["轻量",{"2":{"473":1}}],["轻量化",{"2":{"267":1}}],["占用",{"2":{"472":1,"490":1,"507":1}}],["守护进程",{"2":{"472":1,"490":1,"507":1}}],["每种模式对应计算机上连接的一个物理游戏手柄",{"2":{"470":1}}],["每个字符必须为以下之一",{"2":{"508":1}}],["每个由",{"2":{"456":1}}],["每个套接字用于其预定用途",{"2":{"455":1}}],["每个套接字都可以禁用",{"2":{"455":1}}],["每个流一个",{"2":{"452":1}}],["每个数据包附带额外头部信息",{"2":{"441":2}}],["每个设备只能添加一次",{"2":{"307":1}}],["每个编排方案中只能有一个全局配置组件",{"2":{"306":1}}],["每个连接的设备都可以添加为独立的窗口组件",{"2":{"302":1}}],["有时",{"2":{"535":1}}],["有时需要几秒",{"2":{"468":1}}],["有两种模式可在设备上模拟物理",{"2":{"505":1}}],["有两种模式可以在设备上模拟物理",{"2":{"470":1}}],["有些设备声明的参数实际上不支持",{"2":{"417":1}}],["尽力而为",{"2":{"464":1}}],["尽管会有很高的延迟",{"2":{"458":1}}],["尽管服务端设计用于",{"2":{"458":1}}],["尽管针对",{"2":{"444":1}}],["尽管扩展了部分功能",{"2":{"327":1}}],["物理鼠标模拟",{"0":{"505":1},"1":{"506":1,"507":1}}],["物理键盘",{"2":{"488":1}}],["物理键盘模拟",{"0":{"488":1},"1":{"489":1,"490":1}}],["物理键盘模拟模式",{"2":{"350":1}}],["物理键盘和鼠标模拟",{"2":{"473":1}}],["物理游戏手柄模拟",{"0":{"470":1},"1":{"471":1,"472":1}}],["物理power键仍会唤醒屏幕",{"2":{"464":1}}],["物理power键总是会唤醒屏幕",{"2":{"464":1}}],["单位为度",{"2":{"537":1}}],["单位为秒",{"2":{"516":1}}],["单位毫秒",{"2":{"463":1}}],["单独按下shift仅反转x",{"2":{"436":1}}],["单独设备配置",{"2":{"274":1}}],["退出时将恢复原始值",{"2":{"463":1}}],["防止设备延迟休眠",{"2":{"462":1}}],["替换",{"2":{"460":1}}],["替换为设备id",{"2":{"521":1}}],["替换为实际的",{"2":{"429":1}}],["替换为",{"2":{"406":1,"520":1}}],["欢迎讨论和贡献",{"2":{"459":1}}],["黑客指南",{"0":{"459":1},"1":{"460":1}}],["流添加缓冲延迟",{"2":{"522":1}}],["流",{"2":{"458":1}}],["反之",{"2":{"486":1}}],["反序列化",{"2":{"457":2}}],["反向网络共享将持续生效",{"2":{"379":1}}],["反向网络共享",{"2":{"266":1,"274":1,"278":1}}],["`",{"2":{"456":2,"508":4}}],["^^^^",{"2":{"508":1}}],["^^",{"2":{"456":1}}],["字节头部",{"2":{"458":1}}],["字节的帧头部",{"2":{"456":1}}],["字节",{"2":{"456":2}}],["字符",{"2":{"350":1}}],["都可能因版本而异",{"2":{"454":1}}],["协议模拟物理",{"2":{"469":1,"472":1,"484":1,"490":1,"502":1,"507":1}}],["协议",{"0":{"454":1},"1":{"455":1,"456":1,"457":1},"2":{"518":1}}],["序列化",{"2":{"457":2}}],["序列化后发送到客户端",{"2":{"453":1}}],["序列号为",{"2":{"426":1}}],["事件会被转发到设备",{"2":{"504":1}}],["事件",{"2":{"453":1,"509":1}}],["事件转换为",{"2":{"453":1}}],["事件时",{"2":{"453":1}}],["操作",{"2":{"453":1,"517":1}}],["操作日志会打印到控制台",{"2":{"438":1,"439":1}}],["负责向设备发送",{"2":{"453":1}}],["负责提取视频和音频数据包",{"2":{"452":1}}],["帧每秒",{"2":{"533":1}}],["帧",{"2":{"452":1}}],["帧率本质上是可变的",{"2":{"533":1}}],["帧率60fps",{"2":{"477":1}}],["帧率",{"0":{"421":1,"533":1}}],["到mp4文件",{"2":{"477":1}}],["到容器",{"2":{"452":1}}],["到系统",{"2":{"414":1}}],["复制到剪贴板⁵",{"2":{"517":1}}],["复制粘贴",{"0":{"435":1}}],["复用",{"2":{"452":1}}],["读取头部信息",{"2":{"452":1}}],[">",{"2":{"452":2,"456":4,"520":3}}],["根据传递给",{"2":{"452":1}}],["根据apache许可证2",{"2":{"385":1,"483":1}}],["正在运行的应用会被销毁",{"2":{"527":1}}],["正在终止",{"2":{"345":1}}],["正向重定向",{"2":{"455":1}}],["正向",{"2":{"455":1}}],["正常",{"2":{"451":2}}],["初始视频高度",{"2":{"456":1}}],["初始视频宽度",{"2":{"456":1}}],["初始化其组件",{"2":{"451":1}}],["初始化",{"0":{"451":1}}],["初步添加对",{"2":{"224":1}}],["初步支持设置偏好设置的作用域范围",{"2":{"228":1}}],["初步支持",{"2":{"205":1}}],["暴露",{"2":{"449":1}}],["文本事件",{"2":{"486":1}}],["文本注入偏好",{"0":{"486":1}}],["文本",{"2":{"449":1}}],["文件",{"2":{"443":2}}],["文件拖放",{"0":{"437":1},"1":{"438":1,"439":1}}],["文件存储路径",{"2":{"280":1}}],["文件管理器",{"2":{"278":1}}],["文件管理支持上传目录",{"2":{"274":1}}],["文件推送",{"2":{"274":1}}],["键",{"2":{"508":1,"517":1}}],["键码",{"2":{"449":1}}],["键盘输入事件通过",{"2":{"485":1}}],["键盘",{"0":{"484":1},"1":{"485":1,"486":1,"487":1,"488":1,"489":1,"490":1},"2":{"478":1,"484":2,"488":1,"489":2,"490":2,"509":1}}],["键盘与鼠标",{"0":{"433":1}}],["键盘注入方式",{"2":{"286":1}}],["键盘模式",{"0":{"485":1},"1":{"486":1,"487":1},"2":{"286":1,"324":1}}],["接收器添加",{"2":{"522":1}}],["接收器启动",{"2":{"521":1}}],["接收视频和音频流以录制单个文件",{"2":{"452":1}}],["接收",{"2":{"449":1}}],["接收端但不播放",{"2":{"541":1}}],["接收端添加",{"2":{"540":1}}],["接收端",{"2":{"281":1,"540":1}}],["异步",{"2":{"448":1}}],["异常",{"0":{"355":1}}],["发音为",{"2":{"473":1}}],["发送到音频播放器",{"2":{"452":1}}],["发生变化时才会生成新帧",{"2":{"447":1}}],["发布的博客文章详细介绍了音频功能",{"2":{"441":1}}],["内核模块模拟物理",{"2":{"469":1,"471":1,"484":1,"489":1,"502":1,"506":1}}],["内部",{"2":{"454":1}}],["内容为您的命令",{"2":{"556":1}}],["内容",{"2":{"447":1}}],["内置终端",{"2":{"274":1}}],["内置gnirehtet反向网络共享功能",{"2":{"266":1}}],["管理",{"2":{"447":1}}],["套接字上暴露原始",{"2":{"458":1}}],["套接字上",{"2":{"455":2,"456":3}}],["套接字上的控制消息",{"2":{"446":1}}],["套接字打开顺序",{"2":{"454":1}}],["套接字数量",{"2":{"454":1}}],["套接字",{"2":{"447":1,"451":1,"455":5}}],["套接字不同",{"2":{"446":1}}],["套接字是双向使用的",{"2":{"446":1}}],["套接字发送的设备元数据",{"2":{"458":1}}],["套接字发送设备消息",{"2":{"446":1}}],["套接字发送",{"2":{"446":1}}],["套接字发送编码后的视频数据包",{"2":{"446":1}}],["组件",{"0":{"446":1},"2":{"446":1}}],["形式为",{"2":{"445":1}}],["意外运行旧版或新版服务端",{"2":{"445":1}}],["执行时",{"2":{"446":1}}],["执行",{"0":{"445":1},"2":{"517":1}}],["执行脚本",{"2":{"278":1}}],["隐藏",{"2":{"449":1}}],["隐藏方法和类无法直接访问",{"2":{"444":1}}],["隐藏方法",{"0":{"444":1}}],["隐含",{"2":{"390":1,"392":1}}],["是快捷键修饰键",{"2":{"517":1}}],["是正向重定向",{"2":{"455":1}}],["是一个",{"2":{"455":1}}],["是一个随机数",{"2":{"445":1}}],["是一款用于在安卓设备上实现反向网络共享的工具",{"2":{"357":1}}],["是客户端的",{"2":{"445":1}}],["是推送服务端的理想选择",{"2":{"443":1}}],["是主类",{"2":{"443":1}}],["类",{"2":{"444":1}}],["类必须被",{"2":{"443":1}}],["类似地",{"2":{"436":1,"441":1,"448":1}}],["框架编译",{"2":{"443":1,"444":1}}],["针对",{"2":{"443":1}}],["针对此类情况",{"2":{"435":1}}],["方向可以在三个不同层级上设置",{"2":{"536":1}}],["方向",{"0":{"536":1}}],["方向与摄像头一致",{"2":{"391":1}}],["方法",{"2":{"443":1,"446":1,"449":1}}],["然而",{"2":{"441":1}}],["然后输入命令",{"2":{"556":1}}],["然后双击",{"2":{"517":1}}],["然后克隆仓库并执行安装脚本",{"2":{"495":1}}],["然后点击",{"2":{"460":1}}],["然后重定向结果",{"2":{"460":1}}],["然后重新编译并运行",{"2":{"460":1}}],["然后是",{"2":{"455":1}}],["然后将",{"2":{"453":1}}],["然后运行",{"2":{"428":1}}],["然后构建",{"2":{"411":1}}],["然后生成发布版本",{"2":{"405":1}}],["新建虚拟显示屏",{"0":{"524":1}}],["新内容会从设备发送到客户端",{"2":{"441":1}}],["新增支持添加设备备注",{"2":{"229":1}}],["新增支持导入及导出配置",{"2":{"229":1}}],["新增支持",{"2":{"201":1}}],["由当前活动应用处理",{"2":{"517":1}}],["由于光标由设备端处理",{"2":{"508":1}}],["由于权限问题",{"2":{"471":1,"506":1}}],["由于音频默认启用",{"2":{"388":1}}],["由",{"2":{"449":1}}],["由客户端通过",{"2":{"449":1}}],["由服务端注入到设备中",{"2":{"441":1}}],["由服务端处理",{"2":{"441":1}}],["随时启用或禁用",{"2":{"533":1}}],["随后建立",{"2":{"520":1}}],["随后",{"2":{"455":2,"456":1}}],["随后可以跟随任意数量的参数",{"2":{"445":1}}],["随后每个套接字分别用于其特定用途",{"2":{"441":1}}],["随系统自动切换",{"2":{"266":1}}],["概述",{"0":{"441":1}}],["后缀为",{"2":{"438":1}}],["后续说明",{"2":{"347":1}}],["技术实现上",{"2":{"436":1}}],["技术优势",{"0":{"270":1}}],["具体取决于设备",{"2":{"473":1}}],["具体来说",{"2":{"458":1}}],["具体操作",{"2":{"436":1}}],["具体使用方法请参考",{"2":{"272":1}}],["捏合缩放",{"0":{"436":1},"2":{"436":1,"517":1}}],["使物理设备旋转不会改变捕获的视频方向",{"2":{"536":1}}],["使得",{"2":{"509":1}}],["使其同样以按键序列方式注入电脑剪贴板文本",{"2":{"435":1}}],["使用主屏幕尺寸和240",{"2":{"524":1}}],["使用主屏幕尺寸和像素密度",{"2":{"524":1}}],["使用左ctrl或左super作为快捷键修饰键",{"2":{"517":1}}],["使用右ctrl作为快捷键修饰键",{"2":{"517":1}}],["使用第四键和第五键触发",{"2":{"508":1}}],["使用第一个外接相机",{"2":{"418":1}}],["使用第一个后置相机",{"2":{"418":1}}],["使用第一个前置相机",{"2":{"418":1}}],["使用第一个相机",{"2":{"418":1}}],["使用其中之一可将鼠标控制权交还给计算机",{"2":{"505":1}}],["使用安装脚本",{"0":{"495":1}}],["使用连接到计算机的手柄控制设备",{"2":{"477":1}}],["使用示例",{"0":{"477":1}}],["使用多个线程捕获原始数据包",{"2":{"446":1}}],["使用不同版本的服务端和客户端毫无意义",{"2":{"445":1}}],["使用不超过",{"2":{"419":2}}],["使用与相机传感器宽高比",{"2":{"419":1}}],["使用宽高比为",{"2":{"419":2}}],["使用最大宽度及其关联的最大高度",{"2":{"419":1}}],["使用预构建服务器",{"0":{"412":1}}],["使用",{"2":{"407":1,"426":1,"427":1,"435":1,"488":1,"508":1,"515":1,"519":1,"521":1,"555":3}}],["使用ctrl",{"2":{"324":1}}],["使用系统终端",{"2":{"280":1}}],["使用场景",{"0":{"268":1}}],["应避免以此方式粘贴敏感内容",{"2":{"435":1}}],["应用提供丰富的功能和配置选项",{"2":{"478":1}}],["应用程序",{"2":{"443":2}}],["应用图标",{"2":{"414":1}}],["应用可选择退出捕获",{"2":{"392":1}}],["应用可选择退出",{"2":{"391":1}}],["应用处于前台",{"2":{"388":1}}],["导致任何应用均可读取",{"2":{"435":1}}],["导出和导入偏好设置",{"2":{"274":1}}],["警告",{"2":{"435":1,"519":1}}],["很有用",{"2":{"435":1}}],["粘贴",{"2":{"435":1}}],["剪切到剪贴板⁵",{"2":{"517":1}}],["剪切",{"2":{"435":1}}],["拖放非apk文件",{"2":{"517":1}}],["拖放apk文件",{"2":{"517":1}}],["拖放到scrcpy窗口",{"2":{"438":1}}],["拖放文件等",{"2":{"432":1}}],["拖拽调整",{"2":{"310":1}}],["拖拽过程中可以看到实时的位置变化",{"2":{"309":1}}],["拖拽移动",{"2":{"309":1}}],["作为替代方案",{"2":{"509":1}}],["作为网络摄像头镜像",{"2":{"473":1}}],["作为回退",{"2":{"455":1}}],["作为scrcpy的图形界面版本",{"2":{"270":1}}],["作者开发的一个小工具",{"2":{"430":1}}],["拔掉设备",{"2":{"429":1}}],["||||",{"2":{"508":2}}],["|||",{"2":{"508":2}}],["||",{"2":{"456":1,"508":2}}],["|",{"2":{"429":1,"456":2,"457":2,"508":2,"517":9}}],["查看",{"2":{"429":1,"521":1}}],["状态",{"2":{"429":1}}],["状态栏会显示",{"2":{"379":1}}],["网络层面的角色是相反的",{"2":{"441":1}}],["网络",{"2":{"429":1}}],["网络摄像头",{"0":{"424":1}}],["本地",{"2":{"520":4}}],["本节记录了",{"2":{"454":1}}],["本节为escrcpy和scrcpy用户提供了解决常见问题的解决方案",{"2":{"356":1}}],["本例中为",{"2":{"428":1}}],["地址和",{"2":{"428":1}}],["地址",{"2":{"428":1,"429":2,"519":1}}],["模块",{"2":{"521":1}}],["模式下使用",{"2":{"509":1}}],["模式下有效",{"2":{"507":1}}],["模式时",{"2":{"488":1}}],["模式并一次性配置键盘布局",{"2":{"484":1}}],["模式的代码请自行阅读",{"2":{"451":1}}],["模式的",{"2":{"429":1}}],["模式",{"0":{"471":1,"472":1,"489":1,"490":1,"506":1,"507":1},"2":{"428":2,"451":3,"472":2,"484":1,"486":1,"490":1,"509":1,"511":1,"521":1}}],["模拟水平倾斜手势",{"2":{"436":1}}],["模拟垂直倾斜手势",{"2":{"436":1}}],["模拟",{"2":{"436":1}}],["模拟器",{"2":{"344":1}}],["模拟辅助显示器",{"2":{"282":1}}],["行为一致",{"2":{"426":1}}],["端口启动调试器并等待",{"2":{"460":1}}],["端口",{"2":{"426":1,"428":1,"520":8}}],["简写版本",{"2":{"477":2,"531":1,"532":1}}],["简写形式",{"2":{"426":3,"432":1,"434":2,"462":1,"464":2,"465":1,"471":1,"489":1,"506":1,"509":1,"511":1,"550":1}}],["简单方法",{"2":{"521":1}}],["简单方式",{"0":{"379":1}}],["简单关闭应用重新打开时报错的问题",{"2":{"216":1}}],["您也可以编辑",{"2":{"556":1}}],["您也可以手动通过",{"2":{"429":1}}],["您将无法查看错误信息",{"2":{"556":1}}],["您需要通过以下4种方式之一指定要使用的设备",{"2":{"426":1}}],["您可在以下网址获取许可证副本",{"2":{"385":1}}],["您可以在以下网址获取许可证副本",{"2":{"483":1}}],["您可以用它来启动",{"2":{"430":1}}],["您可以显著提高多设备管理的效率",{"2":{"321":1}}],["您可以精确控制每个设备窗口的位置",{"2":{"298":1}}],["所有",{"2":{"517":1}}],["所有点击默认被转发",{"2":{"508":1}}],["所有内容",{"2":{"454":1}}],["所有鼠标移动都会以屏幕中心为基准对内容进行缩放和旋转",{"2":{"436":1}}],["所有ctrl快捷键都会转发到设备",{"2":{"435":1}}],["所有相机选项均以",{"2":{"423":1}}],["所有提交到",{"2":{"398":1}}],["花括号扩展技巧",{"0":{"423":1}}],["旋转中心为可见区域的中心",{"2":{"537":1}}],["旋转视频内容",{"2":{"537":1}}],["旋转通过向",{"2":{"536":1}}],["旋转设备屏幕",{"2":{"517":1}}],["旋转与倾斜模拟",{"0":{"436":1}}],["旋转",{"0":{"420":1,"514":1},"2":{"517":1}}],["旋转角度",{"2":{"281":1}}],["匹配的最大尺寸",{"2":{"419":1}}],["误差",{"2":{"419":3}}],["示例中的",{"2":{"445":1}}],["示例",{"2":{"419":1}}],["示例用法",{"2":{"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"367":1,"368":1}}],["用",{"2":{"508":1}}],["用作窗口标题",{"2":{"455":1}}],["用于生成帧",{"2":{"452":1}}],["用于区分同一设备上运行的不同客户端",{"2":{"445":1}}],["用于",{"2":{"441":1}}],["用于指定宽高比",{"2":{"419":1}}],["用户文档",{"0":{"478":1}}],["用户友好",{"2":{"473":1}}],["用户可读写",{"2":{"443":1}}],["用户可以轻松地在电脑上显示并控制安卓设备",{"2":{"263":1}}],["用户身份执行",{"2":{"443":1}}],["用户",{"2":{"443":1}}],["用户运行",{"2":{"411":2,"412":1}}],["用户克隆项目",{"2":{"409":1}}],["用户也可手动调用这些命令",{"2":{"381":1}}],["用户界面进行优化",{"2":{"253":1}}],["某些游戏中这些事件无用且可能导致性能问题",{"2":{"487":1}}],["某些设备需在开发者选项中启用额外设置才能使此模式正常工作",{"2":{"485":1}}],["某些设备支持任意尺寸",{"2":{"419":1}}],["某些命令行参数可以在scrcpy运行时对设备本身执行操作",{"2":{"461":1}}],["某些情况下循环触发导致死循环的问题",{"2":{"188":1}}],["给定的尺寸可以是声明的有效尺寸之一",{"2":{"419":1}}],["已配置",{"2":{"460":1}}],["已监听某个端口",{"2":{"428":1}}],["已用于显示镜像",{"2":{"419":1}}],["已经确定了相机",{"2":{"418":1}}],["已添加的设备不会在下拉列表中重复显示",{"2":{"307":1}}],["来选择相机",{"2":{"418":1}}],["来构建项目",{"2":{"406":1}}],["而非设备主屏幕",{"2":{"524":1}}],["而不是在计算机上捕获",{"2":{"512":1}}],["而字母通过按键事件注入",{"2":{"486":1}}],["而scrcpy命令行参数的单位是秒",{"2":{"463":1}}],["而无需轮询",{"2":{"441":1}}],["而当设备剪贴板内容变化时",{"2":{"441":1}}],["而ctrl+shift仅反转y",{"2":{"436":1}}],["而",{"2":{"427":1}}],["而有些未声明的参数却可能支持",{"2":{"417":1}}],["而是环境配置问题",{"2":{"340":1}}],["尺寸",{"0":{"531":1}}],["尺寸已由显式给定的值确定",{"2":{"419":1}}],["尺寸选择",{"0":{"419":1}}],["尺寸和帧率是声明性的",{"2":{"417":1}}],["尺寸限制说明",{"0":{"311":1}}],["列出已启用的设备",{"2":{"521":1}}],["列出设备上安装的android应用",{"2":{"468":1}}],["列出",{"2":{"418":1,"419":2,"422":1,"426":1}}],["列出可用的相机",{"2":{"417":1}}],["列表",{"0":{"417":1},"2":{"539":1}}],["强制设为420",{"2":{"524":1}}],["强制使用相机画面并捕获设备音频输出",{"2":{"416":1}}],["强制显示画面并使用麦克风",{"2":{"416":1}}],["相当于同时传递了",{"2":{"416":1}}],["相机以",{"2":{"421":1}}],["相机",{"0":{"416":1},"1":{"417":1,"418":1,"419":1,"420":1,"421":1,"422":1,"423":1,"424":1},"2":{"422":1}}],["相关文章",{"0":{"386":1,"480":1}}],["卸载方法",{"2":{"495":1}}],["卸载",{"0":{"415":1}}],["之前应用",{"2":{"538":1}}],["之前",{"2":{"536":1}}],["之后双击该文件即可运行",{"2":{"556":1}}],["之后应用",{"2":{"536":1,"537":1}}],["之后可直接运行",{"2":{"414":1}}],["之间的所有通信均为明文传输",{"2":{"519":1}}],["之间平衡",{"2":{"396":1}}],["补全",{"2":{"414":2}}],["补充依赖及目录结构调整",{"2":{"198":1}}],["手机为竖屏",{"2":{"538":1}}],["手柄",{"2":{"478":1}}],["手柄支持",{"2":{"473":1}}],["手指在设备上的触摸",{"2":{"465":1}}],["手册页",{"2":{"414":1}}],["手动连接",{"0":{"429":1}}],["手动运行",{"0":{"381":1}}],["手动安装",{"0":{"290":1}}],["推送到控制器持有的队列中",{"2":{"453":1}}],["推送到设备的服务器",{"2":{"414":1}}],["推送并启动设备上的服务端",{"2":{"451":1}}],["推送文件到设备的",{"2":{"439":1}}],["推送文件到设备",{"0":{"439":1},"2":{"517":1}}],["推荐使用",{"2":{"520":1}}],["推荐使用rust版本",{"2":{"371":1}}],["推荐微信输入法",{"2":{"324":1}}],["权限",{"0":{"443":1},"2":{"411":1}}],["预构建服务器",{"2":{"410":1}}],["构建指南",{"2":{"479":1}}],["构建系统",{"2":{"443":1}}],["构建成功后",{"2":{"414":1}}],["构建",{"0":{"410":1},"1":{"411":1,"412":1}}],["位置与尺寸",{"0":{"547":1}}],["位随机数",{"2":{"455":1}}],["位版本",{"2":{"406":1}}],["位于",{"2":{"341":1}}],["生成的数据包会附带一个",{"2":{"456":1}}],["生成的",{"2":{"405":1}}],["交叉编译",{"0":{"405":1}}],["$9",{"2":{"429":1}}],["$path",{"2":{"406":1,"407":1}}],["$java",{"2":{"406":1,"407":1}}],["$",{"2":{"403":1,"407":1}}],["$env",{"2":{"345":1,"426":1,"519":1,"520":2}}],["服务端由客户端在启动时推送到设备",{"2":{"460":1}}],["服务端会失败",{"2":{"445":1}}],["服务端会发送设备音频输出",{"2":{"441":1}}],["服务端会发送设备屏幕的原始视频流",{"2":{"441":1}}],["服务端被构建为一个",{"2":{"443":1}}],["服务端是一个",{"2":{"443":1}}],["服务端连接到客户端",{"2":{"441":1}}],["服务端提供视频和音频流",{"2":{"441":1}}],["服务端首先在第一个套接字上发送设备名称",{"2":{"441":1}}],["服务端",{"0":{"442":1},"1":{"443":1,"444":1,"445":1,"446":1,"447":1,"448":1,"449":1},"2":{"441":1,"472":1,"490":1,"507":1}}],["服务端版本",{"2":{"345":1}}],["服务器",{"0":{"519":1},"2":{"518":1,"519":2,"520":2}}],["服务器仅与匹配的客户端版本兼容",{"2":{"412":1}}],["服务器二进制文件将被推送到",{"2":{"410":1}}],["服务器构建依赖",{"2":{"402":1,"403":1}}],["上可能无法工作",{"2":{"506":1}}],["上的",{"0":{"510":1}}],["上的文档",{"2":{"501":1}}],["上的项目主页",{"2":{"398":1}}],["上使用",{"0":{"497":1},"1":{"498":1,"499":1,"500":1,"501":1}}],["上无兼容问题",{"2":{"489":1}}],["上无需",{"2":{"414":1,"415":1}}],["上结合",{"2":{"424":1}}],["上",{"2":{"399":1,"406":1,"472":1,"474":1,"490":1,"507":1,"517":2}}],["上执行",{"2":{"347":1}}],["项目有两个主要分支",{"2":{"398":1}}],["项目团队将持续完善escrcpy",{"2":{"271":1}}],["客户端与",{"2":{"519":1}}],["客户端连接到远程",{"2":{"518":1}}],["客户端连接就不会失败",{"2":{"455":1}}],["客户端设置",{"2":{"455":1}}],["客户端必须始终与匹配的服务端版本一起运行",{"2":{"454":1}}],["客户端解析命令行参数后",{"2":{"451":1}}],["客户端解码音频流",{"2":{"441":1}}],["客户端解码视频帧并尽快显示",{"2":{"441":1}}],["客户端依赖",{"2":{"450":1}}],["客户端通过以下命令启动服务端",{"2":{"445":1}}],["客户端通过服务端控制设备",{"2":{"441":1}}],["客户端在启动服务端之前打开服务器套接字并监听端口",{"2":{"441":1}}],["客户端会捕获相关的键盘和鼠标事件",{"2":{"441":1}}],["客户端不感知设备旋转",{"2":{"441":1}}],["客户端和服务端之间的协议应视为",{"2":{"454":1}}],["客户端和服务端之间的协议可能因版本而异",{"2":{"445":1}}],["客户端和服务端的角色是从应用层面定义的",{"2":{"441":1}}],["客户端和服务端均为每个套接字分配专用线程进行读写操作",{"2":{"441":1}}],["客户端和服务端通过独立的套接字进行视频",{"2":{"441":1}}],["客户端和服务器",{"2":{"397":1}}],["客户端负责将服务端推送到设备并启动其执行",{"2":{"441":1}}],["客户端",{"0":{"450":1},"1":{"451":1,"452":1,"453":1},"2":{"441":1,"451":1,"458":1,"536":1}}],["客户端构建依赖",{"2":{"402":1,"403":1,"406":2,"407":1}}],["客户端需要",{"2":{"399":1}}],["客户端问题",{"0":{"351":1},"1":{"352":1,"353":1}}],["还可启用或禁用屏幕键盘",{"2":{"488":1}}],["还可配置另一音频缓冲",{"2":{"396":1}}],["还接受包含",{"2":{"443":1}}],["还支持高速捕获模式",{"2":{"422":1}}],["还需从",{"2":{"407":1}}],["还需安装",{"2":{"405":1}}],["还需开启usb调试",{"2":{"328":1}}],["减少欠载",{"2":{"396":1}}],["缓冲",{"0":{"396":1,"522":1,"540":1},"2":{"522":1,"540":3}}],["缓冲区",{"2":{"281":1}}],["比默认值大",{"2":{"396":1}}],["比默认值小",{"2":{"396":1}}],["比特率",{"0":{"395":1,"532":1}}],["比例约束",{"2":{"310":1}}],["压缩级别",{"2":{"393":1}}],["说明设备不支持",{"2":{"393":1}}],["捕获方向变换在",{"2":{"536":1}}],["捕获设备前置摄像头并作为网络摄像头暴露给计算机",{"2":{"477":1}}],["捕获屏幕视频并通过",{"2":{"446":1}}],["捕获屏幕需要一些权限",{"2":{"443":1}}],["捕获",{"2":{"421":1,"448":1,"505":1}}],["捕获并录制音频",{"2":{"416":1}}],["捕获适用于实时表演",{"2":{"391":1}}],["捕获语音通话",{"2":{"391":1}}],["捕获为语音通信优化的麦克风音频",{"2":{"391":1}}],["捕获为语音识别优化的麦克风音频",{"2":{"391":1}}],["捕获为视频录制优化的麦克风音频",{"2":{"391":1}}],["捕获未经处理的麦克风原始音频",{"2":{"391":1}}],["捕获麦克风输入",{"2":{"391":1}}],["捕获音频播放",{"2":{"391":1}}],["映射到",{"2":{"391":10}}],["例如运行开源启动器",{"2":{"525":1}}],["例如通过互联网",{"2":{"518":1}}],["例如开关屏幕或复制剪贴板",{"2":{"449":1}}],["例如将设备剪贴板内容传输到客户端",{"2":{"446":1}}],["例如支持回声消除或自动增益控制",{"2":{"391":1}}],["例如",{"2":{"391":1,"393":1,"411":1,"419":1,"423":1,"435":2,"443":1,"445":1,"455":1,"458":1,"508":2,"517":2,"521":1,"525":1,"531":1,"533":1,"538":1,"556":2}}],["会请求设备在竖屏和横屏之间切换",{"2":{"536":1}}],["会自动尝试降低分辨率",{"2":{"531":1}}],["会自动切换备用方案",{"2":{"344":1}}],["会尝试以",{"2":{"531":1}}],["会镜像显示设备屏幕",{"2":{"530":1}}],["会触发开发菜单",{"2":{"517":1}}],["会触发新建邮件功能",{"2":{"435":1}}],["会将多个物理游戏手柄检测为一个行为异常的单一设备",{"2":{"472":1}}],["会将该内容存入android剪贴板",{"2":{"435":1}}],["会强制在一小段延迟后关闭屏幕",{"2":{"464":1}}],["会创建相应的",{"2":{"453":1}}],["会解析参数",{"2":{"446":1}}],["会在ctrl+c时发送sigint信号",{"2":{"435":1}}],["会被",{"2":{"390":1}}],["要连接到远程",{"2":{"519":1}}],["要连接远程设备",{"2":{"518":1}}],["要调试它",{"2":{"460":1}}],["要运行这样的",{"2":{"443":1}}],["要在无窗口模式下播放音频",{"2":{"390":1}}],["要仅播放音频",{"2":{"390":1}}],["要禁用音频功能",{"2":{"389":1}}],["要求",{"0":{"372":1,"399":1},"1":{"373":1}}],["功能请求或一般问题",{"2":{"481":1}}],["功能亮点",{"2":{"473":1}}],["功能",{"2":{"424":1}}],["功能自动禁用",{"2":{"388":1}}],["功能概述",{"0":{"299":1}}],["提交错误报告前",{"2":{"481":1}}],["提交编码并获取编码后的数据包",{"2":{"446":1}}],["提供多种鼠标输入模式",{"2":{"502":1}}],["提供多种键盘输入模式",{"2":{"484":1}}],["提供多种选项",{"2":{"477":1}}],["提供多种游戏手柄输入模式",{"2":{"469":1}}],["提供",{"2":{"426":1,"444":1}}],["提供相关内容以及用户参考",{"2":{"387":1}}],["提升性能和稳定性",{"2":{"274":1}}],["提升用户体验",{"2":{"274":1}}],["提升批量设备连接体验",{"2":{"271":1}}],["法语版",{"2":{"386":2}}],["介绍",{"2":{"386":1}}],["分别设置显示和录制的方向",{"2":{"536":1}}],["分别对应每次次要点击",{"2":{"508":1}}],["分别通过",{"2":{"455":1}}],["分隔",{"2":{"508":1}}],["分发",{"2":{"483":1}}],["分发的软件",{"2":{"385":1}}],["分辨率1920x1080",{"2":{"477":1}}],["分支提交",{"2":{"398":1}}],["分支",{"0":{"398":1},"2":{"412":1}}],["分步操作",{"0":{"380":1}}],["除了原始的",{"2":{"443":1}}],["除非发生错误",{"2":{"556":1}}],["除非启用了",{"2":{"531":1}}],["除非指定",{"2":{"441":1}}],["除非出现机器人声或卡顿",{"2":{"396":1}}],["除非设置了",{"2":{"388":1}}],["除非适用法律要求或书面同意",{"2":{"385":1,"483":1}}],["除非符合许可证要求",{"2":{"483":1}}],["除非符合许可证",{"2":{"385":1}}],["除开启usb调试外",{"2":{"328":1}}],["授权",{"2":{"385":1,"483":1}}],["版的",{"2":{"499":1}}],["版权所有",{"2":{"385":1,"483":2}}],["版本过旧",{"2":{"494":1}}],["版本上可能无法正常工作",{"2":{"471":1}}],["版本可能有所不同",{"2":{"444":1}}],["版本将位于",{"2":{"405":1}}],["版本",{"0":{"370":1},"1":{"371":1},"2":{"345":2,"445":1}}],["版本冲突",{"0":{"345":1}}],["版本已默认包含",{"2":{"341":1}}],["版本打包失败的问题",{"2":{"222":1}}],["许可证",{"0":{"385":1,"483":1},"2":{"385":1,"483":1}}],["图标",{"2":{"379":1}}],["图形化文件管理器",{"2":{"274":1}}],["钥匙",{"2":{"379":1}}],["当前运行的应用程序可能会拒绝",{"2":{"536":1}}],["当前",{"2":{"534":1}}],["当前开发分支",{"2":{"398":1}}],["当有新版本发布时",{"2":{"495":1}}],["当设备通过有线连接时",{"2":{"462":1}}],["当设备在gnirehtet激活时断开并重新连接后",{"2":{"380":1}}],["当gnirehtet激活时",{"2":{"379":1}}],["当调整投屏窗口尺寸后出现黑边时",{"2":{"338":1}}],["直接以全屏模式启动",{"2":{"550":1}}],["直接在",{"2":{"490":1}}],["直接或间接",{"2":{"455":1}}],["直接执行",{"2":{"379":1}}],["直至按下ctrl+c终止",{"2":{"379":1}}],["解锁屏幕",{"2":{"517":1}}],["解复用后的数据包可能发送到",{"2":{"452":1}}],["解复用器",{"2":{"451":1,"452":1}}],["解码后的样本数组",{"2":{"452":1}}],["解码器",{"2":{"451":1,"452":1}}],["解码",{"2":{"450":1}}],["解决",{"2":{"447":1}}],["解决方案",{"2":{"343":1,"345":1,"350":1}}],["解决方案如下",{"2":{"324":1}}],["解压后包含",{"2":{"378":1}}],["也会影响简单的镜像",{"2":{"516":1}}],["也支持",{"2":{"512":1}}],["也不依赖",{"2":{"507":1}}],["也不需要",{"2":{"472":1}}],["也无需在设备上安装应用",{"2":{"473":1}}],["也是发布版本的构建方式",{"2":{"405":1}}],["也可强制指定其他隧道端口",{"2":{"519":1}}],["也可强制始终使用原始按键事件",{"2":{"486":1}}],["也可通过",{"2":{"500":1}}],["也可手动修改此设置",{"2":{"463":1}}],["也可手动调整",{"2":{"462":1}}],["也可能发送到",{"2":{"452":1}}],["也可以创建",{"2":{"539":1}}],["也可以通过快捷键",{"2":{"533":1}}],["也可以通过应用名称选择应用",{"2":{"468":1}}],["也可以选择捕获设备摄像头画面",{"2":{"530":1}}],["也可以直接启动启动器应用",{"2":{"525":1}}],["也可以分别禁用视频和音频播放",{"2":{"515":1,"541":1}}],["也可以显式选择容器",{"2":{"513":1}}],["也可以控制设备",{"2":{"472":1}}],["也可以是其他任意尺寸",{"2":{"419":1}}],["也可以捕获设备麦克风输入",{"2":{"391":1}}],["也可安装android",{"2":{"373":1}}],["也让更多人能够毫无顾虑地使用这一优秀工具",{"2":{"273":1}}],["计算机鼠标会被",{"2":{"505":1}}],["计算机连接",{"2":{"455":1}}],["计算机监听",{"2":{"455":1}}],["计算机需安装java",{"2":{"372":1}}],["计划任务",{"2":{"274":1,"278":1}}],["且默认启用",{"2":{"509":1}}],["且无需",{"2":{"490":1}}],["且无需安装java运行时环境",{"2":{"371":1}}],["且没有向后或向前兼容性",{"2":{"445":1}}],["且不同",{"2":{"444":1}}],["且",{"2":{"392":1}}],["且当前目录在",{"2":{"341":1}}],["它可以发送",{"2":{"509":1}}],["它可能",{"2":{"454":1}}],["它不需要root权限",{"2":{"473":1}}],["它不需要任何root权限",{"2":{"369":1}}],["它不使用",{"2":{"472":1,"490":1,"507":1}}],["它会在设备的",{"2":{"460":1}}],["它负责将",{"2":{"453":1}}],["它在单独的线程中运行",{"2":{"453":1}}],["它们会在客户端异步",{"2":{"452":1}}],["它们使用",{"2":{"449":1}}],["它提供了跨平台的",{"2":{"450":1}}],["它有两种使用方式",{"2":{"428":1}}],["它通过ipv4转发tcp和udp流量",{"2":{"369":1}}],["它基于知名的开源项目scrcpy构建",{"2":{"263":1}}],["该程序设计为通过终端运行",{"2":{"556":1}}],["该参数适用于解决某些设备可能出现的ui异常",{"2":{"526":1}}],["该工具会自动配置",{"2":{"500":1}}],["该模式通用性强",{"2":{"485":1}}],["该功能通过修改stay",{"2":{"462":1}}],["该协议的唯一文档是双方的单元测试",{"2":{"457":1}}],["该应用由两部分组成",{"2":{"441":1}}],["该应用无用户界面",{"2":{"379":1}}],["该命令会自动查找设备的",{"2":{"428":1}}],["该命令会自动将音频源切换为麦克风",{"2":{"416":1}}],["该变量同样被",{"2":{"426":1}}],["该项目已不再积极维护",{"2":{"369":1}}],["该项目通过adb为android设备提供反向网络共享功能",{"2":{"369":1}}],["该组件将立即从编排区域移除",{"2":{"315":1}}],["该组件用于设置所有设备的默认参数",{"2":{"306":1}}],["运行以下两种代码路径之一",{"2":{"451":1}}],["运行时依赖",{"2":{"402":1,"406":2,"407":1}}],["运行",{"0":{"379":1,"380":1,"496":1,"501":1,"556":1}}],["运行期间断开并重新连接",{"2":{"367":1}}],["运行日志等功能",{"2":{"201":1}}],["隧道建立的本地端口",{"2":{"519":1}}],["隧道连接",{"0":{"518":1},"1":{"519":1,"520":1}}],["隧道",{"0":{"520":1},"2":{"367":1,"455":1,"478":1,"520":2}}],["停止客户端",{"2":{"380":1,"381":1}}],["停止当前客户端并重新启动",{"2":{"366":1}}],["停止指定安卓设备上的客户端并退出",{"2":{"365":1}}],["停止中继服务器和客户端",{"2":{"361":1}}],["命令行参数的文档可通过以下方式查看",{"2":{"501":1,"556":1}}],["命令行参数文档可通过以下方式查看",{"2":{"496":1}}],["命令相同",{"2":{"364":1}}],["命令初始化设备连接",{"2":{"340":1}}],["监听设备连接并为每个检测到的设备启动客户端",{"2":{"364":1}}],["监控设备并自动启动客户端",{"2":{"362":1}}],["指定麦克风输入",{"2":{"441":1}}],["指定路由",{"2":{"361":1,"362":1,"363":1,"364":1,"366":1}}],["指定端口",{"2":{"361":1,"362":1,"363":1,"364":1,"366":1,"367":1,"368":1}}],["指定dns服务器",{"2":{"361":1,"362":1,"363":1,"364":1,"366":1}}],["指定设备序列号",{"2":{"358":1,"359":1,"360":1,"363":1,"365":1,"366":1,"367":1}}],["必知技巧",{"0":{"476":1}}],["必要时启用",{"2":{"428":1}}],["必要时安装客户端",{"2":{"361":1}}],["必须",{"2":{"411":1}}],["必须提供",{"2":{"358":1,"359":1}}],["先卸载再安装客户端",{"2":{"360":1}}],["先完成usb连接方式的步骤1",{"2":{"294":1,"295":1}}],["从电脑安装apk",{"2":{"517":1}}],["从官方发布版本安装",{"0":{"499":1}}],["从android",{"2":{"464":1}}],["从设备发送到电脑的视频方向",{"2":{"536":1}}],["从设备到客户端",{"2":{"457":1}}],["从设备列表中选择要添加的设备",{"2":{"307":1}}],["从客户端到设备",{"2":{"457":1}}],["从一个线程接收",{"2":{"446":1}}],["从源码构建所有内容",{"0":{"411":1}}],["从",{"0":{"405":1},"2":{"429":1,"446":1}}],["从最新发布中下载所需版本",{"2":{"376":1}}],["从指定的安卓设备上卸载客户端并退出",{"2":{"359":1}}],["描述",{"2":{"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"367":1,"368":1}}],["帮助中心",{"0":{"356":1}}],["编码会话会重置并重新启动",{"2":{"447":1}}],["编码由",{"2":{"447":1}}],["编码",{"2":{"441":2,"447":1,"448":1,"517":1}}],["编码器并不常见",{"2":{"534":1}}],["编码器编码与显示关联的",{"2":{"447":1}}],["编码器",{"0":{"394":1,"535":1},"2":{"355":1,"393":1}}],["编译为",{"2":{"443":1}}],["编译",{"0":{"397":1},"1":{"398":1,"399":1,"400":1,"401":1,"402":1,"403":1,"404":1,"405":1,"406":1,"407":1,"408":1,"409":1,"410":1,"411":1,"412":1,"413":1,"414":1,"415":1}}],["编解码器",{"0":{"393":1,"534":1},"2":{"456":2}}],["编排区域将变为空白状态",{"2":{"314":1}}],["抛出异常",{"2":{"355":1}}],["线缆直接连接到设备一样",{"2":{"509":1}}],["线缆或接口",{"2":{"346":1}}],["线",{"2":{"429":1}}],["线程等",{"2":{"450":1}}],["线程中运行",{"2":{"446":1}}],["线程",{"2":{"355":1,"446":1}}],["崩溃问题",{"0":{"354":1},"1":{"355":1}}],["阻止合成",{"2":{"353":1}}],["临时解决方案",{"2":{"353":1}}],["临时解决方案如下",{"2":{"337":1}}],["时有用",{"2":{"541":1}}],["时间限制",{"0":{"516":1}}],["时间戳在设备端捕获",{"2":{"512":1}}],["时设备屏幕已解锁",{"2":{"388":1}}],["时",{"2":{"361":1,"441":1,"447":1,"455":1}}],["时会禁用合成器",{"2":{"353":1}}],["时若出现",{"2":{"347":1}}],["桌面环境下运行",{"2":{"353":1}}],["合成器崩溃",{"0":{"353":1}}],["合并无线连接及有线连接到设备列表",{"2":{"256":1}}],["kill",{"2":{"519":1}}],["kmg",{"2":{"511":1}}],["k",{"2":{"435":1,"477":1,"484":1,"489":1}}],["kwin",{"0":{"353":1}}],["keyevent",{"2":{"449":1}}],["key=value",{"2":{"445":1}}],["key",{"2":{"130":1,"447":1,"486":1,"487":1}}],["keyboard=disabled",{"2":{"484":1,"509":1}}],["keyboard=sdk",{"2":{"484":1,"485":2,"489":2}}],["keyboard=uhid",{"2":{"434":1,"477":1,"484":1,"489":1,"511":1}}],["keyboard=aoa",{"2":{"347":1,"434":1,"484":1,"489":2,"490":1,"509":1,"511":1}}],["keyboard",{"2":{"12":1,"47":1,"488":1}}],["包装器",{"2":{"449":1}}],["包含",{"2":{"443":1}}],["包含最新发布版本",{"2":{"398":1}}],["包",{"2":{"352":1,"521":1}}],["包括与设备交互的所有操作",{"2":{"432":1}}],["包括其声明的有效尺寸和帧率",{"2":{"417":1}}],["包括麦克风和设备播放",{"2":{"391":1}}],["包括后续连接的设备",{"2":{"379":1}}],["包括",{"2":{"301":1}}],["兼容性问题",{"0":{"352":1}}],["参考",{"2":{"408":1,"449":1}}],["参考手册",{"0":{"387":1}}],["参数显式禁用",{"2":{"525":1}}],["参数必须为一或两组",{"2":{"508":1}}],["参数与",{"2":{"364":1}}],["参数",{"2":{"358":1,"359":1,"416":1,"519":1}}],["参数格式",{"2":{"318":1}}],["参见视频方向",{"2":{"514":1}}],["参见快捷键说明",{"2":{"550":1}}],["参见快捷键",{"2":{"464":1}}],["参见协议部分",{"2":{"445":1}}],["参见",{"2":{"350":1,"519":1}}],["带重音字符",{"2":{"350":1}}],["特殊字符",{"2":{"486":1}}],["特殊字符可能无法直接通过键码处理",{"2":{"449":1}}],["特殊字符输入异常",{"0":{"350":1}}],["特别是",{"2":{"347":1}}],["启用后",{"2":{"521":1}}],["启用后需重启设备",{"2":{"349":1,"474":1}}],["启用show",{"2":{"465":1}}],["启用uhid鼠标模式",{"2":{"434":1}}],["启用",{"2":{"403":1,"429":1,"471":1,"472":1,"489":1,"490":1,"506":1,"507":1,"509":1,"517":1}}],["启用反向网络共享",{"2":{"379":1}}],["启动应用",{"0":{"525":1}}],["启动android应用",{"0":{"468":1}}],["启动app",{"2":{"274":1,"278":1}}],["启动时不显示终端",{"2":{"556":1}}],["启动时不会发送任何帧",{"2":{"447":1}}],["启动时打开终端",{"2":{"556":1}}],["启动时会唤醒设备",{"2":{"467":1}}],["启动时通电",{"0":{"467":1}}],["启动时",{"2":{"451":1}}],["启动中继服务器并保持运行",{"2":{"380":1}}],["启动中继服务器",{"2":{"361":1,"362":1,"381":1}}],["启动客户端",{"2":{"361":1,"381":1}}],["启动镜像",{"0":{"330":1},"2":{"324":1}}],["启动镜像时",{"2":{"319":1}}],["启动窗口编排",{"0":{"304":1}}],["启动escrcpy并将安卓设备通过usb连接电脑",{"2":{"292":1}}],["允许使用",{"2":{"509":1}}],["允许您无需物理连接设备即可完成操作",{"2":{"429":1}}],["允许设备使用所连接计算机的网络连接",{"2":{"369":1}}],["允许设备通过usb共享电脑的网络连接",{"2":{"357":1}}],["允许通过",{"2":{"349":1}}],["允许窗口重叠",{"2":{"311":1}}],["和展开通知面板",{"2":{"508":1}}],["和部分其他字符",{"2":{"485":1}}],["和录制器",{"2":{"452":1}}],["和足够缓冲",{"2":{"396":1}}],["和",{"2":{"346":1,"347":1,"352":1,"390":1,"393":1,"399":1,"405":1,"419":1,"423":1,"444":1,"446":1,"451":1,"455":1,"456":1,"508":4,"509":1,"512":2,"517":1,"534":1,"536":1,"537":1,"538":1,"540":1}}],["和端口号",{"2":{"295":1}}],["=",{"2":{"345":1,"406":1,"426":1,"460":1,"474":1,"519":1,"520":2}}],["路径下创建一个新的视频设备",{"2":{"521":1}}],["路径",{"2":{"345":1,"443":1}}],["二进制文件",{"2":{"345":1}}],["覆盖其他程序的",{"2":{"345":1}}],["不同",{"2":{"489":4}}],["不进行缓冲",{"2":{"441":1}}],["不带参数运行",{"2":{"556":1}}],["不带参数",{"2":{"428":1}}],["不安装直接运行",{"0":{"413":1}}],["不要以",{"2":{"411":1,"412":1}}],["不依赖于系统架构",{"2":{"410":1}}],["不会阻止计算机进入屏幕保护状态",{"2":{"551":1}}],["不会在android设备上留下任何痕迹",{"2":{"473":1}}],["不会在安卓设备上留下任何痕迹",{"2":{"267":1}}],["不会直接失败",{"2":{"388":1}}],["不匹配",{"2":{"345":1}}],["此选项在",{"2":{"541":1}}],["此选项设置的是目标缓冲值",{"2":{"396":1}}],["此变换在",{"2":{"537":1}}],["此处为",{"2":{"531":1}}],["此简化流程仅适用于正式发布版本",{"2":{"495":1}}],["此应用通过usb或tcp",{"2":{"473":1}}],["此模式可能仅支持",{"2":{"490":1}}],["此模式可能仅在",{"2":{"472":1,"507":1}}],["此模式直接在",{"2":{"472":1,"507":1}}],["此模式通过设备的",{"2":{"489":1,"506":1}}],["此模式通过设备上的",{"2":{"471":1}}],["此模式通过",{"2":{"472":1,"490":1,"507":1}}],["此模式仅限于特定的分辨率和帧率",{"2":{"422":1}}],["此功能可用于在虚拟显示器中运行应用",{"2":{"468":1}}],["此功能仅在设备通过",{"2":{"509":1}}],["此功能仅显示物理触摸痕迹",{"2":{"465":1}}],["此功能仅适用于默认鼠标模式",{"2":{"436":1}}],["此功能也可用于防止设备休眠",{"2":{"464":1}}],["此检查用于检测配置错误",{"2":{"445":1}}],["此外",{"2":{"435":1,"500":1}}],["此服务器适用于",{"2":{"412":1}}],["此参数不适用于",{"2":{"395":1}}],["此音频源支持在镜像时保持设备音频播放",{"2":{"392":1}}],["此时需要启动安卓应用",{"2":{"525":1}}],["此时文件名无需以已知扩展名结尾",{"2":{"513":1}}],["此时其内容与第一组相同",{"2":{"508":1}}],["此时",{"2":{"474":1}}],["此时无需",{"2":{"410":1}}],["此时可通过",{"2":{"402":1}}],["此时会短暂弹出一个虚假窗口",{"2":{"388":1}}],["此时设备列表应显示您的手机",{"2":{"295":1}}],["此评论",{"2":{"347":1}}],["此错误表明系统同时运行了多个",{"2":{"345":1}}],["此情况下",{"2":{"344":1}}],["见上文",{"2":{"489":1}}],["见快捷键",{"2":{"488":1}}],["见下文",{"2":{"426":1}}],["见",{"2":{"344":1,"490":1,"533":1,"540":1}}],["旧版本",{"2":{"377":1}}],["旧版",{"2":{"344":1,"489":1}}],["检测到多个设备",{"2":{"344":1}}],["检测到多个",{"2":{"344":1}}],["检查是否超出了最小尺寸限制",{"2":{"321":1}}],["检查是否有其他程序占用鼠标事件",{"2":{"321":1}}],["检查配置文件是否有写入权限",{"2":{"321":1}}],["检查设备是否已经添加到编排中",{"2":{"321":1}}],["连接到端口",{"2":{"458":1}}],["连接到设备",{"2":{"429":1}}],["连接到计算机",{"2":{"429":1}}],["连接的设备",{"2":{"426":3}}],["连接",{"0":{"425":1,"455":1},"1":{"426":1,"427":1,"428":1,"429":1,"430":1},"2":{"426":1,"427":1,"428":1,"429":1,"472":1,"478":1,"507":1}}],["连接已中断",{"2":{"346":1}}],["连接时有效",{"2":{"509":1}}],["连接时可能收到如下提示",{"2":{"344":1}}],["连接时设备端会弹出",{"2":{"343":1}}],["连接设备",{"2":{"295":1,"428":1}}],["驱动",{"2":{"342":1}}],["中检测设备时遇到问题",{"2":{"521":1}}],["中键点击",{"2":{"517":1}}],["中键点击触发主页",{"2":{"476":1}}],["中键",{"2":{"508":2}}],["中键触发",{"2":{"508":1}}],["中没有",{"2":{"406":1}}],["中构建",{"0":{"406":1}}],["中安装",{"2":{"405":1}}],["中的简化流程操作",{"2":{"397":1}}],["中断录制",{"2":{"515":1}}],["中断",{"2":{"390":1,"460":1,"541":1}}],["中继服务器将监听指定端口",{"2":{"363":1}}],["中",{"2":{"341":1,"402":1,"426":3,"452":1,"460":1}}],["则在另一终端中运行",{"2":{"519":1}}],["则无需使用",{"2":{"511":1}}],["则无法重复打开",{"2":{"490":1}}],["则无法打开",{"2":{"472":1,"507":1}}],["则设备会向客户端发送一个虚拟字节",{"2":{"455":1}}],["则首先打开",{"2":{"455":1}}],["则服务端的执行如下",{"2":{"445":1}}],["则可以通过以下命令运行",{"2":{"443":1}}],["则直接运行",{"2":{"428":1}}],["则该设备会被自动选中",{"2":{"426":1}}],["则禁止使用",{"2":{"418":1,"419":1}}],["则",{"2":{"340":1}}],["失败",{"2":{"340":1,"344":1}}],["与视频显示类似",{"2":{"522":1}}],["与设备显示分离",{"2":{"477":1}}],["与设备通信",{"2":{"427":1}}],["与usb调试不同",{"2":{"474":1}}],["与其他模式不同",{"2":{"472":1,"490":1,"507":1}}],["与隐藏组件的通信由",{"2":{"444":1}}],["与mod+shift+v相同",{"2":{"435":1}}],["与客户端",{"2":{"345":1}}],["与",{"0":{"340":1},"1":{"341":1,"342":1,"343":1,"344":1,"345":1,"346":1},"2":{"426":1,"446":1,"489":4}}],["遇到任何错误时",{"2":{"339":1}}],["以特定方向捕获视频",{"2":{"536":1}}],["以保持",{"2":{"531":1}}],["以实现最低延迟",{"2":{"522":1,"540":1}}],["以实现无缝复制粘贴",{"2":{"441":1}}],["以便在游戏中正常响应",{"2":{"486":1}}],["以便在rust版本出现问题时作为备选方案",{"2":{"371":1}}],["以h",{"2":{"477":2}}],["以避免同一设备上同时启动多个",{"2":{"455":1}}],["以避免在主线程上进行",{"2":{"453":1}}],["以最小化延迟",{"2":{"441":1}}],["以接收",{"2":{"428":1}}],["以非",{"2":{"409":1,"411":1}}],["以构建服务器",{"2":{"405":1}}],["以下命令将宽度和高度限制在最大值",{"2":{"531":1}}],["以下命令中的",{"2":{"379":1}}],["以下列表中",{"2":{"517":1}}],["以下示例为禁用音频并录制到",{"2":{"501":1}}],["以下示例禁用音频并录制到file",{"2":{"496":1,"556":1}}],["以下参数",{"2":{"485":1}}],["以下为常用示例",{"2":{"477":1}}],["以下是如何在",{"2":{"458":1}}],["以下是帧头部的结构描述",{"2":{"456":1}}],["以下是视频和音频组件的概述",{"2":{"452":1}}],["以下是编译",{"2":{"397":1}}],["以下是各命令的详细用法及示例",{"2":{"357":1}}],["以下是常见问题及其状态报告",{"2":{"339":1}}],["以及视频的初始设备尺寸",{"2":{"458":1}}],["以及",{"2":{"224":1}}],["只要存在",{"2":{"455":1}}],["只需添加+前缀",{"2":{"468":1}}],["只需将apk文件",{"2":{"438":1}}],["只需双击黑边区域即可让其自动隐藏",{"2":{"338":1}}],["只读模式",{"0":{"432":1}}],["只有设备运行",{"2":{"539":1}}],["只有当屏幕内容发生变化时才会生成新帧",{"2":{"533":1}}],["只有",{"2":{"411":1}}],["只显示当前已连接的设备",{"2":{"307":1}}],["对",{"2":{"445":1}}],["对于摄像头",{"2":{"538":1}}],["对于摄像头镜像",{"2":{"531":1}}],["对于显示镜像",{"2":{"538":1}}],["对于显示",{"2":{"536":1}}],["对于",{"2":{"406":1,"460":2}}],["对appimage应用新增了沙盒使用限制",{"2":{"337":1}}],["对应的设备将重新出现在可添加列表中",{"2":{"315":1}}],["部分android设备在编程设置剪贴板时行为异常",{"2":{"435":1}}],["部分发行版",{"2":{"352":1}}],["部分设备会在虚拟显示屏中显示启动器",{"2":{"525":1}}],["部分设备需启用以下选项",{"2":{"349":1}}],["部分设备连接后可见画面但无法操作",{"0":{"328":1}}],["部分流行发行版",{"2":{"337":1}}],["微软商店版镜像启动报错",{"0":{"335":1}}],["进入设备列表页面重试启用镜像",{"2":{"330":1}}],["进入偏好设置",{"2":{"324":1}}],["即可在指定位置打开终端",{"2":{"556":1}}],["即可使用支持",{"2":{"521":1}}],["即使关闭",{"2":{"490":1}}],["即使",{"2":{"472":1,"507":1}}],["即使设备端没有监听",{"2":{"455":1}}],["即仅通过tcp",{"2":{"462":1}}],["即通过",{"2":{"426":1}}],["即加入排除列表",{"2":{"329":1}}],["即允许通过usb调试修改权限或模拟点击",{"2":{"328":1}}],["找到排除项",{"2":{"329":1}}],["找到实时保护",{"2":{"329":1}}],["打开键盘设置",{"2":{"517":1}}],["打开设备屏幕",{"2":{"517":1}}],["打开屏幕",{"2":{"464":1}}],["打开",{"2":{"451":1}}],["打开终端执行sudo",{"2":{"332":2}}],["打开windows安全中心",{"2":{"329":1}}],["打包配置错误的问题",{"2":{"210":1}}],["打包后图标丢失的问题",{"2":{"202":1}}],["打包失败的问题",{"2":{"194":1,"195":1,"220":1}}],["因任何原因随时更改",{"2":{"454":1}}],["因为它选择源尺寸而非调整内容大小",{"2":{"538":1}}],["因为它对",{"2":{"443":1}}],["因为",{"2":{"418":1}}],["因安装目录文件缺少执行权限引起",{"2":{"335":1}}],["因缺少证书签名",{"2":{"329":1}}],["因此录制时仅允许前四个值",{"2":{"536":1}}],["因此不会产生视频帧",{"2":{"526":1}}],["因此不一定能捕获全部输出",{"2":{"391":1}}],["因此数据包延迟变化不会影响录制的文件",{"2":{"512":1}}],["因此需要显式设置",{"2":{"509":1}}],["因此仅支持",{"2":{"507":1}}],["因此仅支持通过",{"2":{"472":1}}],["因此无法用于测试开发分支",{"2":{"495":1}}],["因此建议直接使用包名",{"2":{"468":1}}],["因此恶意应用无法在客户端执行前替换服务端",{"2":{"443":1}}],["因此可以尝试其他编码器",{"2":{"535":1}}],["因此可以增加缓冲以减少卡顿",{"2":{"390":1}}],["因此可能使用",{"2":{"441":1}}],["因此如果您的",{"2":{"423":1}}],["因此开箱即用",{"2":{"341":1}}],["因此",{"2":{"327":1,"446":1,"472":1,"490":1,"507":1,"509":2}}],["经反馈",{"2":{"329":1}}],["经慎重考虑",{"2":{"327":1}}],["安全设置",{"2":{"328":1,"349":1,"474":1}}],["安装完成后",{"2":{"496":1,"501":1}}],["安装的文件包括",{"2":{"414":1}}],["安装依赖",{"2":{"407":1}}],["安装",{"0":{"414":1,"492":1,"498":1,"553":1},"1":{"493":1,"494":1,"495":1,"499":1,"500":1,"554":1,"555":1},"2":{"402":1,"407":1,"411":1,"500":2}}],["安装apk时",{"2":{"438":1}}],["安装apk",{"0":{"438":1},"2":{"381":1}}],["安装app",{"2":{"278":1}}],["安装rust版本",{"2":{"375":1}}],["安装过程非常简单",{"2":{"375":1}}],["安装支持物理键盘的输入法",{"2":{"324":1}}],["安装说明",{"0":{"289":1},"1":{"290":1,"291":1}}],["小米手机尤其需注意",{"2":{"328":1}}],["注入计算机剪贴板文本",{"2":{"517":1}}],["注入设备",{"2":{"503":1}}],["注入paste命令",{"2":{"435":1}}],["注入cut命令",{"2":{"435":1}}],["注入copy命令",{"2":{"435":1}}],["注",{"2":{"328":1}}],["注意将",{"2":{"520":1}}],["注意",{"2":{"292":1,"295":2,"296":1,"297":1,"306":1,"344":1,"379":1,"396":1,"411":1,"463":1,"465":1,"471":1,"472":2,"474":1,"485":1,"490":1,"495":1,"499":1,"503":1,"506":1,"507":1,"526":1}}],["弊大于利",{"2":{"327":1}}],["这会影响录制",{"2":{"536":1}}],["这会导致escrcpy更难同步scrcpy更新",{"2":{"327":1}}],["这将在",{"2":{"521":1}}],["这将扩展为",{"2":{"423":1}}],["这样",{"2":{"521":1}}],["这用于检测连接错误",{"2":{"455":1}}],["这两个问题通过标志",{"2":{"447":1}}],["这避免了发送不必要的帧",{"2":{"447":1}}],["这种角色反转避免了因竞态条件导致的连接失败",{"2":{"441":1}}],["这在组件不支持文本粘贴时",{"2":{"435":1}}],["这些权限已授予",{"2":{"443":1}}],["这些功能可以单独禁用",{"2":{"441":1}}],["这些操作通常符合预期",{"2":{"435":1}}],["这些平台未预装scrcpy",{"2":{"296":1}}],["这是镜像时使用键盘的最佳模式",{"2":{"489":1}}],["这是android系统的特性",{"2":{"462":1}}],["这是唯一一个双向使用的套接字",{"2":{"441":1}}],["这是推荐的方法",{"2":{"405":1}}],["这是",{"2":{"398":1}}],["这通常并非",{"2":{"340":1}}],["但错误信息将不可见",{"2":{"556":1}}],["但",{"2":{"534":1}}],["但仅播放视频",{"2":{"515":1,"541":1}}],["但仅支持",{"2":{"485":1}}],["但在",{"2":{"536":1}}],["但在客户端混合",{"2":{"513":1}}],["但在录制时",{"2":{"452":1}}],["但游戏手柄默认禁用",{"2":{"509":1}}],["但无法镜像",{"2":{"507":1}}],["但无法镜像屏幕",{"2":{"472":1}}],["但这会破坏游戏中的键盘行为",{"2":{"486":1}}],["但这些扩展不影响scrcpy核心",{"2":{"327":1}}],["但此行为可能导致问题",{"2":{"486":1}}],["但如果经常使用",{"2":{"484":1}}],["但如果有多台设备连接",{"2":{"426":1}}],["但检索应用名称可能需要一些时间",{"2":{"468":1}}],["但它可以与任何使用相同协议的客户端一起使用",{"2":{"458":1}}],["但未来可能包含其他字段",{"2":{"455":1}}],["但默认情况下可能存在以下问题",{"2":{"447":1}}],["但对其他用户不可写",{"2":{"443":1}}],["但可能破坏非ascii内容",{"2":{"435":1}}],["但具体行为取决于当前应用",{"2":{"435":1}}],["但不支持镜像",{"2":{"490":1}}],["但不支持ipv6",{"2":{"369":1}}],["但不能全部禁用",{"2":{"441":1}}],["但不播放",{"2":{"416":1}}],["但需要",{"2":{"392":1}}],["但功能仍可正常使用",{"2":{"369":1}}],["但功能有限",{"2":{"350":1}}],["但建议避免完全遮挡",{"2":{"311":1}}],["原样",{"2":{"385":1,"483":1}}],["原生实现",{"2":{"473":1}}],["原生二进制文件占用更少的cpu和内存资源",{"2":{"371":1}}],["原生支持",{"2":{"267":1}}],["原则上escrcpy只是基于scrcpy的gui版本",{"2":{"327":1}}],["首先应用",{"2":{"538":1}}],["首先确保远程计算机已启动",{"2":{"520":1}}],["首先安装依赖包",{"2":{"495":1}}],["首先找到监听端口",{"2":{"460":1}}],["首先",{"2":{"455":1}}],["首次启动时会弹出权限请求窗口",{"2":{"379":1}}],["首次无线连接可能需要配对",{"2":{"325":1}}],["首选终端",{"2":{"280":1}}],["++sn",{"2":{"508":1}}],["++++",{"2":{"508":1}}],["+和",{"2":{"468":1}}],["+",{"2":{"324":1,"330":2,"419":3,"428":1,"460":1,"508":5,"536":9}}],["切换全屏模式",{"2":{"517":1}}],["切换为",{"2":{"350":1}}],["切换输入语言",{"2":{"324":1}}],["切换应用",{"2":{"278":1}}],["语言与输入",{"2":{"488":1}}],["语言与输入中应显示物理键盘和屏幕键盘选项",{"2":{"324":1}}],["语言选择",{"2":{"280":1}}],["验证",{"2":{"324":1}}],["→",{"2":{"324":4,"349":1,"429":2,"488":3}}],["并选择",{"2":{"511":1}}],["并启用游戏手柄",{"2":{"509":1}}],["并启动其他",{"2":{"446":1}}],["并通过模拟物理键盘控制设备",{"2":{"477":1}}],["并支持使用计算机的键盘和鼠标进行控制",{"2":{"473":1}}],["并填写表单",{"2":{"460":1}}],["并且将会",{"2":{"454":1}}],["并使用",{"2":{"448":1}}],["并从另一个线程通过同一",{"2":{"446":1}}],["并推送到设备的",{"2":{"443":1}}],["并处理客户端的请求",{"2":{"441":1}}],["并最接近",{"2":{"419":1}}],["并非所有设备都能准确支持",{"2":{"417":1}}],["并在启动前连接到设备",{"2":{"428":1}}],["并在",{"2":{"412":1,"443":1}}],["并设置",{"2":{"411":1}}],["并添加到",{"2":{"407":1}}],["并禁用设备播放",{"2":{"391":1}}],["并默认启用",{"2":{"388":1}}],["并将编码后的数据包写入客户端",{"2":{"447":1}}],["并将其传输到服务端",{"2":{"441":1}}],["并将以下文件解压到",{"2":{"399":1}}],["并将以下文件解压至gnirehtet目录",{"2":{"373":1}}],["并将定期更新",{"2":{"387":1}}],["并期待scrcpy未来原生支持交互控制栏",{"2":{"327":1}}],["并完成设置",{"2":{"324":1}}],["并确保设备已授权usb调试权限",{"2":{"323":1}}],["并发上限",{"2":{"280":1}}],["请确保您的设备满足先决条件",{"2":{"556":1}}],["请确保你的设备满足使用前提",{"2":{"501":1}}],["请确保设备满足运行要求",{"2":{"496":1}}],["请确认已正确启用",{"2":{"342":1}}],["请先阅读常见问题",{"2":{"481":1}}],["请先通过",{"2":{"428":1}}],["请选择",{"2":{"472":1}}],["请在配置时启用服务端调试器",{"2":{"460":1}}],["请使用scrcpy",{"2":{"556":1}}],["请使用",{"2":{"527":1,"528":1}}],["请使用以下命令",{"2":{"471":1,"472":1}}],["请使用视频方向选项",{"2":{"420":1}}],["请使用驱动精灵等第三方工具安装驱动后重试",{"2":{"323":1}}],["请注意",{"2":{"417":1,"511":1}}],["请运行以下命令",{"2":{"416":1}}],["请手动安装并将其添加到",{"2":{"406":1}}],["请基于最新的",{"2":{"398":1}}],["请按照说明安装",{"2":{"399":1}}],["请按照",{"2":{"397":1}}],["请参阅",{"2":{"500":1,"555":1}}],["请参阅build",{"2":{"495":1}}],["请参阅禁用播放",{"2":{"389":1}}],["请参考",{"2":{"343":1}}],["请安装openjdk",{"2":{"372":1}}],["请阅读代码",{"2":{"459":1}}],["请阅读",{"2":{"347":1}}],["请通过",{"2":{"344":1}}],["请首先升级至最新版本",{"2":{"339":1}}],["请尝试更换",{"2":{"355":1}}],["请尝试更改安装路径",{"2":{"336":1}}],["请尝试通过偏好设置的禁用音频转发功能解决此问题",{"2":{"334":1}}],["请跳过此步",{"2":{"329":1}}],["请提交设备型号和安卓版本至issues",{"2":{"326":1}}],["请再次点击",{"2":{"326":1}}],["请重新插拔设备",{"2":{"323":1}}],["请点击允许",{"2":{"292":1}}],["电脑输入准备",{"2":{"324":1}}],["电脑连接后无法识别设备",{"0":{"323":1}}],["电源键",{"2":{"278":1}}],["尝试通过保持最小缓冲来降低延迟",{"2":{"441":1}}],["尝试更换",{"2":{"346":1}}],["尝试重置布局后重新配置",{"2":{"321":1}}],["尝试重启应用后再次测试",{"2":{"321":1}}],["尝试重新打开编排界面",{"2":{"321":1}}],["尝试刷新设备列表",{"2":{"321":1}}],["尝试修复构建失败",{"2":{"207":1}}],["常见问题",{"0":{"321":1},"2":{"479":1}}],["故障排除",{"0":{"320":1},"1":{"321":1}}],["未签名的",{"2":{"443":1}}],["未设置",{"2":{"441":1}}],["未设置的参数继承全局配置",{"2":{"319":1}}],["未压缩的",{"2":{"393":1}}],["未找到任何",{"2":{"342":1,"347":1}}],["未找到",{"0":{"341":1}}],["未来可能支持",{"2":{"369":1}}],["未来计划包括",{"2":{"271":1}}],["未来发展",{"0":{"271":1}}],["y=100",{"2":{"547":1}}],["y",{"2":{"318":1}}],["your",{"2":{"10":1,"32":1,"345":3}}],["you",{"2":{"10":1,"32":1}}],["x=100",{"2":{"547":1}}],["xxxx",{"2":{"460":2,"508":2}}],["x3c",{"2":{"455":2,"456":5,"520":1}}],["x86",{"2":{"406":8,"493":2,"499":2}}],["x11",{"2":{"352":1}}],["xattr",{"2":{"332":1}}],["x",{"2":{"318":1,"411":1,"412":1,"413":1,"460":3}}],["x64archfiles",{"2":{"189":1,"190":1,"191":1,"192":1,"193":1}}],["x64",{"2":{"11":1,"71":1}}],["存储在",{"2":{"318":2}}],["成功反馈",{"2":{"317":1}}],["确保已在设备上启用usb调试",{"2":{"474":1}}],["确保已在设备上启用adb调试",{"2":{"373":1}}],["确保已下载安装最新版escrcpy",{"2":{"330":1}}],["确保有执行权限",{"2":{"335":1}}],["确保所有窗口组件都已调整到满意的位置和尺寸",{"2":{"317":1}}],["确认显示器分辨率设置正确",{"2":{"321":1}}],["确认点击了",{"2":{"321":1}}],["确认鼠标点击在窗口的可拖拽区域",{"2":{"321":1}}],["确认设备已正确连接",{"2":{"321":1}}],["确认后将移除所有窗口组件",{"2":{"314":1}}],["完成后运行",{"2":{"429":1}}],["完成布局调整",{"2":{"317":1}}],["完全禁用视频转发",{"2":{"542":1}}],["完全无需使用",{"2":{"509":1}}],["完全不捕获音频",{"2":{"416":1}}],["完全免费开源",{"2":{"267":1}}],["×",{"2":{"315":1}}],["删除单个组件",{"0":{"315":1}}],["清除全部",{"2":{"314":1}}],["清除全部组件",{"0":{"314":1}}],["将同时安装adb和其他依赖项",{"2":{"555":1}}],["将视频发送到",{"2":{"541":1}}],["将画面镜像到新建的虚拟显示屏",{"2":{"524":1}}],["将该端口重定向到计算机",{"2":{"460":1}}],["将非apk文件拖放到scrcpy窗口",{"2":{"439":1}}],["将电脑剪贴板内容粘贴到设备",{"2":{"435":1}}],["将设备与计算机连接到同一",{"2":{"429":1}}],["将设备通过",{"2":{"429":1}}],["将设备用作录音机并直接在电脑上录制",{"2":{"391":1}}],["将",{"2":{"406":1,"429":1,"521":1}}],["将自动从检测到的设备获取",{"2":{"364":1}}],["将出现以下错误",{"2":{"344":1}}],["将下载软件包的文件夹路径添加为排除项",{"2":{"329":1}}],["将输入模式设置为英文",{"2":{"324":1}}],["将鼠标悬停在目标窗口组件上",{"2":{"315":1}}],["将鼠标移动到窗口的边角位置",{"2":{"310":1}}],["将显示空白编排区域",{"2":{"313":1}}],["布局管理操作",{"0":{"312":1},"1":{"313":1,"314":1,"315":1}}],["边界约束",{"2":{"311":1}}],["容器会根据文件名自动选择",{"2":{"513":1}}],["容器",{"2":{"513":1}}],["容器高度的",{"2":{"311":1}}],["容器宽度的",{"2":{"311":1}}],["系统装饰",{"0":{"526":1}}],["系统上",{"2":{"521":1}}],["系统特定步骤",{"0":{"400":1},"1":{"401":1,"402":1,"403":1,"404":1,"405":1,"406":1,"407":1,"408":1}}],["系统",{"2":{"324":1,"342":1,"488":1}}],["系统将当前布局信息写入配置文件",{"2":{"317":1}}],["系统将弹出确认对话框",{"2":{"314":1}}],["系统将清除当前所有组件",{"2":{"313":1}}],["系统将打开全屏的窗口编排界面",{"2":{"304":1}}],["系统会自动维持合理的窗口比例",{"2":{"310":1}}],["定位调整点",{"2":{"310":1}}],["调试时控制设备而不需要镜像功能",{"2":{"511":1}}],["调试不是必需的",{"2":{"509":1}}],["调试被禁用",{"2":{"472":1,"507":1}}],["调试服务端",{"0":{"460":1}}],["调试授予权限和模拟输入",{"2":{"349":1}}],["调试授权请求",{"2":{"343":1}}],["调试",{"2":{"342":1,"349":1,"472":1,"490":2,"507":1,"511":1}}],["调试模式",{"2":{"280":1}}],["调整窗口以去除黑边",{"2":{"517":1}}],["调整窗口至1",{"2":{"517":1}}],["调整窗口尺寸",{"0":{"310":1}}],["调整",{"2":{"393":1}}],["调整投屏窗口大小后出现黑边",{"0":{"338":1}}],["松开鼠标完成位置调整",{"2":{"309":1}}],["释放定位",{"2":{"309":1}}],["移动窗口位置",{"0":{"309":1}}],["选项不仅限于录制",{"2":{"516":1}}],["选项",{"0":{"411":1,"412":1},"2":{"306":1,"353":1,"428":1,"512":1}}],["选择已监听",{"2":{"426":1}}],["选择通过",{"2":{"426":2}}],["选择特定编码器",{"2":{"394":1}}],["选择设备",{"2":{"344":1}}],["选择病毒和威胁防护",{"2":{"329":1}}],["选择uhid模式",{"2":{"324":1}}],["选择目标窗口",{"2":{"309":1}}],["选择",{"0":{"418":1},"1":{"419":1},"2":{"306":1,"460":1}}],["下",{"2":{"517":2}}],["下有效",{"2":{"472":1}}],["下载最新版本",{"2":{"554":1}}],["下载最新版本的静态构建包",{"2":{"493":1,"499":1}}],["下载完成后解压即可",{"2":{"499":1}}],["下载后解压即可",{"2":{"493":1,"554":1}}],["下载后解压文件",{"2":{"377":1}}],["下载预构建服务器",{"2":{"412":1}}],["下载",{"0":{"376":1},"1":{"377":1,"378":1},"2":{"399":1}}],["下载时提示杀毒检测导致无法正常下载",{"0":{"329":1}}],["下载微信输入法",{"2":{"324":1}}],["下拉按钮",{"2":{"306":1,"307":1}}],["下自定义依赖选项描述错误的问题",{"2":{"212":1}}],["按自定义角度",{"2":{"537":1}}],["按键重复",{"0":{"487":1}}],["按键事件",{"2":{"486":1}}],["按此顺序",{"2":{"468":1}}],["按mod+shift+o可重新打开屏幕",{"2":{"464":1}}],["按顺序打开最多",{"2":{"455":1}}],["按住",{"2":{"508":1}}],["按住ctrl的同时按下鼠标左键",{"2":{"436":1}}],["按住鼠标左键拖拽来改变窗口大小",{"2":{"310":1}}],["按住鼠标左键拖拽窗口到目标位置",{"2":{"309":1}}],["按",{"2":{"385":1,"390":1,"460":1,"483":1,"541":1}}],["按下并保持按住",{"2":{"517":1}}],["按下ctrl时x和y坐标会反转",{"2":{"436":1}}],["按下",{"2":{"361":1}}],["按ctrl+c终止录制",{"2":{"545":1}}],["按ctrl",{"2":{"330":1}}],["按钮",{"2":{"304":1,"313":1,"314":1,"317":1,"321":1}}],["按照usb连接或无线连接的步骤操作即可",{"2":{"296":1}}],["详细说明请参考鼠标键盘无法工作的原因",{"2":{"328":1}}],["详细操作指南",{"0":{"303":1},"1":{"304":1,"305":1,"306":1,"307":1,"308":1,"309":1,"310":1,"311":1,"312":1,"313":1,"314":1,"315":1}}],["详见专门的",{"2":{"530":1,"543":1}}],["详见键盘和鼠标",{"2":{"509":1}}],["详见键盘和鼠标文档",{"2":{"433":1}}],["详见前提条件",{"2":{"485":1,"503":1}}],["详见以下页面",{"2":{"478":1}}],["详见文档",{"2":{"477":1}}],["详见手册或",{"2":{"393":1,"534":1}}],["详见许可证中特定语言规定的权限和限制",{"2":{"385":1,"483":1}}],["详见常见问题",{"2":{"295":1,"510":1}}],["详见",{"2":{"291":1,"346":1,"349":1,"352":1,"392":1,"472":1,"494":1,"507":1}}],["继承或覆盖全局配置",{"2":{"302":1}}],["独立服务端",{"0":{"458":1}}],["独立的位置和尺寸设置",{"2":{"302":1}}],["独立配置",{"2":{"266":1}}],["其中",{"2":{"521":1}}],["其中一些需要通过系统注入输入事件",{"2":{"449":1}}],["其特点包括",{"2":{"473":1}}],["其他渠道",{"2":{"481":1}}],["其他命令",{"2":{"449":1}}],["其他通用窗口属性",{"2":{"301":1}}],["其",{"2":{"446":1}}],["其功能等同于gnirehtet",{"2":{"379":1}}],["其优势在于支持所有安装了java",{"2":{"371":1}}],["其次为设备型号",{"2":{"307":1}}],["其开源免费的特性",{"2":{"273":1}}],["默认编码器可能存在问题甚至崩溃",{"2":{"535":1}}],["默认视频比特率为",{"2":{"532":1}}],["默认启用虚拟显示屏的系统装饰元素",{"2":{"526":1}}],["默认绑定相反",{"2":{"508":1}}],["默认模式",{"2":{"469":1,"484":1,"502":1}}],["默认端口为",{"2":{"426":1,"428":1}}],["默认音频源为麦克风",{"2":{"416":1}}],["默认音频源为输出",{"2":{"416":1}}],["默认音频比特率为",{"2":{"395":1}}],["默认为",{"2":{"396":1,"441":2,"505":1}}],["默认为5555",{"2":{"295":1}}],["默认缓冲大小为",{"2":{"396":1}}],["默认",{"2":{"391":1,"393":2,"534":2}}],["默认情况下不启用视频缓冲",{"2":{"522":1}}],["默认情况下是",{"2":{"517":1}}],["默认情况下是反向重定向",{"2":{"455":1}}],["默认情况下",{"2":{"391":1,"416":1,"421":1,"434":1,"441":1,"467":1,"486":1,"487":1,"504":1,"508":1,"509":1,"519":1,"527":1,"528":1,"530":1,"531":1,"540":1,"551":1}}],["默认使用",{"2":{"352":1,"484":1}}],["默认文本注入仅支持",{"2":{"350":1}}],["默认窗口标题为设备型号",{"2":{"546":1}}],["默认窗口位置坐标",{"2":{"301":1}}],["默认窗口宽度和高度",{"2":{"301":1}}],["全平台",{"2":{"378":1}}],["全局配置",{"2":{"306":1,"318":1}}],["全局配置组件将出现在编排区域",{"2":{"306":1}}],["全局配置组件用于设置所有设备的默认窗口参数",{"2":{"301":1}}],["全局配置组件",{"0":{"301":1}}],["全屏模式可通过快捷键",{"2":{"550":1}}],["全屏模式",{"0":{"550":1},"2":{"283":1}}],["核心组件",{"0":{"300":1},"1":{"301":1,"302":1}}],["核心功能",{"0":{"264":1},"1":{"265":1,"266":1,"267":1}}],["实例时失败",{"2":{"455":1}}],["实际捕获帧率可以通过以下命令打印到控制台",{"2":{"533":1}}],["实际为设备名称",{"2":{"458":1}}],["实际缓冲可能因欠载等原因无法达到目标值",{"2":{"396":1}}],["实际执行的是底层命令",{"2":{"381":1}}],["实现",{"2":{"392":1}}],["实现该特性需修改底层scrcpy代码",{"2":{"327":1}}],["实现高效的多设备协同操作",{"2":{"298":1}}],["实时反馈",{"2":{"309":1}}],["实时预览窗口布局效果",{"2":{"299":1}}],["实验性功能",{"2":{"278":1}}],["大小和布局",{"2":{"298":1}}],["依赖安装成功后",{"2":{"296":1}}],["需先显示文件扩展名以避免混淆",{"2":{"556":1}}],["需将服务器设置为监听所有网络接口",{"2":{"519":1}}],["需指定序列号",{"2":{"509":1}}],["需启用额外选项control",{"2":{"474":1}}],["需添加",{"2":{"468":1}}],["需显式设置",{"2":{"434":1}}],["需在设备上一次性配置与计算机匹配的键盘布局",{"2":{"488":1}}],["需在低延迟",{"2":{"396":1}}],["需在无线调试页面获取设备无线地址",{"2":{"295":1}}],["需禁用视频和控制功能",{"2":{"390":1}}],["需通过计算机控制",{"2":{"379":1}}],["需要安装",{"2":{"521":1}}],["需要先安装",{"2":{"521":1}}],["需要注意的是",{"2":{"441":1}}],["需要",{"2":{"399":1,"406":1,"411":1}}],["需要确保在启动",{"2":{"388":1}}],["需要较新版本的adb",{"2":{"373":1}}],["需要录制手机屏幕内容的用户",{"2":{"268":1}}],["需统一所有程序使用的",{"2":{"345":1}}],["需手动允许",{"2":{"343":1}}],["需手动安装才能使用该功能安装指南",{"2":{"297":1}}],["需手动安装",{"2":{"296":1,"352":1}}],["需确保双方使用相同版本的",{"2":{"518":1}}],["需确保",{"2":{"341":1}}],["需同样配置gnirehtet",{"2":{"335":1}}],["需自定义scrcpy和adb的文件路径",{"2":{"335":1}}],["需注意",{"2":{"327":1}}],["若发生错误",{"2":{"556":1}}],["若未启动任何应用",{"2":{"526":1}}],["若未弹出",{"2":{"343":1}}],["若需直接启动scrcpy而无需打开终端",{"2":{"556":1}}],["若需避免启用远程端口转发",{"2":{"520":1}}],["若需为所有已连接设备",{"2":{"379":1}}],["若需为单一设备启用反向网络共享",{"2":{"379":1}}],["若遇到此类问题",{"2":{"486":1}}],["若要在本地显示屏显示输入法",{"2":{"528":1}}],["若要将应用转移至主屏幕显示",{"2":{"527":1}}],["若要配置不同的帧率",{"2":{"421":1}}],["若要旋转捕获的视频",{"2":{"420":1}}],["若要捕获相机画面而非设备屏幕",{"2":{"416":1}}],["若不与设备交互",{"2":{"396":1}}],["若不满足此条件",{"2":{"388":1}}],["若仅禁用音频播放",{"2":{"389":1}}],["若仅为此应用需要adb",{"2":{"373":1}}],["若音频不可用",{"2":{"388":1}}],["若使用homebrew",{"2":{"375":1}}],["若使用反向网络共享",{"2":{"335":1}}],["若设备未提供启动器",{"2":{"525":1}}],["若设备未列出",{"2":{"342":1}}],["若设备在",{"2":{"367":1}}],["若指定",{"2":{"363":3}}],["若连接了多个设备",{"2":{"358":2,"359":2,"360":1}}],["若出现以下异常",{"2":{"355":1}}],["若同时连接多个设备",{"2":{"344":1}}],["若",{"2":{"340":1,"346":1,"490":1}}],["若有报错",{"2":{"330":1}}],["若无法关闭实时保护",{"2":{"329":1}}],["若权限允许可尝试点击关闭",{"2":{"329":1}}],["若仍无效",{"2":{"326":1}}],["若仍无法识别",{"2":{"323":1}}],["若首次无线连接失败",{"2":{"295":1}}],["若手机弹出调试授权提示",{"2":{"292":1}}],["在裁剪后应用",{"2":{"538":1}}],["在客户端应用",{"2":{"536":1}}],["在可用分辨率中",{"2":{"531":1}}],["在涉及多重转发的复杂场景中可能有用",{"2":{"519":1}}],["在录制时禁用播放和控制",{"2":{"515":1}}],["在镜像时录制视频和音频流",{"2":{"512":1}}],["在旧版",{"2":{"506":1}}],["在旧版本",{"2":{"402":1}}],["在这些模式下",{"2":{"505":1}}],["在终端中运行",{"2":{"501":1}}],["在终端中执行",{"2":{"496":1}}],["在此配置页面中",{"2":{"488":1}}],["在此模式下默认转发所有鼠标按键更合理",{"2":{"508":1}}],["在此模式下",{"2":{"472":1,"485":1,"503":1,"509":1}}],["在新虚拟显示中启动vlc",{"2":{"477":1}}],["在某些设备上",{"2":{"503":1}}],["在某些设备",{"2":{"474":1}}],["在较旧的",{"2":{"471":1}}],["在关闭scrcpy时关闭设备屏幕",{"2":{"466":1}}],["在物理设备上",{"2":{"465":1}}],["在物理键盘设置中配置键盘布局与电脑键盘一致",{"2":{"324":1}}],["在进行演示时",{"2":{"465":1}}],["在android设备上",{"2":{"464":1}}],["在android设备上安装apk",{"2":{"380":1}}],["在左侧点击",{"2":{"460":1}}],["在左键释放前",{"2":{"436":1}}],["在打开的",{"2":{"455":1}}],["在正确边界处拆分视频流等",{"2":{"452":1}}],["在本文档的剩余部分",{"2":{"451":1}}],["在单独线程中运行",{"2":{"449":1}}],["在设备旋转",{"2":{"447":1}}],["在设备上进入",{"2":{"488":1}}],["在设备上执行",{"2":{"441":1}}],["在设备上启用",{"2":{"429":1}}],["在主线程上接收",{"2":{"453":1}}],["在主机上执行",{"2":{"441":1}}],["在主界面右上角找到",{"2":{"304":1}}],["在电脑到设备剪贴板同步后",{"2":{"435":2}}],["在地址前添加",{"2":{"428":1}}],["在bash中",{"2":{"383":1}}],["在另一终端中运行",{"2":{"520":2}}],["在另一终端中",{"2":{"380":1}}],["在windows上",{"2":{"373":1,"379":2}}],["在基于debian的系统中",{"2":{"372":1,"373":1}}],["在当前终端启动中继服务器",{"2":{"368":1}}],["在安卓设备上启动客户端并退出",{"2":{"363":1}}],["在安卓设备上启用开发者模式和usb调试功能",{"2":{"292":1}}],["在指定的安卓设备上安装客户端并退出",{"2":{"358":1}}],["在",{"0":{"406":1,"497":1},"1":{"498":1,"499":1,"500":1,"501":1},"2":{"347":1,"399":1,"405":1,"406":2,"424":1,"426":3,"446":1,"456":3,"460":1,"472":1,"488":1,"489":1,"490":1,"507":1,"508":2,"517":1,"521":1}}],["在菜单中选择偏好设置",{"2":{"330":1}}],["在病毒和威胁防护设置中点击管理设置",{"2":{"329":1}}],["在屏幕键盘设置中启用微信输入法",{"2":{"324":1}}],["在scrcpy目录中双击open",{"2":{"556":1}}],["在scrcpy运行时修改此延迟",{"2":{"463":1}}],["在scrcpy",{"2":{"324":1}}],["在escrcpy中输入设备ip地址和端口号",{"2":{"295":1}}],["在开发者选项中启用并进入",{"2":{"294":1}}],["扫码连接",{"0":{"294":1}}],["开机",{"2":{"517":1}}],["开头",{"2":{"423":1}}],["开箱即用",{"2":{"388":1}}],["开始",{"2":{"429":1}}],["开始使用",{"2":{"292":1,"294":1,"295":1,"324":1}}],["开始镜像",{"2":{"292":1,"295":1}}],["开发者指南",{"0":{"440":1},"1":{"441":1,"442":1,"443":1,"444":1,"445":1,"446":1,"447":1,"448":1,"449":1,"450":1,"451":1,"452":1,"453":1,"454":1,"455":1,"456":1,"457":1,"458":1,"459":1,"460":1}}],["开发者",{"0":{"384":1},"2":{"479":1}}],["开发者选项中需启用额外选项才能使此模式生效",{"2":{"503":1}}],["开发者选项",{"2":{"349":1}}],["开发者在电脑上调试安卓应用",{"2":{"268":1}}],["开发图形化脚本编辑工具",{"2":{"271":1}}],["点击全局模式右上角的重置配置按钮",{"2":{"330":1}}],["点击添加或删除排除项",{"2":{"329":1}}],["点击escrcpy中的开始镜像",{"2":{"324":1}}],["点击界面底部的",{"2":{"317":1}}],["点击保存按钮",{"2":{"317":1}}],["点击窗口右上角的删除按钮",{"2":{"315":1}}],["点击控制面板中的",{"2":{"313":1}}],["点击要移动的窗口组件",{"2":{"309":1}}],["点击该按钮进入窗口编排界面",{"2":{"304":1}}],["点击",{"2":{"292":1,"294":1,"295":2,"306":1,"307":1,"314":1,"449":1,"517":7}}],["游戏手柄模式",{"2":{"471":1,"472":1}}],["游戏手柄",{"0":{"469":1},"1":{"470":1,"471":1,"472":1},"2":{"469":2,"470":1,"471":1,"472":1}}],["游戏手柄设置",{"2":{"286":1}}],["游戏玩家在大屏幕上畅玩手游",{"2":{"268":1}}],["鼠标和游戏手柄通过",{"2":{"509":1}}],["鼠标和游戏手柄模拟运行",{"2":{"509":1}}],["鼠标和游戏手柄控制设备",{"2":{"509":1}}],["鼠标的默认模式",{"2":{"508":1}}],["鼠标按键绑定",{"0":{"508":1}}],["鼠标捕获功能",{"2":{"505":1}}],["鼠标指针从计算机消失",{"2":{"505":1}}],["鼠标悬停",{"0":{"504":1},"2":{"504":1}}],["鼠标输入事件会以绝对坐标的形式通过",{"2":{"503":1}}],["鼠标",{"0":{"502":1},"1":{"503":1,"504":1,"505":1,"506":1,"507":1,"508":1},"2":{"478":1,"502":2,"505":1,"506":1,"507":1}}],["鼠标滚动",{"2":{"449":1}}],["鼠标移动",{"2":{"449":1}}],["鼠标事件",{"2":{"432":1}}],["鼠标键盘失效",{"0":{"349":1}}],["鼠标绑定",{"2":{"286":1}}],["鼠标模式下",{"2":{"508":2}}],["鼠标模式的命令",{"2":{"506":1,"507":1}}],["鼠标模式",{"0":{"503":1},"1":{"504":1},"2":{"286":1}}],["保留音频播放",{"2":{"541":1}}],["保留设备音频",{"2":{"284":1}}],["保持窗口始终在最前端显示",{"2":{"549":1}}],["保持此窗口开启",{"2":{"519":1,"520":2}}],["保持镜像",{"2":{"517":1}}],["保持唤醒",{"0":{"462":1}}],["保持唤醒状态",{"2":{"282":1}}],["保存的布局没有生效",{"2":{"321":1}}],["保存配置后立即生效",{"2":{"319":1}}],["保存布局",{"2":{"317":1,"321":1}}],["保存布局配置",{"0":{"317":1}}],["保存和加载自定义布局方案",{"2":{"299":1}}],["禁用窗口装饰边框",{"2":{"548":1}}],["禁用窗口显示",{"0":{"545":1}}],["禁用请使用",{"2":{"526":1}}],["禁用播放窗口",{"2":{"521":1}}],["禁用fps计数器",{"2":{"517":1}}],["禁用或启用",{"2":{"505":1}}],["禁用重复按键事件转发",{"2":{"487":1}}],["禁用键盘输入",{"2":{"484":1}}],["禁用此行为",{"2":{"467":1}}],["禁用show",{"2":{"465":1}}],["禁用保持唤醒",{"2":{"462":1}}],["禁用上述所有内容",{"2":{"458":1}}],["禁用编解码信息",{"2":{"458":1}}],["禁用正向连接时发送的虚拟字节",{"2":{"458":1}}],["禁用每个数据包的",{"2":{"458":1}}],["禁用通过",{"2":{"458":1}}],["禁用所有控制功能",{"2":{"432":1}}],["禁用音频",{"0":{"389":1},"2":{"477":1}}],["禁用音频回放",{"2":{"285":1}}],["禁用音频传输",{"2":{"284":1}}],["禁用视频回放",{"2":{"285":1}}],["禁用视频传输",{"2":{"281":1}}],["禁用屏幕保护",{"0":{"551":1},"2":{"283":1}}],["禁用控制时自动亮屏",{"2":{"282":1}}],["控制消息通过自定义二进制协议发送",{"2":{"457":1}}],["控制消息",{"2":{"449":1,"453":3}}],["控制器在自己的线程中从队列中取出消息",{"2":{"453":1}}],["控制器",{"0":{"453":1},"2":{"446":1,"453":1}}],["控制",{"0":{"431":1,"457":1},"1":{"432":1,"433":1,"434":1,"435":1,"436":1,"437":1,"438":1,"439":1},"2":{"478":1}}],["控制问题",{"0":{"348":1},"1":{"349":1,"350":1}}],["控制结束后关闭屏幕",{"2":{"282":1}}],["控制时关闭屏幕",{"2":{"282":1}}],["控制模式",{"0":{"277":1}}],["显示",{"0":{"539":1}}],["显示物理触摸痕迹",{"2":{"465":1}}],["显示触摸痕迹",{"0":{"465":1}}],["显示触摸点",{"2":{"282":1}}],["显示器以在",{"2":{"452":1}}],["显示器选择",{"2":{"281":1}}],["显示保存成功的消息提示",{"2":{"317":1}}],["显示方向",{"2":{"281":1}}],["屏幕关闭超时",{"0":{"463":1}}],["屏幕视频编码",{"0":{"447":1}}],["屏幕裁剪",{"2":{"281":1}}],["屏幕旋转",{"2":{"274":1,"278":1}}],["刷新频率",{"2":{"281":1}}],["视频无缓冲",{"2":{"540":1}}],["视频",{"0":{"529":1},"1":{"530":1,"531":1,"532":1,"533":1,"534":1,"535":1,"536":1,"537":1,"538":1,"539":1,"540":1,"541":1,"542":1,"543":1},"2":{"478":1}}],["视频和音频被禁用",{"2":{"509":1}}],["视频和音频",{"0":{"456":1},"2":{"473":1}}],["视频和音频流在设备端编码",{"2":{"513":1}}],["视频和音频流",{"0":{"452":1}}],["视频和音频流由",{"2":{"450":1}}],["视频帧发送到屏幕",{"2":{"452":1}}],["视频使用",{"2":{"447":1}}],["视频流",{"2":{"446":1}}],["视频驱动",{"2":{"352":1}}],["视频缓冲区",{"2":{"281":1}}],["视频编解码器",{"2":{"281":1}}],["视频比特率",{"2":{"281":1}}],["视频控制",{"0":{"281":1}}],["最后释放",{"2":{"517":1}}],["最后一帧的质量可能较差",{"2":{"447":1}}],["最小高度",{"2":{"311":1}}],["最小宽度",{"2":{"311":1}}],["最小尺寸限制",{"2":{"310":1}}],["最小化到托盘后状态栏图标不显示的问题",{"2":{"206":1}}],["最大分辨率",{"2":{"281":1}}],["目标文件写入显示变换来实现",{"2":{"536":1}}],["目标目录可通过启动参数修改",{"2":{"439":1}}],["目标计算机积极拒绝访问",{"0":{"325":1}}],["目录",{"2":{"405":1,"439":1,"443":1}}],["目录结构及描述调整",{"2":{"198":1}}],["目前仅设备名称",{"2":{"455":1}}],["目前仍保留该版本",{"2":{"371":1}}],["目前",{"2":{"369":1}}],["目前已支持以下常用配置项",{"2":{"279":1}}],["持续完善中",{"2":{"279":1}}],["重复按键的快捷键需要在释放后再次按下该键来执行",{"2":{"517":1}}],["重命名为",{"2":{"443":1}}],["重置视频捕获",{"2":{"517":1}}],["重置隧道",{"2":{"380":1}}],["重置隧道可恢复连接",{"2":{"367":1}}],["重置布局",{"0":{"313":1},"2":{"313":1}}],["重要",{"2":{"324":1}}],["重新加载保存的布局配置",{"2":{"313":1}}],["重叠处理",{"2":{"311":1}}],["重启设备",{"2":{"278":1}}],["重构主进程架构",{"2":{"274":1}}],["截图并提交至反馈issues页面",{"2":{"330":1}}],["截图",{"2":{"278":1}}],["音视频录制",{"0":{"285":1}}],["音量控制",{"2":{"278":1}}],["音频转发需api",{"2":{"474":1}}],["音频转发",{"2":{"473":1}}],["音频转发功能支持运行",{"2":{"388":1}}],["音频通过",{"2":{"448":1}}],["音频编码",{"0":{"448":1}}],["音频编解码器",{"2":{"284":1,"395":1}}],["音频流",{"2":{"446":1}}],["音频和控制通信",{"2":{"441":1}}],["音频输出缓冲",{"2":{"396":1}}],["音频输出缓冲区",{"2":{"284":1}}],["音频缓冲不可避免",{"2":{"396":1}}],["音频缓冲区",{"2":{"284":1}}],["音频复制",{"0":{"392":1}}],["音频源",{"0":{"391":1},"1":{"392":1}}],["音频源选择",{"2":{"284":1}}],["音频延迟通常不关键",{"2":{"390":1}}],["音频捕获将失败",{"2":{"388":1}}],["音频捕获异常导致镜像失败",{"0":{"334":1}}],["音频",{"0":{"388":1},"1":{"389":1,"390":1,"391":1,"392":1,"393":1,"394":1,"395":1,"396":1},"2":{"452":1,"478":1,"540":1}}],["音频比特率",{"2":{"284":1}}],["音频录制",{"2":{"277":1}}],["音频控制",{"0":{"284":1},"2":{"274":1}}],["通信",{"2":{"520":1}}],["通用步骤",{"0":{"409":1},"1":{"410":1,"411":1,"412":1,"413":1,"414":1,"415":1}}],["通用设置",{"0":{"280":1}}],["通常够用",{"2":{"521":1}}],["通常是输入事件",{"2":{"446":1}}],["通常是",{"2":{"443":1,"517":1}}],["通常执行粘贴",{"2":{"435":1}}],["通常执行剪切",{"2":{"435":1}}],["通常执行复制",{"2":{"435":1}}],["通常为",{"2":{"428":1,"519":1}}],["通常为连接wifi时分配的ip地址",{"2":{"295":1}}],["通常可正常使用",{"2":{"344":1}}],["通常因电脑缺少音频输出或安卓版本过低",{"2":{"334":1}}],["通常因软件包未签名导致",{"2":{"332":1}}],["通常因系统托盘图标过多溢出隐藏了escrcpy图标",{"2":{"331":1}}],["通常由adb或scrcpy路径错误引起",{"2":{"330":1}}],["通常不会超过两次点击",{"2":{"326":1}}],["通知中心",{"2":{"278":1}}],["通过隧道技术",{"2":{"518":1}}],["通过按住",{"2":{"508":1}}],["通过快捷键修饰键",{"2":{"505":1}}],["通过包管理器安装",{"0":{"494":1,"500":1,"555":1}}],["通过包管理器安装所需依赖",{"2":{"401":1}}],["通过计算机终端执行",{"2":{"488":1}}],["通过文本事件插入",{"2":{"486":1}}],["通过模拟物理键盘和鼠标控制设备",{"2":{"477":1}}],["通过scrcpy发送power指令",{"2":{"464":1}}],["通过ctrl+v或mod+v",{"2":{"435":1}}],["通过",{"2":{"392":1,"418":1,"419":2,"422":1,"446":1,"447":1,"452":1,"469":1,"484":1,"502":1,"509":1}}],["通过以下命令检查设备是否被识别",{"2":{"342":1}}],["通过执行",{"2":{"340":1}}],["通过合理使用窗口编排功能",{"2":{"321":1}}],["通过主界面启动",{"2":{"304":1}}],["通过拖拽方式调整窗口位置和尺寸",{"2":{"299":1}}],["通过可视化的拖拽界面",{"2":{"298":1}}],["通过可视化编排工具支持脚本的自动化",{"2":{"274":1}}],["通过设备的",{"2":{"469":1,"484":1,"502":1}}],["通过设备序列号",{"2":{"426":1}}],["通过设备",{"2":{"297":1}}],["通过二维码配对设备",{"2":{"294":1}}],["通过发行包",{"0":{"290":1}}],["通过备注筛选",{"2":{"274":1}}],["通过escrcpy",{"2":{"263":1}}],["关键帧",{"2":{"456":1}}],["关键帧标志",{"2":{"456":1}}],["关于手机",{"2":{"429":1}}],["关于页面国际化",{"2":{"203":1}}],["关闭虚拟显示屏时",{"2":{"527":1}}],["关闭时销毁",{"0":{"527":1}}],["关闭时断电",{"0":{"466":1}}],["关闭设备屏幕",{"2":{"517":1}}],["关闭视频播放时鼠标功能会被禁用",{"2":{"434":1}}],["关闭",{"2":{"353":1}}],["关闭屏幕",{"0":{"464":1},"2":{"278":1,"464":1}}],["镜像时无效",{"2":{"507":1}}],["镜像时无法使用",{"2":{"490":1}}],["镜像会继续仅传输视频",{"2":{"388":1}}],["镜像组",{"2":{"278":1}}],["镜像模式",{"2":{"277":1}}],["返回值",{"2":{"344":1}}],["返回键",{"2":{"278":1}}],["返回主页",{"2":{"278":1}}],["摄像头帧率",{"2":{"287":1}}],["摄像头比例",{"2":{"287":1}}],["摄像头尺寸",{"2":{"287":1}}],["摄像头源选择",{"2":{"287":1}}],["摄像头控制",{"0":{"287":1}}],["摄像头",{"2":{"277":1,"478":1,"530":1}}],["摄像头录制",{"2":{"277":1}}],["摄像头镜像",{"2":{"274":1,"473":1}}],["录制",{"0":{"512":1},"1":{"513":1,"514":1,"515":1,"516":1},"2":{"473":1,"478":1,"541":1}}],["录制器等",{"2":{"451":1}}],["录制时获取设备列表失败或报错",{"0":{"330":1}}],["录制时长",{"2":{"285":1}}],["录制视频和音频",{"2":{"515":1,"541":1}}],["录制视频方向",{"2":{"285":1}}],["录制视频格式",{"2":{"285":1}}],["录制模式",{"2":{"277":1}}],["录制并保存音视频",{"2":{"274":1}}],["集成",{"2":{"274":1}}],["整合同一设备的不同连接方式和配置",{"2":{"274":1}}],["仅转发音频",{"2":{"542":1}}],["仅镜像",{"2":{"538":1}}],["仅镜像部分区域",{"2":{"538":1}}],["仅录制音频",{"2":{"512":1}}],["仅录制视频",{"2":{"512":1}}],["仅当",{"2":{"447":1}}],["仅当adb",{"2":{"380":1}}],["仅知道接收到的视频帧尺寸",{"2":{"441":1}}],["仅支持有线连接",{"2":{"490":1}}],["仅支持android",{"2":{"435":1}}],["仅支持windows",{"2":{"333":1}}],["仅控制功能",{"0":{"511":1}}],["仅控制设备而不显示屏幕镜像",{"2":{"434":1}}],["仅控制模式",{"0":{"434":1}}],["仅在绝对必要时使用",{"2":{"396":1}}],["仅限hid键盘",{"2":{"517":1}}],["仅限linux",{"2":{"473":1,"477":1}}],["仅限usb连接",{"2":{"434":1}}],["仅限一台",{"2":{"426":2}}],["仅限",{"2":{"392":1}}],["仅捕获语音通话下行链路",{"2":{"391":1}}],["仅捕获语音通话上行链路",{"2":{"391":1}}],["仅音频模式",{"0":{"390":1}}],["仅针对java版本",{"2":{"372":1}}],["仅修复重大阻塞问题",{"2":{"369":1}}],["仅反向共享指定的路由",{"2":{"363":1}}],["仅需设置一次",{"2":{"324":1}}],["仅windows",{"2":{"274":1}}],["仅显示设备屏幕",{"2":{"267":1,"473":1}}],["主要设计为通过终端带参数执行",{"2":{"556":1}}],["主要用于镜像本地安卓设备",{"2":{"518":1}}],["主要绑定",{"2":{"508":1}}],["主",{"2":{"446":1}}],["主程序",{"2":{"414":1}}],["主题风格",{"2":{"280":1}}],["主题切换",{"2":{"266":1}}],["主窗口边缘隐藏",{"2":{"274":1}}],["增强设备文件管理器",{"2":{"274":1}}],["增强版录制功能",{"2":{"274":1}}],["增加了常用的",{"2":{"255":1}}],["增加了对设备交互控制栏的支持",{"2":{"241":1}}],["悬浮控制栏",{"2":{"274":1,"280":1}}],["批量计划任务",{"2":{"276":1}}],["批量执行脚本",{"2":{"276":1}}],["批量文件管理",{"2":{"276":1}}],["批量安装应用",{"2":{"276":1}}],["批量截屏",{"2":{"276":1}}],["批量镜像",{"2":{"276":1}}],["批量处理",{"0":{"276":1},"2":{"274":1}}],["批量连接历史设备",{"2":{"274":1}}],["灵活启动镜像",{"2":{"274":1}}],["多设备连接冲突",{"0":{"344":1}}],["多设备管理",{"2":{"266":1}}],["多线程",{"2":{"274":1}}],["多屏协同",{"2":{"274":1}}],["国际化支持",{"2":{"274":1}}],["国际化语言",{"2":{"201":1}}],["软件更新功能",{"2":{"274":1}}],["软件包格式",{"2":{"223":1}}],["软件包安装后无线显示",{"2":{"221":1}}],["软件包编译",{"2":{"211":1}}],["优先级从高到低",{"2":{"274":1}}],["优化logo设计",{"2":{"274":1}}],["优化投屏窗口位置与大小的设置方式",{"2":{"271":1}}],["优化的用户体验",{"0":{"267":1}}],["优化设备界面视图并添加虚拟控制栏配置",{"2":{"254":1}}],["优化",{"2":{"232":1}}],["优化窗口默认大小",{"2":{"213":1}}],["优化页面查找工具性能",{"2":{"134":1}}],["里程碑",{"0":{"274":1}}],["让系统认为",{"2":{"388":1}}],["让您能够",{"2":{"299":1}}],["让安卓设备控制变得更简单高效",{"2":{"273":1}}],["让我更有精神完善该项目",{"2":{"261":1}}],["结语",{"0":{"273":1}}],["如dev分支",{"2":{"495":1}}],["如scrcpy",{"2":{"476":1}}],["如密码",{"2":{"435":1}}],["如termux中",{"2":{"435":1}}],["如需禁用",{"2":{"551":1}}],["如需禁用窗口显示",{"2":{"545":1}}],["如需禁用自动剪贴板同步",{"2":{"435":1}}],["如需手动构建和安装应用",{"2":{"555":1}}],["如需手动构建和安装",{"2":{"500":1}}],["如需手动构建安装",{"2":{"495":1}}],["如需安装master分支的最新版本",{"2":{"495":1}}],["如需改用aoa模式",{"2":{"434":1}}],["如需同时使用uhid键盘",{"2":{"434":1}}],["如需使用相对鼠标模式控制设备",{"2":{"434":1}}],["如需构建服务器",{"2":{"406":1,"407":1}}],["如需贡献代码",{"2":{"398":1}}],["如观看视频",{"2":{"396":1}}],["如卡拉ok",{"2":{"391":1}}],["如何选择",{"0":{"371":1}}],["如何使用",{"0":{"272":1}}],["如构建问题",{"2":{"369":1}}],["如",{"2":{"352":1,"399":1,"402":1}}],["如ubuntu",{"2":{"337":1}}],["如果希望固定使用某些参数",{"2":{"556":1}}],["如果需要",{"2":{"536":1}}],["如果需要使用多个游戏手柄",{"2":{"472":1}}],["如果不支持请求的方向",{"2":{"536":1}}],["如果编码失败",{"2":{"531":1}}],["如果在设备上全屏播放",{"2":{"533":1}}],["如果在",{"2":{"521":1}}],["如果您的鼠标支持",{"2":{"517":1}}],["如果您喜欢此应用",{"2":{"482":1}}],["如果仅需在启用",{"2":{"511":1}}],["如果仅有一台设备已连接",{"2":{"426":1}}],["如果连接了多个",{"2":{"509":1}}],["如果尚未安装adb",{"2":{"555":2}}],["如果尚未安装",{"2":{"500":1}}],["如果发现错误或有绝妙的想法",{"2":{"459":1}}],["如果隧道是",{"2":{"455":1}}],["如果设置了",{"2":{"455":1}}],["如果设备未通过有线连接",{"2":{"462":1}}],["如果设备未启用",{"2":{"428":1}}],["如果设备屏幕未变化",{"2":{"447":1}}],["如果设备",{"2":{"428":1}}],["如果执行",{"2":{"445":1}}],["如果客户端和服务端版本不完全一致",{"2":{"445":1}}],["如果",{"2":{"443":1,"460":1,"472":1,"507":1,"539":1}}],["如果启用了控制功能",{"2":{"441":1}}],["如果启用了音频功能",{"2":{"441":1}}],["如果启用了视频功能",{"2":{"441":1}}],["如果应用支持",{"2":{"436":1}}],["如果通过",{"2":{"426":1}}],["如果指定了",{"2":{"418":1,"419":1}}],["如果只需构建客户端",{"2":{"410":1}}],["如果只需构建并安装最新版本",{"2":{"397":1}}],["如果出现以下错误",{"2":{"393":1}}],["如果音频捕获失败",{"2":{"388":1}}],["如果没有保存的配置",{"2":{"313":1}}],["如果你正在寻找一款强大且易用的安卓设备控制工具",{"2":{"273":1}}],["如果该项目帮到你的话",{"2":{"261":1}}],["更新仓库并重新安装",{"2":{"495":1}}],["更高画质",{"2":{"477":1}}],["更多快捷键",{"2":{"476":1}}],["更多功能",{"2":{"473":1}}],["更多细节",{"2":{"459":1}}],["更多细节在此",{"2":{"458":1}}],["更多细节请阅读客户端和服务端代码",{"2":{"455":1}}],["更多细节请参阅介绍音频功能的博客文章",{"2":{"448":1}}],["更完善的批量操作功能",{"2":{"270":1}}],["更丰富的自定义选项",{"2":{"270":1}}],["更便捷的连接方式",{"2":{"270":1}}],["更直观的设备管理界面",{"2":{"270":1}}],["跨平台支持",{"0":{"269":1}}],["教学时演示手机操作",{"2":{"268":1}}],["纯净体验",{"2":{"267":1}}],["可双击以下文件之一",{"2":{"556":1}}],["可指定窗口初始位置和尺寸",{"2":{"547":1}}],["可触发快捷键",{"2":{"508":1}}],["可将次要点击事件转发到设备",{"2":{"508":1}}],["可切换",{"2":{"505":1}}],["可按以下简化流程操作",{"2":{"495":1}}],["可禁用屏幕键盘",{"2":{"489":1}}],["可强制使用正向连接",{"2":{"520":1}}],["可强制将字母作为文本注入",{"2":{"486":1}}],["可强制重新连接",{"2":{"428":1}}],["可自定义行为",{"2":{"485":1}}],["可配置画质",{"2":{"473":1}}],["可以创建一个myscrcpy",{"2":{"556":1}}],["可以同时应用",{"2":{"540":1}}],["可以添加缓冲以延迟视频流并补偿抖动",{"2":{"540":1}}],["可以选择镜像的显示器",{"2":{"539":1}}],["可以选择视频编解码器",{"2":{"534":1}}],["可以裁剪设备屏幕",{"2":{"538":1}}],["可以限制捕获帧率",{"2":{"533":1}}],["可以降低分辨率进行镜像",{"2":{"531":1}}],["可以为",{"2":{"522":1}}],["可以尝试",{"2":{"521":1}}],["可以让本地",{"2":{"518":1}}],["可以实现远程设备连接",{"2":{"518":1}}],["可以录制旋转的视频",{"2":{"514":1}}],["可以禁用视频和音频",{"2":{"511":1}}],["可以禁用键盘或鼠标",{"2":{"509":1}}],["可以禁用音频",{"2":{"416":1}}],["可以仅通过物理键盘",{"2":{"509":1}}],["可以支持我的开源工作",{"2":{"482":1}}],["可以手动修改此设置",{"2":{"464":1,"465":1}}],["可以在不播放视频或音频的情况下捕获",{"2":{"541":1}}],["可以在",{"2":{"521":1}}],["可以在启动应用前强制停止它",{"2":{"468":1}}],["可以在镜像开始时通过命令行选项关闭设备屏幕",{"2":{"464":1}}],["可以在检测到新",{"2":{"430":1}}],["可以播放视频",{"2":{"458":1}}],["可以通过以下命令获取显示器",{"2":{"539":1}}],["可以通过以下命令列出",{"2":{"535":1}}],["可以通过以下命令修改",{"2":{"532":1}}],["可以通过包名在启动时运行指定应用",{"2":{"468":1}}],["可以通过反射调用这些方法",{"2":{"444":1}}],["可以通过",{"2":{"427":1,"534":1,"536":3}}],["可以通过传递明确的相机",{"2":{"418":1}}],["可以将视频流发送到",{"2":{"521":1}}],["可以将",{"2":{"424":1}}],["可以利用花括号扩展",{"2":{"423":1}}],["可以自动选择一个声明的有效尺寸",{"2":{"419":1}}],["可以自动选择相机",{"2":{"418":1}}],["可以传递明确的相机尺寸",{"2":{"419":1}}],["可以安装",{"2":{"414":1}}],["可以使用",{"2":{"410":1,"517":1}}],["可以请我喝杯咖啡",{"2":{"261":1}}],["可访问的目录",{"2":{"399":1}}],["可从",{"2":{"399":1}}],["可增加视频和音频缓冲以平滑播放",{"2":{"396":1}}],["可调整",{"2":{"396":1}}],["可选键包括",{"2":{"517":1}}],["可选值为",{"2":{"393":1,"534":1}}],["可选择音频编解码器",{"2":{"393":1}}],["可用于恢复连接",{"2":{"380":1}}],["可分别执行各步骤",{"2":{"380":1}}],["可执行文件",{"2":{"441":1}}],["可执行",{"2":{"379":1}}],["可直接双击gnirehtet",{"2":{"379":1}}],["可直接下载平台工具",{"2":{"373":1}}],["可通过更多选项创建多个设备或指定设备id",{"2":{"521":1}}],["可通过issue提交错误报告",{"2":{"481":1}}],["可通过以下方式打开配置页面",{"2":{"488":1}}],["可通过以下组合键实现复制",{"2":{"435":1}}],["可通过以下命令修改",{"2":{"546":1}}],["可通过以下命令禁用",{"2":{"504":1}}],["可通过以下命令调整",{"2":{"395":1}}],["可通过以下命令列出",{"2":{"394":1}}],["可通过",{"2":{"393":1,"429":1,"435":1,"500":1,"508":1,"521":1}}],["可通过android",{"2":{"373":1}}],["可通过环境变量切换",{"2":{"352":1}}],["可通过技巧输入部分",{"2":{"350":1}}],["可通过序列号指定设备",{"2":{"344":1}}],["可尝试",{"2":{"393":1}}],["可尝试使用以下工具",{"2":{"331":1}}],["可尝试以下方案",{"2":{"329":1,"330":1,"332":1}}],["可能提供更好的画质",{"2":{"534":1}}],["可能无法使用此模式",{"2":{"489":1}}],["可能已包含解决方案",{"2":{"481":1}}],["可能未及时更新",{"2":{"479":1}}],["可能会增加缓冲延迟",{"2":{"521":1}}],["可能会遇到以下错误",{"2":{"474":1}}],["可能会使用多个组件",{"2":{"452":1}}],["可能很有用",{"2":{"465":1}}],["可能的键及其值类型可以在服务端和客户端代码中找到",{"2":{"445":1}}],["可能过旧",{"2":{"402":1}}],["可能需要安装驱动",{"2":{"342":1}}],["可能需先进行无线配对",{"2":{"295":1}}],["可能是驱动问题",{"2":{"347":1}}],["可能是安装路径包含中文或特殊字符",{"2":{"336":1}}],["可能是电脑缺少必要驱动",{"2":{"323":1}}],["可实现pc到安卓设备的网络共享",{"2":{"297":1}}],["可视化多设备窗口布局管理",{"2":{"266":1}}],["配置可独立用于显示",{"2":{"540":1}}],["配置任何鼠标模式的快捷键",{"2":{"508":1}}],["配置键盘布局后",{"2":{"489":1}}],["配置包",{"2":{"456":1}}],["配置包标志",{"2":{"456":1}}],["配置中指定路径",{"2":{"412":1}}],["配置继承",{"2":{"319":1}}],["配置应用时机",{"0":{"319":1}}],["配置节点",{"2":{"318":2}}],["配置存储机制",{"0":{"318":1}}],["配置写入",{"2":{"317":1}}],["配置保存和应用",{"0":{"316":1},"1":{"317":1,"318":1,"319":1}}],["配置导入导出",{"2":{"266":1}}],["配置异常导致打包的文件无法发布的问题",{"2":{"237":1}}],["自由",{"2":{"473":1}}],["自定义模式",{"2":{"277":1}}],["自定义设备名称",{"2":{"274":1}}],["自定义adb和scrcpy依赖项",{"2":{"274":1}}],["自定义备注",{"2":{"266":1}}],["自定义脚本及定时任务",{"2":{"266":1}}],["自定义通用的文件存储路径相关逻辑完善",{"2":{"240":1}}],["自动启动",{"0":{"430":1}}],["自动连接",{"0":{"428":1}}],["自动连接设备",{"2":{"266":1,"280":1}}],["自动退出并提示",{"2":{"346":1}}],["自动操控",{"2":{"278":1}}],["自动执行镜像",{"2":{"274":1,"280":1}}],["自动执行投屏",{"2":{"266":1}}],["自动化",{"2":{"266":1}}],["无播放",{"0":{"515":1,"541":1}}],["无点击的鼠标移动",{"2":{"504":1}}],["无任何明示或暗示的保证或条件",{"2":{"483":1}}],["无任何明示或暗示的担保或条件",{"2":{"385":1}}],["无侵入性",{"2":{"473":1}}],["无论哪个",{"2":{"455":1}}],["无论你是开发者还是普通用户",{"2":{"273":1}}],["无视频",{"0":{"542":1}}],["无视频时",{"2":{"390":1}}],["无视觉反馈",{"2":{"438":1,"439":1}}],["无线充电器启用保持唤醒",{"2":{"462":1}}],["无线调试选项",{"2":{"429":1}}],["无线调试",{"2":{"294":1}}],["无线连接提示",{"0":{"325":1}}],["无线连接方式",{"0":{"293":1},"1":{"294":1,"295":1}}],["无线连接",{"0":{"427":1},"1":{"428":1,"429":1},"2":{"266":1,"489":1}}],["无边框模式",{"0":{"548":1},"2":{"283":1}}],["无需usb调试",{"2":{"477":1}}],["无需镜像",{"2":{"477":1}}],["无需打开终端",{"2":{"379":1}}],["无需指定序列号",{"2":{"364":1}}],["无需重启应用",{"2":{"319":1}}],["无需手动安装",{"2":{"296":1}}],["无需脚本使用自然语言控制你的安卓设备",{"2":{"274":1}}],["无需联网",{"2":{"267":1,"473":1}}],["无需账户",{"2":{"267":1,"473":1}}],["无广告",{"2":{"267":1,"473":1}}],["无残留",{"2":{"267":1}}],["无法在镜像时使用",{"2":{"472":1}}],["无法捕获音频",{"2":{"388":1}}],["无法工作",{"2":{"340":1}}],["无法执行",{"0":{"336":1}}],["无法定位程序输入点discardvirtualmemory于动态链接库kernel32",{"0":{"333":1}}],["无法输入中文",{"0":{"324":1}}],["无法正确获取系统依赖路径的问题",{"2":{"218":1}}],["无法启动镜像或录制服务以及修改自定义依赖目录的问题",{"2":{"200":1}}],["丰富的功能特性",{"0":{"266":1}}],["延迟仅35~70毫秒",{"2":{"265":1}}],["低延迟",{"2":{"265":1,"473":1}}],["低延迟的投屏体验",{"2":{"263":1}}],["取决于设备性能",{"2":{"265":1}}],["高速捕获",{"0":{"422":1}}],["高级用法中",{"2":{"393":1,"534":1}}],["高级选项可通过不带参数的",{"2":{"380":1}}],["高级配置",{"2":{"255":1}}],["高度可定制",{"2":{"266":1}}],["高质量",{"2":{"265":1,"473":1}}],["高性能",{"2":{"265":1,"473":1}}],["高效稳定的投屏体验",{"0":{"265":1}}],["享受高清",{"2":{"263":1}}],["什么是escrcpy",{"0":{"263":1}}],["基于rust的android反向网络共享工具",{"2":{"386":1}}],["基于electron的图形化安卓设备控制工具",{"0":{"262":1},"1":{"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"269":1,"270":1,"271":1,"272":1,"273":1}}],["基本支持",{"2":{"259":1}}],["制作了合适的",{"2":{"253":1}}],["去除未测试环境的打包以修复构建失败的问题",{"2":{"257":1}}],["去除页面组件冗余参数",{"2":{"245":1}}],["去除冗余的依赖项",{"2":{"234":1}}],["错误",{"2":{"236":1,"418":1,"419":1}}],["判断条件解决某些情况下资源路径解析异常的问题",{"2":{"232":1}}],["➕",{"2":{"230":1}}],["的一只眼睛",{"2":{"538":1}}],["的一个优势是它还可以无线工作",{"2":{"511":1}}],["的延迟更低",{"2":{"534":1}}],["的帧率不会超过",{"2":{"533":1}}],["的视频",{"2":{"533":1}}],["的设备会被镜像为",{"2":{"531":1}}],["的工具打开视频流",{"2":{"521":1}}],["的工具打开",{"2":{"521":1}}],["的快捷键会被转发到设备",{"2":{"517":1}}],["的情况下控制设备",{"2":{"511":1}}],["的目的是在不启用",{"2":{"511":1}}],["的行为类似于连接到",{"2":{"509":1}}],["的默认模式",{"2":{"508":1}}],["的默认帧率",{"2":{"421":1}}],["的最高位用于数据包标志",{"2":{"456":1}}],["的最大宽度",{"2":{"419":1}}],["的最大宽度及其关联的最大高度",{"2":{"419":1}}],["的最大尺寸",{"2":{"419":2}}],["的当前协议",{"2":{"454":1}}],["的参数",{"2":{"452":1}}],["的原始音频流",{"2":{"441":1}}],["的额外触摸事件",{"2":{"436":1}}],["的宽高比",{"2":{"419":1}}],["的发布版本中也包含这些文件",{"2":{"399":1}}],["的代码将包含在下一个版本中",{"2":{"398":1}}],["的说明",{"2":{"397":1}}],["的音频",{"2":{"391":1}}],["的已知问题",{"2":{"344":1}}],["的",{"2":{"340":1,"443":1,"451":2,"455":1}}],["的高级功能之一",{"2":{"298":1}}],["的支持",{"2":{"224":1}}],["的问题",{"2":{"221":1}}],["支持多种格式",{"2":{"513":1}}],["支持所有字符和输入法",{"2":{"489":1}}],["支持所有平台在点击关闭按钮时选择是否保存到托盘中的功能",{"2":{"211":1}}],["支持音频",{"2":{"480":1}}],["支持linux",{"2":{"473":1}}],["支持自动配置连接",{"2":{"428":1}}],["支持两种约束条件",{"2":{"419":1}}],["支持在运行",{"2":{"416":1}}],["支持的音频源包括",{"2":{"391":1}}],["支持adb",{"2":{"373":1}}],["支持gnu",{"2":{"369":1}}],["支持",{"2":{"302":1,"423":2,"489":1}}],["支持设备批量启动",{"2":{"274":1}}],["支持添加打开app到桌面快捷方式",{"2":{"274":1}}],["支持macos和linux系统",{"2":{"274":1}}],["支持浅色",{"2":{"266":1}}],["支持拖拽调整位置和尺寸",{"2":{"266":1}}],["支持通过可视化编排工具控制各设备的窗口布局",{"2":{"274":1}}],["支持通过扫码快速连接设备",{"2":{"266":1}}],["支持通过操作栏安装应用并提供相应安装反馈",{"2":{"233":1}}],["支持1920×1080或更高分辨率显示",{"2":{"265":1}}],["支持30",{"2":{"265":1}}],["支持创建更多架构的",{"2":{"223":1}}],["及麦克风",{"2":{"477":1}}],["及以上版本",{"2":{"392":2}}],["及",{"2":{"222":1}}],["问题4",{"2":{"321":1}}],["问题3",{"2":{"321":1}}],["问题2",{"2":{"321":1}}],["问题1",{"2":{"321":1}}],["问题",{"0":{"340":1,"347":1,"510":1},"1":{"341":1,"342":1,"343":1,"344":1,"345":1,"346":1},"2":{"219":1}}],["窗口设置",{"0":{"544":1},"1":{"545":1,"546":1,"547":1,"548":1,"549":1,"550":1,"551":1}}],["窗口和音频输出时",{"2":{"512":1}}],["窗口中可以通过键盘和鼠标快捷键执行操作",{"2":{"517":1}}],["窗口中按",{"2":{"488":1}}],["窗口中渲染",{"2":{"452":1}}],["窗口",{"2":{"478":1}}],["窗口标题",{"0":{"546":1},"2":{"441":1}}],["窗口尺寸异常",{"2":{"321":1}}],["窗口拖拽不响应",{"2":{"321":1}}],["窗口不能拖拽到编排区域外部",{"2":{"311":1}}],["窗口不能小于预设的最小尺寸",{"2":{"310":1}}],["窗口布局调整",{"0":{"308":1},"1":{"309":1,"310":1,"311":1}}],["窗口置顶",{"0":{"549":1},"2":{"283":1}}],["窗口y坐标",{"2":{"283":1,"318":1}}],["窗口x坐标",{"2":{"283":1,"318":1}}],["窗口高度",{"2":{"283":1,"318":1}}],["窗口宽度",{"2":{"283":1,"318":1}}],["窗口控制",{"0":{"283":1}}],["窗口控制及交互逻辑优化",{"2":{"204":1}}],["窗口编排功能提供了一个全屏的可视化编辑界面",{"2":{"299":1}}],["窗口编排",{"2":{"266":1,"304":1}}],["窗口过小导致出现横向滚动条的问题",{"2":{"215":1}}],["窗口问题",{"2":{"214":1}}],["或复制",{"2":{"556":1}}],["或启用",{"2":{"541":1}}],["或禁用虚拟显示屏中默认的启动器界面",{"2":{"526":1}}],["或视频会议软件中捕获视频",{"2":{"521":1}}],["或在",{"2":{"509":1}}],["或物理鼠标",{"2":{"509":1}}],["或点亮屏幕",{"2":{"508":2}}],["或点击刷新设备",{"2":{"326":1}}],["或带参数运行",{"2":{"496":1,"501":1,"556":1}}],["或直接切换至",{"2":{"486":1}}],["或省略参数时",{"2":{"485":1,"503":1}}],["或随时按下mod+o组合键",{"2":{"464":1}}],["或设置了",{"2":{"455":1}}],["或折叠",{"2":{"447":1}}],["或执行以下命令",{"2":{"429":1}}],["或您不知道设备的",{"2":{"428":1}}],["或者",{"2":{"418":1,"419":1,"460":1}}],["或通过",{"2":{"441":1,"525":1}}],["或通过系统包管理器安装",{"2":{"399":1}}],["或通过环境变量指定",{"2":{"345":1}}],["或简写为",{"2":{"392":1,"469":1,"484":1}}],["或更高版本时",{"2":{"539":1}}],["或更高版本的设备上使用相机镜像功能",{"2":{"416":1}}],["或更高版本的设备",{"2":{"388":1}}],["或更早版本",{"2":{"388":1}}],["或更新版本",{"2":{"388":1}}],["或仅检测到无关",{"2":{"347":1}}],["或选择单一",{"2":{"344":1}}],["或插入usb确保连接建立并授权成功后再使用无线",{"2":{"325":1}}],["或",{"2":{"212":1,"344":1,"347":1,"410":1,"419":1,"441":1,"452":1,"456":2,"488":1,"502":1,"505":1,"511":1,"517":2,"536":1}}],["为音频播放设置",{"2":{"540":1}}],["为视频播放添加",{"2":{"540":1}}],["为了提升性能",{"2":{"531":1}}],["为了简化操作",{"2":{"458":1}}],["为了简化操作并利用",{"2":{"443":1}}],["为数字",{"2":{"521":1}}],["为实现安全的远程",{"2":{"520":1}}],["为确保正常工作",{"2":{"488":1}}],["为ac",{"2":{"462":1}}],["为此",{"2":{"449":1}}],["为什么叫gnirehtet",{"0":{"383":1}}],["为每个客户端执行",{"2":{"380":1}}],["为方便起见",{"2":{"379":1,"464":1,"468":1}}],["为所有设备启用反向网络共享",{"2":{"362":1}}],["为单一设备启用反向网络共享",{"2":{"361":1}}],["为何设备交互控制栏未设计为自动贴边的悬浮菜单",{"0":{"327":1}}],["为用户提供了更加友好且功能丰富的图形界面",{"2":{"263":1}}],["为",{"2":{"211":1,"522":1,"540":1}}],["设置视频方向",{"2":{"536":1}}],["设置新值",{"2":{"463":1}}],["设置",{"2":{"367":1,"429":1,"488":1}}],["设置全局默认配置和设备特定配置",{"2":{"299":1}}],["设置主题跟随系统后",{"2":{"188":1}}],["设备有多个显示器",{"2":{"539":1}}],["设备就能像普通摄像头一样被任何支持",{"2":{"521":1}}],["设备就会开始流式传输视频",{"2":{"458":1}}],["设备的宽高比",{"2":{"531":1}}],["设备的分辨率进行镜像",{"2":{"531":1}}],["设备的物理键盘和",{"2":{"509":1}}],["设备的设置",{"2":{"324":1}}],["设备屏幕关闭时镜像",{"2":{"473":1}}],["设备已被其他进程如",{"2":{"472":1,"490":1,"507":1}}],["设备首先发送一些编解码器元数据",{"2":{"456":1}}],["设备向客户端发送一些元数据",{"2":{"455":1}}],["设备监听",{"2":{"455":1}}],["设备上",{"2":{"505":1,"534":1}}],["设备上以",{"2":{"443":1}}],["设备上可能有多个编码器可用",{"2":{"394":1,"535":1}}],["设备连接",{"2":{"455":1}}],["设备连接时自动运行任意命令",{"2":{"430":1}}],["设备连接成功后",{"2":{"297":1}}],["设备ip",{"2":{"429":2}}],["设备id",{"2":{"318":1}}],["设备必须与计算机连接在同一网络中",{"2":{"427":1}}],["设备序列号也可以通过环境变量",{"2":{"426":1}}],["设备选择",{"0":{"426":1}}],["设备相机用作计算机上的网络摄像头",{"2":{"424":1}}],["设备或计算机均无需",{"2":{"369":1}}],["设备将使用指定的dns服务器",{"2":{"363":1}}],["设备断开连接",{"0":{"346":1}}],["设备端应弹出授权请求窗口",{"2":{"343":1}}],["设备未授权",{"0":{"343":1},"2":{"343":1}}],["设备未检测到",{"0":{"342":1}}],["设备需单独安装",{"2":{"342":1}}],["设备",{"2":{"342":1,"344":4,"347":2,"410":1,"427":1,"478":1,"509":1,"521":1,"541":1}}],["设备输入设置",{"2":{"324":1}}],["设备输入法准备",{"2":{"324":1}}],["设备不显示在添加列表中",{"2":{"321":1}}],["设备特定配置优先",{"2":{"319":1}}],["设备特定的窗口配置",{"2":{"302":1}}],["设备开始镜像时自动应用对应的窗口配置",{"2":{"319":1}}],["设备配置",{"2":{"318":1}}],["设备名称优先显示自定义名称",{"2":{"307":1}}],["设备显示规则",{"2":{"307":1}}],["设备窗口组件将添加到编排区域",{"2":{"307":1}}],["设备窗口组件",{"0":{"302":1}}],["设备窗口编排是",{"2":{"298":1}}],["设备窗口编排功能详解",{"0":{"298":1},"1":{"299":1,"300":1,"301":1,"302":1,"303":1,"304":1,"305":1,"306":1,"307":1,"308":1,"309":1,"310":1,"311":1,"312":1,"313":1,"314":1,"315":1,"316":1,"317":1,"318":1,"319":1,"320":1,"321":1}}],["设备控制栏",{"2":{"297":1}}],["设备控制",{"0":{"282":1,"461":1},"1":{"462":1,"463":1,"464":1,"465":1,"466":1,"467":1,"468":1}}],["设备交互栏",{"0":{"278":1}}],["设备交互栏添加重启设备及打开通知栏功能",{"2":{"230":1}}],["设备操作指南",{"0":{"275":1},"1":{"276":1,"277":1,"278":1}}],["设备分组",{"2":{"274":1}}],["设备快捷交互控制栏",{"2":{"274":1}}],["设备备注文本框描述信息调整",{"2":{"226":1}}],["设备列表标签显示细节调整",{"2":{"225":1}}],["设计",{"2":{"208":1}}],["采用新的方法实现所有进程共享",{"2":{"231":1}}],["采用新的",{"2":{"208":1}}],["深色模式",{"2":{"201":1,"266":1,"274":1}}],["拆分依赖文件禁用冗余的警告信息",{"2":{"198":1}}],["添加所需的参数",{"2":{"556":1}}],["添加了一些服务端特定选项以轻松生成原始流",{"2":{"458":1}}],["添加设备窗口组件",{"0":{"307":1}}],["添加组件",{"2":{"306":1,"307":1}}],["添加全局配置组件",{"0":{"306":1}}],["添加和管理组件",{"0":{"305":1},"1":{"306":1,"307":1}}],["添加基本的无线连接功能",{"2":{"259":1}}],["添加基本的有线连接支持",{"2":{"259":1}}],["添加初步的构建及发布支持",{"2":{"259":1}}],["添加在线检查更新功能",{"2":{"248":1}}],["添加音视频录制功能以及更多的高级选项",{"2":{"246":1}}],["添加更多的高级配置并更新文档",{"2":{"244":1}}],["添加",{"2":{"205":1,"211":1,"259":1}}],["添加投屏窗口大小控制",{"2":{"162":1}}],["添加定时任务入口",{"2":{"112":1}}],["zeno",{"2":{"494":1}}],["zsh",{"2":{"414":2,"423":1}}],["zh",{"2":{"137":1,"138":1,"140":1}}],["zip",{"2":{"5":1,"377":3,"378":1,"554":2}}],["🤩",{"2":{"267":1}}],["🤖",{"2":{"266":1}}],["🧑‍💻",{"2":{"12":4,"19":2,"72":1}}],["🩹",{"2":{"11":1,"12":2,"47":1,"50":1,"84":1}}],["jdwp",{"2":{"460":2}}],["jdk",{"2":{"402":1,"405":2}}],["jre包",{"2":{"372":1}}],["jre",{"2":{"372":1}}],["jar",{"2":{"378":1,"443":2,"445":3,"458":2}}],["java版本",{"2":{"370":1}}],["java",{"0":{"378":1},"2":{"355":1,"378":1,"403":1,"406":1,"407":3,"410":1,"443":2,"474":1}}],["japanese",{"2":{"12":1,"35":1}}],["js",{"2":{"7":1}}],["⬆️",{"2":{"12":4,"55":1,"57":1,"77":1,"96":1,"104":1}}],["➖",{"2":{"12":1,"69":1,"106":1,"150":1}}],["✅",{"2":{"12":4,"27":1,"57":1,"65":1,"98":1,"122":1,"274":36}}],["⚗️",{"2":{"12":1,"93":1}}],["♿️",{"2":{"12":1}}],["♻️",{"2":{"11":1,"12":25,"14":1,"19":1,"34":2,"35":1,"40":1,"59":1,"60":1,"62":1,"65":1,"67":1,"68":2,"72":2,"80":2,"82":1,"85":2,"87":2,"93":2,"100":1,"102":1,"109":1,"115":2,"118":1,"131":1,"134":4,"136":1,"142":1,"143":2,"144":1,"146":1,"147":1,"149":1,"150":3,"153":1,"164":2,"165":1,"168":1,"169":2,"170":2,"172":3,"174":2,"175":2,"178":4,"183":2,"186":1,"187":2,"198":4}}],["31",{"2":{"455":1}}],["31416",{"2":{"381":1}}],["3be0682",{"2":{"254":1}}],["3bd2075",{"2":{"233":1}}],["3bf79d3",{"2":{"208":1}}],["32位",{"2":{"554":1}}],["32",{"2":{"406":1}}],["326a133",{"2":{"229":1}}],["3279c34",{"2":{"182":1}}],["36版本已验证可用",{"2":{"373":1}}],["3654",{"2":{"347":1}}],["368e8ee",{"2":{"211":1}}],["368551a",{"2":{"148":1}}],["36de67b",{"2":{"172":1}}],["363bf3d",{"2":{"6":1}}],["37",{"2":{"350":1}}],["379b325",{"2":{"226":1}}],["37e2837",{"2":{"195":1}}],["37da97b",{"2":{"178":1}}],["37ce245",{"2":{"124":1}}],["37bf438",{"2":{"12":1}}],["3d4dc7c",{"2":{"117":1}}],["3dd7525",{"2":{"12":1,"87":1}}],["35~70毫秒",{"2":{"473":1}}],["3566655",{"2":{"157":1}}],["359b9b9",{"2":{"12":1,"34":1}}],["358064e",{"2":{"11":1,"90":1}}],["33b0181",{"2":{"121":1}}],["33786ab",{"2":{"12":1,"30":1}}],["33a03c3",{"2":{"12":1,"55":1}}],["30~120fps",{"2":{"473":1}}],["300ms",{"2":{"522":1,"540":1}}],["30000",{"2":{"463":1}}],["300秒",{"2":{"463":1}}],["30",{"2":{"421":1,"474":1}}],["3046746",{"2":{"182":1}}],["30eca50",{"2":{"164":1}}],["305187d",{"2":{"12":1,"53":1}}],["301dac5",{"2":{"11":1,"36":1}}],["3e3fc34",{"2":{"12":1}}],["39",{"2":{"345":1}}],["393e899",{"2":{"213":1}}],["39e0533",{"2":{"12":1,"27":1}}],["39bbc98",{"2":{"12":1,"86":1}}],["34800cf",{"2":{"186":1}}],["343423e",{"2":{"139":1}}],["343eab2",{"2":{"118":1}}],["34f27c5",{"2":{"12":1,"53":1}}],["344b385",{"2":{"12":1,"80":1}}],["34785dd",{"2":{"11":1,"18":1}}],["389ac33",{"2":{"150":1}}],["38f854b",{"2":{"110":1}}],["3812061",{"2":{"12":1,"35":1}}],["38d1433",{"2":{"12":1,"60":1}}],["3",{"2":{"10":1,"12":4,"23":2,"25":1,"41":1,"43":1,"157":1,"160":1,"419":2,"441":1,"455":1,"456":1}}],["7及以上版本支持",{"2":{"517":1}}],["7及以上版本",{"2":{"435":1}}],["79d85eb",{"2":{"236":1}}],["790e703",{"2":{"12":1,"96":1}}],["77dd81b",{"2":{"221":1}}],["7dbca01",{"2":{"190":1}}],["7d91d71",{"2":{"12":1,"19":1}}],["70",{"2":{"349":1}}],["70f8b46",{"2":{"174":1}}],["705f8be",{"2":{"11":1,"39":1}}],["780e3b9",{"2":{"143":1}}],["7cd9ea3",{"2":{"249":1}}],["7c55e50",{"2":{"134":1}}],["7c74c71",{"2":{"12":1,"66":1}}],["7ee4ba4",{"2":{"125":1}}],["7e5dfe0",{"2":{"13":1}}],["737c2a3",{"2":{"103":1}}],["755a130",{"2":{"165":1}}],["7510548",{"2":{"12":1,"68":1}}],["7507915",{"2":{"12":1,"47":1}}],["7f5b1063e7895182aa60def1437e50363c3758144088dcd079037bb7c3c46a1c",{"2":{"377":1}}],["7f5bd35",{"2":{"12":1,"15":1}}],["7f10161",{"2":{"10":1,"92":1}}],["7411487",{"2":{"12":1}}],["74a91a4",{"2":{"12":1,"77":1}}],["7",{"2":{"12":1,"96":1,"406":1,"456":1,"462":1}}],["7b3c4db",{"2":{"110":1}}],["7b61b25",{"2":{"12":1,"68":1}}],["7beb027",{"2":{"11":1,"21":1}}],["7a6417e",{"2":{"178":1}}],["7ae3f21",{"2":{"12":1,"34":1}}],["7ad5ecd",{"2":{"10":1}}],["7655ba6",{"2":{"12":1,"100":1}}],["qcom",{"2":{"535":1}}],["quarantine",{"2":{"332":1}}],["quality",{"2":{"12":1,"19":1}}],["quot",{"0":{"336":2},"2":{"292":2,"294":4,"295":4,"304":2,"306":4,"307":2,"313":2,"314":2,"317":2,"321":2,"344":2,"346":2,"353":2,"436":4,"473":2}}],["query",{"2":{"12":1,"34":1}}],["quick",{"2":{"8":1,"11":1,"12":1,"34":1,"52":1,"110":1}}],["qr",{"2":{"10":1,"12":3,"47":1,"57":1,"62":1,"63":1}}],["9d11",{"2":{"436":1}}],["9d55ef9",{"2":{"242":1}}],["9805",{"2":{"436":1}}],["9833932",{"2":{"12":1,"85":1}}],["9",{"2":{"419":2,"423":2,"435":1}}],["922abd2",{"2":{"244":1}}],["9c25325",{"2":{"239":1}}],["9cf800c",{"2":{"187":1}}],["994cb09",{"2":{"185":1}}],["96f85d8",{"2":{"220":1}}],["96bfc77",{"2":{"177":1}}],["969378f",{"2":{"12":1,"35":1}}],["97d7868",{"2":{"162":1}}],["9777622",{"2":{"11":1,"67":1}}],["9f1696f",{"2":{"132":1}}],["9fc1ded",{"2":{"126":1}}],["9a4efa5",{"2":{"237":1}}],["9a7e56b",{"2":{"116":1}}],["9af3988",{"2":{"12":1,"19":1}}],["9a67142",{"2":{"12":1,"69":1}}],["93ad836",{"2":{"198":1}}],["93c059d",{"2":{"12":1,"27":1}}],["939a2d2",{"2":{"12":1,"34":1}}],["90",{"2":{"536":1}}],["90°",{"2":{"536":6}}],["902103e6497f995e1e9b92421be212559950cca4a8b557e1f0403769aee06fc8",{"2":{"377":1}}],["900dc69",{"2":{"12":1,"22":1}}],["90c7163",{"2":{"12":1,"55":1}}],["9063243",{"2":{"12":1,"16":1}}],["9ef7203",{"2":{"260":1}}],["9e4f432",{"2":{"160":1}}],["9e31c84",{"2":{"12":1,"59":1}}],["9eca902",{"2":{"8":1}}],["955756e",{"2":{"235":1}}],["9555f58",{"2":{"12":1,"93":1}}],["95a83f4",{"2":{"199":1}}],["95ad30d",{"2":{"8":1}}],["952b2a7",{"2":{"12":1,"87":1}}],["94ee007",{"2":{"105":1}}],["9491069",{"2":{"11":1,"84":1}}],["94ccb7b",{"2":{"10":1,"38":1}}],["9bf4d5c",{"2":{"11":1,"78":1}}],["9b43dc0",{"2":{"11":1,"81":1}}],["9b7f6a9",{"2":{"11":1,"79":1}}],["9b0c4df",{"2":{"8":1}}],["9153b324669f",{"2":{"436":1}}],["91ad249",{"2":{"10":1,"32":1}}],["91d9bbd",{"2":{"4":1}}],["5分钟",{"2":{"463":1}}],["5ms",{"2":{"396":1}}],["5555",{"2":{"344":1,"426":3,"428":3,"429":2}}],["55800be",{"2":{"12":1,"19":1}}],["58a66f1",{"2":{"238":1}}],["5dd328c",{"2":{"228":1}}],["5d44ebf",{"2":{"8":1}}],["569ed2e",{"2":{"224":1}}],["543275",{"2":{"436":2}}],["54e713b",{"2":{"209":1}}],["5488a1e",{"2":{"12":1,"65":1}}],["5f8cc5a",{"2":{"175":1}}],["517091a",{"2":{"173":1}}],["5a04b4c",{"2":{"178":1}}],["5ac5ee6",{"2":{"160":1}}],["5ae8fbe",{"2":{"4":1}}],["5793c24",{"2":{"169":1}}],["576d287",{"2":{"141":1}}],["57c11af",{"2":{"12":1,"50":1}}],["5",{"0":{"369":1},"1":{"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1,"378":1,"379":1,"380":1,"381":1,"382":1,"383":1,"384":1,"385":1,"386":1},"2":{"127":1,"344":3,"355":1,"372":1,"377":2,"378":1,"456":1,"474":1}}],["5038",{"2":{"520":8}}],["5037",{"2":{"519":3,"520":4}}],["5005",{"2":{"460":5}}],["50ms",{"2":{"396":1,"540":1}}],["50ae742",{"2":{"113":1}}],["50440f5",{"2":{"12":1,"98":1}}],["52514e2",{"2":{"204":1}}],["5205935",{"2":{"107":1}}],["52cc4b1",{"2":{"10":1,"32":1}}],["5b6b8d1",{"2":{"168":1}}],["5b02621",{"2":{"119":1}}],["5b033fd",{"2":{"12":1,"53":1}}],["5b7d0af",{"2":{"115":1}}],["5b2d41c",{"2":{"110":1}}],["5b5bbf7",{"2":{"12":1,"24":1}}],["595216b",{"2":{"12":1,"40":1}}],["5c401a8",{"2":{"184":1}}],["5c4f65e",{"2":{"11":1,"52":1}}],["5ca39ae",{"2":{"12":1,"94":1}}],["5c2c711",{"2":{"11":1,"39":1}}],["5cd5992",{"2":{"10":1,"17":1}}],["🌟",{"2":{"265":1}}],["🎉",{"2":{"120":1,"151":1,"167":1,"176":1,"184":1,"186":1,"196":1,"228":1,"254":1}}],["🍻",{"2":{"12":1,"16":1,"160":1}}],["🌱",{"2":{"12":3,"19":2,"24":1}}],["🎨",{"2":{"8":2,"183":1,"188":1,"266":1}}],["🌐",{"2":{"8":2,"145":1}}],["⚡️",{"2":{"8":1,"12":5,"59":1,"80":1,"85":1,"86":1,"93":1,"160":1,"265":1}}],["webrtc",{"2":{"521":1}}],["websocket",{"2":{"160":1}}],["wget",{"2":{"495":1}}],["w",{"2":{"462":1}}],["wrapper",{"2":{"444":1}}],["write",{"2":{"11":1,"18":1}}],["w64",{"2":{"405":3,"406":14}}],["www",{"2":{"385":1,"483":1}}],["wav",{"2":{"512":1,"513":2}}],["wasd",{"2":{"486":1}}],["wayland",{"0":{"352":1}}],["warn",{"2":{"344":1}}],["waiting",{"2":{"12":1,"80":1}}],["while",{"2":{"462":5}}],["which",{"2":{"12":1,"48":1}}],["where",{"2":{"11":9,"18":1,"21":1,"26":1,"29":1,"36":1,"39":2,"46":1,"70":1}}],["when",{"2":{"10":1,"11":5,"12":7,"21":1,"22":1,"27":1,"34":1,"36":2,"39":2,"40":1,"49":1,"53":1,"85":1,"92":1}}],["would",{"2":{"11":2,"36":1,"39":1}}],["workspace",{"2":{"6":1}}],["workflows",{"2":{"139":1}}],["workflow",{"2":{"1":1,"4":2}}],["wi",{"2":{"429":1}}],["winget",{"2":{"555":1}}],["win32",{"2":{"405":1,"554":1}}],["win64",{"2":{"377":1,"405":1,"554":1}}],["windows压缩包包含",{"2":{"377":1}}],["windows和macos",{"2":{"473":1}}],["windows和mac",{"2":{"369":1}}],["windows和linux应用已内置gnirehtet功能",{"2":{"297":1}}],["windows",{"0":{"347":1,"404":1,"510":1,"552":1},"1":{"405":1,"406":1,"553":1,"554":1,"555":1,"556":1},"2":{"10":2,"11":7,"12":1,"17":1,"19":1,"21":2,"26":1,"32":1,"36":1,"39":1,"64":1,"84":1,"116":1,"211":1,"269":1,"329":1,"341":1,"342":1,"347":1,"377":1,"399":1,"406":1,"411":1,"414":1,"415":1,"472":1,"475":1,"489":1,"490":1,"507":1,"517":1}}],["window",{"2":{"6":1,"11":1,"12":8,"28":1,"30":1,"34":3,"50":1,"54":1,"87":1,"163":1,"178":1,"318":4,"390":2,"515":1,"545":1,"546":1,"547":4,"548":1}}],["width=800",{"2":{"547":1}}],["width",{"2":{"116":1,"121":1,"318":1}}],["widgets",{"2":{"12":1,"34":1}}],["wireless",{"2":{"12":5,"27":1,"59":2,"80":1,"113":1,"135":1,"143":1}}],["will",{"2":{"10":1,"32":1}}],["with",{"2":{"8":6,"10":1,"11":3,"12":4,"21":1,"27":1,"29":1,"47":2,"74":1}}],["4+及以上版本中",{"2":{"324":1}}],["4e2be23",{"2":{"250":1}}],["4e1542a",{"2":{"219":1}}],["420",{"2":{"524":1}}],["4263d07",{"2":{"249":1}}],["422950c",{"2":{"6":1}}],["43f1",{"2":{"436":1}}],["43f15be",{"2":{"229":1}}],["4380",{"2":{"392":1}}],["432eceb",{"2":{"11":1,"70":1}}],["4f2f00e",{"2":{"225":1}}],["4fe55a3",{"2":{"145":1}}],["4755",{"2":{"337":1}}],["4780e7c",{"2":{"223":1}}],["47ae53d",{"2":{"12":1,"98":1}}],["4b29",{"2":{"436":1}}],["4b259c3",{"2":{"216":1}}],["4b13f58",{"2":{"201":1}}],["4b4e116",{"2":{"192":1}}],["4be2cf4",{"2":{"12":1,"93":1}}],["4a3407d7f0c2c8a03e22a12cf0b5e1e585a5056fe23c8e5cf3252207c6fa8357",{"2":{"554":1}}],["4a3575f",{"2":{"172":1}}],["4a90",{"2":{"436":1}}],["4a18f61",{"2":{"11":1,"33":1}}],["4",{"2":{"151":1,"311":1,"361":2,"362":2,"363":2,"364":2,"366":2,"419":1,"456":2,"508":1}}],["41",{"2":{"345":1}}],["41ffcf5",{"2":{"102":1}}],["415e4ae",{"2":{"2":1}}],["4464e7e",{"2":{"12":1,"34":1}}],["4508758",{"2":{"11":1,"88":1}}],["46defbf",{"2":{"178":1}}],["468af22",{"2":{"12":1,"37":1}}],["460aca1",{"2":{"11":1,"52":1}}],["462536c",{"2":{"10":1,"25":1}}],["487e7e2",{"2":{"11":1,"84":1}}],["498fc90",{"2":{"6":1}}],["oculus",{"2":{"538":1}}],["obs",{"2":{"521":1}}],["obtaining",{"2":{"12":1,"59":1}}],["obtain",{"2":{"11":1,"12":1,"42":1,"86":1}}],["o",{"2":{"453":1}}],["orientation=",{"2":{"536":9}}],["orientation=flip270",{"2":{"536":2}}],["orientation=flip180",{"2":{"536":2}}],["orientation=flip90",{"2":{"536":2}}],["orientation=flip0",{"2":{"536":2}}],["orientation=270",{"2":{"536":2}}],["orientation=180",{"2":{"536":2}}],["orientation=0",{"2":{"536":2}}],["orientation=90",{"2":{"420":1,"536":2}}],["orientation",{"2":{"536":4,"537":1,"538":1}}],["or",{"2":{"474":1}}],["org",{"2":{"385":1,"403":1,"483":1}}],["order",{"2":{"12":1,"34":1}}],["os",{"0":{"407":1},"2":{"369":1}}],["otg模式下无需开启usb调试",{"2":{"474":1}}],["otg模式",{"2":{"277":1,"473":1}}],["otg",{"0":{"347":1,"509":1,"510":1},"1":{"510":1,"511":1},"2":{"141":2,"186":2,"347":1,"451":3,"472":2,"477":1,"478":1,"490":2,"507":2,"509":10,"511":2}}],["other",{"2":{"122":1}}],["output",{"2":{"12":1,"22":1,"186":1,"391":1,"396":1,"416":1}}],["outline",{"2":{"8":1}}],["older",{"2":{"12":1,"47":1}}],["omitted",{"2":{"12":1,"27":1}}],["on",{"2":{"10":1,"11":3,"12":5,"33":1,"39":2,"47":2,"51":1,"53":2,"98":1,"144":1,"462":5,"464":1,"466":1,"467":1,"531":1,"549":1}}],["opus",{"2":{"391":1,"393":3,"394":1,"441":1,"456":1,"512":2,"513":2}}],["opt",{"2":{"337":1}}],["optimization",{"2":{"12":5,"24":1,"30":1,"40":1,"53":1,"93":1,"114":1,"122":1,"143":1,"150":1,"164":1,"168":1,"170":1,"187":1}}],["optimized",{"2":{"12":4,"37":2,"68":1,"72":1,"114":1}}],["optimize",{"2":{"8":2,"10":1,"12":43,"14":1,"15":2,"19":10,"22":3,"27":1,"34":3,"35":1,"38":1,"40":2,"47":1,"55":1,"59":1,"60":1,"61":1,"62":1,"65":1,"77":1,"80":1,"86":1,"87":1,"93":2,"94":1,"96":1,"98":1,"102":1,"110":3,"113":1,"115":1,"118":1,"134":1,"143":1,"150":3,"164":1,"165":1,"168":1,"169":1,"170":1,"172":3,"174":2,"175":1,"178":4,"183":2,"186":1,"187":1,"198":1}}],["option",{"2":{"5":2,"12":1,"47":1,"163":1,"165":1,"182":1,"186":1}}],["options=flac",{"2":{"393":1}}],["options",{"2":{"4":1,"11":1,"12":4,"22":1,"46":1,"50":1,"75":1,"86":1,"125":1,"146":1,"153":1,"178":1,"182":1,"393":1,"413":1,"534":1}}],["operations",{"2":{"128":1}}],["operation",{"2":{"12":1,"47":1,"107":1,"110":1,"114":2,"118":1,"150":1,"173":1}}],["openjdk",{"2":{"402":1,"405":1,"407":1}}],["opening",{"2":{"12":1,"40":1}}],["open",{"2":{"10":1,"12":1,"51":1,"53":1}}],["overhaul",{"2":{"10":1}}],["override",{"2":{"6":1}}],["offline",{"2":{"12":1,"65":1}}],["off",{"2":{"11":3,"12":1,"46":1,"54":1,"88":1,"93":1,"141":1,"463":4,"464":3,"466":1,"556":1}}],["of",{"2":{"6":1,"7":1,"9":1,"10":1,"11":19,"12":33,"18":1,"19":5,"21":2,"22":1,"27":1,"30":1,"33":1,"34":6,"36":2,"38":1,"39":3,"40":2,"42":1,"45":1,"47":1,"49":1,"52":2,"53":2,"54":1,"55":2,"58":1,"59":2,"61":1,"64":1,"65":2,"80":1,"85":1,"86":1,"96":1,"99":2,"101":1,"102":1,"110":3,"113":1,"114":2,"116":1,"121":1,"122":2,"144":1,"474":1}}],["mbps",{"2":{"532":1}}],["m4a",{"2":{"512":1,"513":1}}],["m1024",{"2":{"476":1}}],["m1920",{"2":{"419":3,"445":1,"477":1}}],["mka",{"2":{"512":1,"513":1}}],["mkv",{"2":{"452":1,"496":2,"501":2,"512":2,"513":1,"515":1,"516":1,"536":1,"541":2,"556":2}}],["mk",{"2":{"434":1}}],["m3000",{"2":{"419":1}}],["m",{"2":{"419":2,"434":1,"502":1,"506":1,"531":1}}],["mp4",{"2":{"416":2,"452":1,"477":1,"512":3,"513":2,"515":2,"536":1,"545":1}}],["msys2",{"0":{"406":1},"2":{"406":3}}],["md",{"2":{"397":1,"495":1}}],["my",{"2":{"382":1,"443":2}}],["must",{"2":{"12":1,"27":1}}],["multi",{"2":{"10":1,"14":1}}],["multiple",{"2":{"8":1,"10":1,"17":1}}],["meta",{"2":{"458":1}}],["meta=false",{"2":{"458":2}}],["method",{"2":{"12":6,"15":1,"27":1,"59":2,"65":1,"115":1,"355":1}}],["meson",{"2":{"402":3,"403":1,"406":2,"407":1,"412":1,"460":1,"495":1}}],["message",{"2":{"6":1,"12":1,"85":1}}],["mediaformat",{"2":{"393":1,"534":1}}],["media",{"2":{"355":1}}],["mediacodec",{"0":{"355":1},"2":{"355":1,"447":1,"448":1,"452":1,"456":1}}],["menu",{"2":{"12":1,"15":1,"164":2,"174":1,"517":2}}],["mechanism",{"2":{"12":1,"72":1,"174":1}}],["merge",{"2":{"10":1,"32":1,"138":1}}],["mingw",{"2":{"405":4,"406":14}}],["minimizing",{"2":{"11":1,"99":1}}],["mic",{"2":{"391":6,"416":1}}],["migration",{"2":{"12":1,"27":1}}],["migrating",{"2":{"12":1,"27":1}}],["migrate",{"2":{"8":1}}],["missing",{"2":{"11":1,"45":1}}],["miscellaneous",{"0":{"1":1,"2":1,"4":1,"13":1,"91":1,"154":1,"161":1}}],["mirrors",{"2":{"144":1}}],["mirror",{"2":{"11":1,"12":1,"65":1,"95":1,"169":2,"170":1,"176":1,"178":2}}],["mirroring",{"2":{"10":2,"11":1,"12":1,"51":1,"55":1,"79":1,"83":1,"122":1}}],["mozilla",{"2":{"468":2}}],["movies",{"2":{"439":1}}],["moved",{"2":{"11":1,"54":1}}],["move",{"2":{"8":1}}],["mouse=disabled",{"2":{"502":1,"509":1}}],["mouse=sdk",{"2":{"436":1,"502":1,"503":1}}],["mouse=uhid",{"2":{"434":2,"502":1,"506":1,"511":1}}],["mouse=aoa",{"2":{"347":1,"434":1,"502":1,"507":1,"509":1,"511":1}}],["mouse",{"2":{"125":1,"504":1,"508":7}}],["monitor",{"2":{"12":1,"40":1}}],["modprobe",{"2":{"521":2}}],["mod=lctrl",{"2":{"517":1}}],["mod=rctrl",{"2":{"517":1}}],["mod",{"2":{"517":4}}],["mod+i",{"2":{"517":1,"533":1}}],["mod+n+n",{"2":{"517":1}}],["mod+n",{"2":{"517":1}}],["mod+r",{"2":{"517":1,"536":1}}],["mod+o",{"2":{"517":1}}],["mod+p",{"2":{"517":1}}],["mod+↓",{"2":{"517":1}}],["mod+↑",{"2":{"517":1}}],["mod+m",{"2":{"517":1}}],["mod+s",{"2":{"517":1}}],["mod+shift+v",{"2":{"517":1}}],["mod+shift+v会将电脑剪贴板文本作为按键序列注入",{"2":{"435":1}}],["mod+shift+n",{"2":{"517":1}}],["mod+shift+o",{"2":{"517":1}}],["mod+shift+r",{"2":{"517":1}}],["mod+shift+z",{"2":{"517":1}}],["mod+shift+↓",{"2":{"517":1}}],["mod+shift+↑",{"2":{"517":1}}],["mod+shift+→",{"2":{"517":1}}],["mod+shift+←",{"2":{"517":1}}],["mod+backspace",{"2":{"517":1}}],["mod+b",{"2":{"517":1}}],["mod+h",{"2":{"517":1}}],["mod+w",{"2":{"517":1}}],["mod+g",{"2":{"517":1}}],["mod+z",{"2":{"517":1}}],["mod+→",{"2":{"517":1}}],["mod+←",{"2":{"517":1}}],["mod+f",{"2":{"517":1,"550":1}}],["mod+k",{"2":{"488":1,"517":1}}],["mod+v",{"2":{"435":1,"517":1}}],["mod+x",{"2":{"435":1,"517":1}}],["mod+c",{"2":{"435":1,"517":1}}],["modify",{"2":{"12":1,"27":1}}],["models",{"2":{"12":1,"49":1}}],["mode",{"2":{"11":2,"12":2,"28":1,"52":1,"73":1,"108":1,"110":1,"130":1,"134":1,"141":1,"150":1}}],["module",{"2":{"8":1}}],["more",{"2":{"10":1,"17":1}}],["matroska",{"2":{"513":1}}],["mail",{"2":{"435":1}}],["mainclass",{"2":{"443":2}}],["maintainer",{"2":{"219":1}}],["maintainability",{"2":{"8":1}}],["main",{"2":{"11":1,"12":4,"34":1,"40":1,"54":1,"55":1,"355":2,"443":1,"446":1}}],["manual",{"2":{"458":2}}],["man1",{"2":{"414":1}}],["man",{"2":{"414":1,"496":1,"501":1}}],["management",{"2":{"11":2,"12":2,"18":1,"21":1,"44":1,"57":1}}],["manager",{"2":{"10":2,"11":1,"12":3,"16":1,"17":2,"18":1,"19":1,"34":1,"102":1,"103":1,"105":2}}],["macports",{"2":{"500":1}}],["mac",{"0":{"407":1},"2":{"411":1}}],["macos64",{"2":{"377":1}}],["macos安装成功后打开提示文件已损坏",{"0":{"332":1}}],["macos窗口最小化至系统托盘图标未找到",{"0":{"331":1}}],["macos版本未内置gnirehtet",{"2":{"297":1}}],["macos用户参考安装文档",{"2":{"296":1}}],["macos用户可通过homebrew安装",{"0":{"291":1}}],["macos与linux平台",{"0":{"296":1}}],["macos",{"0":{"497":1},"1":{"498":1,"499":1,"500":1,"501":1},"2":{"5":1,"10":2,"11":5,"12":2,"19":1,"39":2,"51":1,"70":1,"71":1,"78":1,"82":1,"83":1,"179":1,"180":1,"188":1,"189":1,"190":1,"191":1,"192":1,"194":1,"195":1,"206":1,"212":1,"214":1,"215":1,"216":1,"218":1,"221":1,"222":2,"223":1,"224":1,"269":1,"377":1,"475":1,"499":3}}],["master",{"2":{"332":1,"398":1,"412":1}}],["max",{"2":{"419":2,"445":1,"458":1,"477":3,"531":2,"533":1,"538":2}}],["maximum",{"2":{"152":1}}],["maxsteps",{"2":{"8":1}}],["make",{"2":{"11":1,"12":1,"47":1,"74":1,"403":1,"406":2}}],["major",{"2":{"10":1}}],["r27183",{"2":{"520":1}}],["rsuper",{"2":{"517":1}}],["rctrl",{"2":{"517":1}}],["rpmfusion",{"2":{"403":2}}],["rpm",{"2":{"403":3}}],["rate=2000000",{"2":{"532":1}}],["rate=2m",{"2":{"532":1}}],["rate=64000",{"2":{"395":1}}],["rate=64k",{"2":{"395":1}}],["ralt",{"2":{"517":1}}],["raw",{"2":{"393":1,"395":1,"456":2,"458":2,"486":1}}],["radius",{"2":{"12":1,"19":1}}],["r",{"0":{"361":1,"362":1,"363":1,"364":1,"366":1},"2":{"332":1,"361":1,"362":1,"363":2,"364":1,"366":1,"381":1,"481":1,"512":1,"520":1}}],["rust",{"0":{"377":1},"2":{"377":3}}],["rust版本",{"2":{"370":1}}],["russian",{"2":{"12":3,"93":1,"94":1}}],["run",{"0":{"361":1},"2":{"361":4,"377":1,"378":1,"379":3,"382":2,"413":1,"460":1}}],["running",{"2":{"5":1}}],["romain",{"2":{"483":1}}],["rom1v",{"2":{"482":1}}],["route2",{"0":{"361":1,"362":1,"363":1,"364":1,"366":1}}],["route",{"0":{"361":1,"362":1,"363":1,"364":1,"366":1},"2":{"429":1}}],["robustness",{"2":{"118":1}}],["rocket",{"2":{"8":1}}],["rotation",{"2":{"8":1,"174":1}}],["root=",{"2":{"411":1}}],["root=~",{"2":{"411":2}}],["root",{"2":{"8":1,"12":1,"44":1,"409":1,"411":4,"412":1}}],["remote",{"2":{"391":1,"460":1}}],["removing",{"2":{"12":1,"68":1}}],["remove",{"2":{"4":3,"12":2,"31":1,"69":1,"106":1,"107":1,"142":1,"147":1,"150":1}}],["rev",{"2":{"383":1}}],["reverse命令",{"2":{"373":1}}],["reverse",{"2":{"12":1,"48":1,"196":1,"344":2,"367":1,"381":1,"455":1}}],["reversely",{"2":{"12":1,"49":1}}],["reinstall",{"0":{"360":1},"2":{"360":2}}],["require",{"2":{"388":1}}],["requires",{"2":{"12":1,"50":1,"474":1}}],["request",{"2":{"4":1}}],["real",{"2":{"12":1,"61":1}}],["read",{"2":{"11":1,"18":1}}],["readability",{"2":{"8":1}}],["retrieving",{"2":{"12":1,"80":1}}],["returning",{"2":{"11":1,"12":1,"21":1,"44":1}}],["reddit",{"2":{"481":1}}],["redundant",{"2":{"12":3,"31":1,"68":1,"69":1,"142":1,"150":1}}],["reduced",{"2":{"179":1,"180":1}}],["reduce",{"2":{"12":2,"48":1,"68":1}}],["redesign",{"2":{"8":1}}],["relay",{"0":{"368":1},"2":{"368":2,"380":1,"381":1}}],["related",{"2":{"11":1,"12":2,"36":1,"68":1}}],["reliability",{"2":{"12":2,"16":1,"34":1}}],["release",{"2":{"1":2,"2":1,"4":6,"10":1,"11":1,"13":2,"70":1,"91":1,"154":1,"161":1,"403":1,"405":1,"495":2}}],["reset",{"2":{"182":1}}],["resetting",{"2":{"11":1,"36":1}}],["resolving",{"2":{"11":1,"56":1,"133":1}}],["resolved",{"2":{"11":1,"29":1}}],["resolve",{"2":{"11":1,"90":1}}],["restart",{"0":{"366":1},"2":{"366":5}}],["restarting",{"2":{"11":1,"33":1}}],["restored",{"2":{"11":1,"54":1,"182":1}}],["restore",{"2":{"11":2,"79":1,"84":1}}],["rest",{"2":{"6":1}}],["refresh",{"2":{"12":1}}],["refreshing",{"2":{"11":1,"39":1}}],["refactored",{"2":{"10":1,"17":1}}],["refactor",{"2":{"8":1,"12":1}}],["refactoring",{"0":{"8":1,"14":1}}],["repology",{"2":{"494":1}}],["repeat",{"2":{"447":1,"487":1}}],["repeatedly",{"2":{"11":1,"39":1}}],["repeated",{"2":{"11":1,"67":1}}],["repairing",{"2":{"113":1}}],["repair",{"2":{"11":3,"84":1,"99":1,"101":1,"121":1,"138":1,"177":1}}],["replace",{"2":{"8":5}}],["recognition",{"2":{"391":2}}],["reconstruct",{"2":{"14":1}}],["record",{"2":{"512":1,"513":1,"536":1}}],["recorder",{"2":{"452":1}}],["recorded",{"2":{"11":1,"26":1}}],["record=file",{"2":{"391":1,"416":2,"477":1,"496":1,"501":1,"512":6,"513":1,"515":3,"516":1,"541":2,"545":1,"556":1}}],["recording",{"2":{"10":2,"11":3,"12":4,"25":1,"36":1,"87":2,"88":1,"90":1,"92":1,"93":2,"171":1,"183":1}}],["recharge",{"2":{"9":1}}],["rename",{"2":{"8":2,"11":1,"84":1}}],["go",{"2":{"538":1}}],["google",{"2":{"342":1}}],["gz",{"2":{"493":1,"499":2}}],["g",{"2":{"469":1,"471":1,"477":1,"509":2}}],["gcc",{"2":{"402":1,"403":1,"406":2,"495":1}}],["gm1913",{"2":{"344":1}}],["gt",{"2":{"297":2,"343":1,"344":2,"406":1,"419":3,"455":1,"460":3,"474":1}}],["git",{"2":{"402":1,"495":1}}],["github文档",{"2":{"496":1}}],["github赞助",{"2":{"482":1}}],["github",{"2":{"398":1,"409":1,"436":2,"495":1,"501":1,"556":1}}],["github发布页",{"2":{"290":1}}],["gitcode发布页",{"2":{"290":1}}],["gitee发布页",{"2":{"290":1}}],["global",{"2":{"134":1,"318":1,"462":3}}],["get",{"2":{"462":1,"463":1,"465":1}}],["getting",{"2":{"12":1,"34":1}}],["gentoo",{"2":{"494":1}}],["genymobile",{"2":{"381":4,"385":1,"409":1,"436":2,"445":2,"458":1,"483":1,"495":1,"555":1}}],["generated",{"2":{"12":1,"87":1}}],["generating",{"2":{"5":1}}],["gnirehtet重写为rust版本",{"2":{"386":1}}],["gnirehtetactivity",{"2":{"381":2}}],["gnirehtet程序提供了简单的命令行接口",{"2":{"381":1}}],["gnirehtet命令查看详情",{"2":{"380":1}}],["gnirehtet需替换为gnirehtet",{"2":{"379":1}}],["gnirehtet的中继服务器最初仅以java实现",{"2":{"371":1}}],["gnirehtet提供两种实现",{"2":{"370":1}}],["gnirehtet启用反向网络功能",{"2":{"297":1}}],["gnirehtet反向网络共享",{"0":{"297":1}}],["gnirehtet修复",{"2":{"280":1}}],["gnirehtet参数",{"2":{"280":1}}],["gnirehtet路径",{"2":{"280":1}}],["gnirehtet",{"0":{"357":1,"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"367":1,"368":1,"369":1},"1":{"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"367":1,"368":1,"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1,"378":1,"379":1,"380":1,"381":1,"382":1,"383":1,"384":1,"385":1,"386":1},"2":{"12":3,"47":1,"49":1,"53":1,"173":1,"174":2,"182":1,"187":2,"196":1,"197":1,"198":1,"274":1,"278":1,"357":1,"367":1,"375":1,"377":8,"378":6,"379":2,"380":5,"381":7,"382":5,"386":2,"387":1}}],["gamepad=aoa",{"2":{"469":1,"472":1,"509":2,"511":1}}],["gamepad=uhid",{"2":{"469":1,"471":1,"477":1,"511":1}}],["gamepad=disabled",{"2":{"469":1}}],["gamepad",{"0":{"469":1},"1":{"470":1,"471":1,"472":1},"2":{"12":1,"96":1}}],["gradle",{"2":{"443":1}}],["graphic",{"2":{"105":1}}],["graphical",{"2":{"10":1,"32":1}}],["group",{"2":{"11":1,"95":1,"169":2,"170":1,"176":1,"178":2}}],["gh",{"2":{"4":1}}],["ninja",{"2":{"402":1,"411":3,"412":1,"414":1,"415":1,"495":2}}],["n",{"2":{"381":2,"432":1,"508":1,"517":1,"521":2}}],["num",{"2":{"419":1}}],["number",{"2":{"12":1,"27":1}}],["numeric",{"2":{"6":1}}],["nexus",{"2":{"344":1}}],["nexttick",{"2":{"236":1}}],["network",{"2":{"12":2,"48":1,"49":1,"458":1}}],["need",{"2":{"12":1,"86":1}}],["new",{"2":{"10":2,"12":5,"17":1,"19":3,"34":1,"65":1,"105":1,"468":1,"477":1,"524":4,"525":2,"526":1,"527":1,"528":1}}],["noconsole",{"2":{"556":2}}],["nodaemon",{"2":{"519":1}}],["noarch",{"2":{"403":1}}],["normalize",{"2":{"12":1,"87":1}}],["no",{"2":{"12":2,"50":1,"82":1,"389":1,"390":7,"391":2,"416":3,"432":1,"434":12,"435":1,"445":1,"455":4,"467":1,"477":3,"487":1,"496":1,"501":1,"504":1,"511":6,"512":5,"515":5,"521":1,"525":2,"526":2,"527":1,"531":1,"541":4,"542":1,"545":1,"556":1}}],["not",{"2":{"10":1,"11":7,"12":1,"26":1,"29":1,"33":1,"42":1,"46":1,"49":1,"51":1,"54":1,"71":1,"135":1,"141":1,"182":1}}],["now",{"2":{"5":1,"10":3,"25":1,"32":2}}],["navigation",{"2":{"11":1,"52":1}}],["native应用",{"2":{"517":1}}],["native",{"2":{"8":1,"355":2}}],["names",{"2":{"12":2,"40":1,"87":1}}],["name",{"2":{"1":1,"12":1,"37":1,"134":1}}],["😉",{"2":{"459":1}}],["🚧",{"2":{"274":1}}],["👉",{"2":{"272":1}}],["🗽",{"2":{"267":1}}],["🙅‍♂️",{"2":{"267":1}}],["😎",{"2":{"267":1}}],["🔗",{"2":{"266":1}}],["🖥️",{"2":{"266":1}}],["📡",{"2":{"266":1}}],["🕒",{"2":{"265":1}}],["😛",{"2":{"261":1}}],["🚨",{"2":{"168":1}}],["💡",{"2":{"165":1,"266":1}}],["🔨",{"2":{"12":2,"14":1,"34":1,"49":1,"213":1,"240":1,"249":2}}],["🔊",{"2":{"12":1,"50":1,"186":1}}],["🔀",{"2":{"12":1,"40":1}}],["📦️",{"2":{"12":1,"15":1}}],["📌",{"2":{"12":2,"27":1}}],["💫",{"2":{"12":2,"47":1,"53":1}}],["💄",{"2":{"12":12,"28":1,"34":1,"53":1,"55":1,"87":1,"93":1,"94":1,"98":1,"108":1,"110":3,"113":1,"114":2,"143":1,"150":1,"168":1,"174":1,"178":1,"186":1,"204":1}}],["👽️",{"2":{"12":2,"53":2}}],["👷",{"2":{"12":4,"31":1,"53":1,"59":1,"61":1}}],["👥",{"2":{"12":1,"40":1}}],["📝",{"2":{"11":1,"12":7,"19":1,"35":1,"36":1,"37":1,"40":1,"44":1,"48":1,"121":1,"155":1,"164":1,"173":1,"185":1,"203":1,"225":1,"226":1,"234":1,"243":1,"259":1}}],["🚚",{"2":{"10":2,"12":1,"17":1,"48":1,"51":1}}],["🔍️",{"2":{"10":1,"12":1,"38":1,"47":1}}],["📸",{"2":{"10":1,"12":2,"61":1,"92":1,"93":1}}],["💥",{"2":{"10":1}}],["🔧",{"2":{"8":2,"11":2,"12":2,"26":1,"37":1,"88":1,"89":1,"138":1,"139":1,"202":1,"218":1,"222":2,"225":1,"232":1,"242":1,"251":1,"252":1,"257":1,"260":1}}],["🔄",{"2":{"8":5}}],["🚀",{"2":{"7":1,"10":5,"11":1,"12":32,"15":1,"17":1,"19":5,"22":3,"23":1,"25":1,"27":2,"30":1,"34":5,"38":1,"39":1,"40":1,"41":1,"43":1,"44":1,"50":1,"51":1,"53":1,"55":1,"63":1,"65":2,"66":1,"68":1,"75":2,"96":1,"103":1,"105":1,"112":4,"118":1,"120":1,"125":1,"127":1,"132":2,"134":1,"157":1,"163":1,"174":2,"175":1,"178":1,"186":1,"201":1,"203":1,"205":1,"211":2,"216":1,"221":1,"223":1,"224":1,"227":1,"229":2,"231":1,"233":1,"237":1,"241":1,"244":1,"246":1,"248":1,"255":1,"256":1,"259":3,"265":1}}],["💰",{"2":{"6":1}}],["🚑️",{"2":{"5":1,"219":1,"220":1}}],["🔖",{"2":{"5":1,"12":2,"22":1,"34":1}}],["🐛",{"2":{"3":1,"6":3,"9":1,"11":45,"12":1,"18":3,"21":4,"26":1,"29":1,"33":4,"36":2,"39":3,"42":1,"45":1,"46":1,"52":2,"54":2,"56":1,"58":2,"59":1,"64":1,"70":2,"71":1,"73":1,"74":1,"78":1,"79":2,"81":1,"84":2,"90":1,"95":1,"99":2,"101":1,"107":1,"111":1,"113":1,"117":1,"119":1,"121":1,"122":1,"123":1,"126":1,"128":1,"129":1,"130":2,"133":2,"134":1,"135":1,"137":1,"141":3,"148":1,"152":1,"156":1,"158":1,"159":1,"166":1,"171":1,"173":1,"177":1,"179":1,"180":1,"181":1,"182":6,"189":1,"190":1,"191":1,"192":1,"193":3,"194":1,"195":1,"197":1,"199":1,"200":1,"202":3,"206":1,"207":1,"209":1,"210":1,"212":1,"214":1,"215":1,"217":1,"235":2,"236":1,"237":1,"238":1,"239":1,"245":1,"247":1,"250":1}}],["8运行时的平台",{"2":{"371":1}}],["8",{"2":{"361":6,"362":6,"363":6,"364":6,"366":6,"372":2,"532":1}}],["8d4c",{"2":{"436":1}}],["8de04e0",{"2":{"248":1}}],["8d39f5b",{"2":{"12":1,"15":1}}],["8a5f7d9",{"2":{"231":1}}],["8a6f4c7",{"2":{"12":1,"19":1}}],["87b533f",{"2":{"222":1}}],["8707eb5",{"2":{"155":1}}],["894b581",{"2":{"202":1}}],["866aa2c",{"2":{"163":1}}],["86f5e69",{"2":{"12":1,"62":1}}],["8455e86",{"2":{"240":1}}],["8460945",{"2":{"133":1}}],["84c7be7",{"2":{"12":1,"50":1}}],["8080",{"2":{"361":1,"362":1,"363":1,"364":1,"366":1,"367":1,"368":1}}],["802f16f",{"2":{"159":1}}],["8097022",{"2":{"120":1}}],["80b3534",{"2":{"5":1}}],["816748078fa6a304600a294a13338a06ac778bcc0e57b62d88328c7968ad2d3a",{"2":{"378":1}}],["81c007f",{"2":{"170":1}}],["81ff63f",{"2":{"138":1}}],["81bd3d9",{"2":{"114":1}}],["8155723",{"2":{"105":1}}],["8e5df15",{"2":{"245":1}}],["8ee34ca",{"2":{"215":1}}],["8e6af20",{"2":{"113":1}}],["8e94494",{"2":{"12":1,"80":1}}],["83a8043",{"2":{"237":1}}],["8360198",{"2":{"211":1}}],["83f8c04",{"2":{"172":1}}],["8393c85",{"2":{"112":1}}],["8388646",{"2":{"12":1,"19":1}}],["8b03862",{"2":{"104":1}}],["889fe8c",{"2":{"156":1}}],["885af3a",{"2":{"137":1}}],["88a0356",{"2":{"12":1,"72":1}}],["88abe95",{"2":{"12":1,"40":1}}],["8807e50",{"2":{"10":1,"97":1}}],["8587977",{"2":{"134":1}}],["8566644",{"2":{"12":1,"23":1}}],["85be898",{"2":{"12":1,"59":1}}],["85bf096",{"2":{"10":1,"83":1}}],["857c480",{"2":{"11":1,"33":1}}],["82a99d9",{"2":{"193":1}}],["82a77ea",{"2":{"6":1}}],["8261916",{"2":{"122":1}}],["8237058",{"2":{"12":1,"27":1}}],["8212872",{"2":{"8":1}}],["8f5345b",{"2":{"1":1}}],["h265",{"2":{"456":1,"534":2}}],["h264",{"2":{"456":1,"534":2}}],["h",{"2":{"441":1,"458":1,"508":1}}],["https",{"2":{"403":1,"409":1,"436":2,"495":1}}],["http",{"2":{"385":1,"483":1}}],["here",{"2":{"556":1}}],["header",{"2":{"456":1}}],["height=600",{"2":{"547":1}}],["height",{"2":{"318":1}}],["help",{"2":{"12":1,"50":1,"393":1,"496":1,"501":1,"534":1,"556":1}}],["hover",{"2":{"504":1}}],["host=192",{"2":{"519":3}}],["host",{"2":{"460":1}}],["home=",{"2":{"407":1}}],["home",{"2":{"406":1,"407":2,"508":3,"517":1,"525":1}}],["homebrew",{"0":{"375":1},"2":{"291":1,"407":2,"500":1}}],["horizontal",{"2":{"12":1,"55":1}}],["hook",{"2":{"5":1}}],["hard",{"2":{"488":1}}],["habits",{"2":{"12":1,"47":1}}],["have",{"2":{"10":1,"17":1,"474":1}}],["has",{"2":{"10":1,"17":1}}],["handle",{"2":{"6":1}}],["handlers",{"2":{"6":1}}],["handling",{"2":{"6":1,"8":2,"174":1}}],["high",{"2":{"423":2}}],["hicolor",{"2":{"414":1}}],["history",{"2":{"143":1}}],["historical",{"2":{"10":1,"63":1,"143":1,"165":1,"172":2}}],["hid",{"2":{"469":2,"470":1,"471":1,"472":1,"473":1,"484":2,"488":1,"489":1,"490":1,"502":2,"505":1,"506":1,"507":1,"509":1}}],["hiding",{"2":{"10":1,"12":3,"59":1,"61":1,"76":1,"77":1}}],["hidden",{"2":{"5":1}}],["ssh",{"0":{"520":1},"2":{"520":4}}],["snap",{"2":{"494":2}}],["sw",{"2":{"464":1}}],["switch",{"2":{"12":1,"59":1,"508":3,"517":1}}],["switching",{"2":{"8":1,"11":1,"12":1,"33":1,"98":1}}],["sdcard",{"2":{"439":2}}],["sdk",{"0":{"485":1,"503":1},"1":{"486":1,"487":1,"504":1},"2":{"399":1,"410":1,"411":8,"484":1,"508":2}}],["sdk平台工具获取",{"2":{"373":1}}],["sdl2",{"2":{"403":1,"406":2,"407":1}}],["sdl",{"2":{"352":1,"450":1,"453":2}}],["s",{"2":{"344":2,"406":4,"426":1,"430":1,"464":1,"494":1,"508":1,"509":1}}],["smaller",{"2":{"12":1,"19":1}}],["scoop",{"2":{"555":2}}],["scid>",{"2":{"455":2}}],["scid=12345678",{"2":{"445":1}}],["scid",{"2":{"445":1,"455":1}}],["scan",{"2":{"12":1,"27":1}}],["scanning",{"2":{"12":1,"47":1}}],["scheduled",{"2":{"12":2,"19":1,"89":1,"112":1}}],["script",{"2":{"12":1,"93":1,"120":2}}],["screensaver",{"2":{"551":1}}],["screenshot",{"2":{"122":1}}],["screenshots",{"2":{"10":1,"12":1,"25":1,"55":1}}],["screenencoder",{"2":{"447":1}}],["screen",{"2":{"10":1,"11":2,"12":4,"50":1,"54":1,"55":1,"88":1,"92":1,"93":1,"141":1,"174":1,"463":3,"464":2,"473":1,"556":1}}],["scrcpy终止后终端会关闭",{"2":{"556":1}}],["scrcpy是一个命令行应用程序",{"2":{"556":1}}],["scrcpy已被多种发行版和包管理器收录",{"2":{"494":1}}],["scrcpy的作者和维护者",{"2":{"482":1}}],["scrcpy现已支持无线连接",{"2":{"480":1}}],["scrcpy简介",{"2":{"480":1}}],["scrcpy提供了在启动时启用此功能并在退出时恢复初始值的选项",{"2":{"465":1}}],["scrcpy关闭时将恢复初始状态",{"2":{"462":1}}],["scrcpy会通过屏幕中心对称点生成",{"2":{"436":1}}],["scrcpy参数",{"2":{"280":1}}],["scrcpy路径",{"2":{"280":1}}],["scrcpy",{"0":{"339":1,"397":1,"440":1,"473":1,"497":1},"1":{"340":1,"341":1,"342":1,"343":1,"344":1,"345":1,"346":1,"347":1,"348":1,"349":1,"350":1,"351":1,"352":1,"353":1,"354":1,"355":1,"398":1,"399":1,"400":1,"401":1,"402":1,"403":1,"404":1,"405":1,"406":1,"407":1,"408":1,"409":1,"410":1,"411":1,"412":1,"413":1,"414":1,"415":1,"441":1,"442":1,"443":1,"444":1,"445":1,"446":1,"447":1,"448":1,"449":1,"450":1,"451":1,"452":1,"453":1,"454":1,"455":1,"456":1,"457":1,"458":1,"459":1,"460":1,"474":1,"475":1,"476":1,"477":1,"478":1,"479":1,"480":1,"481":1,"482":1,"483":1,"498":1,"499":1,"500":1,"501":1},"2":{"10":2,"11":4,"12":11,"23":1,"25":1,"41":1,"42":1,"43":1,"47":1,"50":1,"66":1,"68":1,"71":1,"74":1,"75":2,"78":1,"83":1,"93":1,"96":1,"109":1,"127":1,"151":1,"157":1,"160":1,"184":1,"187":1,"255":1,"318":2,"340":3,"344":2,"345":3,"346":1,"347":1,"352":1,"353":1,"356":1,"387":1,"388":2,"389":1,"390":2,"391":2,"392":2,"393":5,"395":1,"396":3,"397":1,"399":1,"408":1,"409":2,"412":2,"414":8,"416":7,"417":2,"418":4,"419":7,"420":1,"421":1,"422":1,"426":8,"427":1,"428":1,"429":1,"430":3,"432":1,"434":2,"436":2,"441":4,"443":1,"445":9,"451":4,"452":2,"454":1,"455":3,"458":6,"460":1,"462":1,"464":2,"465":1,"471":1,"472":1,"477":2,"480":1,"481":3,"484":1,"488":1,"489":1,"490":1,"493":1,"494":6,"495":2,"496":2,"499":3,"500":4,"501":2,"504":1,"506":1,"507":1,"508":3,"509":6,"511":2,"512":5,"515":1,"517":3,"518":1,"519":6,"520":8,"521":2,"524":3,"528":1,"530":1,"531":3,"532":2,"533":1,"534":3,"536":22,"540":2,"541":3,"550":1,"551":1,"554":2,"555":3,"556":4}}],["synchronization",{"2":{"12":1,"40":1}}],["system",{"2":{"5":1,"10":1,"11":2,"12":1,"20":1,"21":2,"22":1,"463":2,"465":3,"525":2,"526":2}}],["spctl",{"2":{"332":1}}],["spellcheck",{"2":{"186":1}}],["spelling",{"2":{"123":1}}],["speed",{"2":{"12":1,"48":1,"423":2}}],["special",{"2":{"11":1,"36":1}}],["spaces",{"2":{"135":1}}],["space",{"2":{"12":1,"34":1}}],["split",{"2":{"10":1,"17":1}}],["sink=",{"2":{"477":1,"521":2,"541":2}}],["sink",{"2":{"452":2}}],["single",{"2":{"12":1,"55":1}}],["site",{"2":{"414":1}}],["situations",{"2":{"11":1,"39":1}}],["simple",{"2":{"140":1}}],["simplified",{"2":{"12":1}}],["simplify",{"2":{"8":1,"12":1,"34":1}}],["size=1024",{"2":{"531":1}}],["size=1920",{"2":{"445":1,"458":1,"477":1}}],["size=1920x1080",{"2":{"419":2,"420":1,"422":1,"477":2}}],["size=1840x444",{"2":{"419":1}}],["sizes",{"2":{"12":1,"19":1,"417":1,"419":2,"422":1}}],["size",{"2":{"12":3,"19":1,"68":1,"152":1,"419":3,"456":1,"531":1,"538":2}}],["save",{"2":{"12":1,"34":1}}],["saved",{"2":{"11":1,"18":1}}],["saving",{"2":{"11":1,"12":1,"33":1}}],["sandbox",{"2":{"11":1,"12":2,"33":1,"34":2,"337":1}}],["socket",{"2":{"519":1,"520":2}}],["socket=tcp",{"2":{"519":2,"520":4}}],["social",{"2":{"481":1}}],["source=output",{"2":{"416":1}}],["source=display",{"2":{"416":2}}],["source=camera",{"2":{"416":6,"418":6,"419":9,"420":1,"421":1,"422":1,"423":2,"477":2}}],["source=playback",{"2":{"392":3}}],["source=mic",{"2":{"391":2,"416":2,"441":1}}],["source",{"2":{"12":1,"50":1,"474":1}}],["solved",{"2":{"11":1,"54":1}}],["solve",{"2":{"11":7,"12":2,"36":1,"40":1,"42":1,"52":2,"58":1,"64":1,"65":1,"79":1}}],["some",{"2":{"11":2,"12":3,"46":1,"47":1,"48":1,"49":1,"54":1,"130":1}}],["sorting",{"2":{"11":1,"12":1,"18":1,"40":1}}],["sort",{"2":{"10":1,"38":1}}],["show",{"2":{"465":4}}],["shortcuts",{"2":{"12":1,"53":1}}],["shortcut",{"2":{"10":1,"11":1,"12":1,"36":1,"51":1,"53":1,"130":1,"174":1,"517":3}}],["sh",{"2":{"405":1,"495":2}}],["shellgnirehtet",{"2":{"382":1}}],["shelladb=",{"2":{"382":1}}],["shelladb",{"2":{"381":3}}],["shell",{"2":{"379":2,"380":5,"381":3,"388":1,"423":1,"429":1,"443":4,"445":2,"458":1,"462":3,"463":2,"464":2,"465":3,"488":1}}],["shellsudo",{"2":{"337":1}}],["sha",{"2":{"377":3,"378":1,"412":1,"493":1,"499":2,"554":2}}],["share",{"2":{"10":1,"32":1,"382":1,"414":5}}],["sharp",{"2":{"6":1}}],["shift+点击并移动",{"2":{"517":1}}],["shift+点击并上下移动",{"2":{"436":1}}],["shift+第五键",{"2":{"508":1}}],["shift+第四键",{"2":{"508":1}}],["shift+右键会向设备注入右键点击",{"2":{"508":1}}],["shift",{"2":{"330":1,"508":6}}],["shift切换中英文",{"2":{"324":1}}],["shutdown",{"2":{"169":1}}],["svg",{"2":{"8":1}}],["securityexception",{"2":{"474":1}}],["sensor",{"2":{"419":1}}],["send",{"2":{"8":1,"458":4}}],["setup",{"2":{"411":1,"412":1,"460":1}}],["set",{"2":{"345":1,"411":1,"426":1,"519":1,"520":2}}],["setting",{"2":{"12":1,"98":1}}],["settings",{"2":{"11":1,"12":2,"33":1,"34":1,"86":1,"146":1,"462":3,"463":2,"465":3,"488":2}}],["select",{"2":{"344":2,"426":2}}],["selector",{"2":{"113":1,"182":1}}],["selection",{"2":{"12":1,"15":1}}],["selecting",{"2":{"12":1,"57":1}}],["serial=192",{"2":{"426":1}}],["serial=0123456789abcdef",{"2":{"426":3}}],["serial",{"0":{"358":1,"359":1,"360":1,"361":1,"363":1,"365":1,"366":1,"367":1},"2":{"344":1,"358":1,"359":1,"380":4,"426":2}}],["serialno",{"2":{"12":1,"34":1}}],["server=",{"2":{"412":1}}],["server",{"0":{"336":1},"2":{"11":1,"42":1,"412":2,"414":1,"441":1,"443":1,"445":6,"458":4,"519":5,"520":7}}],["services",{"2":{"8":1}}],["search",{"2":{"10":1,"38":1,"130":1,"131":1,"132":1,"134":3}}],["session",{"2":{"8":1}}],["super",{"2":{"505":1,"517":2}}],["supply",{"2":{"12":2,"48":1,"49":1}}],["supporting",{"2":{"11":1,"71":1}}],["supported",{"2":{"10":1,"51":1}}],["supports",{"2":{"5":1,"10":4,"12":9,"25":1,"38":1,"40":2,"44":1,"53":1,"55":1,"57":1,"63":1,"65":1,"80":1,"83":1,"144":1}}],["support",{"2":{"5":2,"10":8,"11":1,"12":14,"15":1,"17":1,"20":1,"35":1,"44":1,"51":2,"53":3,"61":1,"63":1,"75":1,"76":1,"79":1,"80":1,"92":1,"93":2,"96":1,"97":1,"98":1,"103":1,"105":1,"120":2,"122":2,"132":1,"135":1,"137":1,"143":1,"172":1}}],["surface",{"2":{"447":2}}],["sudo",{"2":{"402":3,"403":3,"414":1,"415":1,"495":1,"521":1}}],["submix",{"2":{"391":1}}],["subsequent",{"2":{"12":1,"34":1}}],["subscription",{"2":{"6":1,"8":1,"9":1}}],["subscribe",{"2":{"5":1}}],["successful",{"2":{"11":1,"36":1}}],["studio",{"2":{"411":1,"460":1}}],["stop",{"0":{"365":1},"2":{"155":1,"365":2,"380":1,"381":1}}],["storing",{"2":{"12":1,"34":1}}],["storage",{"2":{"12":3,"34":1,"40":1,"65":1}}],["store",{"2":{"8":1}}],["styles",{"2":{"150":1,"178":1}}],["style",{"2":{"12":1,"47":1,"117":1,"126":1,"143":1,"168":1,"177":1,"182":1,"183":1}}],["styling",{"2":{"6":1}}],["string",{"2":{"443":1}}],["strip",{"2":{"411":1,"412":1}}],["strategy",{"2":{"12":2,"27":1,"34":1}}],["structure",{"2":{"8":2,"12":2,"40":1,"93":1}}],["stream=true",{"2":{"458":1}}],["stream",{"2":{"5":1,"458":1}}],["stay",{"2":{"462":5,"464":1,"556":1}}],["stackoverflow",{"2":{"343":1}}],["static",{"2":{"443":1}}],["status",{"2":{"12":1}}],["state",{"2":{"5":1,"6":1,"12":1,"40":1,"121":1,"173":1}}],["standardize",{"2":{"12":1,"27":1}}],["stability",{"2":{"12":10,"22":1,"34":1,"59":1,"68":1,"72":1,"86":1,"87":2,"100":1}}],["starts",{"2":{"12":1,"48":1}}],["startapp",{"2":{"11":1,"74":1}}],["startup",{"2":{"10":1,"11":1,"12":6,"37":2,"47":1,"51":1,"52":1,"55":1,"72":1,"80":1,"115":1,"116":1,"122":1}}],["starting",{"2":{"10":1,"12":1,"40":1,"83":1}}],["start",{"0":{"336":1,"363":1},"2":{"5":1,"8":1,"11":2,"12":3,"73":1,"84":1,"85":3,"363":5,"364":1,"380":1,"381":3,"468":5,"477":1,"488":1,"519":1,"520":1,"525":2}}],["step",{"2":{"4":1}}],["6f733ea",{"2":{"247":1}}],["6154ffc",{"2":{"183":1}}],["6153bc4",{"2":{"180":1}}],["61ccd4a",{"2":{"170":1}}],["64位",{"2":{"554":1}}],["64",{"2":{"406":8,"493":2,"499":2}}],["647a0c5",{"2":{"259":1}}],["64d4486",{"2":{"161":1}}],["64a98b2",{"2":{"10":1,"38":1}}],["6e25eb7",{"2":{"147":1}}],["6ee9a92",{"2":{"11":1,"36":1}}],["608752d04767",{"2":{"436":1}}],["608b8f3",{"2":{"11":1,"39":1}}],["603e4e9",{"2":{"133":1}}],["677f30c",{"2":{"122":1}}],["67d279e",{"2":{"11":1,"36":1}}],["6",{"2":{"109":1,"154":1,"311":1,"419":2,"456":1}}],["6ccd6d0",{"2":{"227":1}}],["6ce66d4",{"2":{"112":1}}],["6ca7612",{"2":{"106":1}}],["6c4242c",{"2":{"11":1,"54":1}}],["6a8c190",{"2":{"12":1}}],["6dd2db9",{"2":{"259":1}}],["6dd8244",{"2":{"132":1}}],["6d7778a",{"2":{"154":1}}],["6de2538",{"2":{"12":1,"34":1}}],["6db1b51",{"2":{"1":1}}],["6897c0e",{"2":{"12":1,"53":1}}],["68378ef",{"2":{"12":1,"93":1}}],["69fecc3",{"2":{"12":1,"59":1}}],["695e35d",{"2":{"12":1,"19":1}}],["69c75cc",{"2":{"5":1}}],["63f7135",{"2":{"11":1,"42":1}}],["65b028f",{"2":{"5":1}}],["ls",{"2":{"521":2}}],["lsuper",{"2":{"517":2}}],["l27183",{"2":{"520":1}}],["l",{"2":{"520":1}}],["l5038",{"2":{"520":2}}],["lctrl",{"2":{"517":1}}],["legacy",{"2":{"435":1}}],["le",{"2":{"393":1}}],["level=info",{"2":{"445":1}}],["level=8",{"2":{"393":1}}],["level",{"2":{"11":1,"21":1}}],["lto=true",{"2":{"411":1,"412":1}}],["lt",{"2":{"383":3,"419":3,"455":1,"460":1}}],["logo",{"2":{"208":1,"221":1,"253":1}}],["log",{"2":{"147":1,"445":1}}],["logic",{"2":{"12":1,"35":1,"143":1,"150":1,"169":1,"175":1}}],["localhost",{"2":{"458":1,"460":1,"520":10}}],["localappdata",{"2":{"411":1}}],["localabstract",{"2":{"381":1,"445":1,"455":2,"458":1}}],["locale",{"2":{"140":1}}],["locales",{"2":{"8":1}}],["local",{"2":{"129":1,"414":6,"443":3,"445":3,"458":2}}],["longer",{"2":{"12":2,"50":1,"82":1}}],["loading",{"2":{"11":1,"26":1}}],["lost",{"2":{"11":1,"101":1}}],["lalt",{"2":{"517":1}}],["lang",{"2":{"355":1,"474":1}}],["languages",{"2":{"129":1}}],["language",{"2":{"8":1,"12":2,"35":1,"44":1,"126":1,"137":1,"182":1}}],["layout",{"2":{"8":2,"11":1,"12":5,"15":1,"28":1,"34":2,"39":1,"98":1,"114":1}}],["labels",{"2":{"8":1}}],["launcher",{"2":{"525":1}}],["launch",{"2":{"5":3,"8":1,"11":2,"36":1,"52":1}}],["license",{"2":{"385":1,"483":1}}],["licenses",{"2":{"385":1,"483":1}}],["liberapay",{"2":{"482":1}}],["libexec",{"2":{"407":1}}],["libz",{"2":{"405":1}}],["libswresample",{"2":{"402":1,"495":1}}],["libsdl2",{"2":{"399":1,"402":2,"495":2}}],["libavutil",{"2":{"402":1,"495":1}}],["libavformat",{"2":{"402":1,"495":1}}],["libavdevice",{"2":{"402":1,"403":1,"495":1}}],["libavcodec",{"2":{"402":1,"495":1}}],["libusb1",{"2":{"403":1}}],["libusb",{"2":{"402":2,"406":2,"407":1,"495":2}}],["libdecor",{"2":{"352":1}}],["library",{"2":{"7":1,"411":1}}],["light",{"2":{"130":1}}],["lifecycle",{"2":{"12":1,"27":1}}],["limit=20",{"2":{"516":2}}],["limit",{"2":{"6":1,"516":1}}],["lists",{"2":{"10":1,"32":1}}],["listener",{"2":{"6":1}}],["list",{"2":{"5":1,"6":1,"10":1,"11":4,"12":8,"19":1,"27":2,"29":1,"34":2,"35":1,"39":1,"42":1,"53":1,"54":1,"63":1,"80":1,"112":1,"114":1,"394":1,"417":2,"418":1,"419":2,"422":1,"468":1,"521":1,"535":1,"539":1}}],["linux平台的静态构建版本仍处于实验阶段",{"2":{"493":1}}],["linux和macos压缩包包含",{"2":{"377":1}}],["linux64",{"2":{"377":1}}],["linux系统安装后无法打开",{"0":{"337":1}}],["linux用户参考安装文档",{"2":{"296":1}}],["linux",{"0":{"401":1,"405":1,"491":1},"1":{"402":1,"403":1,"492":1,"493":1,"494":1,"495":1,"496":1},"2":{"5":1,"11":3,"12":3,"33":1,"34":1,"52":1,"53":2,"81":1,"159":1,"181":1,"200":1,"202":1,"209":1,"210":1,"212":1,"219":1,"220":1,"222":1,"224":1,"269":1,"352":1,"369":1,"377":1,"397":1,"411":1,"424":1,"475":1,"493":1,"494":1,"521":1}}],["linked",{"2":{"2":1}}],["✨",{"2":{"5":4,"10":12,"12":4,"17":1,"19":1,"20":1,"25":1,"32":2,"53":1,"63":1,"76":1,"83":2,"92":1,"96":1,"97":1,"105":1,"122":1,"124":1,"160":1,"172":1,"208":1,"253":1}}],["0°",{"2":{"536":1}}],["0表示主显示屏",{"2":{"464":1}}],["0xfffffffe",{"2":{"393":1}}],["0版",{"2":{"385":1,"483":1}}],["0123456789abcdef",{"2":{"343":1,"344":2,"426":2,"509":1}}],["01fd926",{"2":{"152":1}}],["09",{"0":{"258":1},"1":{"259":1,"260":1}}],["09c8dee",{"2":{"235":1}}],["091d503",{"2":{"134":1}}],["0f72090",{"2":{"182":1}}],["0f3d869",{"2":{"11":1,"79":1}}],["054c55b",{"2":{"202":1}}],["0549dda",{"2":{"12":1,"53":1}}],["0530ed3",{"2":{"178":1}}],["0c9d36f",{"2":{"176":1}}],["0cc8208",{"2":{"129":1}}],["02a4d39",{"2":{"151":1}}],["0222675",{"2":{"11":1,"21":1}}],["07f7ded",{"2":{"158":1}}],["07cc5f3",{"2":{"141":1}}],["078bf18",{"2":{"4":1}}],["04",{"2":{"337":1,"402":1}}],["04a7608",{"2":{"112":1}}],["044cfcd",{"2":{"12":1,"34":1}}],["00d3495",{"2":{"108":1}}],["0053e87",{"2":{"12":1,"96":1}}],["0054fd4",{"2":{"4":1}}],["062c689",{"2":{"123":1}}],["0690f2d",{"2":{"12":1,"65":1}}],["0602676",{"2":{"12":1,"75":1}}],["060ad4a",{"2":{"4":1}}],["066d81f",{"2":{"12":1,"19":1}}],["06a151d",{"2":{"12":1,"40":1}}],["0e098c3",{"2":{"12":1,"68":1}}],["0d4b1ce",{"2":{"212":1}}],["0d963aa",{"2":{"131":1}}],["0d8a8ee",{"2":{"12":1}}],["0d60655",{"2":{"11":1,"71":1}}],["0",{"0":{"258":2},"1":{"259":2,"260":2},"2":{"10":2,"11":1,"12":3,"13":2,"68":1,"74":1,"75":2,"161":1,"361":1,"362":1,"363":1,"364":1,"366":1,"372":1,"373":1,"385":1,"402":6,"441":1,"456":1,"462":1,"464":2,"465":1,"474":1,"480":1,"483":1,"495":6,"536":1,"538":4}}],["t",{"2":{"465":1}}],["tmp",{"2":{"443":3,"445":3,"458":2}}],["tunnel",{"0":{"367":1},"2":{"367":3,"380":1,"458":1,"519":4}}],["turn",{"2":{"141":1,"464":2,"556":1}}],["turning",{"2":{"12":1,"93":1}}],["turned",{"2":{"11":1,"46":1}}],["tcp",{"0":{"427":1},"1":{"428":1,"429":1},"2":{"344":3,"381":1,"426":3,"427":1,"428":2,"429":2,"445":1,"455":2,"458":4,"460":3,"489":1,"519":1,"520":2}}],["tcpip=+192",{"2":{"428":1}}],["tcpip=192",{"2":{"426":2,"428":2}}],["tcpip",{"2":{"344":2,"426":1,"428":2,"429":1}}],["twitter",{"2":{"481":1}}],["tw",{"2":{"137":1,"138":1,"140":1}}],["trigger",{"2":{"12":1,"15":1,"122":1}}],["traditional",{"2":{"140":1}}],["translate",{"2":{"185":1}}],["translation",{"2":{"12":1,"121":1}}],["translations",{"2":{"8":1,"126":1}}],["transparent",{"2":{"12":1,"53":1}}],["trash",{"2":{"8":1}}],["tray",{"2":{"5":1,"11":2,"39":1,"99":1,"179":1,"180":1}}],["tips",{"2":{"133":1,"178":1}}],["time",{"2":{"12":1,"61":1,"516":3}}],["timeout值",{"2":{"463":1}}],["timeout=300",{"2":{"463":1}}],["timeout",{"2":{"11":1,"99":1,"463":2}}],["timing",{"2":{"11":1,"36":1,"112":2}}],["title=",{"2":{"546":1}}],["titles",{"2":{"12":1,"87":1}}],["title",{"2":{"4":1,"12":1,"40":1}}],["typos",{"2":{"11":1,"33":1}}],["type",{"2":{"11":1,"12":1,"58":1,"65":1,"156":1}}],["typed",{"2":{"6":1}}],["types",{"2":{"6":1}}],["termux",{"2":{"435":1}}],["terminal",{"2":{"10":1,"11":3,"12":5,"20":1,"21":3,"22":4,"72":1,"117":1,"126":1,"148":1,"166":1,"167":1,"168":2,"556":1}}],["tethering",{"2":{"196":1,"383":1}}],["temporarily",{"2":{"11":1,"12":1,"78":1,"89":1}}],["text",{"2":{"8":1,"11":2,"18":2,"123":1,"486":1,"556":1}}],["tar",{"2":{"493":1,"499":2}}],["target=",{"2":{"439":1}}],["target",{"2":{"5":1}}],["tap",{"2":{"407":1}}],["tabs",{"2":{"110":1}}],["taking",{"2":{"11":1,"33":1}}],["tasks",{"2":{"12":1,"89":1}}],["task",{"2":{"8":1,"12":2,"19":1,"34":1,"107":1,"112":3}}],["thread",{"2":{"355":1}}],["through",{"2":{"10":1,"32":1}}],["that",{"2":{"11":2,"12":3,"36":1,"49":1,"54":1,"86":1,"89":1,"128":1}}],["there",{"2":{"11":1,"39":1}}],["themes",{"2":{"11":1,"33":1}}],["theme",{"2":{"8":1,"12":1,"28":1,"117":1,"166":1}}],["the",{"2":{"5":2,"6":1,"7":1,"9":1,"10":11,"11":46,"12":69,"14":1,"15":4,"17":3,"18":4,"19":8,"21":5,"22":1,"25":1,"26":2,"27":4,"29":2,"33":2,"34":11,"36":5,"38":3,"39":8,"40":6,"42":1,"44":1,"45":1,"48":2,"49":3,"50":1,"51":2,"52":2,"53":2,"54":5,"55":2,"58":2,"59":3,"61":2,"64":1,"65":1,"72":1,"79":2,"84":1,"85":5,"86":1,"92":1,"95":1,"96":3,"98":1,"99":2,"102":1,"103":1,"110":6,"113":1,"114":3,"116":1,"121":2,"122":1,"128":1,"130":1,"142":1,"146":1,"152":1,"179":1,"180":1,"474":4}}],["thinking",{"2":{"5":1}}],["touches值",{"2":{"465":1}}],["touches",{"2":{"465":6}}],["top",{"2":{"114":1,"549":1}}],["tool",{"2":{"12":1,"34":1}}],["tools",{"2":{"12":1,"34":1,"373":1,"399":1,"405":1,"500":1}}],["too",{"2":{"12":1,"89":1}}],["token",{"2":{"4":1}}],["to",{"2":{"1":1,"2":1,"4":1,"8":5,"10":6,"11":11,"12":28,"15":1,"21":2,"23":1,"25":2,"26":1,"27":1,"28":1,"29":1,"34":2,"38":1,"39":1,"40":1,"41":1,"42":2,"43":1,"44":1,"47":4,"48":1,"49":1,"50":1,"51":1,"53":1,"63":1,"65":1,"66":1,"68":1,"73":2,"75":2,"79":1,"84":1,"85":1,"86":1,"92":1,"96":2,"103":1,"109":1,"127":1,"132":1,"151":1,"160":1,"172":1,"179":2,"180":2,"182":1,"184":1,"345":3,"382":1,"393":1,"412":1,"474":1}}],["dpi",{"2":{"524":2}}],["dprebuilt",{"2":{"412":1}}],["dkms",{"2":{"521":1}}],["df6cf000447428fcde322022848d655ff0211d98688d0f17cbbf21be9c1272be",{"2":{"493":1}}],["df4103b",{"2":{"12":1}}],["df414b9",{"2":{"5":1}}],["dserver",{"2":{"460":2}}],["dnf",{"2":{"403":3,"494":2}}],["dns2",{"0":{"361":1,"362":1,"363":1,"364":1,"366":1}}],["dns",{"0":{"361":1,"362":1,"363":1,"364":1,"366":1}}],["dll",{"2":{"373":2,"399":2}}],["dll上",{"0":{"333":1}}],["d",{"0":{"361":1,"362":1,"363":1,"364":1,"366":1},"2":{"332":1,"344":2,"361":1,"362":1,"363":2,"364":1,"366":1,"426":1}}],["d6ec7fd",{"2":{"257":1}}],["d691780",{"2":{"182":1}}],["d815643",{"2":{"200":1}}],["d908d58",{"2":{"186":1}}],["d3afc4b",{"2":{"168":1}}],["d3b4914",{"2":{"4":1}}],["d507c2d",{"2":{"150":1}}],["d5caaa9",{"2":{"12":1,"61":1}}],["dc9a3c4",{"2":{"193":1}}],["dc711cb",{"2":{"146":1}}],["dcf817f",{"2":{"12":1,"65":1}}],["downsize",{"2":{"531":1}}],["down",{"2":{"517":1}}],["download",{"2":{"439":1}}],["download1",{"2":{"403":1}}],["downlink",{"2":{"391":2}}],["does",{"2":{"135":1}}],["docker",{"0":{"408":1},"2":{"408":1}}],["docs",{"2":{"12":1,"48":1}}],["documentation",{"2":{"12":1,"24":1}}],["d7bf83b",{"2":{"179":1}}],["d72202b",{"2":{"112":1}}],["d7eca8d",{"2":{"12":1,"53":1}}],["dd601df",{"2":{"174":1}}],["dd3ad6c",{"2":{"12":1,"47":1}}],["dd1c2e1",{"2":{"5":1}}],["dynamically",{"2":{"12":1,"86":1}}],["dynamics",{"2":{"11":1,"101":1}}],["data",{"2":{"443":3,"445":3,"458":2}}],["daeb9e5",{"2":{"207":1}}],["daemon",{"2":{"12":1,"72":1}}],["dark",{"2":{"11":1,"12":1,"28":1,"73":1,"108":1,"110":1,"117":1,"134":1,"150":1}}],["db",{"2":{"411":1,"412":1}}],["db9e3e7",{"2":{"122":1}}],["db9b19a",{"2":{"12":1,"19":1}}],["dbdaa35",{"2":{"14":1}}],["db5d157",{"2":{"12":1,"48":1}}],["db5deb4",{"2":{"12":1,"82":1}}],["dbc34d6",{"2":{"12":1,"85":1}}],["dbf366a",{"2":{"6":1}}],["d054f8d",{"2":{"11":1,"54":1}}],["d230c15",{"2":{"12":1,"34":1}}],["d262adf",{"2":{"12":1,"61":1}}],["d25714a",{"2":{"12":1,"59":1}}],["d21fa29",{"2":{"11":1,"56":1}}],["d2c977c",{"2":{"6":1}}],["dummy",{"2":{"458":1}}],["dup",{"2":{"392":3}}],["duplicate",{"2":{"10":1,"11":1,"12":1,"32":1,"40":1,"54":1}}],["during",{"2":{"12":1,"80":1}}],["due",{"2":{"11":1,"12":1,"29":1,"49":1}}],["dragging",{"2":{"10":1,"38":1}}],["directories",{"2":{"12":1,"57":1}}],["directory",{"2":{"5":1,"12":3,"15":1,"44":1,"93":1,"103":1}}],["disconnect",{"2":{"429":1}}],["disconnected",{"2":{"346":1}}],["dist",{"2":{"405":1}}],["disable允许任何来源软件",{"2":{"332":1}}],["disable",{"2":{"11":1,"12":1,"78":1,"89":1,"186":1,"551":1}}],["disabling",{"2":{"11":1,"64":1}}],["display=",{"2":{"524":1}}],["display=1920x1080",{"2":{"468":1,"477":1,"524":2,"525":2}}],["displays",{"2":{"12":1,"59":1,"539":1}}],["displayed",{"2":{"11":1,"29":1}}],["display",{"2":{"10":1,"11":5,"12":13,"17":1,"18":1,"19":2,"36":1,"37":1,"53":2,"55":1,"58":1,"65":1,"79":1,"84":1,"85":1,"93":1,"94":1,"110":3,"182":1,"452":1,"464":2,"524":1,"526":1,"527":1,"528":5,"536":1,"539":1}}],["dialog",{"2":{"8":1,"10":1,"12":1,"17":1}}],["d18444f",{"2":{"11":1,"101":1}}],["d19e781",{"2":{"10":1,"83":1}}],["d1f8176",{"2":{"7":1}}],["d1c04ce",{"2":{"4":1}}],["decorations",{"2":{"525":2,"526":2}}],["decoder",{"2":{"452":2}}],["demux=h264",{"2":{"458":1}}],["demuxer",{"2":{"452":2}}],["dex",{"2":{"443":5}}],["dexed",{"2":{"443":1}}],["den",{"2":{"419":1}}],["debug",{"2":{"460":2}}],["debugger=true",{"2":{"460":2}}],["debugging",{"2":{"167":1}}],["debian",{"0":{"402":1},"2":{"405":1,"494":1,"495":1}}],["dee55499ca4fef00ce2559c767d2d8130163736d43fdbce753e923e75309c275",{"2":{"377":1}}],["dequeueoutputbuffer",{"2":{"355":1}}],["defender偶会拦截软件包下载",{"2":{"329":1}}],["default",{"2":{"11":1,"12":1,"34":1,"90":1}}],["dependent",{"2":{"197":1}}],["dependency",{"2":{"11":1,"67":1,"119":1}}],["dependencies",{"2":{"6":1,"8":1,"11":1,"12":1,"45":1,"68":1,"104":1,"132":1}}],["de3555b",{"2":{"174":1}}],["de9352c",{"2":{"164":1}}],["deleting",{"2":{"12":1,"27":1}}],["delete",{"2":{"6":1,"8":1,"143":2}}],["detecting",{"2":{"12":1,"27":1}}],["detection",{"2":{"8":1,"12":2,"49":1,"72":1}}],["details",{"2":{"12":4,"19":2,"24":1,"60":1}}],["devel",{"2":{"403":5}}],["development",{"2":{"11":1,"52":1}}],["dev",{"2":{"398":3,"402":7,"405":1,"477":1,"495":7,"521":7,"541":2}}],["devicemessage",{"2":{"457":1}}],["devices输出多个设备时",{"2":{"380":1}}],["devices",{"2":{"10":2,"11":1,"12":3,"29":1,"47":1,"63":2,"65":1,"98":1,"144":1,"165":1,"172":1,"342":1,"426":1,"521":1}}],["device",{"2":{"5":1,"6":1,"10":9,"11":6,"12":18,"14":1,"18":1,"19":1,"25":1,"27":3,"29":1,"32":4,"34":4,"35":1,"38":1,"39":1,"40":1,"42":1,"53":1,"54":1,"59":1,"60":1,"61":1,"63":1,"65":1,"72":2,"79":1,"92":1,"172":1,"344":2,"346":1,"458":1}}],["destroy",{"2":{"527":1}}],["describe",{"2":{"153":1}}],["description",{"2":{"152":1,"164":1,"173":1}}],["desktop",{"2":{"10":1,"12":1,"51":1,"53":1}}],["design",{"2":{"10":1,"150":1}}],["pts",{"2":{"456":4}}],["png",{"2":{"414":1}}],["pid",{"2":{"460":1}}],["pierlon",{"2":{"408":1}}],["pip",{"2":{"402":1}}],["pip3",{"2":{"402":2}}],["python3",{"2":{"402":1}}],["pkg",{"2":{"402":1,"406":2,"407":1,"495":1}}],["pcm",{"2":{"393":1}}],["p",{"0":{"361":1,"362":1,"363":1,"364":1,"366":1,"367":1,"368":1},"2":{"361":1,"362":1,"363":2,"364":1,"366":1,"367":1,"368":1}}],["permission",{"2":{"193":2,"474":1}}],["perfect",{"2":{"115":1}}],["performance",{"0":{"7":1,"12":1,"15":1,"16":1,"19":1,"22":1,"23":1,"24":1,"27":1,"28":1,"30":1,"31":1,"34":1,"35":1,"37":1,"40":1,"41":1,"43":1,"44":1,"47":1,"48":1,"49":1,"50":1,"53":1,"55":1,"57":1,"59":1,"60":1,"61":1,"62":1,"65":1,"66":1,"68":1,"69":1,"72":1,"75":1,"77":1,"80":1,"82":1,"85":1,"86":1,"87":1,"89":1,"93":1,"94":1,"96":1,"98":1,"100":1,"102":1,"103":1,"104":1,"106":1,"108":1,"109":1,"110":1,"114":1,"115":1,"118":1,"122":1,"125":1,"127":1,"131":1,"134":1,"136":1,"139":1,"143":1,"144":1,"145":1,"146":1,"147":1,"149":1,"150":1,"153":1,"155":1,"157":1,"160":1,"163":1,"164":1,"165":1,"168":1,"169":1,"170":1,"172":1,"174":1,"175":1,"178":1,"183":1,"186":1,"187":1,"198":1,"203":1,"204":1,"208":1,"211":1,"213":1,"223":1,"226":1,"228":1,"230":1,"231":1,"233":1,"234":1,"240":1,"244":1,"256":1},"2":{"12":11,"19":1,"34":2,"55":1,"57":1,"60":1,"77":1,"80":1,"93":1,"96":1,"102":1,"115":1,"122":1,"168":1,"172":1,"391":2}}],["plugged",{"2":{"462":5}}],["plugin",{"2":{"2":1}}],["player",{"2":{"452":1}}],["playback",{"2":{"391":2,"416":1,"477":1,"515":3,"521":1,"541":4}}],["platform",{"2":{"399":1,"500":1}}],["plasma",{"2":{"353":1}}],["plan",{"2":{"107":1}}],["pop",{"2":{"116":1}}],["policy=local",{"2":{"528":3}}],["policy",{"2":{"12":1,"40":1}}],["power",{"2":{"12":1,"61":1,"464":2,"466":1,"467":1,"517":1}}],["powershell",{"2":{"11":1,"21":1,"345":2,"426":2,"519":2,"520":4}}],["port=1234",{"2":{"519":1}}],["port",{"0":{"361":1,"362":1,"363":1,"364":1,"366":1,"367":1,"368":1},"2":{"12":1,"27":1,"460":1,"500":1,"519":1}}],["portable",{"2":{"5":1}}],["position",{"2":{"12":2,"85":1,"163":1,"175":1}}],["possible",{"2":{"11":1,"33":1}}],["print",{"2":{"429":1,"533":1}}],["preset",{"2":{"182":1}}],["preservation",{"2":{"122":1}}],["presentation",{"2":{"12":1}}],["preparation",{"2":{"12":1,"34":1}}],["prefer",{"2":{"486":1,"556":1}}],["preferred",{"2":{"12":1,"22":1}}],["preferences",{"2":{"11":2,"12":2,"36":1,"40":1,"46":1,"122":1,"164":1,"178":1,"182":1,"183":1,"186":1}}],["preference",{"2":{"5":1,"11":1,"12":3,"33":1,"34":1,"86":1,"98":1,"146":1,"182":1}}],["prevented",{"2":{"11":1,"36":1}}],["previous",{"2":{"11":1,"21":1,"447":1}}],["provide",{"2":{"12":1,"53":1}}],["provides",{"2":{"12":1,"27":1}}],["process",{"2":{"443":2,"445":2,"458":1}}],["processing",{"2":{"12":1,"27":1}}],["processes",{"2":{"12":1,"53":1}}],["program",{"2":{"11":2,"12":2,"19":1,"39":2,"48":1,"128":1}}],["problems",{"2":{"11":1,"12":1,"47":1,"99":1,"126":1}}],["problem",{"2":{"9":1,"11":11,"12":3,"21":2,"36":1,"40":1,"42":1,"45":1,"49":1,"52":1,"54":1,"58":1,"64":1,"65":1,"79":1,"99":1,"113":1,"116":1,"121":1,"122":1,"185":1}}],["prompt",{"2":{"11":1,"26":1,"168":1,"171":1}}],["promptbar",{"2":{"8":1}}],["prompts",{"2":{"8":1,"131":1,"172":1}}],["paste选项修改ctrl+v和mod+v的行为",{"2":{"435":1}}],["packet",{"2":{"456":2}}],["package",{"2":{"12":2,"37":1,"68":1,"443":2}}],["packages",{"2":{"12":1,"82":1,"150":1}}],["pacman",{"2":{"406":4,"494":1}}],["panel",{"2":{"12":2,"55":1}}],["page",{"2":{"11":1,"12":1,"39":1,"53":1,"132":1}}],["partial",{"2":{"12":1}}],["part",{"2":{"11":1,"101":1}}],["parsed",{"2":{"11":1,"79":1}}],["parameter",{"2":{"11":1,"12":1,"79":1,"93":1}}],["parameters",{"2":{"11":1,"12":2,"33":1,"53":1,"86":1}}],["params",{"2":{"6":1}}],["parallel",{"2":{"10":1,"17":1}}],["pairing",{"2":{"10":1,"12":1,"63":1,"156":1}}],["paypal",{"2":{"482":1}}],["payload",{"2":{"6":1}}],["payment",{"2":{"6":1,"8":1}}],["patterns",{"2":{"4":1}}],["pattern",{"2":{"4":1}}],["path=",{"2":{"406":1,"407":1}}],["paths",{"2":{"197":1}}],["path",{"2":{"4":1,"11":2,"18":1,"21":1,"113":1,"182":1,"341":2,"345":3,"382":1,"399":1,"406":1,"407":1,"412":1,"500":1}}],["put",{"2":{"462":2,"463":1,"465":2}}],["public",{"2":{"443":1}}],["publishing",{"2":{"111":1}}],["publish",{"2":{"4":1}}],["push",{"2":{"172":1,"174":1,"439":1,"445":1,"458":1}}],["pull",{"2":{"4":1,"495":1}}],["emerge",{"2":{"494":1}}],["empty",{"2":{"5":1,"6":1}}],["edit",{"2":{"460":1}}],["edge",{"2":{"10":1,"12":3,"59":1,"61":1,"76":1,"77":1}}],["e",{"2":{"344":2,"403":1,"426":1}}],["e84f24e",{"2":{"256":1}}],["e89a7a5",{"2":{"217":1}}],["e9a8fc2",{"2":{"222":1}}],["e9befea",{"2":{"183":1}}],["e1237cd",{"2":{"198":1}}],["e249d84",{"2":{"186":1}}],["evoke",{"2":{"179":1,"180":1}}],["events",{"2":{"11":1,"18":1,"474":2,"486":1}}],["event",{"2":{"5":1,"8":1}}],["e5f78e7",{"2":{"173":1}}],["e5c157e",{"2":{"10":1,"20":1}}],["escrcpy设置",{"2":{"324":1}}],["escrcpy设备列表应已检测到您的设备",{"2":{"292":1}}],["escrcpy绝对值得一试",{"2":{"273":1}}],["escrcpy都能为你提供出色的设备控制体验",{"2":{"273":1}}],["escrcpy为scrcpy带来了现代化的图形界面和增强功能",{"2":{"273":1}}],["escrcpy是一个完全免费的开源项目",{"2":{"272":1}}],["escrcpy是一款基于electron开发的图形化安卓设备控制工具",{"2":{"263":1}}],["escrcpy保留了scrcpy的全部优点",{"2":{"270":1}}],["escrcpy支持主流操作系统",{"2":{"269":1}}],["escrcpy非常适合以下场景",{"2":{"268":1}}],["escrcpy",{"0":{"262":1,"322":1},"1":{"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"269":1,"270":1,"271":1,"272":1,"273":1,"323":1,"324":1,"325":1,"326":1,"327":1,"328":1,"329":1,"330":1,"331":1,"332":1,"333":1,"334":1,"335":1,"336":1,"337":1,"338":1},"2":{"291":1,"296":1,"298":1,"332":1,"337":1,"356":1,"387":1}}],["esm",{"2":{"132":1}}],["eslint",{"2":{"8":1,"149":1}}],["equipment",{"2":{"12":1,"48":1,"102":1,"114":1,"121":1,"150":1}}],["e0c221f",{"2":{"12":1,"19":1}}],["e0687e8",{"2":{"10":1,"63":1}}],["e6e8a09",{"2":{"12":1,"27":1}}],["e643f8e",{"2":{"12":1}}],["eaa27133e0520979873ba57ad651560a4cc2618373bd05450b23a84d32beafd0",{"2":{"554":1}}],["ea227e0",{"2":{"130":1}}],["each",{"2":{"12":1,"34":1}}],["eab402b",{"2":{"12":1,"28":1}}],["ea75615",{"2":{"12":1}}],["effect",{"2":{"11":1,"12":8,"19":2,"33":1,"34":1,"53":1,"55":1,"94":1,"108":1,"110":3}}],["ef9e7d3",{"2":{"8":1}}],["e337d5cf0ba4e1281699c338ce5f104aee96eb7b2893dc851399b6643eb4044e",{"2":{"499":1}}],["e34e1c2",{"2":{"11":1,"45":1}}],["e323611",{"2":{"8":1}}],["error",{"2":{"11":5,"12":1,"39":1,"52":1,"58":1,"84":1,"85":1,"90":1,"134":1,"152":1,"158":1,"159":1,"168":1,"181":1,"182":1,"193":1,"197":1,"342":1,"343":3,"344":6,"347":1,"355":1,"393":1,"531":1}}],["errors",{"2":{"11":2,"56":1,"81":1,"119":1,"123":1,"171":1,"189":1,"190":1,"191":1,"192":1}}],["exact",{"2":{"555":1}}],["exclusive",{"2":{"521":2}}],["exceptions",{"2":{"11":1,"33":1}}],["exe文件",{"2":{"556":1}}],["exe",{"2":{"341":1,"345":2,"373":1,"377":1,"399":1}}],["execution",{"2":{"120":2,"144":1}}],["extended",{"2":{"12":1,"96":1,"164":1}}],["external",{"2":{"7":1}}],["exit",{"2":{"11":1,"12":1,"39":1,"53":1}}],["expanded",{"2":{"12":1,"50":1}}],["explicitly",{"2":{"12":1,"53":1}}],["explorer",{"2":{"10":1,"17":1}}],["experimentally",{"2":{"12":1,"53":1}}],["experimental",{"2":{"12":2,"53":1,"93":1}}],["experience",{"2":{"12":6,"19":1,"22":1,"62":1,"65":1,"72":1,"85":1}}],["export",{"2":{"6":2,"345":1,"407":2,"411":2,"426":1,"519":1,"520":2}}],["english",{"2":{"121":1}}],["entrance",{"2":{"112":1}}],["entry",{"2":{"12":2,"34":1,"48":1}}],["entries",{"2":{"10":1,"32":1}}],["encoder",{"2":{"394":1,"535":1}}],["encoder=omx",{"2":{"535":1}}],["encoder=",{"2":{"394":1}}],["encoders",{"2":{"394":1,"535":1}}],["encoding",{"2":{"11":1,"79":1}}],["enclosed",{"2":{"12":1,"27":1}}],["enable",{"2":{"12":2,"19":1,"47":1,"494":1}}],["enhance",{"2":{"12":1,"87":1}}],["enhanced",{"2":{"10":1,"92":1}}],["enhancing",{"2":{"10":1,"17":1}}],["ensure",{"2":{"6":1}}],["env",{"2":{"4":1}}],["electron",{"2":{"4":1,"235":1,"237":1,"259":1}}],["vbs文件",{"2":{"556":1}}],["vbs",{"2":{"556":1}}],["vd",{"2":{"525":2,"526":2,"527":1}}],["v4l",{"2":{"521":1}}],["v4l2loopback",{"2":{"521":4}}],["v4l2",{"2":{"281":1,"424":1,"452":2,"473":1,"477":1,"521":9,"522":3,"540":4,"541":4}}],["vvvv",{"2":{"508":1}}],["vlc",{"2":{"458":1,"468":1,"477":1,"521":2,"525":1}}],["void",{"2":{"443":1}}],["voice",{"2":{"391":12}}],["volume",{"2":{"174":1,"175":2,"517":2}}],["variable",{"2":{"134":1}}],["value",{"2":{"11":1,"58":1,"419":1}}],["v2",{"0":{"369":1},"1":{"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1,"378":1,"379":1,"380":1,"381":1,"382":1,"383":1,"384":1,"385":1,"386":1},"2":{"127":1,"151":1,"157":1,"160":1,"184":1,"377":3,"378":1,"441":1,"454":1,"458":1}}],["verifications",{"2":{"12":1,"48":1}}],["verification",{"2":{"12":1,"59":1}}],["version",{"2":{"5":1,"8":1,"12":1,"19":1,"407":1}}],["versions",{"2":{"2":1,"12":1,"47":1,"407":1}}],["vimont",{"2":{"483":1}}],["viewing",{"2":{"12":1,"61":1}}],["visibility",{"2":{"11":1,"99":1}}],["videon",{"2":{"521":5}}],["video4linux",{"0":{"521":1,"543":1},"1":{"522":1},"2":{"478":1,"543":1}}],["video2",{"2":{"477":1,"541":2}}],["videolan",{"2":{"468":1,"477":1,"525":1}}],["videodriver=wayland",{"2":{"352":1}}],["video",{"2":{"11":3,"64":1,"79":1,"84":1,"182":1,"390":3,"391":1,"396":1,"416":8,"418":6,"419":9,"420":1,"421":1,"422":1,"423":2,"434":6,"441":1,"446":3,"447":1,"451":1,"452":1,"455":3,"456":2,"477":5,"511":3,"512":4,"521":3,"532":2,"534":4,"535":3,"540":2,"541":1,"542":1}}],["via",{"2":{"10":2,"12":1,"50":1,"63":2}}],["v3",{"0":{"473":1},"1":{"474":1,"475":1,"476":1,"477":1,"478":1,"479":1,"480":1,"481":1,"482":1,"483":1},"2":{"10":1,"11":1,"12":8,"23":1,"25":1,"41":1,"43":1,"50":1,"66":1,"68":1,"74":1,"75":2,"412":1,"493":1,"499":2,"554":2}}],["vuerouter",{"2":{"12":1}}],["vue",{"2":{"4":2}}],["if",{"2":{"474":1}}],["i",{"2":{"453":1,"521":1}}],["i686",{"2":{"406":8}}],["illegalstateexception",{"2":{"355":1}}],["ibar",{"2":{"331":1}}],["i打开开发者工具检查报错信息",{"2":{"330":1}}],["i8n",{"2":{"145":1}}],["i18n",{"2":{"136":1,"205":1}}],["ime",{"2":{"528":3}}],["imports",{"2":{"142":1}}],["improved",{"2":{"8":1,"10":1,"12":3,"17":1,"55":1,"72":1,"93":1}}],["improvements",{"0":{"7":1,"12":1,"15":1,"16":1,"19":1,"22":1,"23":1,"24":1,"27":1,"28":1,"30":1,"31":1,"34":1,"35":1,"37":1,"40":1,"41":1,"43":1,"44":1,"47":1,"48":1,"49":1,"50":1,"53":1,"55":1,"57":1,"59":1,"60":1,"61":1,"62":1,"65":1,"66":1,"68":1,"69":1,"72":1,"75":1,"77":1,"80":1,"82":1,"85":1,"86":1,"87":1,"89":1,"93":1,"94":1,"96":1,"98":1,"100":1,"102":1,"103":1,"104":1,"106":1,"108":1,"109":1,"110":1,"114":1,"115":1,"118":1,"122":1,"125":1,"127":1,"131":1,"134":1,"136":1,"139":1,"143":1,"144":1,"145":1,"146":1,"147":1,"149":1,"150":1,"153":1,"155":1,"157":1,"160":1,"163":1,"164":1,"165":1,"168":1,"169":1,"170":1,"172":1,"174":1,"175":1,"178":1,"183":1,"186":1,"187":1,"198":1,"203":1,"204":1,"208":1,"211":1,"213":1,"223":1,"226":1,"228":1,"230":1,"231":1,"233":1,"234":1,"240":1,"244":1,"256":1},"2":{"12":1,"68":1}}],["improve",{"2":{"6":1,"8":1,"12":15,"16":1,"19":1,"34":5,"57":1,"59":2,"72":1,"85":1,"100":1,"118":1,"145":1}}],["images",{"2":{"12":1,"61":1}}],["it",{"2":{"12":1,"47":1}}],["ip连接镜像android设备",{"2":{"473":1}}],["ip连接",{"2":{"462":1}}],["ip地址连接",{"0":{"295":1}}],["ip",{"0":{"427":1},"1":{"428":1,"429":1},"2":{"12":1,"65":1,"344":3,"426":4,"427":1,"428":4,"429":5,"489":1,"519":1}}],["ipv6",{"2":{"11":1,"12":1,"27":1,"58":1}}],["ipc",{"2":{"8":1}}],["id=1",{"2":{"528":1,"539":1}}],["id=0",{"2":{"418":2}}],["idummy",{"2":{"458":1}}],["id",{"2":{"11":1,"58":1,"418":3,"456":2,"539":1}}],["ispackaged",{"2":{"231":1,"232":1}}],["is",{"2":{"6":1,"11":1,"12":1,"39":1,"65":1,"130":1}}],["issue",{"2":{"6":1,"11":18,"18":2,"21":2,"26":2,"29":1,"33":2,"36":2,"39":4,"46":1,"54":1,"70":1,"156":1}}],["issues",{"2":{"3":1,"11":3,"29":1,"33":1,"67":1,"111":1,"193":2}}],["icons",{"2":{"8":2,"11":1,"12":2,"19":2,"99":1,"414":1}}],["icon",{"2":{"5":1,"6":1,"8":5,"10":1,"12":7,"17":1,"19":6,"65":1,"414":1}}],["inject",{"2":{"474":1}}],["injecting",{"2":{"474":1}}],["injectinputevent",{"2":{"449":1}}],["injection",{"2":{"11":1,"21":1}}],["input",{"2":{"474":1}}],["inputmanager",{"2":{"449":2}}],["in值",{"2":{"462":1}}],["in设置实现",{"2":{"462":1}}],["initialize",{"2":{"393":1}}],["initialization",{"2":{"6":2}}],["initially",{"2":{"105":1}}],["incompatible",{"2":{"174":1}}],["incorrect",{"2":{"11":1,"21":1}}],["increase",{"2":{"12":1,"48":1}}],["information",{"2":{"12":2,"34":1,"61":1}}],["inactive",{"2":{"12":1,"53":1}}],["instrumentation",{"2":{"474":1}}],["install",{"0":{"358":1},"2":{"358":2,"375":1,"380":1,"381":1,"402":5,"403":3,"405":2,"407":3,"411":1,"414":1,"494":3,"495":3,"500":3,"521":1,"555":5}}],["installation",{"2":{"12":1,"49":1,"124":1}}],["instance",{"2":{"12":1,"55":1}}],["instances",{"2":{"10":1,"17":1}}],["instead",{"2":{"7":1}}],["independent",{"2":{"10":1,"17":1}}],["into",{"2":{"10":1,"17":1}}],["introducing",{"2":{"10":1,"17":1}}],["integration",{"2":{"11":1,"12":1,"34":1,"78":1}}],["integrate",{"2":{"10":1,"83":1}}],["interactive",{"2":{"12":1,"19":1,"150":1}}],["interaction",{"2":{"12":5,"19":1,"22":2,"35":1,"37":1,"102":1,"118":1,"134":1,"164":1,"187":1,"198":1}}],["interruption",{"2":{"12":1,"80":1}}],["internationalization",{"2":{"11":1,"101":1,"113":1}}],["interface",{"2":{"10":2,"12":5,"15":1,"32":1,"34":1,"40":1,"113":1}}],["intelligently",{"2":{"10":1,"32":1}}],["in",{"2":{"4":2,"5":1,"6":3,"7":1,"10":1,"11":13,"12":9,"17":1,"18":2,"19":1,"21":1,"22":2,"27":1,"33":1,"34":1,"36":2,"39":1,"40":1,"46":1,"53":1,"54":2,"70":1,"71":1,"78":1,"86":1,"117":1,"121":1,"130":1,"146":1,"148":1,"155":1,"462":3}}],["utils",{"2":{"521":1}}],["utilization",{"2":{"12":1,"34":1}}],["uhid",{"0":{"471":1,"489":1,"506":1},"2":{"469":1,"471":3,"472":1,"484":2,"486":1,"488":1,"489":2,"502":1,"506":3,"508":2,"511":2}}],["u62",{"2":{"456":1}}],["u1",{"2":{"456":2}}],["u32",{"2":{"456":5}}],["ubuntu系统",{"2":{"495":1}}],["ubuntu",{"0":{"402":1},"2":{"402":1,"494":1}}],["unprocessed",{"2":{"391":2}}],["unauthorized",{"2":{"343":1}}],["unable",{"2":{"182":1}}],["unavailable",{"2":{"133":1}}],["uninstall",{"0":{"359":1},"2":{"359":2,"415":1,"495":1}}],["unix",{"2":{"193":2}}],["unit",{"2":{"158":1}}],["universal",{"2":{"12":1,"82":1}}],["under",{"2":{"11":3,"12":2,"19":2,"26":1,"39":1,"52":1}}],["unnecessary",{"2":{"4":2,"12":2,"48":1,"53":1}}],["uplink",{"2":{"391":2}}],["upload",{"2":{"12":2,"14":1,"15":2,"103":1}}],["uploading",{"2":{"12":1,"57":1}}],["up",{"2":{"8":1,"12":1,"53":1,"116":1,"517":1}}],["updater",{"2":{"170":1}}],["updates",{"2":{"11":1,"70":1}}],["update",{"2":{"1":1,"4":3,"5":1,"6":2,"8":3,"10":1,"11":1,"12":10,"15":1,"23":1,"25":1,"41":1,"42":1,"43":1,"50":1,"65":1,"66":1,"68":1,"75":1,"96":1,"104":1,"109":1,"121":1,"126":1,"127":1,"132":1,"139":1,"149":1,"151":1,"157":1,"160":2,"168":1,"178":1,"182":1,"183":1,"184":1,"186":1}}],["usr",{"2":{"382":1,"407":1,"414":6}}],["usb调试",{"2":{"474":1}}],["usb",{"0":{"340":1},"1":{"341":1,"342":1,"343":1,"344":1,"345":1,"346":1},"2":{"342":1,"343":2,"344":4,"346":1,"347":2,"349":2,"426":2,"428":1,"429":2,"462":1,"472":5,"490":4,"507":5,"509":3,"511":2}}],["usb连接方式",{"0":{"292":1}}],["user",{"2":{"12":1,"47":1,"113":1}}],["useful",{"2":{"10":1,"17":1}}],["use",{"2":{"7":1,"10":1}}],["using",{"2":{"6":1,"12":2,"40":1,"49":1}}],["ui",{"2":{"5":1,"8":1,"12":1,"24":1,"450":1}}],["borderless",{"2":{"548":1}}],["boundary",{"2":{"12":1,"34":1}}],["bhsn",{"2":{"508":2}}],["b",{"2":{"508":1,"532":1}}],["bsky",{"2":{"481":1}}],["bluesky",{"2":{"481":1}}],["blocking",{"2":{"12":1,"49":1}}],["bit",{"2":{"393":1,"395":2,"532":2}}],["bind=++bh",{"2":{"508":1}}],["bind=++++",{"2":{"508":1}}],["bind=bhsn",{"2":{"508":3}}],["bind=xxxx",{"2":{"508":2}}],["binding",{"2":{"125":1}}],["bin",{"2":{"406":1,"407":1,"414":1}}],["binaries",{"2":{"10":1,"83":1}}],["brew",{"2":{"375":1,"407":3}}],["b6986d1",{"2":{"246":1}}],["b864fab",{"2":{"186":1}}],["b8d77e3",{"2":{"126":1}}],["b7eb1dd",{"2":{"172":1}}],["b759502",{"2":{"168":1}}],["b73c179",{"2":{"4":1}}],["bps",{"2":{"158":1}}],["bfdad9e",{"2":{"171":1}}],["bf2d2b4",{"2":{"149":1}}],["bf06382",{"2":{"12":1,"75":1}}],["b920e0ea01936bf2482f4ba2fa985c22c13c621999e3d33b45baa5acfc1ea3d0",{"2":{"412":1}}],["b989140",{"2":{"128":1}}],["b9faabf",{"2":{"12":1,"40":1}}],["bbf2335",{"2":{"12":1,"43":1}}],["bb56d5b",{"2":{"12":1,"22":1}}],["bc4f492",{"2":{"12":1,"19":1}}],["b40bdcf",{"2":{"174":1}}],["b413889",{"2":{"12":1,"57":1}}],["b4e5780",{"2":{"8":1}}],["b4e8058",{"2":{"6":1}}],["b18256b",{"2":{"198":1}}],["b1a6ba7",{"2":{"12":1,"80":1}}],["b168cc3",{"2":{"12":1,"19":1}}],["b5bffc5",{"2":{"11":1,"99":1}}],["b2bb0ae",{"2":{"11":1,"84":1}}],["b0f42aa",{"2":{"11":1,"99":1}}],["b08021b",{"2":{"10":1}}],["be89b36",{"2":{"12":1,"47":1}}],["be5e639",{"2":{"12":1,"89":1}}],["behavior",{"2":{"11":1,"12":3,"27":1,"34":1,"39":1,"47":1}}],["being",{"2":{"11":2,"42":1,"54":1}}],["between",{"2":{"11":2,"18":1,"52":1}}],["better",{"2":{"8":1}}],["be",{"2":{"11":8,"12":4,"18":1,"26":1,"27":3,"29":1,"36":1,"39":1,"46":1,"47":1,"54":1,"79":1,"128":1,"182":1}}],["been",{"2":{"10":2,"17":2}}],["bdb3644",{"2":{"10":1,"25":1}}],["b32043c",{"2":{"9":1}}],["b3203af",{"2":{"8":1}}],["byte",{"2":{"456":8,"458":1}}],["by",{"2":{"6":1,"11":1,"12":2,"34":1,"45":1,"68":1}}],["bat或scrcpy",{"2":{"556":1}}],["bat替代",{"2":{"556":1}}],["bat",{"2":{"556":1}}],["bat文件",{"2":{"556":2}}],["batch",{"2":{"10":1,"14":1,"51":1,"118":1,"120":1,"122":1,"123":1,"124":1,"172":1}}],["back",{"2":{"508":3,"517":1}}],["background",{"2":{"6":1,"8":1,"12":1,"19":1}}],["ba51fe3",{"2":{"143":1}}],["ba551b7",{"2":{"5":1}}],["bashchoco",{"2":{"555":1}}],["bashwinget",{"2":{"555":1}}],["bashffplay",{"2":{"521":1}}],["bashvlc",{"2":{"458":1}}],["bashautoadb",{"2":{"430":1}}],["bashadb",{"2":{"429":1,"443":1,"445":1,"458":1,"460":3,"488":1,"519":1,"520":1}}],["bashmeson",{"2":{"411":1,"412":1,"460":1}}],["bashgit",{"2":{"409":1,"495":2}}],["bashgnirehtet",{"2":{"358":2,"359":2,"360":2,"361":4,"362":4,"363":5,"364":4,"365":2,"366":5,"367":3,"368":2}}],["bashbrew",{"2":{"407":1,"500":2}}],["bashscoop",{"2":{"555":1}}],["bashscrcpy",{"2":{"344":2,"390":1,"392":1,"393":2,"394":2,"395":1,"396":1,"416":1,"418":2,"419":2,"423":2,"426":4,"428":3,"432":1,"434":4,"439":1,"462":1,"463":1,"464":2,"465":1,"466":1,"467":1,"468":6,"471":1,"472":1,"477":6,"486":2,"487":1,"489":1,"490":1,"496":2,"501":2,"506":1,"507":1,"508":2,"509":3,"511":1,"512":3,"513":1,"515":2,"516":2,"521":1,"522":1,"524":1,"525":2,"526":1,"527":1,"528":1,"531":1,"532":1,"533":2,"534":1,"535":2,"536":3,"537":1,"538":1,"539":2,"540":2,"541":1,"542":1,"545":1,"546":1,"547":1,"548":1,"549":1,"550":1,"551":1,"556":3}}],["bashsudo",{"2":{"402":1,"405":2,"414":1,"415":1,"495":1,"500":1,"521":2}}],["bashexport",{"2":{"352":1,"406":1}}],["bash",{"2":{"345":2,"390":1,"396":1,"402":1,"403":1,"405":1,"406":2,"407":1,"411":1,"413":1,"414":2,"416":1,"423":1,"426":2,"445":1,"455":1,"462":1,"463":1,"464":1,"465":1,"495":1,"515":1,"517":1,"519":2,"520":6,"521":1,"541":1}}],["base",{"2":{"160":1}}],["based",{"2":{"12":1,"72":1}}],["basic",{"2":{"112":1}}],["bartender",{"2":{"331":1}}],["bar",{"2":{"10":2,"11":6,"12":7,"18":2,"19":1,"21":1,"38":1,"39":1,"40":1,"50":1,"52":1,"53":1,"84":1,"96":2,"97":1,"98":1,"110":2,"114":1,"164":1}}],["bulk",{"2":{"172":1}}],["button",{"2":{"11":1,"12":2,"26":1,"85":1,"98":1,"114":1}}],["buffer=50",{"2":{"540":2}}],["buffer=300",{"2":{"522":1,"540":2}}],["buffer=delay",{"2":{"441":1}}],["buffer=10",{"2":{"396":1}}],["buffer=100",{"2":{"396":1}}],["buffer=40",{"2":{"396":1}}],["buffer=200",{"2":{"390":1,"396":2,"540":1}}],["buffer",{"2":{"11":3,"79":1,"84":2,"186":1}}],["built",{"2":{"7":1,"11":2,"12":2,"22":2,"70":1,"71":1,"148":1}}],["buildtype=release",{"2":{"411":1,"412":1}}],["building",{"2":{"12":1,"82":1}}],["builds",{"2":{"5":1}}],["builder",{"2":{"4":1,"237":1}}],["build",{"2":{"1":1,"3":1,"11":4,"12":1,"45":1,"56":1,"68":1,"81":1,"84":1,"119":1,"133":1,"159":1,"181":1,"235":1,"402":1,"495":1,"500":1,"555":1}}],["bug",{"0":{"3":1,"6":1,"9":1,"11":1,"18":1,"21":1,"26":1,"29":1,"33":1,"36":1,"39":1,"42":1,"45":1,"46":1,"52":1,"54":1,"56":1,"58":1,"64":1,"67":1,"70":1,"71":1,"73":1,"74":1,"78":1,"79":1,"81":1,"84":1,"88":1,"90":1,"95":1,"99":1,"101":1,"107":1,"111":1,"113":1,"116":1,"117":1,"119":1,"121":1,"123":1,"126":1,"128":1,"129":1,"130":1,"133":1,"135":1,"137":1,"138":1,"141":1,"142":1,"148":1,"152":1,"156":1,"158":1,"159":1,"166":1,"171":1,"173":1,"177":1,"179":1,"180":1,"181":1,"182":1,"185":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"197":1,"199":1,"200":1,"202":1,"206":1,"207":1,"209":1,"210":1,"212":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"225":1,"227":1,"232":1,"235":1,"236":1,"237":1,"238":1,"239":1,"242":1,"243":1,"245":1,"247":1,"249":1,"250":1,"251":1,"252":1,"257":1,"260":1},"2":{"11":1,"95":1,"107":1,"340":1}}],["1e252341",{"2":{"436":1}}],["1eef9d2",{"2":{"109":1}}],["17",{"2":{"402":1,"405":1,"407":2}}],["13",{"2":{"392":2}}],["1341fb8",{"2":{"230":1}}],["1349b2a",{"2":{"153":1}}],["1+版本已初步集成scrcpy二进制文件",{"2":{"296":1}}],["1224x1440",{"2":{"538":1}}],["12+",{"2":{"473":1}}],["1234",{"2":{"458":3}}],["1234567890abcdef",{"2":{"358":1,"359":1,"360":1,"363":1,"365":1,"366":1,"367":1}}],["128kbps",{"2":{"395":1}}],["12",{"2":{"388":1,"416":1,"456":2,"458":1}}],["120",{"2":{"265":1}}],["1279994",{"2":{"193":1}}],["15开始",{"2":{"464":1}}],["151cb29",{"2":{"189":1}}],["1505518",{"2":{"175":1}}],["1d7b188",{"2":{"188":1}}],["1d603ab",{"2":{"12":1,"72":1}}],["1af9abd",{"2":{"182":1}}],["1a95325",{"2":{"11":1,"58":1}}],["168",{"2":{"344":1,"361":1,"362":1,"363":1,"364":1,"366":1,"426":3,"428":4,"519":7}}],["16",{"0":{"258":1},"1":{"259":1,"260":1},"2":{"154":1,"161":1,"393":1,"402":1,"419":1}}],["16f9535",{"2":{"114":1}}],["1cac054",{"2":{"150":1}}],["1ca0469",{"2":{"136":1}}],["1920×1080",{"2":{"531":1}}],["1920×1080或更高分辨率",{"2":{"473":1}}],["1920",{"2":{"419":2}}],["192",{"2":{"344":1,"361":1,"362":1,"363":1,"364":1,"366":1,"428":1,"519":4}}],["193f80a",{"2":{"150":1}}],["194689e",{"2":{"11":1,"21":1}}],["1f27597",{"2":{"135":1}}],["1b96ffc",{"2":{"253":1}}],["1b2236c",{"2":{"194":1}}],["1b3f49e",{"2":{"175":1}}],["1be470a",{"2":{"12":1,"34":1}}],["1b82336",{"2":{"12":1,"34":1}}],["180",{"2":{"536":1}}],["180°",{"2":{"536":6}}],["18d490f",{"2":{"205":1}}],["18dcd24",{"2":{"12":1,"93":1}}],["1813718",{"2":{"12":1}}],["18a57b9",{"2":{"11":1,"18":1}}],["1024×576",{"2":{"531":1}}],["1024",{"2":{"531":2}}],["10",{"2":{"388":1,"419":3,"539":1}}],["10及以上版本",{"2":{"333":1}}],["10d0370",{"2":{"12":1,"93":1}}],["10b902a",{"2":{"11":1,"64":1}}],["1082e0d",{"2":{"11":1,"74":1}}],["11",{"2":{"388":2,"429":1,"460":2}}],["11+",{"2":{"334":1,"473":1,"474":1}}],["11e0884",{"2":{"144":1}}],["119b518",{"2":{"11":1,"26":1}}],["11be6f1",{"2":{"10":1,"17":1}}],["1440",{"2":{"538":1}}],["14306b2",{"2":{"10":1,"63":1}}],["14a81de",{"2":{"10":1,"76":1}}],["1",{"0":{"258":1,"369":1,"411":1},"1":{"259":1,"260":1,"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1,"378":1,"379":1,"380":1,"381":1,"382":1,"383":1,"384":1,"385":1,"386":1},"2":{"4":4,"12":2,"13":2,"41":1,"66":1,"91":2,"109":1,"154":1,"157":1,"161":1,"296":1,"311":2,"344":2,"361":1,"362":1,"363":1,"364":1,"366":1,"373":1,"377":3,"378":1,"402":2,"407":1,"414":1,"419":1,"426":6,"428":8,"441":1,"445":3,"454":1,"456":1,"458":2,"465":1,"495":2,"517":1,"519":7}}],["2m",{"2":{"532":1}}],["265格式录制设备摄像头",{"2":{"477":1}}],["265格式捕获屏幕",{"2":{"477":1}}],["264",{"2":{"441":1,"458":1}}],["26c4a920",{"2":{"436":1}}],["269bd29",{"2":{"11":1,"46":1}}],["283",{"2":{"346":1}}],["281",{"2":{"346":1}}],["270",{"2":{"536":1}}],["270°",{"2":{"536":6}}],["27183",{"2":{"445":1,"455":2,"519":1,"520":6}}],["27",{"2":{"296":1}}],["2776e8a",{"2":{"8":1}}],["2464",{"2":{"540":1}}],["24fps",{"2":{"533":1}}],["240",{"2":{"524":1}}],["24",{"2":{"337":1,"361":1,"362":1,"363":1,"364":1,"366":1,"533":1}}],["24c011f",{"2":{"252":1}}],["24e9399",{"2":{"203":1}}],["21",{"2":{"372":1,"474":1}}],["218de1c",{"2":{"243":1}}],["217d82d",{"2":{"202":1}}],["23d68d4",{"2":{"225":1}}],["2352593",{"2":{"218":1}}],["2c97189",{"2":{"196":1}}],["2c53b77",{"2":{"11":1,"29":1}}],["29ae786",{"2":{"202":1}}],["296e21d",{"2":{"169":1}}],["29e5e1b",{"2":{"12":1,"85":1}}],["200ms",{"2":{"540":1}}],["2025",{"2":{"483":1}}],["2023",{"0":{"258":1},"1":{"259":1,"260":1}}],["2018",{"2":{"483":2}}],["2017",{"2":{"385":1}}],["2013413",{"2":{"120":1}}],["20d37c1",{"2":{"166":1}}],["206a030",{"2":{"12":1,"53":1}}],["256x256",{"2":{"414":1}}],["256",{"2":{"377":3,"378":1,"412":1,"493":1,"499":2,"554":2}}],["2559",{"2":{"352":1}}],["2554",{"2":{"352":1}}],["25c42d9",{"2":{"121":1}}],["25",{"2":{"13":1,"91":1}}],["2f2e1cf",{"2":{"134":1}}],["2f389af",{"2":{"118":1}}],["2ffc588",{"2":{"12":1,"22":1}}],["2f63f6f",{"2":{"11":1,"18":1}}],["2e27443",{"2":{"12":1,"44":1}}],["2b7ee79",{"2":{"11":1,"58":1}}],["22cc5a3",{"2":{"127":1}}],["222f626",{"2":{"111":1}}],["22eb718",{"2":{"12":1,"37":1}}],["22e331d",{"2":{"4":1}}],["22623c4",{"2":{"5":1}}],["2",{"0":{"412":1,"473":1},"1":{"474":1,"475":1,"476":1,"477":1,"478":1,"479":1,"480":1,"481":1,"482":1,"483":1},"2":{"4":5,"10":2,"12":3,"13":1,"25":1,"50":1,"68":1,"96":1,"109":1,"184":1,"294":1,"295":1,"324":1,"344":1,"377":1,"385":1,"386":1,"402":1,"412":1,"441":1,"445":3,"456":1,"458":1,"480":1,"483":1,"493":1,"495":1,"499":2,"519":7,"554":2}}],["f",{"2":{"550":1}}],["fullscreen",{"2":{"550":1}}],["fusion",{"2":{"403":1}}],["functions",{"2":{"11":1,"12":1,"34":1,"36":1,"186":1,"414":1}}],["function",{"2":{"10":2,"12":9,"14":1,"15":2,"27":1,"30":1,"34":1,"37":1,"38":1,"59":1,"61":1,"76":1,"96":1,"112":1,"120":2,"124":1,"132":1,"174":1,"176":1,"196":1}}],["functionality",{"2":{"5":1}}],["ffms2",{"2":{"403":1}}],["ffmpeg",{"2":{"399":1,"402":1,"406":2,"407":1,"450":1,"495":1}}],["ff9f9bd",{"2":{"11":1,"33":1}}],["fps=15",{"2":{"533":1}}],["fps=120",{"2":{"423":2}}],["fps=240",{"2":{"422":1}}],["fps=60",{"2":{"421":1,"477":2}}],["fps",{"2":{"265":1,"421":1,"533":1}}],["fbd1885",{"2":{"232":1}}],["fbf88d0",{"2":{"11":1,"21":1}}],["f768566",{"2":{"214":1}}],["f4dfb2c",{"2":{"183":1}}],["f41d853",{"2":{"10":1,"17":1}}],["f9a32d6",{"2":{"198":1}}],["f9c6c32",{"2":{"182":1}}],["f9e4a0e",{"2":{"150":1}}],["f0f25a7",{"2":{"164":1}}],["frame",{"2":{"447":1,"456":1,"458":1}}],["free",{"2":{"403":4}}],["frequently",{"2":{"122":1}}],["from",{"2":{"4":1}}],["f6d1f3c5f74d4d46f5080baa5b56b69f5edbf698d47e0cf4e2a1fd5058f9507b",{"2":{"499":1}}],["f61d820",{"2":{"14":1}}],["f60245b",{"2":{"13":1,"91":1}}],["f6c9fa4",{"2":{"12":1,"44":1}}],["facing",{"2":{"418":1}}],["facing=external",{"2":{"418":1}}],["facing=back",{"2":{"418":1,"423":2}}],["facing=front",{"2":{"418":2,"477":1}}],["far",{"2":{"12":1,"89":1}}],["fails",{"2":{"12":1,"85":1}}],["failures",{"2":{"133":1}}],["failure",{"2":{"11":4,"12":1,"21":2,"45":1,"58":1,"72":1,"179":1,"180":1}}],["failed",{"2":{"6":1,"11":2,"21":1,"70":1,"138":1,"393":1}}],["fcf8269",{"2":{"134":1}}],["fcfd78e",{"2":{"10":1,"51":1}}],["fc91f07",{"2":{"12":1,"50":1}}],["fd20736",{"2":{"241":1}}],["fd2e639",{"2":{"12":1,"57":1}}],["fdf40c7",{"2":{"167":1}}],["fd32c36",{"2":{"6":1}}],["flip270",{"2":{"536":1}}],["flip180",{"2":{"536":1}}],["flip90",{"2":{"536":1}}],["flip0",{"2":{"536":1}}],["flickering",{"2":{"11":1,"39":1}}],["flac",{"2":{"393":2,"512":2,"513":2}}],["flow",{"2":{"12":1,"27":1}}],["floating",{"2":{"10":1,"11":3,"12":4,"39":1,"52":1,"53":1,"84":1,"96":2,"97":1,"98":1}}],["fedora",{"0":{"403":1},"2":{"352":1,"403":2,"494":1}}],["feedback",{"2":{"12":1,"53":1}}],["fee",{"2":{"9":1}}],["features",{"0":{"5":1,"10":1,"17":1,"20":1,"25":1,"32":1,"38":1,"51":1,"63":1,"76":1,"83":1,"92":1,"97":1,"105":1,"112":1,"120":1,"124":1,"132":1,"140":1,"151":1,"162":1,"167":1,"176":1,"184":1,"196":1,"201":1,"205":1,"224":1,"229":1,"241":1,"246":1,"248":1,"253":1,"254":1,"255":1,"259":1},"2":{"10":1,"17":1}}],["fossify",{"2":{"525":2}}],["font",{"2":{"8":1}}],["force",{"2":{"441":1,"455":1,"520":3}}],["forward=true",{"2":{"458":1}}],["forward",{"2":{"344":1,"441":1,"445":1,"455":2,"458":1,"460":2,"519":1,"520":3}}],["forwarding",{"2":{"11":1,"64":1}}],["for",{"2":{"5":3,"6":1,"8":4,"10":2,"11":1,"12":10,"15":1,"27":1,"34":2,"53":1,"57":1,"68":1,"71":1,"80":1,"82":1,"83":2,"93":1,"122":1,"130":1}}],["format=mkv",{"2":{"513":1}}],["format",{"2":{"1":1,"171":1}}],["f2bd345",{"2":{"8":1}}],["f211924",{"2":{"8":1}}],["f52d3a5",{"2":{"5":1}}],["firefox",{"2":{"468":4}}],["fi",{"2":{"429":1}}],["findinpage",{"2":{"134":1}}],["filter",{"2":{"11":1,"54":1}}],["file",{"2":{"10":4,"11":4,"12":6,"15":1,"16":1,"17":4,"18":2,"19":1,"21":1,"42":1,"44":1,"57":1,"87":1,"102":1,"103":1,"105":2,"171":1,"172":1,"174":1,"175":1,"501":1,"512":1}}],["files",{"2":{"5":1,"6":1,"10":1,"11":1,"25":1,"26":1}}],["fixed",{"2":{"6":1,"11":18,"12":1,"18":3,"21":1,"26":2,"33":2,"36":2,"39":3,"46":1,"49":1,"54":1,"67":1,"70":1,"99":1,"111":1}}],["fixes",{"0":{"3":1,"6":1,"9":1,"11":1,"18":1,"21":1,"26":1,"29":1,"33":1,"36":1,"39":1,"42":1,"45":1,"46":1,"52":1,"54":1,"56":1,"58":1,"64":1,"67":1,"70":1,"71":1,"73":1,"74":1,"78":1,"79":1,"81":1,"84":1,"88":1,"90":1,"95":1,"99":1,"101":1,"107":1,"111":1,"113":1,"116":1,"117":1,"119":1,"121":1,"123":1,"126":1,"128":1,"129":1,"130":1,"133":1,"135":1,"137":1,"138":1,"141":1,"142":1,"148":1,"152":1,"156":1,"158":1,"159":1,"166":1,"171":1,"173":1,"177":1,"179":1,"180":1,"181":1,"182":1,"185":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"197":1,"199":1,"200":1,"202":1,"206":1,"207":1,"209":1,"210":1,"212":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"225":1,"227":1,"232":1,"235":1,"236":1,"237":1,"238":1,"239":1,"242":1,"243":1,"245":1,"247":1,"249":1,"250":1,"251":1,"252":1,"257":1,"260":1}}],["fix",{"2":{"3":1,"6":1,"9":1,"11":12,"12":1,"21":3,"33":1,"39":1,"45":1,"47":1,"58":1,"70":1,"71":1,"79":1,"81":1,"95":1,"116":1,"117":1,"119":1,"122":1,"123":1,"126":1,"182":1,"235":1}}],["aarch64",{"2":{"499":2}}],["aac",{"2":{"393":1,"456":1,"512":2,"513":1}}],["always",{"2":{"549":1}}],["alt",{"2":{"505":1,"517":1}}],["alt+f切换全屏",{"2":{"476":1}}],["allsettledwrapper",{"2":{"115":1}}],["all",{"2":{"11":1,"36":1}}],["allow",{"2":{"6":1}}],["aoa",{"0":{"472":1,"490":1,"507":1},"2":{"472":1,"488":1,"490":2,"507":1,"508":2,"509":1,"511":1}}],["aoav2",{"2":{"469":1,"472":1,"484":1,"490":1,"502":1,"507":1}}],["aidl",{"2":{"444":1}}],["awake参数无效",{"2":{"462":1}}],["awake",{"2":{"462":1,"464":1,"556":1}}],["away",{"2":{"12":1,"89":1}}],["awk",{"2":{"429":1}}],["amp",{"2":{"494":2}}],["am",{"2":{"381":2,"488":1}}],["amount",{"2":{"6":1}}],["a46a5e1",{"2":{"259":1}}],["ac52df2",{"2":{"255":1}}],["activating",{"2":{"11":1,"39":1}}],["actions",{"2":{"12":1,"53":1}}],["action",{"2":{"10":1,"11":1,"51":1,"84":1}}],["a6744dc",{"2":{"234":1}}],["a9668d9",{"2":{"210":1}}],["a90e570",{"2":{"187":1}}],["a789826",{"2":{"206":1}}],["a7a3a17",{"2":{"11":1,"33":1}}],["a57b847",{"2":{"165":1}}],["a06708f",{"2":{"142":1}}],["a195b7e",{"2":{"134":1}}],["a1c60ec",{"2":{"12":1,"96":1}}],["apt",{"2":{"402":4,"405":2,"494":1,"495":1,"521":1}}],["apache",{"2":{"385":1,"483":1}}],["apk=",{"2":{"382":1}}],["apk路径",{"2":{"382":1}}],["apk用于指定自定义的gnirehtet",{"2":{"382":1}}],["apk",{"2":{"377":2,"378":1,"381":1,"382":1,"438":1,"443":2}}],["api",{"0":{"357":1},"1":{"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"367":1,"368":1},"2":{"134":1,"422":1,"447":1,"448":1,"450":1,"485":1,"503":1,"509":1}}],["app=+",{"2":{"468":1}}],["app=+org",{"2":{"468":1}}],["app=",{"2":{"468":1}}],["app=org",{"2":{"468":2,"477":1,"525":2}}],["apps",{"2":{"414":1,"468":1}}],["app尝试修复损坏提示",{"2":{"332":1}}],["apple",{"2":{"332":1}}],["apply",{"2":{"129":1}}],["application",{"2":{"10":1,"11":2,"12":10,"19":3,"33":1,"51":1,"53":2,"80":1,"84":1,"85":2,"124":1}}],["applications",{"2":{"10":1,"12":1,"80":1,"83":1,"332":1}}],["appending",{"2":{"12":1,"53":1}}],["app",{"2":{"4":2,"10":1,"11":4,"12":7,"19":2,"36":1,"37":2,"38":1,"40":1,"42":1,"47":1,"52":1,"73":1,"85":1,"236":1,"443":2,"445":2,"458":1,"481":1,"508":3,"517":1}}],["at",{"2":{"12":1,"48":1,"114":1,"355":1}}],["a2bb039",{"2":{"12":1,"41":1}}],["aeae0c6",{"2":{"203":1}}],["ae96df0",{"2":{"160":1}}],["aec9b78",{"2":{"12":1,"40":1}}],["ae13fde",{"2":{"11":1,"73":1}}],["ae19570",{"2":{"8":1}}],["avc",{"2":{"535":1}}],["av1",{"2":{"456":1,"534":2}}],["avoid",{"2":{"12":1,"47":1}}],["available",{"2":{"12":1,"59":1}}],["arch",{"2":{"494":1}}],["args",{"2":{"443":1}}],["ar=sensor",{"2":{"419":1}}],["ar=16",{"2":{"419":1,"423":2}}],["ar=1",{"2":{"419":1}}],["ar=4",{"2":{"419":1}}],["ar",{"2":{"419":2}}],["arabic",{"2":{"12":1,"44":1}}],["arm64",{"2":{"12":1,"53":1,"211":1,"222":1}}],["are",{"2":{"11":1,"12":1,"36":1,"89":1}}],["arrangement",{"2":{"12":3,"30":1,"34":2}}],["arrange",{"2":{"10":1,"32":1}}],["audiorecord",{"2":{"448":1}}],["audio=false",{"2":{"445":1,"458":1}}],["audio",{"2":{"11":1,"12":1,"50":1,"79":1,"186":1,"388":1,"389":1,"390":1,"391":2,"392":6,"393":9,"394":2,"395":3,"396":4,"416":6,"434":6,"441":1,"445":1,"446":2,"451":1,"452":2,"455":3,"456":2,"477":2,"496":1,"501":1,"511":3,"512":4,"515":1,"540":1,"541":1,"556":1}}],["autosync",{"2":{"435":1}}],["autostart",{"0":{"364":1},"2":{"364":4}}],["autoadb",{"2":{"430":1}}],["autorun",{"0":{"362":1},"2":{"362":4,"379":1}}],["autoconnect",{"2":{"165":2}}],["automated",{"2":{"12":1,"55":1}}],["automation",{"2":{"10":1}}],["automatically",{"2":{"5":1,"129":1}}],["automatic",{"2":{"3":1,"11":1,"12":1,"34":1,"70":1,"144":1}}],["autoglm",{"2":{"7":1,"10":1,"274":1,"278":1}}],["auto",{"2":{"5":3,"8":1,"495":1}}],["ascii",{"2":{"350":1,"485":1}}],["assets",{"2":{"436":2}}],["asset",{"2":{"111":1}}],["asynchronously",{"2":{"12":1,"34":1}}],["as",{"2":{"10":1}}],["a84c775",{"2":{"10":1,"92":1}}],["a",{"2":{"10":2,"11":1,"12":5,"17":1,"27":1,"32":1,"39":1,"50":2,"65":1,"80":1,"105":1,"112":1,"140":1,"381":2,"488":1,"519":1,"556":1}}],["abd468b",{"2":{"115":1}}],["able",{"2":{"11":1,"42":1}}],["abnormalities",{"2":{"117":1}}],["abnormal",{"2":{"9":1,"11":3,"18":1,"36":1,"39":1,"128":1,"130":1,"148":1,"166":1}}],["aba8f27",{"2":{"3":1}}],["af7a319",{"2":{"251":1}}],["after",{"2":{"8":1,"11":4,"12":1,"33":3,"34":1,"54":1,"447":1}}],["af18241",{"2":{"8":1}}],["angle=23",{"2":{"537":1}}],["angle",{"2":{"536":1,"538":1}}],["an",{"2":{"7":1,"11":3,"12":1,"39":1,"46":1,"47":1,"70":1}}],["any",{"2":{"6":1,"474":1}}],["android设备需至少支持api",{"2":{"474":1}}],["android在开发者选项中提供了此功能",{"2":{"465":1}}],["android系统值的单位是毫秒",{"2":{"463":1}}],["android屏幕会在一定延迟后自动关闭",{"2":{"463":1}}],["android剪贴板内容变化时会自动同步到电脑剪贴板",{"2":{"435":1}}],["android反向网络共享工具",{"2":{"386":1}}],["android应用至少需要api",{"2":{"372":1}}],["android",{"2":{"334":1,"344":1,"355":1,"372":1,"388":4,"391":1,"392":3,"394":1,"399":1,"410":2,"411":9,"416":1,"421":1,"422":1,"424":1,"426":4,"429":1,"430":1,"443":2,"444":2,"453":1,"460":3,"471":1,"472":1,"473":2,"474":2,"485":1,"488":1,"489":1,"500":1,"503":1,"505":1,"506":1,"509":2,"521":1,"531":2,"534":1,"539":2,"541":1}}],["and",{"2":{"1":1,"4":2,"5":3,"6":4,"8":5,"10":8,"11":6,"12":12,"15":2,"17":4,"18":2,"19":1,"24":1,"25":1,"27":3,"32":1,"34":1,"48":1,"52":1,"61":1,"63":1,"64":1,"79":1,"87":1,"88":1,"93":1,"102":1,"122":1,"150":1,"171":1,"174":1,"187":1}}],["adoptopenjdk17",{"2":{"407":1}}],["adoptopenjdk",{"2":{"407":1}}],["adopted",{"2":{"12":1,"65":1}}],["ad3f77f",{"2":{"191":1}}],["adapted",{"2":{"12":1,"28":1}}],["adapt",{"2":{"11":1,"73":1}}],["adb用于指定自定义的adb路径",{"2":{"382":1}}],["adbwinusbapi",{"2":{"373":1,"399":1}}],["adbwinapi",{"2":{"373":1,"399":1}}],["adb包",{"2":{"373":1}}],["adb=c",{"2":{"345":1}}],["adb=",{"2":{"345":1}}],["adb路径",{"2":{"280":1}}],["adb",{"0":{"336":1,"340":1,"341":1,"345":1,"373":1,"519":1},"1":{"341":1,"342":1,"343":1,"344":1,"345":1,"346":1},"2":{"11":1,"12":3,"27":1,"72":1,"99":1,"100":1,"135":1,"148":1,"260":1,"340":2,"341":2,"342":3,"344":5,"345":9,"346":1,"367":1,"373":1,"381":1,"382":1,"399":3,"402":1,"426":3,"427":2,"428":3,"429":5,"441":1,"445":3,"455":5,"458":2,"462":3,"463":2,"464":2,"465":3,"472":2,"490":2,"495":1,"500":2,"507":2,"509":1,"511":1,"518":3,"519":7,"520":11,"555":2}}],["adjusting",{"2":{"11":1,"12":1,"33":1}}],["adjust",{"2":{"6":1,"12":5,"34":1,"47":1,"75":1,"85":1,"175":1}}],["addition",{"2":{"12":1,"53":1}}],["adding",{"2":{"10":1,"12":2,"34":1,"51":1,"53":1}}],["addresses",{"2":{"12":1,"27":1}}],["address",{"2":{"11":3,"18":1,"21":1,"58":1}}],["added",{"2":{"10":1,"12":2,"17":1,"44":1,"59":1}}],["add251f",{"2":{"10":1,"51":1}}],["adds",{"2":{"5":1}}],["add",{"2":{"1":1,"2":1,"4":1,"5":6,"6":2,"10":1,"12":4,"20":1,"35":1,"47":1,"48":1,"53":1,"105":1,"112":3,"124":1,"125":1,"132":1,"140":1,"160":1,"163":1,"164":1,"165":1,"167":1,"174":2,"175":1,"176":1,"178":1,"182":1,"186":2,"196":1}}],["ctl",{"2":{"521":1}}],["ctrl+按键",{"2":{"517":1}}],["ctrl+shift+点击并移动",{"2":{"517":1}}],["ctrl+shift+点击并左右移动",{"2":{"436":1}}],["ctrl+点击并移动",{"2":{"436":1,"517":1}}],["ctrl+v",{"2":{"435":1}}],["ctrl+x",{"2":{"435":1}}],["ctrl+c",{"2":{"361":1,"390":1,"435":1,"460":1,"515":1,"541":1}}],["cn",{"2":{"520":2}}],["cbuild",{"2":{"495":1}}],["cb7ac96",{"2":{"8":1}}],["ck",{"2":{"456":1}}],["cx",{"2":{"411":1,"412":1,"414":1,"415":1}}],["c",{"2":{"345":1,"385":1,"451":2,"483":2}}],["cmd",{"2":{"345":2,"377":1,"378":2,"379":1,"426":2,"464":2,"517":1,"519":2,"520":4}}],["c85f8fb",{"2":{"259":1}}],["c82560f",{"2":{"143":1}}],["cfd0e1d",{"2":{"197":1}}],["cf9c82d",{"2":{"178":1}}],["cf8e183",{"2":{"11":1,"39":1}}],["c0e6a01",{"2":{"174":1}}],["c00ac1e",{"2":{"8":1}}],["current",{"2":{"103":1}}],["custom",{"2":{"5":1,"12":1,"53":1,"115":1,"116":1,"122":1,"197":1}}],["c17aaba",{"2":{"12":1,"48":1}}],["c49d22c",{"2":{"12":1,"55":1}}],["c976d4c",{"2":{"12":1,"22":1}}],["c5bed0e",{"2":{"141":1}}],["c5369af",{"2":{"12":1,"49":1}}],["c59994e",{"2":{"8":1}}],["ccb59e1",{"2":{"12":1,"34":1}}],["ccc7f0e",{"2":{"12":1,"87":1}}],["c666709",{"2":{"12":1,"19":1}}],["cec6539",{"2":{"140":1}}],["cef022f",{"2":{"12":1}}],["certain",{"2":{"11":2,"29":1,"39":1}}],["c74f03d",{"2":{"181":1}}],["c70e6ca",{"2":{"130":1}}],["c7a5cd4",{"2":{"12":1}}],["c7c8616",{"2":{"4":1}}],["c2",{"2":{"394":1}}],["c210140",{"2":{"186":1}}],["c214e5a",{"2":{"12":1,"65":1}}],["c2254aa",{"2":{"11":1,"70":1}}],["c323ad6",{"2":{"11":1,"26":1}}],["crop=1224",{"2":{"538":1}}],["crop",{"2":{"536":1,"537":1}}],["crashing",{"2":{"11":1,"64":1}}],["creating",{"2":{"12":1,"50":1}}],["creation",{"2":{"4":1,"11":1,"36":1}}],["created",{"2":{"11":1,"39":1}}],["cd",{"2":{"409":1,"495":1}}],["cd7d9cd",{"2":{"11":1,"95":1}}],["cd06d3b",{"2":{"8":1}}],["classpath=",{"2":{"443":1,"445":2,"458":1}}],["classes",{"2":{"443":4}}],["clarity",{"2":{"8":1}}],["clone",{"2":{"409":1,"495":1}}],["closing",{"2":{"11":1,"12":3,"22":1,"39":1,"50":1}}],["closed",{"2":{"128":1}}],["close",{"2":{"10":1,"92":1,"466":1}}],["cleared",{"2":{"11":1,"36":1}}],["cleanup=false",{"2":{"458":1}}],["clean",{"2":{"8":1,"12":2,"22":1,"53":1}}],["click",{"2":{"11":1,"18":1}}],["clipboard",{"2":{"10":1,"11":1,"25":1,"26":1,"435":1}}],["capture",{"2":{"536":18,"537":1,"538":1}}],["caps=1",{"2":{"521":1}}],["caps",{"2":{"521":1}}],["caching=0",{"2":{"458":1}}],["cask",{"2":{"407":1,"500":1}}],["caskroom",{"2":{"407":1}}],["cases",{"2":{"11":1,"54":1,"130":1}}],["camcorder",{"2":{"391":2}}],["cameras",{"2":{"417":1,"418":1}}],["camera",{"2":{"11":1,"12":3,"87":1,"88":1,"93":2,"141":1,"178":1,"417":1,"418":8,"419":12,"420":1,"421":1,"422":3,"423":6,"477":3}}],["ca79e1b",{"2":{"12":1,"93":1}}],["ca4e826",{"2":{"12":1,"31":1}}],["ca6be85",{"2":{"12":1,"72":1}}],["category",{"2":{"11":1,"36":1}}],["cause",{"2":{"11":1,"39":1,"128":1}}],["caused",{"2":{"11":1,"45":1}}],["caller",{"2":{"474":1}}],["call",{"2":{"11":1,"21":1,"391":4}}],["calling",{"2":{"11":1,"21":1}}],["callbacks",{"2":{"8":1}}],["cannot",{"2":{"11":2,"12":1,"18":1,"27":1,"79":1,"128":1,"182":1}}],["can",{"2":{"10":1,"32":1}}],["card",{"2":{"8":1}}],["column",{"2":{"102":1}}],["color",{"2":{"6":1,"12":1,"19":1}}],["corner",{"2":{"12":1,"19":1}}],["could",{"2":{"11":4,"12":1,"26":1,"29":1,"46":1,"49":1,"54":1,"141":1}}],["copr",{"2":{"494":1}}],["copy",{"2":{"473":1}}],["copying",{"2":{"10":1,"25":1}}],["copied",{"2":{"11":1,"26":1}}],["copilot",{"2":{"5":1,"8":3,"10":1,"106":1,"160":1}}],["com",{"2":{"332":1,"381":4,"409":1,"436":2,"445":2,"458":1,"495":1}}],["completions",{"2":{"414":1}}],["completion",{"2":{"414":1}}],["compression",{"2":{"393":1}}],["compatibility",{"2":{"11":1,"29":1}}],["compatible",{"2":{"11":1,"12":2,"27":1,"47":1,"74":1}}],["component",{"2":{"8":1,"10":1,"17":1}}],["communication",{"2":{"391":2}}],["command",{"2":{"11":1,"21":1,"148":1}}],["commands",{"2":{"1":1}}],["comments",{"2":{"4":2,"12":1,"31":1}}],["codec=av1",{"2":{"534":1}}],["codec=aac",{"2":{"393":2,"512":1}}],["codec=h264",{"2":{"534":1,"535":1}}],["codec=h265",{"2":{"477":3,"534":1}}],["codec=raw",{"2":{"393":1,"395":1,"512":1}}],["codec=flac",{"2":{"393":2,"512":1}}],["codec=opus",{"2":{"393":1,"394":1}}],["codec",{"2":{"182":1,"183":1,"393":2,"458":1,"534":1}}],["code",{"0":{"8":1,"14":1},"2":{"8":1,"10":1,"12":7,"14":1,"31":1,"34":1,"40":1,"47":1,"57":1,"62":1,"63":1,"118":1,"150":1,"156":1}}],["connect",{"2":{"429":1}}],["connections",{"2":{"12":1,"27":1,"172":1}}],["connection",{"2":{"11":1,"12":12,"27":3,"57":1,"58":1,"59":2,"62":1,"65":1,"72":1,"80":1,"100":1,"113":1,"143":1,"172":1}}],["connecting",{"2":{"10":2,"63":2,"172":1}}],["consistent",{"2":{"12":1,"47":1}}],["console",{"2":{"12":1,"69":1,"147":1,"556":3}}],["conversion",{"2":{"12":1,"93":1}}],["content",{"2":{"527":1}}],["context",{"2":{"164":1}}],["contextbridge",{"2":{"12":1,"68":1}}],["control=false",{"2":{"458":1}}],["controlmessage",{"2":{"457":1}}],["controller",{"2":{"449":1}}],["controlling",{"2":{"10":1,"92":1}}],["controls",{"2":{"12":1,"93":1}}],["control",{"2":{"10":2,"11":2,"12":9,"18":1,"19":1,"38":1,"39":1,"40":2,"50":1,"53":1,"87":1,"96":2,"97":1,"98":1,"155":1,"174":1,"175":2,"178":1,"390":2,"432":1,"446":3,"451":1,"455":3,"515":1}}],["conditions",{"2":{"11":1,"54":1}}],["conflicts",{"2":{"130":1}}],["conflict",{"2":{"11":4,"18":1,"26":1,"52":1,"88":1,"141":2}}],["configured",{"2":{"12":1,"40":1}}],["configure",{"2":{"8":1,"174":1,"460":1}}],["configurations",{"2":{"10":1,"11":1,"12":1,"27":1,"32":1,"36":1,"460":1}}],["configuration",{"2":{"4":1,"5":2,"6":2,"11":3,"12":7,"27":1,"34":2,"36":1,"47":1,"53":1,"65":1,"84":1,"88":1,"136":1,"141":2,"175":1}}],["config",{"2":{"1":1,"2":1,"4":1,"6":1,"8":4,"149":1,"402":1,"406":2,"407":1,"495":1}}],["concurrency",{"2":{"6":1}}],["choco",{"2":{"555":1}}],["chocolatey",{"2":{"555":1}}],["chores",{"0":{"1":1,"2":1,"4":1,"13":1,"91":1,"154":1,"161":1}}],["chrome",{"2":{"337":1,"521":1}}],["chmod",{"2":{"337":1}}],["child",{"2":{"12":1,"53":1}}],["chinese",{"2":{"11":1,"18":1,"126":1,"140":1}}],["charging",{"2":{"155":1}}],["characters",{"2":{"11":1,"36":1}}],["chance",{"2":{"11":1,"39":1}}],["changed",{"2":{"182":1}}],["change",{"2":{"8":1}}],["changelog",{"0":{"0":1},"1":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"154":1,"155":1,"156":1,"157":1,"158":1,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"168":1,"169":1,"170":1,"171":1,"172":1,"173":1,"174":1,"175":1,"176":1,"177":1,"178":1,"179":1,"180":1,"181":1,"182":1,"183":1,"184":1,"185":1,"186":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"209":1,"210":1,"211":1,"212":1,"213":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1,"225":1,"226":1,"227":1,"228":1,"229":1,"230":1,"231":1,"232":1,"233":1,"234":1,"235":1,"236":1,"237":1,"238":1,"239":1,"240":1,"241":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":1,"248":1,"249":1,"250":1,"251":1,"252":1,"253":1,"254":1,"255":1,"256":1,"257":1,"258":1,"259":1,"260":1}}]],"serializationVersion":2}';export{e as default}; +const e='{"documentCount":557,"nextId":557,"documentIds":{"0":"/zhHans/changelog#changelog","1":"/zhHans/changelog#miscellaneous-chores","2":"/zhHans/changelog#miscellaneous-chores-1","3":"/zhHans/changelog#bug-fixes","4":"/zhHans/changelog#miscellaneous-chores-2","5":"/zhHans/changelog#features","6":"/zhHans/changelog#bug-fixes-1","7":"/zhHans/changelog#performance-improvements","8":"/zhHans/changelog#code-refactoring","9":"/zhHans/changelog#bug-fixes-2","10":"/zhHans/changelog#features-1","11":"/zhHans/changelog#bug-fixes-3","12":"/zhHans/changelog#performance-improvements-1","13":"/zhHans/changelog#miscellaneous-chores-3","14":"/zhHans/changelog#code-refactoring-1","15":"/zhHans/changelog#performance-improvements-2","16":"/zhHans/changelog#performance-improvements-3","17":"/zhHans/changelog#features-2","18":"/zhHans/changelog#bug-fixes-4","19":"/zhHans/changelog#performance-improvements-4","20":"/zhHans/changelog#features-3","21":"/zhHans/changelog#bug-fixes-5","22":"/zhHans/changelog#performance-improvements-5","23":"/zhHans/changelog#performance-improvements-6","24":"/zhHans/changelog#performance-improvements-7","25":"/zhHans/changelog#features-4","26":"/zhHans/changelog#bug-fixes-6","27":"/zhHans/changelog#performance-improvements-8","28":"/zhHans/changelog#performance-improvements-9","29":"/zhHans/changelog#bug-fixes-7","30":"/zhHans/changelog#performance-improvements-10","31":"/zhHans/changelog#performance-improvements-11","32":"/zhHans/changelog#features-5","33":"/zhHans/changelog#bug-fixes-8","34":"/zhHans/changelog#performance-improvements-12","35":"/zhHans/changelog#performance-improvements-13","36":"/zhHans/changelog#bug-fixes-9","37":"/zhHans/changelog#performance-improvements-14","38":"/zhHans/changelog#features-6","39":"/zhHans/changelog#bug-fixes-10","40":"/zhHans/changelog#performance-improvements-15","41":"/zhHans/changelog#performance-improvements-16","42":"/zhHans/changelog#bug-fixes-11","43":"/zhHans/changelog#performance-improvements-17","44":"/zhHans/changelog#performance-improvements-18","45":"/zhHans/changelog#bug-fixes-12","46":"/zhHans/changelog#bug-fixes-13","47":"/zhHans/changelog#performance-improvements-19","48":"/zhHans/changelog#performance-improvements-20","49":"/zhHans/changelog#performance-improvements-21","50":"/zhHans/changelog#performance-improvements-22","51":"/zhHans/changelog#features-7","52":"/zhHans/changelog#bug-fixes-14","53":"/zhHans/changelog#performance-improvements-23","54":"/zhHans/changelog#bug-fixes-15","55":"/zhHans/changelog#performance-improvements-24","56":"/zhHans/changelog#bug-fixes-16","57":"/zhHans/changelog#performance-improvements-25","58":"/zhHans/changelog#bug-fixes-17","59":"/zhHans/changelog#performance-improvements-26","60":"/zhHans/changelog#performance-improvements-27","61":"/zhHans/changelog#performance-improvements-28","62":"/zhHans/changelog#performance-improvements-29","63":"/zhHans/changelog#features-8","64":"/zhHans/changelog#bug-fixes-18","65":"/zhHans/changelog#performance-improvements-30","66":"/zhHans/changelog#performance-improvements-31","67":"/zhHans/changelog#bug-fixes-19","68":"/zhHans/changelog#performance-improvements-32","69":"/zhHans/changelog#performance-improvements-33","70":"/zhHans/changelog#bug-fixes-20","71":"/zhHans/changelog#bug-fixes-21","72":"/zhHans/changelog#performance-improvements-34","73":"/zhHans/changelog#bug-fixes-22","74":"/zhHans/changelog#bug-fixes-23","75":"/zhHans/changelog#performance-improvements-35","76":"/zhHans/changelog#features-9","77":"/zhHans/changelog#performance-improvements-36","78":"/zhHans/changelog#bug-fixes-24","79":"/zhHans/changelog#bug-fixes-25","80":"/zhHans/changelog#performance-improvements-37","81":"/zhHans/changelog#bug-fixes-26","82":"/zhHans/changelog#performance-improvements-38","83":"/zhHans/changelog#features-10","84":"/zhHans/changelog#bug-fixes-27","85":"/zhHans/changelog#performance-improvements-39","86":"/zhHans/changelog#performance-improvements-40","87":"/zhHans/changelog#performance-improvements-41","88":"/zhHans/changelog#bug-fixes-28","89":"/zhHans/changelog#performance-improvements-42","90":"/zhHans/changelog#bug-fixes-29","91":"/zhHans/changelog#miscellaneous-chores-4","92":"/zhHans/changelog#features-11","93":"/zhHans/changelog#performance-improvements-43","94":"/zhHans/changelog#performance-improvements-44","95":"/zhHans/changelog#bug-fixes-30","96":"/zhHans/changelog#performance-improvements-45","97":"/zhHans/changelog#features-12","98":"/zhHans/changelog#performance-improvements-46","99":"/zhHans/changelog#bug-fixes-31","100":"/zhHans/changelog#performance-improvements-47","101":"/zhHans/changelog#bug-fixes-32","102":"/zhHans/changelog#performance-improvements-48","103":"/zhHans/changelog#performance-improvements-49","104":"/zhHans/changelog#performance-improvements-50","105":"/zhHans/changelog#features-13","106":"/zhHans/changelog#performance-improvements-51","107":"/zhHans/changelog#bug-fixes-33","108":"/zhHans/changelog#performance-improvements-52","109":"/zhHans/changelog#performance-improvements-53","110":"/zhHans/changelog#performance-improvements-54","111":"/zhHans/changelog#bug-fixes-34","112":"/zhHans/changelog#features-14","113":"/zhHans/changelog#bug-fixes-35","114":"/zhHans/changelog#performance-improvements-55","115":"/zhHans/changelog#performance-improvements-56","116":"/zhHans/changelog#bug-fixes-36","117":"/zhHans/changelog#bug-fixes-37","118":"/zhHans/changelog#performance-improvements-57","119":"/zhHans/changelog#bug-fixes-38","120":"/zhHans/changelog#features-15","121":"/zhHans/changelog#bug-fixes-39","122":"/zhHans/changelog#performance-improvements-58","123":"/zhHans/changelog#bug-fixes-40","124":"/zhHans/changelog#features-16","125":"/zhHans/changelog#performance-improvements-59","126":"/zhHans/changelog#bug-fixes-41","127":"/zhHans/changelog#performance-improvements-60","128":"/zhHans/changelog#bug-fixes-42","129":"/zhHans/changelog#bug-fixes-43","130":"/zhHans/changelog#bug-fixes-44","131":"/zhHans/changelog#performance-improvements-61","132":"/zhHans/changelog#features-17","133":"/zhHans/changelog#bug-fixes-45","134":"/zhHans/changelog#performance-improvements-62","135":"/zhHans/changelog#bug-fixes-46","136":"/zhHans/changelog#performance-improvements-63","137":"/zhHans/changelog#bug-fixes-47","138":"/zhHans/changelog#bug-fixes-48","139":"/zhHans/changelog#performance-improvements-64","140":"/zhHans/changelog#features-18","141":"/zhHans/changelog#bug-fixes-49","142":"/zhHans/changelog#bug-fixes-50","143":"/zhHans/changelog#performance-improvements-65","144":"/zhHans/changelog#performance-improvements-66","145":"/zhHans/changelog#performance-improvements-67","146":"/zhHans/changelog#performance-improvements-68","147":"/zhHans/changelog#performance-improvements-69","148":"/zhHans/changelog#bug-fixes-51","149":"/zhHans/changelog#performance-improvements-70","150":"/zhHans/changelog#performance-improvements-71","151":"/zhHans/changelog#features-19","152":"/zhHans/changelog#bug-fixes-52","153":"/zhHans/changelog#performance-improvements-72","154":"/zhHans/changelog#miscellaneous-chores-5","155":"/zhHans/changelog#performance-improvements-73","156":"/zhHans/changelog#bug-fixes-53","157":"/zhHans/changelog#performance-improvements-74","158":"/zhHans/changelog#bug-fixes-54","159":"/zhHans/changelog#bug-fixes-55","160":"/zhHans/changelog#performance-improvements-75","161":"/zhHans/changelog#miscellaneous-chores-6","162":"/zhHans/changelog#features-20","163":"/zhHans/changelog#performance-improvements-76","164":"/zhHans/changelog#performance-improvements-77","165":"/zhHans/changelog#performance-improvements-78","166":"/zhHans/changelog#bug-fixes-56","167":"/zhHans/changelog#features-21","168":"/zhHans/changelog#performance-improvements-79","169":"/zhHans/changelog#performance-improvements-80","170":"/zhHans/changelog#performance-improvements-81","171":"/zhHans/changelog#bug-fixes-57","172":"/zhHans/changelog#performance-improvements-82","173":"/zhHans/changelog#bug-fixes-58","174":"/zhHans/changelog#performance-improvements-83","175":"/zhHans/changelog#performance-improvements-84","176":"/zhHans/changelog#features-22","177":"/zhHans/changelog#bug-fixes-59","178":"/zhHans/changelog#performance-improvements-85","179":"/zhHans/changelog#bug-fixes-60","180":"/zhHans/changelog#bug-fixes-61","181":"/zhHans/changelog#bug-fixes-62","182":"/zhHans/changelog#bug-fixes-63","183":"/zhHans/changelog#performance-improvements-86","184":"/zhHans/changelog#features-23","185":"/zhHans/changelog#bug-fixes-64","186":"/zhHans/changelog#performance-improvements-87","187":"/zhHans/changelog#performance-improvements-88","188":"/zhHans/changelog#bug-fixes-65","189":"/zhHans/changelog#bug-fixes-66","190":"/zhHans/changelog#bug-fixes-67","191":"/zhHans/changelog#bug-fixes-68","192":"/zhHans/changelog#bug-fixes-69","193":"/zhHans/changelog#bug-fixes-70","194":"/zhHans/changelog#bug-fixes-71","195":"/zhHans/changelog#bug-fixes-72","196":"/zhHans/changelog#features-24","197":"/zhHans/changelog#bug-fixes-73","198":"/zhHans/changelog#performance-improvements-89","199":"/zhHans/changelog#bug-fixes-74","200":"/zhHans/changelog#bug-fixes-75","201":"/zhHans/changelog#features-25","202":"/zhHans/changelog#bug-fixes-76","203":"/zhHans/changelog#performance-improvements-90","204":"/zhHans/changelog#performance-improvements-91","205":"/zhHans/changelog#features-26","206":"/zhHans/changelog#bug-fixes-77","207":"/zhHans/changelog#bug-fixes-78","208":"/zhHans/changelog#performance-improvements-92","209":"/zhHans/changelog#bug-fixes-79","210":"/zhHans/changelog#bug-fixes-80","211":"/zhHans/changelog#performance-improvements-93","212":"/zhHans/changelog#bug-fixes-81","213":"/zhHans/changelog#performance-improvements-94","214":"/zhHans/changelog#bug-fixes-82","215":"/zhHans/changelog#bug-fixes-83","216":"/zhHans/changelog#bug-fixes-84","217":"/zhHans/changelog#bug-fixes-85","218":"/zhHans/changelog#bug-fixes-86","219":"/zhHans/changelog#bug-fixes-87","220":"/zhHans/changelog#bug-fixes-88","221":"/zhHans/changelog#bug-fixes-89","222":"/zhHans/changelog#bug-fixes-90","223":"/zhHans/changelog#performance-improvements-95","224":"/zhHans/changelog#features-27","225":"/zhHans/changelog#bug-fixes-91","226":"/zhHans/changelog#performance-improvements-96","227":"/zhHans/changelog#bug-fixes-92","228":"/zhHans/changelog#performance-improvements-97","229":"/zhHans/changelog#features-28","230":"/zhHans/changelog#performance-improvements-98","231":"/zhHans/changelog#performance-improvements-99","232":"/zhHans/changelog#bug-fixes-93","233":"/zhHans/changelog#performance-improvements-100","234":"/zhHans/changelog#performance-improvements-101","235":"/zhHans/changelog#bug-fixes-94","236":"/zhHans/changelog#bug-fixes-95","237":"/zhHans/changelog#bug-fixes-96","238":"/zhHans/changelog#bug-fixes-97","239":"/zhHans/changelog#bug-fixes-98","240":"/zhHans/changelog#performance-improvements-102","241":"/zhHans/changelog#features-29","242":"/zhHans/changelog#bug-fixes-99","243":"/zhHans/changelog#bug-fixes-100","244":"/zhHans/changelog#performance-improvements-103","245":"/zhHans/changelog#bug-fixes-101","246":"/zhHans/changelog#features-30","247":"/zhHans/changelog#bug-fixes-102","248":"/zhHans/changelog#features-31","249":"/zhHans/changelog#bug-fixes-103","250":"/zhHans/changelog#bug-fixes-104","251":"/zhHans/changelog#bug-fixes-105","252":"/zhHans/changelog#bug-fixes-106","253":"/zhHans/changelog#features-32","254":"/zhHans/changelog#features-33","255":"/zhHans/changelog#features-34","256":"/zhHans/changelog#performance-improvements-104","257":"/zhHans/changelog#bug-fixes-107","258":"/zhHans/changelog#_1-0-0-2023-09-16","259":"/zhHans/changelog#features-35","260":"/zhHans/changelog#bug-fixes-108","261":"/zhHans/donate#捐赠项目♥️","262":"/zhHans/guide/#escrcpy-基于electron的图形化安卓设备控制工具","263":"/zhHans/guide/#什么是escrcpy","264":"/zhHans/guide/#核心功能","265":"/zhHans/guide/#高效稳定的投屏体验","266":"/zhHans/guide/#丰富的功能特性","267":"/zhHans/guide/#优化的用户体验","268":"/zhHans/guide/#使用场景","269":"/zhHans/guide/#跨平台支持","270":"/zhHans/guide/#技术优势","271":"/zhHans/guide/#未来发展","272":"/zhHans/guide/#如何使用","273":"/zhHans/guide/#结语","274":"/zhHans/guide/milestones#里程碑","275":"/zhHans/guide/operation#设备操作指南","276":"/zhHans/guide/operation#批量处理","277":"/zhHans/guide/operation#控制模式","278":"/zhHans/guide/operation#设备交互栏","279":"/zhHans/guide/preferences#偏好设置","280":"/zhHans/guide/preferences#通用设置","281":"/zhHans/guide/preferences#视频控制","282":"/zhHans/guide/preferences#设备控制","283":"/zhHans/guide/preferences#窗口控制","284":"/zhHans/guide/preferences#音频控制","285":"/zhHans/guide/preferences#音视频录制","286":"/zhHans/guide/preferences#输入控制","287":"/zhHans/guide/preferences#摄像头控制","288":"/zhHans/guide/started#快速上手","289":"/zhHans/guide/started#安装说明","290":"/zhHans/guide/started#手动安装-通过发行包","291":"/zhHans/guide/started#macos用户可通过homebrew安装","292":"/zhHans/guide/started#usb连接方式","293":"/zhHans/guide/started#无线连接方式","294":"/zhHans/guide/started#扫码连接","295":"/zhHans/guide/started#ip地址连接","296":"/zhHans/guide/started#macos与linux平台","297":"/zhHans/guide/started#gnirehtet反向网络共享","298":"/zhHans/help/escrcpy#escrcpy","299":"/zhHans/help/escrcpy#电脑连接后无法识别设备","300":"/zhHans/help/escrcpy#无法输入中文","301":"/zhHans/help/escrcpy#无线连接提示-目标计算机积极拒绝访问","302":"/zhHans/help/escrcpy#数据线连接后点击无线模式无响应","303":"/zhHans/help/escrcpy#为何设备交互控制栏未设计为自动贴边的悬浮菜单","304":"/zhHans/help/escrcpy#部分设备连接后可见画面但无法操作","305":"/zhHans/help/escrcpy#下载时提示杀毒检测导致无法正常下载","306":"/zhHans/help/escrcpy#启动镜像-录制时获取设备列表失败或报错","307":"/zhHans/help/escrcpy#macos窗口最小化至系统托盘图标未找到","308":"/zhHans/help/escrcpy#macos安装成功后打开提示文件已损坏","309":"/zhHans/help/escrcpy#无法定位程序输入点discardvirtualmemory于动态链接库kernel32-dll上","310":"/zhHans/help/escrcpy#音频捕获异常导致镜像失败","311":"/zhHans/help/escrcpy#微软商店版镜像启动报错","312":"/zhHans/help/escrcpy#无法执行-adb-start-server","313":"/zhHans/help/escrcpy#linux系统安装后无法打开","314":"/zhHans/help/escrcpy#调整投屏窗口大小后出现黑边","315":"/zhHans/guide/window-arrangement#设备窗口编排功能详解","316":"/zhHans/guide/window-arrangement#功能概述","317":"/zhHans/guide/window-arrangement#核心组件","318":"/zhHans/guide/window-arrangement#全局配置组件","319":"/zhHans/guide/window-arrangement#设备窗口组件","320":"/zhHans/guide/window-arrangement#详细操作指南","321":"/zhHans/guide/window-arrangement#启动窗口编排","322":"/zhHans/guide/window-arrangement#添加和管理组件","323":"/zhHans/guide/window-arrangement#添加全局配置组件","324":"/zhHans/guide/window-arrangement#添加设备窗口组件","325":"/zhHans/guide/window-arrangement#窗口布局调整","326":"/zhHans/guide/window-arrangement#移动窗口位置","327":"/zhHans/guide/window-arrangement#调整窗口尺寸","328":"/zhHans/guide/window-arrangement#尺寸限制说明","329":"/zhHans/guide/window-arrangement#布局管理操作","330":"/zhHans/guide/window-arrangement#重置布局","331":"/zhHans/guide/window-arrangement#清除全部组件","332":"/zhHans/guide/window-arrangement#删除单个组件","333":"/zhHans/guide/window-arrangement#配置保存和应用","334":"/zhHans/guide/window-arrangement#保存布局配置","335":"/zhHans/guide/window-arrangement#配置存储机制","336":"/zhHans/guide/window-arrangement#配置应用时机","337":"/zhHans/guide/window-arrangement#故障排除","338":"/zhHans/guide/window-arrangement#常见问题","339":"/zhHans/help/#帮助中心","340":"/zhHans/help/scrcpy#scrcpy","341":"/zhHans/help/scrcpy#adb-与-usb-问题","342":"/zhHans/help/scrcpy#adb-未找到","343":"/zhHans/help/scrcpy#设备未检测到","344":"/zhHans/help/scrcpy#设备未授权","345":"/zhHans/help/scrcpy#多设备连接冲突","346":"/zhHans/help/scrcpy#adb-版本冲突","347":"/zhHans/help/scrcpy#设备断开连接","348":"/zhHans/help/scrcpy#windows-otg-问题","349":"/zhHans/help/scrcpy#控制问题","350":"/zhHans/help/scrcpy#鼠标键盘失效","351":"/zhHans/help/scrcpy#特殊字符输入异常","352":"/zhHans/help/scrcpy#客户端问题","353":"/zhHans/help/scrcpy#wayland-兼容性问题","354":"/zhHans/help/scrcpy#kwin-合成器崩溃","355":"/zhHans/help/scrcpy#崩溃问题","356":"/zhHans/help/scrcpy#mediacodec-异常","357":"/zhHans/reference/gnirehtet/api#gnirehtet-api","358":"/zhHans/reference/gnirehtet/api#gnirehtet-install-serial","359":"/zhHans/reference/gnirehtet/api#gnirehtet-uninstall-serial","360":"/zhHans/reference/gnirehtet/api#gnirehtet-reinstall-serial","361":"/zhHans/reference/gnirehtet/api#gnirehtet-run-serial-d-dns-dns2-p-port-r-route-route2","362":"/zhHans/reference/gnirehtet/api#gnirehtet-autorun-d-dns-dns2-p-port-r-route-route2","363":"/zhHans/reference/gnirehtet/api#gnirehtet-start-serial-d-dns-dns2-p-port-r-route-route2","364":"/zhHans/reference/gnirehtet/api#gnirehtet-autostart-d-dns-dns2-p-port-r-route-route2","365":"/zhHans/reference/gnirehtet/api#gnirehtet-stop-serial","366":"/zhHans/reference/gnirehtet/api#gnirehtet-restart-serial-d-dns-dns2-p-port-r-route-route2","367":"/zhHans/reference/gnirehtet/api#gnirehtet-tunnel-serial-p-port","368":"/zhHans/reference/gnirehtet/api#gnirehtet-relay-p-port","369":"/zhHans/reference/gnirehtet/#gnirehtet-v2-5-1","370":"/zhHans/reference/gnirehtet/#版本","371":"/zhHans/reference/gnirehtet/#如何选择","372":"/zhHans/reference/gnirehtet/#要求","373":"/zhHans/reference/gnirehtet/#adb","374":"/zhHans/reference/gnirehtet/#获取应用","375":"/zhHans/reference/gnirehtet/#homebrew","376":"/zhHans/reference/gnirehtet/#下载","377":"/zhHans/reference/gnirehtet/#rust","378":"/zhHans/reference/gnirehtet/#java","379":"/zhHans/reference/gnirehtet/#运行-简单方式","380":"/zhHans/reference/gnirehtet/#运行-分步操作","381":"/zhHans/reference/gnirehtet/#手动运行","382":"/zhHans/reference/gnirehtet/#环境变量","383":"/zhHans/reference/gnirehtet/#为什么叫gnirehtet","384":"/zhHans/reference/gnirehtet/#开发者","385":"/zhHans/reference/gnirehtet/#许可证","386":"/zhHans/reference/gnirehtet/#相关文章","387":"/zhHans/reference/#参考手册","388":"/zhHans/reference/scrcpy/audio#音频","389":"/zhHans/reference/scrcpy/audio#禁用音频","390":"/zhHans/reference/scrcpy/audio#仅音频模式","391":"/zhHans/reference/scrcpy/audio#音频源","392":"/zhHans/reference/scrcpy/audio#音频复制","393":"/zhHans/reference/scrcpy/audio#编解码器","394":"/zhHans/reference/scrcpy/audio#编码器","395":"/zhHans/reference/scrcpy/audio#比特率","396":"/zhHans/reference/scrcpy/audio#缓冲","397":"/zhHans/reference/scrcpy/build#编译-scrcpy","398":"/zhHans/reference/scrcpy/build#分支","399":"/zhHans/reference/scrcpy/build#要求","400":"/zhHans/reference/scrcpy/build#系统特定步骤","401":"/zhHans/reference/scrcpy/build#linux","402":"/zhHans/reference/scrcpy/build#debian-ubuntu","403":"/zhHans/reference/scrcpy/build#fedora","404":"/zhHans/reference/scrcpy/build#windows","405":"/zhHans/reference/scrcpy/build#从-linux-交叉编译","406":"/zhHans/reference/scrcpy/build#在-msys2-中构建","407":"/zhHans/reference/scrcpy/build#mac-os","408":"/zhHans/reference/scrcpy/build#docker","409":"/zhHans/reference/scrcpy/build#通用步骤","410":"/zhHans/reference/scrcpy/build#构建","411":"/zhHans/reference/scrcpy/build#选项-1-从源码构建所有内容","412":"/zhHans/reference/scrcpy/build#选项-2-使用预构建服务器","413":"/zhHans/reference/scrcpy/build#不安装直接运行","414":"/zhHans/reference/scrcpy/build#安装","415":"/zhHans/reference/scrcpy/build#卸载","416":"/zhHans/reference/scrcpy/camera#相机","417":"/zhHans/reference/scrcpy/camera#列表","418":"/zhHans/reference/scrcpy/camera#选择","419":"/zhHans/reference/scrcpy/camera#尺寸选择","420":"/zhHans/reference/scrcpy/camera#旋转","421":"/zhHans/reference/scrcpy/camera#帧率","422":"/zhHans/reference/scrcpy/camera#高速捕获","423":"/zhHans/reference/scrcpy/camera#花括号扩展技巧","424":"/zhHans/reference/scrcpy/camera#网络摄像头","425":"/zhHans/reference/scrcpy/connection#连接","426":"/zhHans/reference/scrcpy/connection#设备选择","427":"/zhHans/reference/scrcpy/connection#tcp-ip-无线连接","428":"/zhHans/reference/scrcpy/connection#自动连接","429":"/zhHans/reference/scrcpy/connection#手动连接","430":"/zhHans/reference/scrcpy/connection#自动启动","431":"/zhHans/reference/scrcpy/control#控制","432":"/zhHans/reference/scrcpy/control#只读模式","433":"/zhHans/reference/scrcpy/control#键盘与鼠标","434":"/zhHans/reference/scrcpy/control#仅控制模式","435":"/zhHans/reference/scrcpy/control#复制粘贴","436":"/zhHans/reference/scrcpy/control#捏合缩放、旋转与倾斜模拟","437":"/zhHans/reference/scrcpy/control#文件拖放","438":"/zhHans/reference/scrcpy/control#安装apk","439":"/zhHans/reference/scrcpy/control#推送文件到设备","440":"/zhHans/reference/scrcpy/develop#开发者指南-scrcpy","441":"/zhHans/reference/scrcpy/develop#概述","442":"/zhHans/reference/scrcpy/develop#服务端","443":"/zhHans/reference/scrcpy/develop#权限","444":"/zhHans/reference/scrcpy/develop#隐藏方法","445":"/zhHans/reference/scrcpy/develop#执行","446":"/zhHans/reference/scrcpy/develop#组件","447":"/zhHans/reference/scrcpy/develop#屏幕视频编码","448":"/zhHans/reference/scrcpy/develop#音频编码","449":"/zhHans/reference/scrcpy/develop#输入事件注入","450":"/zhHans/reference/scrcpy/develop#客户端","451":"/zhHans/reference/scrcpy/develop#初始化","452":"/zhHans/reference/scrcpy/develop#视频和音频流","453":"/zhHans/reference/scrcpy/develop#控制器","454":"/zhHans/reference/scrcpy/develop#协议","455":"/zhHans/reference/scrcpy/develop#连接","456":"/zhHans/reference/scrcpy/develop#视频和音频","457":"/zhHans/reference/scrcpy/develop#控制","458":"/zhHans/reference/scrcpy/develop#独立服务端","459":"/zhHans/reference/scrcpy/develop#黑客指南","460":"/zhHans/reference/scrcpy/develop#调试服务端","461":"/zhHans/reference/scrcpy/device#设备控制","462":"/zhHans/reference/scrcpy/device#保持唤醒","463":"/zhHans/reference/scrcpy/device#屏幕关闭超时","464":"/zhHans/reference/scrcpy/device#关闭屏幕","465":"/zhHans/reference/scrcpy/device#显示触摸痕迹","466":"/zhHans/reference/scrcpy/device#关闭时断电","467":"/zhHans/reference/scrcpy/device#启动时通电","468":"/zhHans/reference/scrcpy/device#启动android应用","469":"/zhHans/reference/scrcpy/gamepad#gamepad-游戏手柄","470":"/zhHans/reference/scrcpy/gamepad#物理游戏手柄模拟","471":"/zhHans/reference/scrcpy/gamepad#uhid-模式","472":"/zhHans/reference/scrcpy/gamepad#aoa-模式","473":"/zhHans/reference/scrcpy/#scrcpy-v3-2","474":"/zhHans/reference/scrcpy/#前提条件","475":"/zhHans/reference/scrcpy/#获取应用","476":"/zhHans/reference/scrcpy/#必知技巧","477":"/zhHans/reference/scrcpy/#使用示例","478":"/zhHans/reference/scrcpy/#用户文档","479":"/zhHans/reference/scrcpy/#资源","480":"/zhHans/reference/scrcpy/#相关文章","481":"/zhHans/reference/scrcpy/#联系方式","482":"/zhHans/reference/scrcpy/#捐赠","483":"/zhHans/reference/scrcpy/#许可证","484":"/zhHans/reference/scrcpy/keyboard#键盘","485":"/zhHans/reference/scrcpy/keyboard#sdk-键盘模式","486":"/zhHans/reference/scrcpy/keyboard#文本注入偏好","487":"/zhHans/reference/scrcpy/keyboard#按键重复","488":"/zhHans/reference/scrcpy/keyboard#物理键盘模拟","489":"/zhHans/reference/scrcpy/keyboard#uhid-模式","490":"/zhHans/reference/scrcpy/keyboard#aoa-模式","491":"/zhHans/reference/scrcpy/linux#linux-平台指南","492":"/zhHans/reference/scrcpy/linux#安装","493":"/zhHans/reference/scrcpy/linux#官方发布版本","494":"/zhHans/reference/scrcpy/linux#通过包管理器安装","495":"/zhHans/reference/scrcpy/linux#使用安装脚本","496":"/zhHans/reference/scrcpy/linux#运行","497":"/zhHans/reference/scrcpy/macos#在-macos-上使用-scrcpy","498":"/zhHans/reference/scrcpy/macos#安装","499":"/zhHans/reference/scrcpy/macos#从官方发布版本安装","500":"/zhHans/reference/scrcpy/macos#通过包管理器安装","501":"/zhHans/reference/scrcpy/macos#运行","502":"/zhHans/reference/scrcpy/mouse#鼠标","503":"/zhHans/reference/scrcpy/mouse#sdk-鼠标模式","504":"/zhHans/reference/scrcpy/mouse#鼠标悬停","505":"/zhHans/reference/scrcpy/mouse#物理鼠标模拟","506":"/zhHans/reference/scrcpy/mouse#uhid-模式","507":"/zhHans/reference/scrcpy/mouse#aoa-模式","508":"/zhHans/reference/scrcpy/mouse#鼠标按键绑定","509":"/zhHans/reference/scrcpy/otg#otg","510":"/zhHans/reference/scrcpy/otg#windows-上的-otg-问题","511":"/zhHans/reference/scrcpy/otg#仅控制功能","512":"/zhHans/reference/scrcpy/recording#录制","513":"/zhHans/reference/scrcpy/recording#格式","514":"/zhHans/reference/scrcpy/recording#旋转","515":"/zhHans/reference/scrcpy/recording#无播放","516":"/zhHans/reference/scrcpy/recording#时间限制","517":"/zhHans/reference/scrcpy/shortcuts#快捷键","518":"/zhHans/reference/scrcpy/tunnels#隧道连接","519":"/zhHans/reference/scrcpy/tunnels#远程-adb-服务器","520":"/zhHans/reference/scrcpy/tunnels#ssh-隧道","521":"/zhHans/reference/scrcpy/video#视频","522":"/zhHans/reference/scrcpy/video#源","523":"/zhHans/reference/scrcpy/video#尺寸","524":"/zhHans/reference/scrcpy/video#比特率","525":"/zhHans/reference/scrcpy/video#帧率","526":"/zhHans/reference/scrcpy/video#编解码器","527":"/zhHans/reference/scrcpy/video#编码器","528":"/zhHans/reference/scrcpy/video#方向","529":"/zhHans/reference/scrcpy/video#角度","530":"/zhHans/reference/scrcpy/video#裁剪","531":"/zhHans/reference/scrcpy/video#显示","532":"/zhHans/reference/scrcpy/video#缓冲","533":"/zhHans/reference/scrcpy/video#无播放","534":"/zhHans/reference/scrcpy/video#无视频","535":"/zhHans/reference/scrcpy/video#video4linux","536":"/zhHans/reference/scrcpy/v4l2#video4linux","537":"/zhHans/reference/scrcpy/v4l2#缓冲","538":"/zhHans/reference/scrcpy/virtual_display#虚拟显示屏","539":"/zhHans/reference/scrcpy/virtual_display#新建虚拟显示屏","540":"/zhHans/reference/scrcpy/virtual_display#启动应用","541":"/zhHans/reference/scrcpy/virtual_display#系统装饰","542":"/zhHans/reference/scrcpy/virtual_display#关闭时销毁","543":"/zhHans/reference/scrcpy/virtual_display#输入法策略","544":"/zhHans/reference/scrcpy/window#窗口设置","545":"/zhHans/reference/scrcpy/window#禁用窗口显示","546":"/zhHans/reference/scrcpy/window#窗口标题","547":"/zhHans/reference/scrcpy/window#位置与尺寸","548":"/zhHans/reference/scrcpy/window#无边框模式","549":"/zhHans/reference/scrcpy/window#窗口置顶","550":"/zhHans/reference/scrcpy/window#全屏模式","551":"/zhHans/reference/scrcpy/window#禁用屏幕保护","552":"/zhHans/reference/scrcpy/windows#windows-平台指南","553":"/zhHans/reference/scrcpy/windows#安装","554":"/zhHans/reference/scrcpy/windows#官方发布版本","555":"/zhHans/reference/scrcpy/windows#通过包管理器安装","556":"/zhHans/reference/scrcpy/windows#运行"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[1,1,1],"1":[2,1,14],"2":[2,1,9],"3":[2,1,7],"4":[2,1,43],"5":[1,1,59],"6":[2,1,65],"7":[2,1,14],"8":[2,1,103],"9":[2,1,11],"10":[1,1,154],"11":[2,1,282],"12":[2,1,533],"13":[2,1,8],"14":[2,1,14],"15":[2,1,23],"16":[2,1,7],"17":[1,1,40],"18":[2,1,34],"19":[2,1,59],"20":[1,1,7],"21":[2,1,36],"22":[2,1,23],"23":[2,1,8],"24":[2,1,8],"25":[1,1,21],"26":[2,1,23],"27":[2,1,51],"28":[2,1,10],"29":[2,1,20],"30":[2,1,8],"31":[2,1,7],"32":[1,1,26],"33":[2,1,33],"34":[2,1,78],"35":[2,1,14],"36":[2,1,41],"37":[2,1,14],"38":[1,1,18],"39":[2,1,49],"40":[2,1,45],"41":[2,1,9],"42":[2,1,19],"43":[2,1,8],"44":[2,1,17],"45":[2,1,13],"46":[2,1,16],"47":[2,1,43],"48":[2,1,25],"49":[2,1,23],"50":[2,1,29],"51":[1,1,21],"52":[2,1,23],"53":[2,1,63],"54":[2,1,30],"55":[2,1,26],"56":[2,1,6],"57":[2,1,17],"58":[2,1,18],"59":[2,1,27],"60":[2,1,7],"61":[2,1,20],"62":[2,1,8],"63":[1,1,18],"64":[2,1,13],"65":[2,1,33],"66":[2,1,8],"67":[2,1,7],"68":[2,1,26],"69":[2,1,6],"70":[2,1,16],"71":[2,1,12],"72":[2,1,22],"73":[2,1,9],"74":[2,1,10],"75":[2,1,12],"76":[1,1,7],"77":[2,1,7],"78":[2,1,9],"79":[2,1,23],"80":[2,1,23],"81":[2,1,7],"82":[2,1,10],"83":[1,1,13],"84":[2,1,23],"85":[2,1,22],"86":[2,1,17],"87":[2,1,19],"88":[2,1,10],"89":[2,1,12],"90":[2,1,7],"91":[2,1,5],"92":[1,1,15],"93":[2,1,35],"94":[2,1,7],"95":[2,1,8],"96":[2,1,23],"97":[1,1,7],"98":[2,1,18],"99":[2,1,16],"100":[2,1,7],"101":[2,1,9],"102":[2,1,13],"103":[2,1,11],"104":[2,1,5],"105":[1,1,13],"106":[2,1,5],"107":[2,1,8],"108":[2,1,6],"109":[2,1,9],"110":[2,1,16],"111":[2,1,7],"112":[1,1,16],"113":[2,1,17],"114":[2,1,16],"115":[2,1,11],"116":[2,1,12],"117":[2,1,10],"118":[2,1,12],"119":[2,1,7],"120":[1,1,10],"121":[2,1,16],"122":[2,1,26],"123":[2,1,8],"124":[1,1,8],"125":[2,1,7],"126":[2,1,12],"127":[2,1,8],"128":[2,1,12],"129":[2,1,7],"130":[2,1,17],"131":[2,1,5],"132":[1,1,13],"133":[2,1,9],"134":[2,1,23],"135":[2,1,9],"136":[2,1,5],"137":[2,1,7],"138":[2,1,8],"139":[2,1,5],"140":[1,1,10],"141":[2,1,15],"142":[2,1,7],"143":[2,1,16],"144":[2,1,10],"145":[2,1,5],"146":[2,1,8],"147":[2,1,6],"148":[2,1,9],"149":[2,1,6],"150":[2,1,24],"151":[1,1,8],"152":[2,1,8],"153":[2,1,5],"154":[2,1,6],"155":[2,1,7],"156":[2,1,7],"157":[2,1,8],"158":[2,1,6],"159":[2,1,6],"160":[2,1,16],"161":[2,1,6],"162":[1,1,3],"163":[2,1,7],"164":[2,1,16],"165":[2,1,11],"166":[2,1,6],"167":[1,1,6],"168":[2,1,15],"169":[2,1,10],"170":[2,1,9],"171":[2,1,9],"172":[2,1,22],"173":[2,1,9],"174":[2,1,26],"175":[2,1,15],"176":[1,1,7],"177":[2,1,5],"178":[2,1,23],"179":[2,1,10],"180":[2,1,10],"181":[2,1,6],"182":[2,1,33],"183":[2,1,13],"184":[1,1,8],"185":[2,1,5],"186":[2,1,23],"187":[2,1,11],"188":[2,1,7],"189":[2,1,6],"190":[2,1,6],"191":[2,1,6],"192":[2,1,6],"193":[2,1,10],"194":[2,1,6],"195":[2,1,6],"196":[1,1,8],"197":[2,1,8],"198":[2,1,12],"199":[2,1,4],"200":[2,1,6],"201":[1,1,7],"202":[2,1,13],"203":[2,1,7],"204":[2,1,4],"205":[1,1,6],"206":[2,1,6],"207":[2,1,4],"208":[2,1,6],"209":[2,1,6],"210":[2,1,6],"211":[2,1,10],"212":[2,1,8],"213":[2,1,4],"214":[2,1,6],"215":[2,1,6],"216":[2,1,6],"217":[2,1,4],"218":[2,1,6],"219":[2,1,7],"220":[2,1,6],"221":[2,1,8],"222":[2,1,11],"223":[2,1,6],"224":[1,1,8],"225":[2,1,7],"226":[2,1,4],"227":[2,1,4],"228":[2,1,4],"229":[1,1,6],"230":[2,1,4],"231":[2,1,5],"232":[2,1,6],"233":[2,1,4],"234":[2,1,4],"235":[2,1,9],"236":[2,1,7],"237":[2,1,10],"238":[2,1,4],"239":[2,1,4],"240":[2,1,4],"241":[1,1,4],"242":[2,1,4],"243":[2,1,4],"244":[2,1,4],"245":[2,1,4],"246":[1,1,4],"247":[2,1,4],"248":[1,1,4],"249":[2,1,6],"250":[2,1,4],"251":[2,1,4],"252":[2,1,4],"253":[1,1,6],"254":[1,1,4],"255":[1,1,6],"256":[2,1,4],"257":[2,1,4],"258":[6,1,1],"259":[1,7,13],"260":[2,7,6],"261":[1,1,5],"262":[2,1,1],"263":[2,2,8],"264":[1,2,1],"265":[1,3,16],"266":[1,3,27],"267":[1,3,15],"268":[1,2,7],"269":[1,2,5],"270":[1,2,8],"271":[1,2,6],"272":[1,2,5],"273":[1,2,9],"274":[1,1,51],"275":[1,1,1],"276":[1,1,7],"277":[1,1,8],"278":[1,1,22],"279":[1,1,3],"280":[1,1,17],"281":[1,1,14],"282":[1,1,7],"283":[1,1,9],"284":[1,1,8],"285":[1,1,6],"286":[1,1,6],"287":[1,1,5],"288":[1,1,1],"289":[1,1,1],"290":[3,2,4],"291":[1,2,4],"292":[1,1,11],"293":[1,1,1],"294":[1,2,9],"295":[1,2,18],"296":[1,1,13],"297":[1,1,11],"298":[1,1,1],"299":[1,1,6],"300":[1,1,34],"301":[2,1,3],"302":[1,1,6],"303":[2,1,12],"304":[1,1,8],"305":[1,1,18],"306":[2,1,13],"307":[1,1,5],"308":[1,1,16],"309":[2,1,3],"310":[1,1,5],"311":[1,1,6],"312":[6,1,3],"313":[1,1,14],"314":[1,1,3],"315":[1,1,9],"316":[1,1,8],"317":[1,1,1],"318":[1,2,6],"319":[1,2,6],"320":[1,1,1],"321":[1,2,8],"322":[1,2,1],"323":[1,3,12],"324":[1,3,13],"325":[1,2,1],"326":[1,3,9],"327":[1,3,9],"328":[1,3,13],"329":[1,2,1],"330":[1,3,9],"331":[1,3,8],"332":[1,3,6],"333":[1,1,1],"334":[1,2,12],"335":[1,2,18],"336":[1,2,9],"337":[1,1,1],"338":[1,2,27],"339":[1,1,4],"340":[1,1,4],"341":[4,1,13],"342":[2,5,12],"343":[1,5,18],"344":[1,5,16],"345":[1,5,55],"346":[2,5,33],"347":[1,5,17],"348":[3,1,22],"349":[1,1,1],"350":[1,2,12],"351":[1,2,12],"352":[1,1,1],"353":[2,2,20],"354":[2,2,10],"355":[1,1,1],"356":[2,2,21],"357":[2,1,5],"358":[4,2,12],"359":[4,2,12],"360":[4,2,9],"361":[12,2,27],"362":[11,2,22],"363":[12,2,26],"364":[11,2,25],"365":[4,2,8],"366":[12,2,22],"367":[6,2,18],"368":[5,2,9],"369":[5,1,17],"370":[1,5,4],"371":[2,5,9],"372":[1,5,13],"373":[1,5,23],"374":[1,5,1],"375":[1,5,7],"376":[1,5,2],"377":[1,6,27],"378":[1,6,16],"379":[3,5,29],"380":[3,5,24],"381":[1,5,29],"382":[1,5,17],"383":[2,5,5],"384":[1,5,2],"385":[1,5,26],"386":[1,5,9],"387":[1,1,7],"388":[1,1,30],"389":[1,1,7],"390":[1,1,22],"391":[1,1,60],"392":[1,2,21],"393":[1,1,46],"394":[1,1,14],"395":[1,1,15],"396":[1,1,35],"397":[2,1,10],"398":[1,2,14],"399":[1,2,30],"400":[1,2,1],"401":[1,3,2],"402":[2,4,44],"403":[1,4,31],"404":[1,3,1],"405":[3,4,31],"406":[3,4,45],"407":[2,3,46],"408":[1,3,5],"409":[1,2,12],"410":[1,3,12],"411":[3,4,42],"412":[3,4,32],"413":[1,3,5],"414":[1,3,39],"415":[1,3,8],"416":[1,1,34],"417":[1,1,13],"418":[1,1,30],"419":[1,2,66],"420":[1,1,9],"421":[1,1,14],"422":[1,1,16],"423":[1,1,22],"424":[1,1,9],"425":[1,1,1],"426":[1,1,58],"427":[4,1,12],"428":[1,5,41],"429":[1,5,52],"430":[1,1,10],"431":[1,1,1],"432":[1,1,12],"433":[1,1,2],"434":[1,1,22],"435":[1,1,55],"436":[2,1,41],"437":[1,1,1],"438":[1,2,8],"439":[1,2,13],"440":[2,1,1],"441":[1,2,81],"442":[1,2,1],"443":[1,3,65],"444":[1,3,14],"445":[1,3,58],"446":[1,3,37],"447":[1,3,34],"448":[1,3,11],"449":[1,3,27],"450":[1,2,11],"451":[1,3,26],"452":[1,3,46],"453":[1,3,22],"454":[1,2,17],"455":[1,3,69],"456":[1,3,57],"457":[1,3,10],"458":[1,2,80],"459":[1,2,6],"460":[1,3,54],"461":[1,1,2],"462":[1,1,37],"463":[1,1,27],"464":[1,1,38],"465":[1,1,30],"466":[1,1,7],"467":[1,1,8],"468":[1,1,30],"469":[3,1,16],"470":[1,3,5],"471":[2,3,19],"472":[2,3,50],"473":[4,1,53],"474":[1,4,45],"475":[1,4,5],"476":[1,4,8],"477":[1,4,56],"478":[1,4,19],"479":[1,4,6],"480":[1,4,7],"481":[1,4,15],"482":[1,4,9],"483":[1,4,29],"484":[1,1,26],"485":[2,1,18],"486":[1,3,29],"487":[1,3,9],"488":[1,1,36],"489":[2,2,32],"490":[2,2,39],"491":[2,1,1],"492":[1,2,1],"493":[1,3,15],"494":[1,3,24],"495":[1,3,59],"496":[1,2,16],"497":[4,1,1],"498":[1,4,1],"499":[1,5,21],"500":[1,5,27],"501":[1,4,18],"502":[1,1,17],"503":[2,1,12],"504":[1,3,10],"505":[1,1,20],"506":[2,2,18],"507":[2,2,42],"508":[1,1,84],"509":[1,1,60],"510":[4,1,2],"511":[1,1,31],"512":[1,1,33],"513":[1,1,25],"514":[1,1,3],"515":[1,1,20],"516":[1,1,11],"517":[1,1,152],"518":[1,1,13],"519":[3,1,54],"520":[2,1,53],"521":[1,1,1],"522":[1,1,8],"523":[1,1,34],"524":[1,1,15],"525":[1,1,23],"526":[1,1,32],"527":[1,1,15],"528":[1,1,71],"529":[1,1,14],"530":[1,1,30],"531":[1,1,20],"532":[1,1,30],"533":[1,1,31],"534":[1,1,6],"535":[1,1,4],"536":[1,1,76],"537":[1,1,13],"538":[1,1,1],"539":[1,1,16],"540":[1,1,25],"541":[1,1,16],"542":[1,1,13],"543":[1,1,12],"544":[1,1,1],"545":[1,1,9],"546":[1,1,7],"547":[1,1,8],"548":[1,1,5],"549":[1,1,6],"550":[1,1,11],"551":[1,1,8],"552":[2,1,1],"553":[1,2,1],"554":[1,3,15],"555":[1,3,20],"556":[1,2,60]},"averageFieldLength":[1.6750448833034106,1.5816876122082584,17.894075403949724],"storedFields":{"0":{"title":"Changelog","titles":[]},"1":{"title":"Miscellaneous Chores","titles":["Changelog"]},"2":{"title":"Miscellaneous Chores","titles":["Changelog"]},"3":{"title":"Bug Fixes","titles":["Changelog"]},"4":{"title":"Miscellaneous Chores","titles":["Changelog"]},"5":{"title":"Features","titles":["Changelog"]},"6":{"title":"Bug Fixes","titles":["Changelog"]},"7":{"title":"Performance Improvements","titles":["Changelog"]},"8":{"title":"Code Refactoring","titles":["Changelog"]},"9":{"title":"Bug Fixes","titles":["Changelog"]},"10":{"title":"Features","titles":["Changelog"]},"11":{"title":"Bug Fixes","titles":["Changelog"]},"12":{"title":"Performance Improvements","titles":["Changelog"]},"13":{"title":"Miscellaneous Chores","titles":["Changelog"]},"14":{"title":"Code Refactoring","titles":["Changelog"]},"15":{"title":"Performance Improvements","titles":["Changelog"]},"16":{"title":"Performance Improvements","titles":["Changelog"]},"17":{"title":"Features","titles":["Changelog"]},"18":{"title":"Bug Fixes","titles":["Changelog"]},"19":{"title":"Performance Improvements","titles":["Changelog"]},"20":{"title":"Features","titles":["Changelog"]},"21":{"title":"Bug Fixes","titles":["Changelog"]},"22":{"title":"Performance Improvements","titles":["Changelog"]},"23":{"title":"Performance Improvements","titles":["Changelog"]},"24":{"title":"Performance Improvements","titles":["Changelog"]},"25":{"title":"Features","titles":["Changelog"]},"26":{"title":"Bug Fixes","titles":["Changelog"]},"27":{"title":"Performance Improvements","titles":["Changelog"]},"28":{"title":"Performance Improvements","titles":["Changelog"]},"29":{"title":"Bug Fixes","titles":["Changelog"]},"30":{"title":"Performance Improvements","titles":["Changelog"]},"31":{"title":"Performance Improvements","titles":["Changelog"]},"32":{"title":"Features","titles":["Changelog"]},"33":{"title":"Bug Fixes","titles":["Changelog"]},"34":{"title":"Performance Improvements","titles":["Changelog"]},"35":{"title":"Performance Improvements","titles":["Changelog"]},"36":{"title":"Bug Fixes","titles":["Changelog"]},"37":{"title":"Performance Improvements","titles":["Changelog"]},"38":{"title":"Features","titles":["Changelog"]},"39":{"title":"Bug Fixes","titles":["Changelog"]},"40":{"title":"Performance Improvements","titles":["Changelog"]},"41":{"title":"Performance Improvements","titles":["Changelog"]},"42":{"title":"Bug Fixes","titles":["Changelog"]},"43":{"title":"Performance Improvements","titles":["Changelog"]},"44":{"title":"Performance Improvements","titles":["Changelog"]},"45":{"title":"Bug Fixes","titles":["Changelog"]},"46":{"title":"Bug Fixes","titles":["Changelog"]},"47":{"title":"Performance Improvements","titles":["Changelog"]},"48":{"title":"Performance Improvements","titles":["Changelog"]},"49":{"title":"Performance Improvements","titles":["Changelog"]},"50":{"title":"Performance Improvements","titles":["Changelog"]},"51":{"title":"Features","titles":["Changelog"]},"52":{"title":"Bug Fixes","titles":["Changelog"]},"53":{"title":"Performance Improvements","titles":["Changelog"]},"54":{"title":"Bug Fixes","titles":["Changelog"]},"55":{"title":"Performance Improvements","titles":["Changelog"]},"56":{"title":"Bug Fixes","titles":["Changelog"]},"57":{"title":"Performance Improvements","titles":["Changelog"]},"58":{"title":"Bug Fixes","titles":["Changelog"]},"59":{"title":"Performance Improvements","titles":["Changelog"]},"60":{"title":"Performance Improvements","titles":["Changelog"]},"61":{"title":"Performance Improvements","titles":["Changelog"]},"62":{"title":"Performance Improvements","titles":["Changelog"]},"63":{"title":"Features","titles":["Changelog"]},"64":{"title":"Bug Fixes","titles":["Changelog"]},"65":{"title":"Performance Improvements","titles":["Changelog"]},"66":{"title":"Performance Improvements","titles":["Changelog"]},"67":{"title":"Bug Fixes","titles":["Changelog"]},"68":{"title":"Performance Improvements","titles":["Changelog"]},"69":{"title":"Performance Improvements","titles":["Changelog"]},"70":{"title":"Bug Fixes","titles":["Changelog"]},"71":{"title":"Bug Fixes","titles":["Changelog"]},"72":{"title":"Performance Improvements","titles":["Changelog"]},"73":{"title":"Bug Fixes","titles":["Changelog"]},"74":{"title":"Bug Fixes","titles":["Changelog"]},"75":{"title":"Performance Improvements","titles":["Changelog"]},"76":{"title":"Features","titles":["Changelog"]},"77":{"title":"Performance Improvements","titles":["Changelog"]},"78":{"title":"Bug Fixes","titles":["Changelog"]},"79":{"title":"Bug Fixes","titles":["Changelog"]},"80":{"title":"Performance Improvements","titles":["Changelog"]},"81":{"title":"Bug Fixes","titles":["Changelog"]},"82":{"title":"Performance Improvements","titles":["Changelog"]},"83":{"title":"Features","titles":["Changelog"]},"84":{"title":"Bug Fixes","titles":["Changelog"]},"85":{"title":"Performance Improvements","titles":["Changelog"]},"86":{"title":"Performance Improvements","titles":["Changelog"]},"87":{"title":"Performance Improvements","titles":["Changelog"]},"88":{"title":"Bug Fixes","titles":["Changelog"]},"89":{"title":"Performance Improvements","titles":["Changelog"]},"90":{"title":"Bug Fixes","titles":["Changelog"]},"91":{"title":"Miscellaneous Chores","titles":["Changelog"]},"92":{"title":"Features","titles":["Changelog"]},"93":{"title":"Performance Improvements","titles":["Changelog"]},"94":{"title":"Performance Improvements","titles":["Changelog"]},"95":{"title":"Bug Fixes","titles":["Changelog"]},"96":{"title":"Performance Improvements","titles":["Changelog"]},"97":{"title":"Features","titles":["Changelog"]},"98":{"title":"Performance Improvements","titles":["Changelog"]},"99":{"title":"Bug Fixes","titles":["Changelog"]},"100":{"title":"Performance Improvements","titles":["Changelog"]},"101":{"title":"Bug Fixes","titles":["Changelog"]},"102":{"title":"Performance Improvements","titles":["Changelog"]},"103":{"title":"Performance Improvements","titles":["Changelog"]},"104":{"title":"Performance Improvements","titles":["Changelog"]},"105":{"title":"Features","titles":["Changelog"]},"106":{"title":"Performance Improvements","titles":["Changelog"]},"107":{"title":"Bug Fixes","titles":["Changelog"]},"108":{"title":"Performance Improvements","titles":["Changelog"]},"109":{"title":"Performance Improvements","titles":["Changelog"]},"110":{"title":"Performance Improvements","titles":["Changelog"]},"111":{"title":"Bug Fixes","titles":["Changelog"]},"112":{"title":"Features","titles":["Changelog"]},"113":{"title":"Bug Fixes","titles":["Changelog"]},"114":{"title":"Performance Improvements","titles":["Changelog"]},"115":{"title":"Performance Improvements","titles":["Changelog"]},"116":{"title":"Bug Fixes","titles":["Changelog"]},"117":{"title":"Bug Fixes","titles":["Changelog"]},"118":{"title":"Performance Improvements","titles":["Changelog"]},"119":{"title":"Bug Fixes","titles":["Changelog"]},"120":{"title":"Features","titles":["Changelog"]},"121":{"title":"Bug Fixes","titles":["Changelog"]},"122":{"title":"Performance Improvements","titles":["Changelog"]},"123":{"title":"Bug Fixes","titles":["Changelog"]},"124":{"title":"Features","titles":["Changelog"]},"125":{"title":"Performance Improvements","titles":["Changelog"]},"126":{"title":"Bug Fixes","titles":["Changelog"]},"127":{"title":"Performance Improvements","titles":["Changelog"]},"128":{"title":"Bug Fixes","titles":["Changelog"]},"129":{"title":"Bug Fixes","titles":["Changelog"]},"130":{"title":"Bug Fixes","titles":["Changelog"]},"131":{"title":"Performance Improvements","titles":["Changelog"]},"132":{"title":"Features","titles":["Changelog"]},"133":{"title":"Bug Fixes","titles":["Changelog"]},"134":{"title":"Performance Improvements","titles":["Changelog"]},"135":{"title":"Bug Fixes","titles":["Changelog"]},"136":{"title":"Performance Improvements","titles":["Changelog"]},"137":{"title":"Bug Fixes","titles":["Changelog"]},"138":{"title":"Bug Fixes","titles":["Changelog"]},"139":{"title":"Performance Improvements","titles":["Changelog"]},"140":{"title":"Features","titles":["Changelog"]},"141":{"title":"Bug Fixes","titles":["Changelog"]},"142":{"title":"Bug Fixes","titles":["Changelog"]},"143":{"title":"Performance Improvements","titles":["Changelog"]},"144":{"title":"Performance Improvements","titles":["Changelog"]},"145":{"title":"Performance Improvements","titles":["Changelog"]},"146":{"title":"Performance Improvements","titles":["Changelog"]},"147":{"title":"Performance Improvements","titles":["Changelog"]},"148":{"title":"Bug Fixes","titles":["Changelog"]},"149":{"title":"Performance Improvements","titles":["Changelog"]},"150":{"title":"Performance Improvements","titles":["Changelog"]},"151":{"title":"Features","titles":["Changelog"]},"152":{"title":"Bug Fixes","titles":["Changelog"]},"153":{"title":"Performance Improvements","titles":["Changelog"]},"154":{"title":"Miscellaneous Chores","titles":["Changelog"]},"155":{"title":"Performance Improvements","titles":["Changelog"]},"156":{"title":"Bug Fixes","titles":["Changelog"]},"157":{"title":"Performance Improvements","titles":["Changelog"]},"158":{"title":"Bug Fixes","titles":["Changelog"]},"159":{"title":"Bug Fixes","titles":["Changelog"]},"160":{"title":"Performance Improvements","titles":["Changelog"]},"161":{"title":"Miscellaneous Chores","titles":["Changelog"]},"162":{"title":"Features","titles":["Changelog"]},"163":{"title":"Performance Improvements","titles":["Changelog"]},"164":{"title":"Performance Improvements","titles":["Changelog"]},"165":{"title":"Performance Improvements","titles":["Changelog"]},"166":{"title":"Bug Fixes","titles":["Changelog"]},"167":{"title":"Features","titles":["Changelog"]},"168":{"title":"Performance Improvements","titles":["Changelog"]},"169":{"title":"Performance Improvements","titles":["Changelog"]},"170":{"title":"Performance Improvements","titles":["Changelog"]},"171":{"title":"Bug Fixes","titles":["Changelog"]},"172":{"title":"Performance Improvements","titles":["Changelog"]},"173":{"title":"Bug Fixes","titles":["Changelog"]},"174":{"title":"Performance Improvements","titles":["Changelog"]},"175":{"title":"Performance Improvements","titles":["Changelog"]},"176":{"title":"Features","titles":["Changelog"]},"177":{"title":"Bug Fixes","titles":["Changelog"]},"178":{"title":"Performance Improvements","titles":["Changelog"]},"179":{"title":"Bug Fixes","titles":["Changelog"]},"180":{"title":"Bug Fixes","titles":["Changelog"]},"181":{"title":"Bug Fixes","titles":["Changelog"]},"182":{"title":"Bug Fixes","titles":["Changelog"]},"183":{"title":"Performance Improvements","titles":["Changelog"]},"184":{"title":"Features","titles":["Changelog"]},"185":{"title":"Bug Fixes","titles":["Changelog"]},"186":{"title":"Performance Improvements","titles":["Changelog"]},"187":{"title":"Performance Improvements","titles":["Changelog"]},"188":{"title":"Bug Fixes","titles":["Changelog"]},"189":{"title":"Bug Fixes","titles":["Changelog"]},"190":{"title":"Bug Fixes","titles":["Changelog"]},"191":{"title":"Bug Fixes","titles":["Changelog"]},"192":{"title":"Bug Fixes","titles":["Changelog"]},"193":{"title":"Bug Fixes","titles":["Changelog"]},"194":{"title":"Bug Fixes","titles":["Changelog"]},"195":{"title":"Bug Fixes","titles":["Changelog"]},"196":{"title":"Features","titles":["Changelog"]},"197":{"title":"Bug Fixes","titles":["Changelog"]},"198":{"title":"Performance Improvements","titles":["Changelog"]},"199":{"title":"Bug Fixes","titles":["Changelog"]},"200":{"title":"Bug Fixes","titles":["Changelog"]},"201":{"title":"Features","titles":["Changelog"]},"202":{"title":"Bug Fixes","titles":["Changelog"]},"203":{"title":"Performance Improvements","titles":["Changelog"]},"204":{"title":"Performance Improvements","titles":["Changelog"]},"205":{"title":"Features","titles":["Changelog"]},"206":{"title":"Bug Fixes","titles":["Changelog"]},"207":{"title":"Bug Fixes","titles":["Changelog"]},"208":{"title":"Performance Improvements","titles":["Changelog"]},"209":{"title":"Bug Fixes","titles":["Changelog"]},"210":{"title":"Bug Fixes","titles":["Changelog"]},"211":{"title":"Performance Improvements","titles":["Changelog"]},"212":{"title":"Bug Fixes","titles":["Changelog"]},"213":{"title":"Performance Improvements","titles":["Changelog"]},"214":{"title":"Bug Fixes","titles":["Changelog"]},"215":{"title":"Bug Fixes","titles":["Changelog"]},"216":{"title":"Bug Fixes","titles":["Changelog"]},"217":{"title":"Bug Fixes","titles":["Changelog"]},"218":{"title":"Bug Fixes","titles":["Changelog"]},"219":{"title":"Bug Fixes","titles":["Changelog"]},"220":{"title":"Bug Fixes","titles":["Changelog"]},"221":{"title":"Bug Fixes","titles":["Changelog"]},"222":{"title":"Bug Fixes","titles":["Changelog"]},"223":{"title":"Performance Improvements","titles":["Changelog"]},"224":{"title":"Features","titles":["Changelog"]},"225":{"title":"Bug Fixes","titles":["Changelog"]},"226":{"title":"Performance Improvements","titles":["Changelog"]},"227":{"title":"Bug Fixes","titles":["Changelog"]},"228":{"title":"Performance Improvements","titles":["Changelog"]},"229":{"title":"Features","titles":["Changelog"]},"230":{"title":"Performance Improvements","titles":["Changelog"]},"231":{"title":"Performance Improvements","titles":["Changelog"]},"232":{"title":"Bug Fixes","titles":["Changelog"]},"233":{"title":"Performance Improvements","titles":["Changelog"]},"234":{"title":"Performance Improvements","titles":["Changelog"]},"235":{"title":"Bug Fixes","titles":["Changelog"]},"236":{"title":"Bug Fixes","titles":["Changelog"]},"237":{"title":"Bug Fixes","titles":["Changelog"]},"238":{"title":"Bug Fixes","titles":["Changelog"]},"239":{"title":"Bug Fixes","titles":["Changelog"]},"240":{"title":"Performance Improvements","titles":["Changelog"]},"241":{"title":"Features","titles":["Changelog"]},"242":{"title":"Bug Fixes","titles":["Changelog"]},"243":{"title":"Bug Fixes","titles":["Changelog"]},"244":{"title":"Performance Improvements","titles":["Changelog"]},"245":{"title":"Bug Fixes","titles":["Changelog"]},"246":{"title":"Features","titles":["Changelog"]},"247":{"title":"Bug Fixes","titles":["Changelog"]},"248":{"title":"Features","titles":["Changelog"]},"249":{"title":"Bug Fixes","titles":["Changelog"]},"250":{"title":"Bug Fixes","titles":["Changelog"]},"251":{"title":"Bug Fixes","titles":["Changelog"]},"252":{"title":"Bug Fixes","titles":["Changelog"]},"253":{"title":"Features","titles":["Changelog"]},"254":{"title":"Features","titles":["Changelog"]},"255":{"title":"Features","titles":["Changelog"]},"256":{"title":"Performance Improvements","titles":["Changelog"]},"257":{"title":"Bug Fixes","titles":["Changelog"]},"258":{"title":"1.0.0 (2023-09-16)","titles":["Changelog"]},"259":{"title":"Features","titles":["Changelog","1.0.0 (2023-09-16)"]},"260":{"title":"Bug Fixes","titles":["Changelog","1.0.0 (2023-09-16)"]},"261":{"title":"捐赠项目♥️","titles":[]},"262":{"title":"Escrcpy:基于Electron的图形化安卓设备控制工具","titles":[]},"263":{"title":"什么是Escrcpy?","titles":["Escrcpy:基于Electron的图形化安卓设备控制工具"]},"264":{"title":"核心功能","titles":["Escrcpy:基于Electron的图形化安卓设备控制工具"]},"265":{"title":"高效稳定的投屏体验","titles":["Escrcpy:基于Electron的图形化安卓设备控制工具","核心功能"]},"266":{"title":"丰富的功能特性","titles":["Escrcpy:基于Electron的图形化安卓设备控制工具","核心功能"]},"267":{"title":"优化的用户体验","titles":["Escrcpy:基于Electron的图形化安卓设备控制工具","核心功能"]},"268":{"title":"使用场景","titles":["Escrcpy:基于Electron的图形化安卓设备控制工具"]},"269":{"title":"跨平台支持","titles":["Escrcpy:基于Electron的图形化安卓设备控制工具"]},"270":{"title":"技术优势","titles":["Escrcpy:基于Electron的图形化安卓设备控制工具"]},"271":{"title":"未来发展","titles":["Escrcpy:基于Electron的图形化安卓设备控制工具"]},"272":{"title":"如何使用","titles":["Escrcpy:基于Electron的图形化安卓设备控制工具"]},"273":{"title":"结语","titles":["Escrcpy:基于Electron的图形化安卓设备控制工具"]},"274":{"title":"里程碑","titles":[]},"275":{"title":"设备操作指南","titles":[]},"276":{"title":"批量处理","titles":["设备操作指南"]},"277":{"title":"控制模式","titles":["设备操作指南"]},"278":{"title":"设备交互栏","titles":["设备操作指南"]},"279":{"title":"偏好设置","titles":[]},"280":{"title":"通用设置","titles":["偏好设置"]},"281":{"title":"视频控制","titles":["偏好设置"]},"282":{"title":"设备控制","titles":["偏好设置"]},"283":{"title":"窗口控制","titles":["偏好设置"]},"284":{"title":"音频控制","titles":["偏好设置"]},"285":{"title":"音视频录制","titles":["偏好设置"]},"286":{"title":"输入控制","titles":["偏好设置"]},"287":{"title":"摄像头控制","titles":["偏好设置"]},"288":{"title":"快速上手","titles":[]},"289":{"title":"安装说明","titles":["快速上手"]},"290":{"title":"手动安装(通过发行包)","titles":["快速上手","安装说明"]},"291":{"title":"macOS用户可通过Homebrew安装","titles":["快速上手","安装说明"]},"292":{"title":"USB连接方式","titles":["快速上手"]},"293":{"title":"无线连接方式","titles":["快速上手"]},"294":{"title":"扫码连接","titles":["快速上手","无线连接方式"]},"295":{"title":"IP地址连接","titles":["快速上手","无线连接方式"]},"296":{"title":"macOS与Linux平台","titles":["快速上手"]},"297":{"title":"Gnirehtet反向网络共享","titles":["快速上手"]},"298":{"title":"Escrcpy","titles":[]},"299":{"title":"电脑连接后无法识别设备","titles":["Escrcpy"]},"300":{"title":"无法输入中文","titles":["Escrcpy"]},"301":{"title":"无线连接提示:目标计算机积极拒绝访问","titles":["Escrcpy"]},"302":{"title":"数据线连接后点击无线模式无响应","titles":["Escrcpy"]},"303":{"title":"为何设备交互控制栏未设计为自动贴边的悬浮菜单?","titles":["Escrcpy"]},"304":{"title":"部分设备连接后可见画面但无法操作","titles":["Escrcpy"]},"305":{"title":"下载时提示杀毒检测导致无法正常下载","titles":["Escrcpy"]},"306":{"title":"启动镜像/录制时获取设备列表失败或报错","titles":["Escrcpy"]},"307":{"title":"macOS窗口最小化至系统托盘图标未找到","titles":["Escrcpy"]},"308":{"title":"macOS安装成功后打开提示文件已损坏","titles":["Escrcpy"]},"309":{"title":"无法定位程序输入点DiscardvirtualMemory于动态链接库Kernel32.dll上","titles":["Escrcpy"]},"310":{"title":"音频捕获异常导致镜像失败","titles":["Escrcpy"]},"311":{"title":"微软商店版镜像启动报错","titles":["Escrcpy"]},"312":{"title":"无法执行"adb start-server"","titles":["Escrcpy"]},"313":{"title":"Linux系统安装后无法打开","titles":["Escrcpy"]},"314":{"title":"调整投屏窗口大小后出现黑边","titles":["Escrcpy"]},"315":{"title":"设备窗口编排功能详解","titles":[]},"316":{"title":"功能概述","titles":["设备窗口编排功能详解"]},"317":{"title":"核心组件","titles":["设备窗口编排功能详解"]},"318":{"title":"全局配置组件","titles":["设备窗口编排功能详解","核心组件"]},"319":{"title":"设备窗口组件","titles":["设备窗口编排功能详解","核心组件"]},"320":{"title":"详细操作指南","titles":["设备窗口编排功能详解"]},"321":{"title":"启动窗口编排","titles":["设备窗口编排功能详解","详细操作指南"]},"322":{"title":"添加和管理组件","titles":["设备窗口编排功能详解","详细操作指南"]},"323":{"title":"添加全局配置组件","titles":["设备窗口编排功能详解","详细操作指南","添加和管理组件"]},"324":{"title":"添加设备窗口组件","titles":["设备窗口编排功能详解","详细操作指南","添加和管理组件"]},"325":{"title":"窗口布局调整","titles":["设备窗口编排功能详解","详细操作指南"]},"326":{"title":"移动窗口位置","titles":["设备窗口编排功能详解","详细操作指南","窗口布局调整"]},"327":{"title":"调整窗口尺寸","titles":["设备窗口编排功能详解","详细操作指南","窗口布局调整"]},"328":{"title":"尺寸限制说明","titles":["设备窗口编排功能详解","详细操作指南","窗口布局调整"]},"329":{"title":"布局管理操作","titles":["设备窗口编排功能详解","详细操作指南"]},"330":{"title":"重置布局","titles":["设备窗口编排功能详解","详细操作指南","布局管理操作"]},"331":{"title":"清除全部组件","titles":["设备窗口编排功能详解","详细操作指南","布局管理操作"]},"332":{"title":"删除单个组件","titles":["设备窗口编排功能详解","详细操作指南","布局管理操作"]},"333":{"title":"配置保存和应用","titles":["设备窗口编排功能详解"]},"334":{"title":"保存布局配置","titles":["设备窗口编排功能详解","配置保存和应用"]},"335":{"title":"配置存储机制","titles":["设备窗口编排功能详解","配置保存和应用"]},"336":{"title":"配置应用时机","titles":["设备窗口编排功能详解","配置保存和应用"]},"337":{"title":"故障排除","titles":["设备窗口编排功能详解"]},"338":{"title":"常见问题","titles":["设备窗口编排功能详解","故障排除"]},"339":{"title":"帮助中心","titles":[]},"340":{"title":"Scrcpy","titles":[]},"341":{"title":"adb 与 USB 问题","titles":["Scrcpy"]},"342":{"title":"adb 未找到","titles":["Scrcpy","adb 与 USB 问题"]},"343":{"title":"设备未检测到","titles":["Scrcpy","adb 与 USB 问题"]},"344":{"title":"设备未授权","titles":["Scrcpy","adb 与 USB 问题"]},"345":{"title":"多设备连接冲突","titles":["Scrcpy","adb 与 USB 问题"]},"346":{"title":"adb 版本冲突","titles":["Scrcpy","adb 与 USB 问题"]},"347":{"title":"设备断开连接","titles":["Scrcpy","adb 与 USB 问题"]},"348":{"title":"Windows OTG 问题","titles":["Scrcpy"]},"349":{"title":"控制问题","titles":["Scrcpy"]},"350":{"title":"鼠标键盘失效","titles":["Scrcpy","控制问题"]},"351":{"title":"特殊字符输入异常","titles":["Scrcpy","控制问题"]},"352":{"title":"客户端问题","titles":["Scrcpy"]},"353":{"title":"Wayland 兼容性问题","titles":["Scrcpy","客户端问题"]},"354":{"title":"KWin 合成器崩溃","titles":["Scrcpy","客户端问题"]},"355":{"title":"崩溃问题","titles":["Scrcpy"]},"356":{"title":"MediaCodec 异常","titles":["Scrcpy","崩溃问题"]},"357":{"title":"Gnirehtet API","titles":[]},"358":{"title":"gnirehtet install [serial]","titles":["Gnirehtet API"]},"359":{"title":"gnirehtet uninstall [serial]","titles":["Gnirehtet API"]},"360":{"title":"gnirehtet reinstall [serial]","titles":["Gnirehtet API"]},"361":{"title":"gnirehtet run [serial] [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]","titles":["Gnirehtet API"]},"362":{"title":"gnirehtet autorun [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]","titles":["Gnirehtet API"]},"363":{"title":"gnirehtet start [serial] [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]","titles":["Gnirehtet API"]},"364":{"title":"gnirehtet autostart [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]","titles":["Gnirehtet API"]},"365":{"title":"gnirehtet stop [serial]","titles":["Gnirehtet API"]},"366":{"title":"gnirehtet restart [serial] [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]","titles":["Gnirehtet API"]},"367":{"title":"gnirehtet tunnel [serial] [-p PORT]","titles":["Gnirehtet API"]},"368":{"title":"gnirehtet relay [-p PORT]","titles":["Gnirehtet API"]},"369":{"title":"Gnirehtet (v2.5.1)","titles":[]},"370":{"title":"版本","titles":["Gnirehtet (v2.5.1)"]},"371":{"title":"如何选择?","titles":["Gnirehtet (v2.5.1)","版本"]},"372":{"title":"要求","titles":["Gnirehtet (v2.5.1)"]},"373":{"title":"adb","titles":["Gnirehtet (v2.5.1)","要求"]},"374":{"title":"获取应用","titles":["Gnirehtet (v2.5.1)"]},"375":{"title":"Homebrew","titles":["Gnirehtet (v2.5.1)","获取应用"]},"376":{"title":"下载","titles":["Gnirehtet (v2.5.1)","获取应用"]},"377":{"title":"Rust","titles":["Gnirehtet (v2.5.1)","获取应用","下载"]},"378":{"title":"Java","titles":["Gnirehtet (v2.5.1)","获取应用","下载"]},"379":{"title":"运行(简单方式)","titles":["Gnirehtet (v2.5.1)"]},"380":{"title":"运行(分步操作)","titles":["Gnirehtet (v2.5.1)"]},"381":{"title":"手动运行","titles":["Gnirehtet (v2.5.1)"]},"382":{"title":"环境变量","titles":["Gnirehtet (v2.5.1)"]},"383":{"title":"为什么叫gnirehtet?","titles":["Gnirehtet (v2.5.1)"]},"384":{"title":"开发者","titles":["Gnirehtet (v2.5.1)"]},"385":{"title":"许可证","titles":["Gnirehtet (v2.5.1)"]},"386":{"title":"相关文章","titles":["Gnirehtet (v2.5.1)"]},"387":{"title":"参考手册","titles":[]},"388":{"title":"音频","titles":[]},"389":{"title":"禁用音频","titles":["音频"]},"390":{"title":"仅音频模式","titles":["音频"]},"391":{"title":"音频源","titles":["音频"]},"392":{"title":"音频复制","titles":["音频","音频源"]},"393":{"title":"编解码器","titles":["音频"]},"394":{"title":"编码器","titles":["音频"]},"395":{"title":"比特率","titles":["音频"]},"396":{"title":"缓冲","titles":["音频"]},"397":{"title":"编译 scrcpy","titles":[]},"398":{"title":"分支","titles":["编译 scrcpy"]},"399":{"title":"要求","titles":["编译 scrcpy"]},"400":{"title":"系统特定步骤","titles":["编译 scrcpy"]},"401":{"title":"Linux","titles":["编译 scrcpy","系统特定步骤"]},"402":{"title":"Debian/Ubuntu","titles":["编译 scrcpy","系统特定步骤","Linux"]},"403":{"title":"Fedora","titles":["编译 scrcpy","系统特定步骤","Linux"]},"404":{"title":"Windows","titles":["编译 scrcpy","系统特定步骤"]},"405":{"title":"从 Linux 交叉编译","titles":["编译 scrcpy","系统特定步骤","Windows"]},"406":{"title":"在 MSYS2 中构建","titles":["编译 scrcpy","系统特定步骤","Windows"]},"407":{"title":"Mac OS","titles":["编译 scrcpy","系统特定步骤"]},"408":{"title":"Docker","titles":["编译 scrcpy","系统特定步骤"]},"409":{"title":"通用步骤","titles":["编译 scrcpy"]},"410":{"title":"构建","titles":["编译 scrcpy","通用步骤"]},"411":{"title":"选项 1:从源码构建所有内容","titles":["编译 scrcpy","通用步骤","构建"]},"412":{"title":"选项 2:使用预构建服务器","titles":["编译 scrcpy","通用步骤","构建"]},"413":{"title":"不安装直接运行","titles":["编译 scrcpy","通用步骤"]},"414":{"title":"安装","titles":["编译 scrcpy","通用步骤"]},"415":{"title":"卸载","titles":["编译 scrcpy","通用步骤"]},"416":{"title":"相机","titles":[]},"417":{"title":"列表","titles":["相机"]},"418":{"title":"选择","titles":["相机"]},"419":{"title":"尺寸选择","titles":["相机","选择"]},"420":{"title":"旋转","titles":["相机"]},"421":{"title":"帧率","titles":["相机"]},"422":{"title":"高速捕获","titles":["相机"]},"423":{"title":"花括号扩展技巧","titles":["相机"]},"424":{"title":"网络摄像头","titles":["相机"]},"425":{"title":"连接","titles":[]},"426":{"title":"设备选择","titles":["连接"]},"427":{"title":"TCP/IP(无线连接)","titles":["连接"]},"428":{"title":"自动连接","titles":["连接","TCP/IP(无线连接)"]},"429":{"title":"手动连接","titles":["连接","TCP/IP(无线连接)"]},"430":{"title":"自动启动","titles":["连接"]},"431":{"title":"控制","titles":[]},"432":{"title":"只读模式","titles":["控制"]},"433":{"title":"键盘与鼠标","titles":["控制"]},"434":{"title":"仅控制模式","titles":["控制"]},"435":{"title":"复制粘贴","titles":["控制"]},"436":{"title":"捏合缩放、旋转与倾斜模拟","titles":["控制"]},"437":{"title":"文件拖放","titles":["控制"]},"438":{"title":"安装APK","titles":["控制","文件拖放"]},"439":{"title":"推送文件到设备","titles":["控制","文件拖放"]},"440":{"title":"开发者指南:scrcpy","titles":[]},"441":{"title":"概述","titles":["开发者指南:scrcpy"]},"442":{"title":"服务端","titles":["开发者指南:scrcpy"]},"443":{"title":"权限","titles":["开发者指南:scrcpy","服务端"]},"444":{"title":"隐藏方法","titles":["开发者指南:scrcpy","服务端"]},"445":{"title":"执行","titles":["开发者指南:scrcpy","服务端"]},"446":{"title":"组件","titles":["开发者指南:scrcpy","服务端"]},"447":{"title":"屏幕视频编码","titles":["开发者指南:scrcpy","服务端"]},"448":{"title":"音频编码","titles":["开发者指南:scrcpy","服务端"]},"449":{"title":"输入事件注入","titles":["开发者指南:scrcpy","服务端"]},"450":{"title":"客户端","titles":["开发者指南:scrcpy"]},"451":{"title":"初始化","titles":["开发者指南:scrcpy","客户端"]},"452":{"title":"视频和音频流","titles":["开发者指南:scrcpy","客户端"]},"453":{"title":"控制器","titles":["开发者指南:scrcpy","客户端"]},"454":{"title":"协议","titles":["开发者指南:scrcpy"]},"455":{"title":"连接","titles":["开发者指南:scrcpy","协议"]},"456":{"title":"视频和音频","titles":["开发者指南:scrcpy","协议"]},"457":{"title":"控制","titles":["开发者指南:scrcpy","协议"]},"458":{"title":"独立服务端","titles":["开发者指南:scrcpy"]},"459":{"title":"黑客指南","titles":["开发者指南:scrcpy"]},"460":{"title":"调试服务端","titles":["开发者指南:scrcpy","黑客指南"]},"461":{"title":"设备控制","titles":[]},"462":{"title":"保持唤醒","titles":["设备控制"]},"463":{"title":"屏幕关闭超时","titles":["设备控制"]},"464":{"title":"关闭屏幕","titles":["设备控制"]},"465":{"title":"显示触摸痕迹","titles":["设备控制"]},"466":{"title":"关闭时断电","titles":["设备控制"]},"467":{"title":"启动时通电","titles":["设备控制"]},"468":{"title":"启动Android应用","titles":["设备控制"]},"469":{"title":"Gamepad(游戏手柄)","titles":[]},"470":{"title":"物理游戏手柄模拟","titles":["Gamepad(游戏手柄)"]},"471":{"title":"UHID 模式","titles":["Gamepad(游戏手柄)","物理游戏手柄模拟"]},"472":{"title":"AOA 模式","titles":["Gamepad(游戏手柄)","物理游戏手柄模拟"]},"473":{"title":"scrcpy (v3.2)","titles":[]},"474":{"title":"前提条件","titles":["scrcpy (v3.2)"]},"475":{"title":"获取应用","titles":["scrcpy (v3.2)"]},"476":{"title":"必知技巧","titles":["scrcpy (v3.2)"]},"477":{"title":"使用示例","titles":["scrcpy (v3.2)"]},"478":{"title":"用户文档","titles":["scrcpy (v3.2)"]},"479":{"title":"资源","titles":["scrcpy (v3.2)"]},"480":{"title":"相关文章","titles":["scrcpy (v3.2)"]},"481":{"title":"联系方式","titles":["scrcpy (v3.2)"]},"482":{"title":"捐赠","titles":["scrcpy (v3.2)"]},"483":{"title":"许可证","titles":["scrcpy (v3.2)"]},"484":{"title":"键盘","titles":[]},"485":{"title":"SDK 键盘模式","titles":["键盘"]},"486":{"title":"文本注入偏好","titles":["键盘","SDK 键盘模式"]},"487":{"title":"按键重复","titles":["键盘","SDK 键盘模式"]},"488":{"title":"物理键盘模拟","titles":["键盘"]},"489":{"title":"UHID 模式","titles":["键盘","物理键盘模拟"]},"490":{"title":"AOA 模式","titles":["键盘","物理键盘模拟"]},"491":{"title":"Linux 平台指南","titles":[]},"492":{"title":"安装","titles":["Linux 平台指南"]},"493":{"title":"官方发布版本","titles":["Linux 平台指南","安装"]},"494":{"title":"通过包管理器安装","titles":["Linux 平台指南","安装"]},"495":{"title":"使用安装脚本","titles":["Linux 平台指南","安装"]},"496":{"title":"运行","titles":["Linux 平台指南"]},"497":{"title":"在 macOS 上使用 scrcpy","titles":[]},"498":{"title":"安装","titles":["在 macOS 上使用 scrcpy"]},"499":{"title":"从官方发布版本安装","titles":["在 macOS 上使用 scrcpy","安装"]},"500":{"title":"通过包管理器安装","titles":["在 macOS 上使用 scrcpy","安装"]},"501":{"title":"运行","titles":["在 macOS 上使用 scrcpy"]},"502":{"title":"鼠标","titles":[]},"503":{"title":"SDK 鼠标模式","titles":["鼠标"]},"504":{"title":"鼠标悬停","titles":["鼠标","SDK 鼠标模式"]},"505":{"title":"物理鼠标模拟","titles":["鼠标"]},"506":{"title":"UHID 模式","titles":["鼠标","物理鼠标模拟"]},"507":{"title":"AOA 模式","titles":["鼠标","物理鼠标模拟"]},"508":{"title":"鼠标按键绑定","titles":["鼠标"]},"509":{"title":"OTG","titles":[]},"510":{"title":"Windows 上的 OTG 问题","titles":["OTG"]},"511":{"title":"仅控制功能","titles":["OTG"]},"512":{"title":"录制","titles":[]},"513":{"title":"格式","titles":["录制"]},"514":{"title":"旋转","titles":["录制"]},"515":{"title":"无播放","titles":["录制"]},"516":{"title":"时间限制","titles":["录制"]},"517":{"title":"快捷键","titles":[]},"518":{"title":"隧道连接","titles":[]},"519":{"title":"远程 ADB 服务器","titles":["隧道连接"]},"520":{"title":"SSH 隧道","titles":["隧道连接"]},"521":{"title":"视频","titles":[]},"522":{"title":"源","titles":["视频"]},"523":{"title":"尺寸","titles":["视频"]},"524":{"title":"比特率","titles":["视频"]},"525":{"title":"帧率","titles":["视频"]},"526":{"title":"编解码器","titles":["视频"]},"527":{"title":"编码器","titles":["视频"]},"528":{"title":"方向","titles":["视频"]},"529":{"title":"角度","titles":["视频"]},"530":{"title":"裁剪","titles":["视频"]},"531":{"title":"显示","titles":["视频"]},"532":{"title":"缓冲","titles":["视频"]},"533":{"title":"无播放","titles":["视频"]},"534":{"title":"无视频","titles":["视频"]},"535":{"title":"Video4Linux","titles":["视频"]},"536":{"title":"Video4Linux","titles":[]},"537":{"title":"缓冲","titles":["Video4Linux"]},"538":{"title":"虚拟显示屏","titles":[]},"539":{"title":"新建虚拟显示屏","titles":["虚拟显示屏"]},"540":{"title":"启动应用","titles":["虚拟显示屏"]},"541":{"title":"系统装饰","titles":["虚拟显示屏"]},"542":{"title":"关闭时销毁","titles":["虚拟显示屏"]},"543":{"title":"输入法策略","titles":["虚拟显示屏"]},"544":{"title":"窗口设置","titles":[]},"545":{"title":"禁用窗口显示","titles":["窗口设置"]},"546":{"title":"窗口标题","titles":["窗口设置"]},"547":{"title":"位置与尺寸","titles":["窗口设置"]},"548":{"title":"无边框模式","titles":["窗口设置"]},"549":{"title":"窗口置顶","titles":["窗口设置"]},"550":{"title":"全屏模式","titles":["窗口设置"]},"551":{"title":"禁用屏幕保护","titles":["窗口设置"]},"552":{"title":"Windows 平台指南","titles":[]},"553":{"title":"安装","titles":["Windows 平台指南"]},"554":{"title":"官方发布版本","titles":["Windows 平台指南","安装"]},"555":{"title":"通过包管理器安装","titles":["Windows 平台指南","安装"]},"556":{"title":"运行","titles":["Windows 平台指南"]}},"dirtCount":0,"index":[["终端会立即关闭",{"2":{"556":1}}],["终端中安装所需依赖",{"2":{"406":1}}],["避免直接双击scrcpy",{"2":{"556":1}}],["避免卡顿",{"2":{"396":1}}],["适用于仅需录制或播放音频的场景",{"2":{"545":1}}],["适用于需同时为多台设备启用反向网络共享的场景",{"2":{"380":1}}],["创建",{"2":{"536":1}}],["创建适合自己工作流程的个性化操作环境",{"2":{"338":1}}],["回环设备",{"2":{"536":1}}],["回退至",{"2":{"345":1}}],["播放",{"2":{"532":1}}],["获得更平滑的播放",{"2":{"532":1}}],["获取当前show",{"2":{"465":1}}],["获取当前screen",{"2":{"463":1}}],["获取当前stay",{"2":{"462":1}}],["获取设备",{"2":{"429":1}}],["获取",{"2":{"399":1}}],["获取应用",{"0":{"374":1,"475":1},"1":{"375":1,"376":1,"377":1,"378":1}}],["获取默认依赖路径异常的问题",{"2":{"222":1}}],["平板为横屏",{"2":{"530":1}}],["平台指南",{"0":{"491":1,"552":1},"1":{"492":1,"493":1,"494":1,"495":1,"496":1,"553":1,"554":1,"555":1,"556":1}}],["平台工具",{"2":{"399":1}}],["平台启动白屏无法正常使用的问题",{"2":{"209":1}}],["值以设备的自然方向表示",{"2":{"530":1}}],["值用于选择摄像头源尺寸",{"2":{"523":1}}],["偏移",{"2":{"530":1}}],["偏好设置",{"0":{"279":1},"1":{"280":1,"281":1,"282":1,"283":1,"284":1,"285":1,"286":1,"287":1}}],["偏好设置描述信息修改",{"2":{"225":1}}],["裁剪在",{"2":{"530":1}}],["裁剪",{"0":{"530":1}}],["角度",{"0":{"529":1}}],["翻转不支持",{"2":{"528":1}}],["翻译",{"2":{"479":1}}],["翻译设备列表",{"2":{"203":1}}],["锁定为水平翻转",{"2":{"528":4}}],["锁定为顺时针",{"2":{"528":2}}],["锁定为",{"2":{"528":2}}],["锁定为初始方向",{"2":{"528":1}}],["锁定捕获方向",{"2":{"528":1}}],["顺时针",{"2":{"528":10,"529":1}}],["顺序无关",{"2":{"445":1}}],["动态切换",{"2":{"550":1}}],["动态改变",{"2":{"528":1}}],["动态更新",{"2":{"336":1}}],["影响显示和录制",{"2":{"528":1}}],["改变镜像方向",{"2":{"528":1}}],["改进历史设备连接体验",{"2":{"274":1}}],["传递任意参数给",{"2":{"526":1}}],["传递自定义参数给",{"2":{"393":1}}],["另一边的尺寸会按比例计算",{"2":{"523":1}}],["另一种设备音频捕获方法",{"2":{"392":1}}],["页面",{"2":{"522":1,"535":1}}],["源",{"0":{"522":1}}],["环境",{"2":{"519":3,"520":6}}],["环境变量",{"0":{"382":1},"2":{"411":1}}],["环境变量中",{"2":{"342":1,"500":1}}],["环境变量配置错误导致无法连接的问题",{"2":{"260":1}}],["访问",{"2":{"519":1}}],["假设该服务器可通过",{"2":{"519":1}}],["远程计算机地址",{"2":{"520":2}}],["远程",{"0":{"519":1},"2":{"520":4}}],["⁵仅在android",{"2":{"517":1}}],["³第4和第5鼠标按键",{"2":{"517":1}}],["否则为只读镜像",{"2":{"531":1}}],["否则执行back操作",{"2":{"517":1}}],["否则不建议修改",{"2":{"396":1}}],["否则不得使用此文件",{"2":{"385":1,"483":1}}],["²右键点击会在屏幕关闭时唤醒屏幕",{"2":{"517":1}}],["¹双击黑边以去除它们",{"2":{"517":1}}],["水平翻转",{"2":{"528":8}}],["水平翻转屏幕",{"2":{"517":1}}],["水平倾斜",{"2":{"517":1}}],["垂直翻转",{"2":{"528":1}}],["垂直翻转屏幕",{"2":{"517":1}}],["垂直倾斜",{"2":{"517":1}}],["输出到stdout",{"2":{"517":1}}],["输入法策略",{"0":{"543":1}}],["输入文本时会生成两种事件",{"2":{"486":1}}],["输入管理器",{"2":{"453":1}}],["输入事件",{"2":{"450":1}}],["输入事件有多种类型",{"2":{"449":1}}],["输入事件注入",{"0":{"449":1}}],["输入事件从客户端发送到设备",{"2":{"441":1}}],["输入按键",{"2":{"432":1}}],["输入控制",{"0":{"286":1},"2":{"300":1}}],["同步剪贴板并粘贴⁵",{"2":{"517":1}}],["同时禁用窗口",{"2":{"515":1}}],["同时管理多个设备窗口的布局",{"2":{"316":1}}],["同时新增了",{"2":{"270":1}}],["折叠面板",{"2":{"517":1}}],["展开设置面板",{"2":{"517":2}}],["展开通知面板",{"2":{"508":1,"517":1}}],["⁴对于开发中的react",{"2":{"517":1}}],["⁴",{"2":{"517":1}}],["双指滑动",{"2":{"517":2}}],["双击第5键³",{"2":{"517":1}}],["双击左键¹",{"2":{"517":1}}],["双向复制粘贴",{"2":{"473":1}}],["像素级显示",{"2":{"517":1}}],["像往常一样运行",{"2":{"429":1}}],["恢复显示",{"2":{"517":1}}],["暂停或恢复显示",{"2":{"517":1}}],["右",{"2":{"517":2}}],["右键",{"2":{"508":2}}],["右键触发",{"2":{"508":1}}],["右键点击²",{"2":{"517":2}}],["右键点击触发返回",{"2":{"476":1}}],["右键点击或mod+p",{"2":{"464":1}}],["向右旋转屏幕",{"2":{"517":1}}],["向左旋转屏幕",{"2":{"517":1}}],["向下滚动页面",{"2":{"305":1}}],["修改修饰键",{"2":{"517":1}}],["修复图标不透明的问题",{"2":{"252":1}}],["修复旋转屏幕配置异常的问题",{"2":{"251":1}}],["修复触摸点配置描述错误的问题",{"2":{"250":1}}],["修复直接进行无线连接时没有处理配对设备的问题",{"2":{"249":1}}],["修复无线配对时表单验证错误",{"2":{"249":1}}],["修复检查更新失败没有提示的问题",{"2":{"247":1}}],["修复高级配置标题语义不明的问题",{"2":{"243":1}}],["修复点击无线模式没有反应的问题",{"2":{"242":1}}],["修复usb未授权设备导致无线连接地址变为假值的问题",{"2":{"239":1}}],["修复打包后图标丢失的问题",{"2":{"238":1}}],["修复打包多个平台时可能生成重复文件导致发布软件包失败的问题",{"2":{"217":1}}],["修复设备列表按钮状态变更影响布局变化的问题",{"2":{"237":1}}],["修复设置主题跟随系统后没有生效的问题",{"2":{"199":1}}],["修复对设备进行独立配置时的一些问题",{"2":{"227":1}}],["修复自定义路径功能没有生效的问题",{"2":{"202":1}}],["修复录制结束点击取消异常弹窗以及点击重启服务没有反应的问题",{"2":{"202":1}}],["修复安装路径包含空格会导致无法启动服务的问题",{"2":{"202":1}}],["修复",{"2":{"188":1,"194":1,"195":1,"200":1,"202":1,"206":1,"209":1,"210":1,"212":1,"214":1,"215":1,"216":1,"218":1,"219":1,"220":1,"221":1,"222":2,"235":1,"236":1,"237":1,"260":1}}],["左",{"2":{"517":4}}],["限制录制时间",{"2":{"516":1}}],["限制分辨率为1920",{"2":{"477":1}}],["格式",{"0":{"513":1},"2":{"512":1}}],["格式为",{"2":{"419":1}}],["就像计算机的键盘",{"2":{"509":1}}],["一种特殊模式",{"2":{"509":1}}],["一旦客户端通过",{"2":{"458":1}}],["触发",{"2":{"508":1}}],["触发快捷键",{"2":{"508":4}}],["忽略点击",{"2":{"508":1}}],["次要绑定",{"2":{"508":1}}],["个字符的序列",{"2":{"508":1}}],["个套接字",{"2":{"441":1,"455":1}}],["共",{"2":{"508":1}}],["第5键点击³",{"2":{"517":1}}],["第4键点击³",{"2":{"517":1}}],["第二组绑定可省略",{"2":{"508":1}}],["第五键",{"2":{"508":2}}],["第五键展开通知面板",{"2":{"508":1}}],["第四键",{"2":{"508":2}}],["第四键触发",{"2":{"508":1}}],["第一个",{"2":{"455":2,"458":1}}],["第一个参数",{"2":{"445":1}}],["层面工作",{"2":{"507":1}}],["层级注入输入事件",{"2":{"509":1}}],["层级注入",{"2":{"485":1}}],["层级工作",{"2":{"472":1,"490":1}}],["转而出现在",{"2":{"505":1}}],["转发右键和中键点击",{"2":{"508":1}}],["转发点击到设备",{"2":{"508":1}}],["转发全部音频输出",{"2":{"391":1}}],["转发的是设备音频输出",{"2":{"391":1}}],["工具已在",{"2":{"500":1}}],["工作中需在电脑上操作手机的情况",{"2":{"268":1}}],["你需要确保",{"2":{"500":1}}],["静态构建包仍处于实验阶段",{"2":{"499":1}}],["架构",{"2":{"499":2}}],["脚本会下载预编译的服务器二进制文件",{"2":{"495":1}}],["脚本源码",{"2":{"495":1}}],["官方发布版本",{"0":{"493":1,"554":1}}],["仍可控制设备",{"2":{"490":1,"507":1}}],["仍然在此",{"2":{"455":1}}],["缺点是由于权限问题",{"2":{"489":1}}],["两种模式可在设备上模拟物理",{"2":{"488":1}}],["长按按键会生成重复的按键事件",{"2":{"487":1}}],["等按键",{"2":{"486":1}}],["等效",{"2":{"395":1,"508":1,"524":1}}],["数字和",{"2":{"486":1}}],["数据包大小",{"2":{"456":1}}],["数据包在设备上编码",{"2":{"452":1}}],["数据格式等",{"2":{"454":1}}],["数据线连接后点击无线模式无响应",{"0":{"302":1}}],["表示文本的输入",{"2":{"486":1}}],["表示按键的按下或释放",{"2":{"486":1}}],["表明",{"2":{"347":1}}],["专用于",{"2":{"485":1}}],["专为多设备管理和屏幕空间优化而设计",{"2":{"315":1}}],["建议切换到",{"2":{"484":1}}],["建立与客户端的连接",{"2":{"446":1}}],["建立在以下开源项目的基础上",{"2":{"387":1}}],["我的设备",{"2":{"546":1}}],["我是",{"2":{"482":1}}],["我们假设使用的是",{"2":{"451":1}}],["我们决定采用现有方案",{"2":{"303":1}}],["捐赠",{"0":{"482":1}}],["捐赠项目♥️",{"0":{"261":1}}],["联系方式",{"0":{"481":1}}],["资源",{"0":{"479":1}}],["资源路径问题",{"2":{"235":1}}],["快捷键",{"0":{"517":1},"2":{"478":1,"517":1,"525":1,"528":2}}],["快速运动变化后",{"2":{"447":1}}],["快速上手",{"0":{"288":1},"1":{"289":1,"290":1,"291":1,"292":1,"293":1,"294":1,"295":1,"296":1,"297":1}}],["快速开始",{"2":{"272":1}}],["快速启动",{"2":{"265":1,"473":1}}],["降低分辨率可显著提升性能",{"2":{"476":1}}],["阅读运行方法",{"2":{"475":1}}],["阅读开发者页面",{"2":{"384":1}}],["才能控制副显示器",{"2":{"531":1}}],["才能使用键盘和鼠标控制设备",{"2":{"474":1}}],["才需指定serial参数",{"2":{"380":1}}],["尤其是小米",{"2":{"474":1}}],["前提是使用",{"2":{"512":1}}],["前提条件",{"0":{"474":1}}],["前缀可以组合使用",{"2":{"468":1}}],["前缀",{"2":{"468":1}}],["虚拟显示屏的输入法会显示在默认屏幕上",{"2":{"543":1}}],["虚拟显示屏将不会渲染任何内容",{"2":{"541":1}}],["虚拟显示屏将显示空白内容",{"2":{"540":1}}],["虚拟显示屏会在程序退出时销毁",{"2":{"539":1}}],["虚拟显示屏",{"0":{"538":1},"1":{"539":1,"540":1,"541":1,"542":1,"543":1}}],["虚拟显示器",{"2":{"531":1}}],["虚拟显示",{"2":{"473":1,"478":1}}],["虚拟手指",{"2":{"436":1}}],["免费开源软件",{"2":{"473":1}}],["约1秒显示首帧画面",{"2":{"473":1}}],["约1秒即可显示首帧画面",{"2":{"265":1}}],["轻量",{"2":{"473":1}}],["轻量化",{"2":{"267":1}}],["占用",{"2":{"472":1,"490":1,"507":1}}],["守护进程",{"2":{"472":1,"490":1,"507":1}}],["每种模式对应计算机上连接的一个物理游戏手柄",{"2":{"470":1}}],["每个字符必须为以下之一",{"2":{"508":1}}],["每个由",{"2":{"456":1}}],["每个套接字用于其预定用途",{"2":{"455":1}}],["每个套接字都可以禁用",{"2":{"455":1}}],["每个流一个",{"2":{"452":1}}],["每个数据包附带额外头部信息",{"2":{"441":2}}],["每个设备只能添加一次",{"2":{"324":1}}],["每个编排方案中只能有一个全局配置组件",{"2":{"323":1}}],["每个连接的设备都可以添加为独立的窗口组件",{"2":{"319":1}}],["有时",{"2":{"527":1}}],["有时需要几秒",{"2":{"468":1}}],["有两种模式可在设备上模拟物理",{"2":{"505":1}}],["有两种模式可以在设备上模拟物理",{"2":{"470":1}}],["有些设备声明的参数实际上不支持",{"2":{"417":1}}],["尽力而为",{"2":{"464":1}}],["尽管会有很高的延迟",{"2":{"458":1}}],["尽管服务端设计用于",{"2":{"458":1}}],["尽管针对",{"2":{"444":1}}],["尽管扩展了部分功能",{"2":{"303":1}}],["物理鼠标模拟",{"0":{"505":1},"1":{"506":1,"507":1}}],["物理键盘",{"2":{"488":1}}],["物理键盘模拟",{"0":{"488":1},"1":{"489":1,"490":1}}],["物理键盘模拟模式",{"2":{"351":1}}],["物理键盘和鼠标模拟",{"2":{"473":1}}],["物理游戏手柄模拟",{"0":{"470":1},"1":{"471":1,"472":1}}],["物理power键仍会唤醒屏幕",{"2":{"464":1}}],["物理power键总是会唤醒屏幕",{"2":{"464":1}}],["单位为度",{"2":{"529":1}}],["单位为秒",{"2":{"516":1}}],["单位毫秒",{"2":{"463":1}}],["单独按下shift仅反转x",{"2":{"436":1}}],["单独设备配置",{"2":{"274":1}}],["退出时将恢复原始值",{"2":{"463":1}}],["防止设备延迟休眠",{"2":{"462":1}}],["替换",{"2":{"460":1}}],["替换为设备id",{"2":{"536":1}}],["替换为实际的",{"2":{"429":1}}],["替换为",{"2":{"406":1,"520":1}}],["欢迎讨论和贡献",{"2":{"459":1}}],["黑客指南",{"0":{"459":1},"1":{"460":1}}],["流添加缓冲延迟",{"2":{"537":1}}],["流",{"2":{"458":1}}],["反之",{"2":{"486":1}}],["反序列化",{"2":{"457":2}}],["反向网络共享将持续生效",{"2":{"379":1}}],["反向网络共享",{"2":{"266":1,"274":1,"278":1}}],["`",{"2":{"456":2,"508":4}}],["^^^^",{"2":{"508":1}}],["^^",{"2":{"456":1}}],["字节头部",{"2":{"458":1}}],["字节的帧头部",{"2":{"456":1}}],["字节",{"2":{"456":2}}],["字符",{"2":{"351":1}}],["都可能因版本而异",{"2":{"454":1}}],["协议模拟物理",{"2":{"469":1,"472":1,"484":1,"490":1,"502":1,"507":1}}],["协议",{"0":{"454":1},"1":{"455":1,"456":1,"457":1},"2":{"518":1}}],["序列化",{"2":{"457":2}}],["序列化后发送到客户端",{"2":{"453":1}}],["序列号为",{"2":{"426":1}}],["事件会被转发到设备",{"2":{"504":1}}],["事件",{"2":{"453":1,"509":1}}],["事件转换为",{"2":{"453":1}}],["事件时",{"2":{"453":1}}],["操作",{"2":{"453":1,"517":1}}],["操作日志会打印到控制台",{"2":{"438":1,"439":1}}],["负责向设备发送",{"2":{"453":1}}],["负责提取视频和音频数据包",{"2":{"452":1}}],["帧每秒",{"2":{"525":1}}],["帧",{"2":{"452":1}}],["帧率本质上是可变的",{"2":{"525":1}}],["帧率60fps",{"2":{"477":1}}],["帧率",{"0":{"421":1,"525":1}}],["到mp4文件",{"2":{"477":1}}],["到容器",{"2":{"452":1}}],["到系统",{"2":{"414":1}}],["复制到剪贴板⁵",{"2":{"517":1}}],["复制粘贴",{"0":{"435":1}}],["复用",{"2":{"452":1}}],["读取头部信息",{"2":{"452":1}}],[">",{"2":{"452":2,"456":4,"520":3}}],["根据传递给",{"2":{"452":1}}],["根据apache许可证2",{"2":{"385":1,"483":1}}],["正在运行的应用会被销毁",{"2":{"542":1}}],["正在终止",{"2":{"346":1}}],["正向重定向",{"2":{"455":1}}],["正向",{"2":{"455":1}}],["正常",{"2":{"451":2}}],["初始视频高度",{"2":{"456":1}}],["初始视频宽度",{"2":{"456":1}}],["初始化其组件",{"2":{"451":1}}],["初始化",{"0":{"451":1}}],["初步添加对",{"2":{"224":1}}],["初步支持设置偏好设置的作用域范围",{"2":{"228":1}}],["初步支持",{"2":{"205":1}}],["暴露",{"2":{"449":1}}],["文本事件",{"2":{"486":1}}],["文本注入偏好",{"0":{"486":1}}],["文本",{"2":{"449":1}}],["文件",{"2":{"443":2}}],["文件拖放",{"0":{"437":1},"1":{"438":1,"439":1}}],["文件存储路径",{"2":{"280":1}}],["文件管理器",{"2":{"278":1}}],["文件管理支持上传目录",{"2":{"274":1}}],["文件推送",{"2":{"274":1}}],["键",{"2":{"508":1,"517":1}}],["键码",{"2":{"449":1}}],["键盘输入事件通过",{"2":{"485":1}}],["键盘",{"0":{"484":1},"1":{"485":1,"486":1,"487":1,"488":1,"489":1,"490":1},"2":{"478":1,"484":2,"488":1,"489":2,"490":2,"509":1}}],["键盘与鼠标",{"0":{"433":1}}],["键盘注入方式",{"2":{"286":1}}],["键盘模式",{"0":{"485":1},"1":{"486":1,"487":1},"2":{"286":1,"300":1}}],["接收器添加",{"2":{"537":1}}],["接收器启动",{"2":{"536":1}}],["接收视频和音频流以录制单个文件",{"2":{"452":1}}],["接收",{"2":{"449":1}}],["接收端但不播放",{"2":{"533":1}}],["接收端添加",{"2":{"532":1}}],["接收端",{"2":{"281":1,"532":1}}],["异步",{"2":{"448":1}}],["异常",{"0":{"356":1}}],["发音为",{"2":{"473":1}}],["发送到音频播放器",{"2":{"452":1}}],["发生变化时才会生成新帧",{"2":{"447":1}}],["发布的博客文章详细介绍了音频功能",{"2":{"441":1}}],["内核模块模拟物理",{"2":{"469":1,"471":1,"484":1,"489":1,"502":1,"506":1}}],["内部",{"2":{"454":1}}],["内容为您的命令",{"2":{"556":1}}],["内容",{"2":{"447":1}}],["内置终端",{"2":{"274":1}}],["内置gnirehtet反向网络共享功能",{"2":{"266":1}}],["管理",{"2":{"447":1}}],["套接字上暴露原始",{"2":{"458":1}}],["套接字上",{"2":{"455":2,"456":3}}],["套接字上的控制消息",{"2":{"446":1}}],["套接字打开顺序",{"2":{"454":1}}],["套接字数量",{"2":{"454":1}}],["套接字",{"2":{"447":1,"451":1,"455":5}}],["套接字不同",{"2":{"446":1}}],["套接字是双向使用的",{"2":{"446":1}}],["套接字发送的设备元数据",{"2":{"458":1}}],["套接字发送设备消息",{"2":{"446":1}}],["套接字发送",{"2":{"446":1}}],["套接字发送编码后的视频数据包",{"2":{"446":1}}],["组件",{"0":{"446":1},"2":{"446":1}}],["形式为",{"2":{"445":1}}],["意外运行旧版或新版服务端",{"2":{"445":1}}],["执行时",{"2":{"446":1}}],["执行",{"0":{"445":1},"2":{"517":1}}],["执行脚本",{"2":{"278":1}}],["隐藏",{"2":{"449":1}}],["隐藏方法和类无法直接访问",{"2":{"444":1}}],["隐藏方法",{"0":{"444":1}}],["隐含",{"2":{"390":1,"392":1}}],["是快捷键修饰键",{"2":{"517":1}}],["是正向重定向",{"2":{"455":1}}],["是一个",{"2":{"455":1}}],["是一个随机数",{"2":{"445":1}}],["是一款用于在安卓设备上实现反向网络共享的工具",{"2":{"357":1}}],["是客户端的",{"2":{"445":1}}],["是推送服务端的理想选择",{"2":{"443":1}}],["是主类",{"2":{"443":1}}],["类",{"2":{"444":1}}],["类必须被",{"2":{"443":1}}],["类似地",{"2":{"436":1,"441":1,"448":1}}],["框架编译",{"2":{"443":1,"444":1}}],["针对",{"2":{"443":1}}],["针对此类情况",{"2":{"435":1}}],["方向可以在三个不同层级上设置",{"2":{"528":1}}],["方向",{"0":{"528":1}}],["方向与摄像头一致",{"2":{"391":1}}],["方法",{"2":{"443":1,"446":1,"449":1}}],["然而",{"2":{"441":1}}],["然后输入命令",{"2":{"556":1}}],["然后双击",{"2":{"517":1}}],["然后克隆仓库并执行安装脚本",{"2":{"495":1}}],["然后点击",{"2":{"460":1}}],["然后重定向结果",{"2":{"460":1}}],["然后重新编译并运行",{"2":{"460":1}}],["然后是",{"2":{"455":1}}],["然后将",{"2":{"453":1}}],["然后运行",{"2":{"428":1}}],["然后构建",{"2":{"411":1}}],["然后生成发布版本",{"2":{"405":1}}],["新建虚拟显示屏",{"0":{"539":1}}],["新内容会从设备发送到客户端",{"2":{"441":1}}],["新增支持添加设备备注",{"2":{"229":1}}],["新增支持导入及导出配置",{"2":{"229":1}}],["新增支持",{"2":{"201":1}}],["由当前活动应用处理",{"2":{"517":1}}],["由于光标由设备端处理",{"2":{"508":1}}],["由于权限问题",{"2":{"471":1,"506":1}}],["由于音频默认启用",{"2":{"388":1}}],["由",{"2":{"449":1}}],["由客户端通过",{"2":{"449":1}}],["由服务端注入到设备中",{"2":{"441":1}}],["由服务端处理",{"2":{"441":1}}],["随时启用或禁用",{"2":{"525":1}}],["随后建立",{"2":{"520":1}}],["随后",{"2":{"455":2,"456":1}}],["随后可以跟随任意数量的参数",{"2":{"445":1}}],["随后每个套接字分别用于其特定用途",{"2":{"441":1}}],["随系统自动切换",{"2":{"266":1}}],["概述",{"0":{"441":1}}],["后缀为",{"2":{"438":1}}],["后续说明",{"2":{"348":1}}],["技术实现上",{"2":{"436":1}}],["技术优势",{"0":{"270":1}}],["具体取决于设备",{"2":{"473":1}}],["具体来说",{"2":{"458":1}}],["具体操作",{"2":{"436":1}}],["具体使用方法请参考",{"2":{"272":1}}],["捏合缩放",{"0":{"436":1},"2":{"436":1,"517":1}}],["使物理设备旋转不会改变捕获的视频方向",{"2":{"528":1}}],["使得",{"2":{"509":1}}],["使其同样以按键序列方式注入电脑剪贴板文本",{"2":{"435":1}}],["使用主屏幕尺寸和240",{"2":{"539":1}}],["使用主屏幕尺寸和像素密度",{"2":{"539":1}}],["使用左ctrl或左super作为快捷键修饰键",{"2":{"517":1}}],["使用右ctrl作为快捷键修饰键",{"2":{"517":1}}],["使用第四键和第五键触发",{"2":{"508":1}}],["使用第一个外接相机",{"2":{"418":1}}],["使用第一个后置相机",{"2":{"418":1}}],["使用第一个前置相机",{"2":{"418":1}}],["使用第一个相机",{"2":{"418":1}}],["使用其中之一可将鼠标控制权交还给计算机",{"2":{"505":1}}],["使用安装脚本",{"0":{"495":1}}],["使用连接到计算机的手柄控制设备",{"2":{"477":1}}],["使用示例",{"0":{"477":1}}],["使用多个线程捕获原始数据包",{"2":{"446":1}}],["使用不同版本的服务端和客户端毫无意义",{"2":{"445":1}}],["使用不超过",{"2":{"419":2}}],["使用与相机传感器宽高比",{"2":{"419":1}}],["使用宽高比为",{"2":{"419":2}}],["使用最大宽度及其关联的最大高度",{"2":{"419":1}}],["使用预构建服务器",{"0":{"412":1}}],["使用",{"2":{"407":1,"426":1,"427":1,"435":1,"488":1,"508":1,"515":1,"519":1,"536":1,"555":3}}],["使用ctrl",{"2":{"300":1}}],["使用系统终端",{"2":{"280":1}}],["使用场景",{"0":{"268":1}}],["应避免以此方式粘贴敏感内容",{"2":{"435":1}}],["应用提供丰富的功能和配置选项",{"2":{"478":1}}],["应用程序",{"2":{"443":2}}],["应用图标",{"2":{"414":1}}],["应用可选择退出捕获",{"2":{"392":1}}],["应用可选择退出",{"2":{"391":1}}],["应用处于前台",{"2":{"388":1}}],["导致任何应用均可读取",{"2":{"435":1}}],["导出和导入偏好设置",{"2":{"274":1}}],["警告",{"2":{"435":1,"519":1}}],["很有用",{"2":{"435":1}}],["粘贴",{"2":{"435":1}}],["剪切到剪贴板⁵",{"2":{"517":1}}],["剪切",{"2":{"435":1}}],["拖放非apk文件",{"2":{"517":1}}],["拖放apk文件",{"2":{"517":1}}],["拖放到scrcpy窗口",{"2":{"438":1}}],["拖放文件等",{"2":{"432":1}}],["拖拽调整",{"2":{"327":1}}],["拖拽过程中可以看到实时的位置变化",{"2":{"326":1}}],["拖拽移动",{"2":{"326":1}}],["作为替代方案",{"2":{"509":1}}],["作为网络摄像头镜像",{"2":{"473":1}}],["作为回退",{"2":{"455":1}}],["作为scrcpy的图形界面版本",{"2":{"270":1}}],["作者开发的一个小工具",{"2":{"430":1}}],["拔掉设备",{"2":{"429":1}}],["||||",{"2":{"508":2}}],["|||",{"2":{"508":2}}],["||",{"2":{"456":1,"508":2}}],["|",{"2":{"429":1,"456":2,"457":2,"508":2,"517":9}}],["查看",{"2":{"429":1,"536":1}}],["状态",{"2":{"429":1}}],["状态栏会显示",{"2":{"379":1}}],["网络层面的角色是相反的",{"2":{"441":1}}],["网络",{"2":{"429":1}}],["网络摄像头",{"0":{"424":1}}],["本地",{"2":{"520":4}}],["本节记录了",{"2":{"454":1}}],["本节为escrcpy和scrcpy用户提供了解决常见问题的解决方案",{"2":{"339":1}}],["本例中为",{"2":{"428":1}}],["地址和",{"2":{"428":1}}],["地址",{"2":{"428":1,"429":2,"519":1}}],["模块",{"2":{"536":1}}],["模式下使用",{"2":{"509":1}}],["模式下有效",{"2":{"507":1}}],["模式时",{"2":{"488":1}}],["模式并一次性配置键盘布局",{"2":{"484":1}}],["模式的代码请自行阅读",{"2":{"451":1}}],["模式的",{"2":{"429":1}}],["模式",{"0":{"471":1,"472":1,"489":1,"490":1,"506":1,"507":1},"2":{"428":2,"451":3,"472":2,"484":1,"486":1,"490":1,"509":1,"511":1,"536":1}}],["模拟水平倾斜手势",{"2":{"436":1}}],["模拟垂直倾斜手势",{"2":{"436":1}}],["模拟",{"2":{"436":1}}],["模拟器",{"2":{"345":1}}],["模拟辅助显示器",{"2":{"282":1}}],["行为一致",{"2":{"426":1}}],["端口启动调试器并等待",{"2":{"460":1}}],["端口",{"2":{"426":1,"428":1,"520":8}}],["简写版本",{"2":{"477":2,"523":1,"524":1}}],["简写形式",{"2":{"426":3,"432":1,"434":2,"462":1,"464":2,"465":1,"471":1,"489":1,"506":1,"509":1,"511":1,"550":1}}],["简单方法",{"2":{"536":1}}],["简单方式",{"0":{"379":1}}],["简单关闭应用重新打开时报错的问题",{"2":{"216":1}}],["您也可以编辑",{"2":{"556":1}}],["您也可以手动通过",{"2":{"429":1}}],["您将无法查看错误信息",{"2":{"556":1}}],["您需要通过以下4种方式之一指定要使用的设备",{"2":{"426":1}}],["您可在以下网址获取许可证副本",{"2":{"385":1}}],["您可以在以下网址获取许可证副本",{"2":{"483":1}}],["您可以用它来启动",{"2":{"430":1}}],["您可以显著提高多设备管理的效率",{"2":{"338":1}}],["您可以精确控制每个设备窗口的位置",{"2":{"315":1}}],["所有",{"2":{"517":1}}],["所有点击默认被转发",{"2":{"508":1}}],["所有内容",{"2":{"454":1}}],["所有鼠标移动都会以屏幕中心为基准对内容进行缩放和旋转",{"2":{"436":1}}],["所有ctrl快捷键都会转发到设备",{"2":{"435":1}}],["所有相机选项均以",{"2":{"423":1}}],["所有提交到",{"2":{"398":1}}],["花括号扩展技巧",{"0":{"423":1}}],["旋转中心为可见区域的中心",{"2":{"529":1}}],["旋转视频内容",{"2":{"529":1}}],["旋转通过向",{"2":{"528":1}}],["旋转设备屏幕",{"2":{"517":1}}],["旋转与倾斜模拟",{"0":{"436":1}}],["旋转",{"0":{"420":1,"514":1},"2":{"517":1}}],["旋转角度",{"2":{"281":1}}],["匹配的最大尺寸",{"2":{"419":1}}],["误差",{"2":{"419":3}}],["示例中的",{"2":{"445":1}}],["示例",{"2":{"419":1}}],["示例用法",{"2":{"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"367":1,"368":1}}],["用",{"2":{"508":1}}],["用作窗口标题",{"2":{"455":1}}],["用于生成帧",{"2":{"452":1}}],["用于区分同一设备上运行的不同客户端",{"2":{"445":1}}],["用于",{"2":{"441":1}}],["用于指定宽高比",{"2":{"419":1}}],["用户文档",{"0":{"478":1}}],["用户友好",{"2":{"473":1}}],["用户可读写",{"2":{"443":1}}],["用户可以轻松地在电脑上显示并控制安卓设备",{"2":{"263":1}}],["用户身份执行",{"2":{"443":1}}],["用户",{"2":{"443":1}}],["用户运行",{"2":{"411":2,"412":1}}],["用户克隆项目",{"2":{"409":1}}],["用户也可手动调用这些命令",{"2":{"381":1}}],["用户界面进行优化",{"2":{"253":1}}],["某些游戏中这些事件无用且可能导致性能问题",{"2":{"487":1}}],["某些设备需在开发者选项中启用额外设置才能使此模式正常工作",{"2":{"485":1}}],["某些设备支持任意尺寸",{"2":{"419":1}}],["某些命令行参数可以在scrcpy运行时对设备本身执行操作",{"2":{"461":1}}],["某些情况下循环触发导致死循环的问题",{"2":{"188":1}}],["给定的尺寸可以是声明的有效尺寸之一",{"2":{"419":1}}],["已配置",{"2":{"460":1}}],["已监听某个端口",{"2":{"428":1}}],["已用于显示镜像",{"2":{"419":1}}],["已经确定了相机",{"2":{"418":1}}],["已添加的设备不会在下拉列表中重复显示",{"2":{"324":1}}],["来选择相机",{"2":{"418":1}}],["来构建项目",{"2":{"406":1}}],["而非设备主屏幕",{"2":{"539":1}}],["而不是在计算机上捕获",{"2":{"512":1}}],["而字母通过按键事件注入",{"2":{"486":1}}],["而scrcpy命令行参数的单位是秒",{"2":{"463":1}}],["而无需轮询",{"2":{"441":1}}],["而当设备剪贴板内容变化时",{"2":{"441":1}}],["而ctrl+shift仅反转y",{"2":{"436":1}}],["而",{"2":{"427":1}}],["而有些未声明的参数却可能支持",{"2":{"417":1}}],["而是环境配置问题",{"2":{"341":1}}],["尺寸",{"0":{"523":1}}],["尺寸已由显式给定的值确定",{"2":{"419":1}}],["尺寸选择",{"0":{"419":1}}],["尺寸和帧率是声明性的",{"2":{"417":1}}],["尺寸限制说明",{"0":{"328":1}}],["列出已启用的设备",{"2":{"536":1}}],["列出设备上安装的android应用",{"2":{"468":1}}],["列出",{"2":{"418":1,"419":2,"422":1,"426":1}}],["列出可用的相机",{"2":{"417":1}}],["列表",{"0":{"417":1},"2":{"531":1}}],["强制设为420",{"2":{"539":1}}],["强制使用相机画面并捕获设备音频输出",{"2":{"416":1}}],["强制显示画面并使用麦克风",{"2":{"416":1}}],["相当于同时传递了",{"2":{"416":1}}],["相机以",{"2":{"421":1}}],["相机",{"0":{"416":1},"1":{"417":1,"418":1,"419":1,"420":1,"421":1,"422":1,"423":1,"424":1},"2":{"422":1}}],["相关文章",{"0":{"386":1,"480":1}}],["卸载方法",{"2":{"495":1}}],["卸载",{"0":{"415":1}}],["之前应用",{"2":{"530":1}}],["之前",{"2":{"528":1}}],["之后双击该文件即可运行",{"2":{"556":1}}],["之后应用",{"2":{"528":1,"529":1}}],["之后可直接运行",{"2":{"414":1}}],["之间的所有通信均为明文传输",{"2":{"519":1}}],["之间平衡",{"2":{"396":1}}],["补全",{"2":{"414":2}}],["补充依赖及目录结构调整",{"2":{"198":1}}],["手机为竖屏",{"2":{"530":1}}],["手柄",{"2":{"478":1}}],["手柄支持",{"2":{"473":1}}],["手指在设备上的触摸",{"2":{"465":1}}],["手册页",{"2":{"414":1}}],["手动连接",{"0":{"429":1}}],["手动运行",{"0":{"381":1}}],["手动安装",{"0":{"290":1}}],["推送到控制器持有的队列中",{"2":{"453":1}}],["推送到设备的服务器",{"2":{"414":1}}],["推送并启动设备上的服务端",{"2":{"451":1}}],["推送文件到设备的",{"2":{"439":1}}],["推送文件到设备",{"0":{"439":1},"2":{"517":1}}],["推荐使用",{"2":{"520":1}}],["推荐使用rust版本",{"2":{"371":1}}],["推荐微信输入法",{"2":{"300":1}}],["权限",{"0":{"443":1},"2":{"411":1}}],["预构建服务器",{"2":{"410":1}}],["构建指南",{"2":{"479":1}}],["构建系统",{"2":{"443":1}}],["构建成功后",{"2":{"414":1}}],["构建",{"0":{"410":1},"1":{"411":1,"412":1}}],["位置与尺寸",{"0":{"547":1}}],["位随机数",{"2":{"455":1}}],["位版本",{"2":{"406":1}}],["位于",{"2":{"342":1}}],["生成的数据包会附带一个",{"2":{"456":1}}],["生成的",{"2":{"405":1}}],["交叉编译",{"0":{"405":1}}],["$9",{"2":{"429":1}}],["$path",{"2":{"406":1,"407":1}}],["$java",{"2":{"406":1,"407":1}}],["$",{"2":{"403":1,"407":1}}],["$env",{"2":{"346":1,"426":1,"519":1,"520":2}}],["服务端由客户端在启动时推送到设备",{"2":{"460":1}}],["服务端会失败",{"2":{"445":1}}],["服务端会发送设备音频输出",{"2":{"441":1}}],["服务端会发送设备屏幕的原始视频流",{"2":{"441":1}}],["服务端被构建为一个",{"2":{"443":1}}],["服务端是一个",{"2":{"443":1}}],["服务端连接到客户端",{"2":{"441":1}}],["服务端提供视频和音频流",{"2":{"441":1}}],["服务端首先在第一个套接字上发送设备名称",{"2":{"441":1}}],["服务端",{"0":{"442":1},"1":{"443":1,"444":1,"445":1,"446":1,"447":1,"448":1,"449":1},"2":{"441":1,"472":1,"490":1,"507":1}}],["服务端版本",{"2":{"346":1}}],["服务器",{"0":{"519":1},"2":{"518":1,"519":2,"520":2}}],["服务器仅与匹配的客户端版本兼容",{"2":{"412":1}}],["服务器二进制文件将被推送到",{"2":{"410":1}}],["服务器构建依赖",{"2":{"402":1,"403":1}}],["上可能无法工作",{"2":{"506":1}}],["上的",{"0":{"510":1}}],["上的文档",{"2":{"501":1}}],["上的项目主页",{"2":{"398":1}}],["上使用",{"0":{"497":1},"1":{"498":1,"499":1,"500":1,"501":1}}],["上无兼容问题",{"2":{"489":1}}],["上无需",{"2":{"414":1,"415":1}}],["上结合",{"2":{"424":1}}],["上",{"2":{"399":1,"406":1,"472":1,"474":1,"490":1,"507":1,"517":2}}],["上执行",{"2":{"348":1}}],["项目有两个主要分支",{"2":{"398":1}}],["项目团队将持续完善escrcpy",{"2":{"271":1}}],["客户端与",{"2":{"519":1}}],["客户端连接到远程",{"2":{"518":1}}],["客户端连接就不会失败",{"2":{"455":1}}],["客户端设置",{"2":{"455":1}}],["客户端必须始终与匹配的服务端版本一起运行",{"2":{"454":1}}],["客户端解析命令行参数后",{"2":{"451":1}}],["客户端解码音频流",{"2":{"441":1}}],["客户端解码视频帧并尽快显示",{"2":{"441":1}}],["客户端依赖",{"2":{"450":1}}],["客户端通过以下命令启动服务端",{"2":{"445":1}}],["客户端通过服务端控制设备",{"2":{"441":1}}],["客户端在启动服务端之前打开服务器套接字并监听端口",{"2":{"441":1}}],["客户端会捕获相关的键盘和鼠标事件",{"2":{"441":1}}],["客户端不感知设备旋转",{"2":{"441":1}}],["客户端和服务端之间的协议应视为",{"2":{"454":1}}],["客户端和服务端之间的协议可能因版本而异",{"2":{"445":1}}],["客户端和服务端的角色是从应用层面定义的",{"2":{"441":1}}],["客户端和服务端均为每个套接字分配专用线程进行读写操作",{"2":{"441":1}}],["客户端和服务端通过独立的套接字进行视频",{"2":{"441":1}}],["客户端和服务器",{"2":{"397":1}}],["客户端负责将服务端推送到设备并启动其执行",{"2":{"441":1}}],["客户端",{"0":{"450":1},"1":{"451":1,"452":1,"453":1},"2":{"441":1,"451":1,"458":1,"528":1}}],["客户端构建依赖",{"2":{"402":1,"403":1,"406":2,"407":1}}],["客户端需要",{"2":{"399":1}}],["客户端问题",{"0":{"352":1},"1":{"353":1,"354":1}}],["还可启用或禁用屏幕键盘",{"2":{"488":1}}],["还可配置另一音频缓冲",{"2":{"396":1}}],["还接受包含",{"2":{"443":1}}],["还支持高速捕获模式",{"2":{"422":1}}],["还需从",{"2":{"407":1}}],["还需安装",{"2":{"405":1}}],["还需开启usb调试",{"2":{"304":1}}],["减少欠载",{"2":{"396":1}}],["缓冲",{"0":{"396":1,"532":1,"537":1},"2":{"532":3,"537":1}}],["缓冲区",{"2":{"281":1}}],["比默认值大",{"2":{"396":1}}],["比默认值小",{"2":{"396":1}}],["比特率",{"0":{"395":1,"524":1}}],["比例约束",{"2":{"327":1}}],["压缩级别",{"2":{"393":1}}],["说明设备不支持",{"2":{"393":1}}],["捕获方向变换在",{"2":{"528":1}}],["捕获设备前置摄像头并作为网络摄像头暴露给计算机",{"2":{"477":1}}],["捕获屏幕视频并通过",{"2":{"446":1}}],["捕获屏幕需要一些权限",{"2":{"443":1}}],["捕获",{"2":{"421":1,"448":1,"505":1}}],["捕获并录制音频",{"2":{"416":1}}],["捕获适用于实时表演",{"2":{"391":1}}],["捕获语音通话",{"2":{"391":1}}],["捕获为语音通信优化的麦克风音频",{"2":{"391":1}}],["捕获为语音识别优化的麦克风音频",{"2":{"391":1}}],["捕获为视频录制优化的麦克风音频",{"2":{"391":1}}],["捕获未经处理的麦克风原始音频",{"2":{"391":1}}],["捕获麦克风输入",{"2":{"391":1}}],["捕获音频播放",{"2":{"391":1}}],["映射到",{"2":{"391":10}}],["例如运行开源启动器",{"2":{"540":1}}],["例如通过互联网",{"2":{"518":1}}],["例如开关屏幕或复制剪贴板",{"2":{"449":1}}],["例如将设备剪贴板内容传输到客户端",{"2":{"446":1}}],["例如支持回声消除或自动增益控制",{"2":{"391":1}}],["例如",{"2":{"391":1,"393":1,"411":1,"419":1,"423":1,"435":2,"443":1,"445":1,"455":1,"458":1,"508":2,"517":2,"523":1,"525":1,"530":1,"536":1,"540":1,"556":2}}],["会请求设备在竖屏和横屏之间切换",{"2":{"528":1}}],["会自动尝试降低分辨率",{"2":{"523":1}}],["会自动切换备用方案",{"2":{"345":1}}],["会尝试以",{"2":{"523":1}}],["会镜像显示设备屏幕",{"2":{"522":1}}],["会触发开发菜单",{"2":{"517":1}}],["会触发新建邮件功能",{"2":{"435":1}}],["会将多个物理游戏手柄检测为一个行为异常的单一设备",{"2":{"472":1}}],["会将该内容存入android剪贴板",{"2":{"435":1}}],["会强制在一小段延迟后关闭屏幕",{"2":{"464":1}}],["会创建相应的",{"2":{"453":1}}],["会解析参数",{"2":{"446":1}}],["会在ctrl+c时发送sigint信号",{"2":{"435":1}}],["会被",{"2":{"390":1}}],["要连接到远程",{"2":{"519":1}}],["要连接远程设备",{"2":{"518":1}}],["要调试它",{"2":{"460":1}}],["要运行这样的",{"2":{"443":1}}],["要在无窗口模式下播放音频",{"2":{"390":1}}],["要仅播放音频",{"2":{"390":1}}],["要禁用音频功能",{"2":{"389":1}}],["要求",{"0":{"372":1,"399":1},"1":{"373":1}}],["功能请求或一般问题",{"2":{"481":1}}],["功能亮点",{"2":{"473":1}}],["功能",{"2":{"424":1}}],["功能自动禁用",{"2":{"388":1}}],["功能概述",{"0":{"316":1}}],["提交错误报告前",{"2":{"481":1}}],["提交编码并获取编码后的数据包",{"2":{"446":1}}],["提供多种鼠标输入模式",{"2":{"502":1}}],["提供多种键盘输入模式",{"2":{"484":1}}],["提供多种选项",{"2":{"477":1}}],["提供多种游戏手柄输入模式",{"2":{"469":1}}],["提供",{"2":{"426":1,"444":1}}],["提供相关内容以及用户参考",{"2":{"387":1}}],["提升性能和稳定性",{"2":{"274":1}}],["提升用户体验",{"2":{"274":1}}],["提升批量设备连接体验",{"2":{"271":1}}],["法语版",{"2":{"386":2}}],["介绍",{"2":{"386":1}}],["分别设置显示和录制的方向",{"2":{"528":1}}],["分别对应每次次要点击",{"2":{"508":1}}],["分别通过",{"2":{"455":1}}],["分隔",{"2":{"508":1}}],["分发",{"2":{"483":1}}],["分发的软件",{"2":{"385":1}}],["分辨率1920x1080",{"2":{"477":1}}],["分支提交",{"2":{"398":1}}],["分支",{"0":{"398":1},"2":{"412":1}}],["分步操作",{"0":{"380":1}}],["除了原始的",{"2":{"443":1}}],["除非发生错误",{"2":{"556":1}}],["除非启用了",{"2":{"523":1}}],["除非指定",{"2":{"441":1}}],["除非出现机器人声或卡顿",{"2":{"396":1}}],["除非设置了",{"2":{"388":1}}],["除非适用法律要求或书面同意",{"2":{"385":1,"483":1}}],["除非符合许可证要求",{"2":{"483":1}}],["除非符合许可证",{"2":{"385":1}}],["除开启usb调试外",{"2":{"304":1}}],["授权",{"2":{"385":1,"483":1}}],["版的",{"2":{"499":1}}],["版权所有",{"2":{"385":1,"483":2}}],["版本过旧",{"2":{"494":1}}],["版本上可能无法正常工作",{"2":{"471":1}}],["版本可能有所不同",{"2":{"444":1}}],["版本将位于",{"2":{"405":1}}],["版本",{"0":{"370":1},"1":{"371":1},"2":{"346":2,"445":1}}],["版本冲突",{"0":{"346":1}}],["版本已默认包含",{"2":{"342":1}}],["版本打包失败的问题",{"2":{"222":1}}],["许可证",{"0":{"385":1,"483":1},"2":{"385":1,"483":1}}],["图标",{"2":{"379":1}}],["图形化文件管理器",{"2":{"274":1}}],["钥匙",{"2":{"379":1}}],["当前运行的应用程序可能会拒绝",{"2":{"528":1}}],["当前",{"2":{"526":1}}],["当前开发分支",{"2":{"398":1}}],["当有新版本发布时",{"2":{"495":1}}],["当设备通过有线连接时",{"2":{"462":1}}],["当设备在gnirehtet激活时断开并重新连接后",{"2":{"380":1}}],["当gnirehtet激活时",{"2":{"379":1}}],["当调整投屏窗口尺寸后出现黑边时",{"2":{"314":1}}],["直接以全屏模式启动",{"2":{"550":1}}],["直接在",{"2":{"490":1}}],["直接或间接",{"2":{"455":1}}],["直接执行",{"2":{"379":1}}],["直至按下ctrl+c终止",{"2":{"379":1}}],["解锁屏幕",{"2":{"517":1}}],["解复用后的数据包可能发送到",{"2":{"452":1}}],["解复用器",{"2":{"451":1,"452":1}}],["解码后的样本数组",{"2":{"452":1}}],["解码器",{"2":{"451":1,"452":1}}],["解码",{"2":{"450":1}}],["解决",{"2":{"447":1}}],["解决方案",{"2":{"344":1,"346":1,"351":1}}],["解决方案如下",{"2":{"300":1}}],["解压后包含",{"2":{"378":1}}],["也会影响简单的镜像",{"2":{"516":1}}],["也支持",{"2":{"512":1}}],["也不依赖",{"2":{"507":1}}],["也不需要",{"2":{"472":1}}],["也无需在设备上安装应用",{"2":{"473":1}}],["也是发布版本的构建方式",{"2":{"405":1}}],["也可强制指定其他隧道端口",{"2":{"519":1}}],["也可强制始终使用原始按键事件",{"2":{"486":1}}],["也可通过",{"2":{"500":1}}],["也可手动修改此设置",{"2":{"463":1}}],["也可手动调整",{"2":{"462":1}}],["也可能发送到",{"2":{"452":1}}],["也可以直接启动启动器应用",{"2":{"540":1}}],["也可以创建",{"2":{"531":1}}],["也可以通过快捷键",{"2":{"525":1}}],["也可以通过应用名称选择应用",{"2":{"468":1}}],["也可以选择捕获设备摄像头画面",{"2":{"522":1}}],["也可以分别禁用视频和音频播放",{"2":{"515":1,"533":1}}],["也可以显式选择容器",{"2":{"513":1}}],["也可以控制设备",{"2":{"472":1}}],["也可以是其他任意尺寸",{"2":{"419":1}}],["也可以捕获设备麦克风输入",{"2":{"391":1}}],["也可安装android",{"2":{"373":1}}],["也让更多人能够毫无顾虑地使用这一优秀工具",{"2":{"273":1}}],["计算机鼠标会被",{"2":{"505":1}}],["计算机连接",{"2":{"455":1}}],["计算机监听",{"2":{"455":1}}],["计算机需安装java",{"2":{"372":1}}],["计划任务",{"2":{"274":1,"278":1}}],["且默认启用",{"2":{"509":1}}],["且无需",{"2":{"490":1}}],["且无需安装java运行时环境",{"2":{"371":1}}],["且没有向后或向前兼容性",{"2":{"445":1}}],["且不同",{"2":{"444":1}}],["且",{"2":{"392":1}}],["且当前目录在",{"2":{"342":1}}],["它可以发送",{"2":{"509":1}}],["它可能",{"2":{"454":1}}],["它不需要root权限",{"2":{"473":1}}],["它不需要任何root权限",{"2":{"369":1}}],["它不使用",{"2":{"472":1,"490":1,"507":1}}],["它会在设备的",{"2":{"460":1}}],["它负责将",{"2":{"453":1}}],["它在单独的线程中运行",{"2":{"453":1}}],["它们会在客户端异步",{"2":{"452":1}}],["它们使用",{"2":{"449":1}}],["它提供了跨平台的",{"2":{"450":1}}],["它有两种使用方式",{"2":{"428":1}}],["它通过ipv4转发tcp和udp流量",{"2":{"369":1}}],["它基于知名的开源项目scrcpy构建",{"2":{"263":1}}],["该程序设计为通过终端运行",{"2":{"556":1}}],["该参数适用于解决某些设备可能出现的ui异常",{"2":{"541":1}}],["该工具会自动配置",{"2":{"500":1}}],["该模式通用性强",{"2":{"485":1}}],["该功能通过修改stay",{"2":{"462":1}}],["该协议的唯一文档是双方的单元测试",{"2":{"457":1}}],["该应用由两部分组成",{"2":{"441":1}}],["该应用无用户界面",{"2":{"379":1}}],["该命令会自动查找设备的",{"2":{"428":1}}],["该命令会自动将音频源切换为麦克风",{"2":{"416":1}}],["该变量同样被",{"2":{"426":1}}],["该项目已不再积极维护",{"2":{"369":1}}],["该项目通过adb为android设备提供反向网络共享功能",{"2":{"369":1}}],["该组件将立即从编排区域移除",{"2":{"332":1}}],["该组件用于设置所有设备的默认参数",{"2":{"323":1}}],["运行以下两种代码路径之一",{"2":{"451":1}}],["运行时依赖",{"2":{"402":1,"406":2,"407":1}}],["运行",{"0":{"379":1,"380":1,"496":1,"501":1,"556":1}}],["运行期间断开并重新连接",{"2":{"367":1}}],["运行日志等功能",{"2":{"201":1}}],["隧道建立的本地端口",{"2":{"519":1}}],["隧道连接",{"0":{"518":1},"1":{"519":1,"520":1}}],["隧道",{"0":{"520":1},"2":{"367":1,"455":1,"478":1,"520":2}}],["停止客户端",{"2":{"380":1,"381":1}}],["停止当前客户端并重新启动",{"2":{"366":1}}],["停止指定安卓设备上的客户端并退出",{"2":{"365":1}}],["停止中继服务器和客户端",{"2":{"361":1}}],["命令行参数的文档可通过以下方式查看",{"2":{"501":1,"556":1}}],["命令行参数文档可通过以下方式查看",{"2":{"496":1}}],["命令相同",{"2":{"364":1}}],["命令初始化设备连接",{"2":{"341":1}}],["监听设备连接并为每个检测到的设备启动客户端",{"2":{"364":1}}],["监控设备并自动启动客户端",{"2":{"362":1}}],["指定麦克风输入",{"2":{"441":1}}],["指定路由",{"2":{"361":1,"362":1,"363":1,"364":1,"366":1}}],["指定端口",{"2":{"361":1,"362":1,"363":1,"364":1,"366":1,"367":1,"368":1}}],["指定dns服务器",{"2":{"361":1,"362":1,"363":1,"364":1,"366":1}}],["指定设备序列号",{"2":{"358":1,"359":1,"360":1,"363":1,"365":1,"366":1,"367":1}}],["必知技巧",{"0":{"476":1}}],["必要时启用",{"2":{"428":1}}],["必要时安装客户端",{"2":{"361":1}}],["必须",{"2":{"411":1}}],["必须提供",{"2":{"358":1,"359":1}}],["先卸载再安装客户端",{"2":{"360":1}}],["先完成usb连接方式的步骤1",{"2":{"294":1,"295":1}}],["从电脑安装apk",{"2":{"517":1}}],["从官方发布版本安装",{"0":{"499":1}}],["从android",{"2":{"464":1}}],["从设备发送到电脑的视频方向",{"2":{"528":1}}],["从设备到客户端",{"2":{"457":1}}],["从设备列表中选择要添加的设备",{"2":{"324":1}}],["从客户端到设备",{"2":{"457":1}}],["从一个线程接收",{"2":{"446":1}}],["从源码构建所有内容",{"0":{"411":1}}],["从",{"0":{"405":1},"2":{"429":1,"446":1}}],["从最新发布中下载所需版本",{"2":{"376":1}}],["从指定的安卓设备上卸载客户端并退出",{"2":{"359":1}}],["描述",{"2":{"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"367":1,"368":1}}],["编码会话会重置并重新启动",{"2":{"447":1}}],["编码由",{"2":{"447":1}}],["编码",{"2":{"441":2,"447":1,"448":1,"517":1}}],["编码器并不常见",{"2":{"526":1}}],["编码器编码与显示关联的",{"2":{"447":1}}],["编码器",{"0":{"394":1,"527":1},"2":{"356":1,"393":1}}],["编译为",{"2":{"443":1}}],["编译",{"0":{"397":1},"1":{"398":1,"399":1,"400":1,"401":1,"402":1,"403":1,"404":1,"405":1,"406":1,"407":1,"408":1,"409":1,"410":1,"411":1,"412":1,"413":1,"414":1,"415":1}}],["编解码器",{"0":{"393":1,"526":1},"2":{"456":2}}],["编排区域将变为空白状态",{"2":{"331":1}}],["抛出异常",{"2":{"356":1}}],["线缆直接连接到设备一样",{"2":{"509":1}}],["线缆或接口",{"2":{"347":1}}],["线",{"2":{"429":1}}],["线程等",{"2":{"450":1}}],["线程中运行",{"2":{"446":1}}],["线程",{"2":{"356":1,"446":1}}],["崩溃问题",{"0":{"355":1},"1":{"356":1}}],["阻止合成",{"2":{"354":1}}],["临时解决方案",{"2":{"354":1}}],["临时解决方案如下",{"2":{"313":1}}],["时有用",{"2":{"533":1}}],["时间限制",{"0":{"516":1}}],["时间戳在设备端捕获",{"2":{"512":1}}],["时设备屏幕已解锁",{"2":{"388":1}}],["时",{"2":{"361":1,"441":1,"447":1,"455":1}}],["时会禁用合成器",{"2":{"354":1}}],["时若出现",{"2":{"348":1}}],["桌面环境下运行",{"2":{"354":1}}],["合成器崩溃",{"0":{"354":1}}],["合并无线连接及有线连接到设备列表",{"2":{"256":1}}],["kill",{"2":{"519":1}}],["kmg",{"2":{"511":1}}],["k",{"2":{"435":1,"477":1,"484":1,"489":1}}],["kwin",{"0":{"354":1}}],["keyevent",{"2":{"449":1}}],["key=value",{"2":{"445":1}}],["key",{"2":{"130":1,"447":1,"486":1,"487":1}}],["keyboard=disabled",{"2":{"484":1,"509":1}}],["keyboard=sdk",{"2":{"484":1,"485":2,"489":2}}],["keyboard=uhid",{"2":{"434":1,"477":1,"484":1,"489":1,"511":1}}],["keyboard=aoa",{"2":{"348":1,"434":1,"484":1,"489":2,"490":1,"509":1,"511":1}}],["keyboard",{"2":{"12":1,"47":1,"488":1}}],["包装器",{"2":{"449":1}}],["包含",{"2":{"443":1}}],["包含最新发布版本",{"2":{"398":1}}],["包",{"2":{"353":1,"536":1}}],["包括与设备交互的所有操作",{"2":{"432":1}}],["包括其声明的有效尺寸和帧率",{"2":{"417":1}}],["包括麦克风和设备播放",{"2":{"391":1}}],["包括后续连接的设备",{"2":{"379":1}}],["包括",{"2":{"318":1}}],["兼容性问题",{"0":{"353":1}}],["参考",{"2":{"408":1,"449":1}}],["参考手册",{"0":{"387":1}}],["参数显式禁用",{"2":{"540":1}}],["参数必须为一或两组",{"2":{"508":1}}],["参数与",{"2":{"364":1}}],["参数",{"2":{"358":1,"359":1,"416":1,"519":1}}],["参数格式",{"2":{"335":1}}],["参见视频方向",{"2":{"514":1}}],["参见快捷键说明",{"2":{"550":1}}],["参见快捷键",{"2":{"464":1}}],["参见协议部分",{"2":{"445":1}}],["参见",{"2":{"351":1,"519":1}}],["带重音字符",{"2":{"351":1}}],["特殊字符",{"2":{"486":1}}],["特殊字符可能无法直接通过键码处理",{"2":{"449":1}}],["特殊字符输入异常",{"0":{"351":1}}],["特别是",{"2":{"348":1}}],["启用后",{"2":{"536":1}}],["启用后需重启设备",{"2":{"350":1,"474":1}}],["启用show",{"2":{"465":1}}],["启用uhid鼠标模式",{"2":{"434":1}}],["启用",{"2":{"403":1,"429":1,"471":1,"472":1,"489":1,"490":1,"506":1,"507":1,"509":1,"517":1}}],["启用反向网络共享",{"2":{"379":1}}],["启动应用",{"0":{"540":1}}],["启动android应用",{"0":{"468":1}}],["启动app",{"2":{"274":1,"278":1}}],["启动时不显示终端",{"2":{"556":1}}],["启动时不会发送任何帧",{"2":{"447":1}}],["启动时打开终端",{"2":{"556":1}}],["启动时会唤醒设备",{"2":{"467":1}}],["启动时通电",{"0":{"467":1}}],["启动时",{"2":{"451":1}}],["启动中继服务器并保持运行",{"2":{"380":1}}],["启动中继服务器",{"2":{"361":1,"362":1,"381":1}}],["启动客户端",{"2":{"361":1,"381":1}}],["启动窗口编排",{"0":{"321":1}}],["启动镜像时",{"2":{"336":1}}],["启动镜像",{"0":{"306":1},"2":{"300":1}}],["启动escrcpy并将安卓设备通过usb连接电脑",{"2":{"292":1}}],["允许使用",{"2":{"509":1}}],["允许您无需物理连接设备即可完成操作",{"2":{"429":1}}],["允许设备使用所连接计算机的网络连接",{"2":{"369":1}}],["允许设备通过usb共享电脑的网络连接",{"2":{"357":1}}],["允许通过",{"2":{"350":1}}],["允许窗口重叠",{"2":{"328":1}}],["和展开通知面板",{"2":{"508":1}}],["和部分其他字符",{"2":{"485":1}}],["和录制器",{"2":{"452":1}}],["和足够缓冲",{"2":{"396":1}}],["和",{"2":{"347":1,"348":1,"353":1,"390":1,"393":1,"399":1,"405":1,"419":1,"423":1,"444":1,"446":1,"451":1,"455":1,"456":1,"508":4,"509":1,"512":2,"517":1,"526":1,"528":1,"529":1,"530":1,"532":1}}],["和端口号",{"2":{"295":1}}],["=",{"2":{"346":1,"406":1,"426":1,"460":1,"474":1,"519":1,"520":2}}],["路径下创建一个新的视频设备",{"2":{"536":1}}],["路径",{"2":{"346":1,"443":1}}],["二进制文件",{"2":{"346":1}}],["覆盖其他程序的",{"2":{"346":1}}],["不同",{"2":{"489":4}}],["不进行缓冲",{"2":{"441":1}}],["不带参数运行",{"2":{"556":1}}],["不带参数",{"2":{"428":1}}],["不安装直接运行",{"0":{"413":1}}],["不要以",{"2":{"411":1,"412":1}}],["不依赖于系统架构",{"2":{"410":1}}],["不会阻止计算机进入屏幕保护状态",{"2":{"551":1}}],["不会在android设备上留下任何痕迹",{"2":{"473":1}}],["不会在安卓设备上留下任何痕迹",{"2":{"267":1}}],["不会直接失败",{"2":{"388":1}}],["不匹配",{"2":{"346":1}}],["此选项在",{"2":{"533":1}}],["此选项设置的是目标缓冲值",{"2":{"396":1}}],["此变换在",{"2":{"529":1}}],["此处为",{"2":{"523":1}}],["此简化流程仅适用于正式发布版本",{"2":{"495":1}}],["此应用通过usb或tcp",{"2":{"473":1}}],["此模式可能仅支持",{"2":{"490":1}}],["此模式可能仅在",{"2":{"472":1,"507":1}}],["此模式直接在",{"2":{"472":1,"507":1}}],["此模式通过设备的",{"2":{"489":1,"506":1}}],["此模式通过设备上的",{"2":{"471":1}}],["此模式通过",{"2":{"472":1,"490":1,"507":1}}],["此模式仅限于特定的分辨率和帧率",{"2":{"422":1}}],["此功能可用于在虚拟显示器中运行应用",{"2":{"468":1}}],["此功能仅在设备通过",{"2":{"509":1}}],["此功能仅显示物理触摸痕迹",{"2":{"465":1}}],["此功能仅适用于默认鼠标模式",{"2":{"436":1}}],["此功能也可用于防止设备休眠",{"2":{"464":1}}],["此检查用于检测配置错误",{"2":{"445":1}}],["此外",{"2":{"435":1,"500":1}}],["此服务器适用于",{"2":{"412":1}}],["此参数不适用于",{"2":{"395":1}}],["此音频源支持在镜像时保持设备音频播放",{"2":{"392":1}}],["此时需要启动安卓应用",{"2":{"540":1}}],["此时文件名无需以已知扩展名结尾",{"2":{"513":1}}],["此时其内容与第一组相同",{"2":{"508":1}}],["此时",{"2":{"474":1}}],["此时无需",{"2":{"410":1}}],["此时可通过",{"2":{"402":1}}],["此时会短暂弹出一个虚假窗口",{"2":{"388":1}}],["此时设备列表应显示您的手机",{"2":{"295":1}}],["此评论",{"2":{"348":1}}],["此错误表明系统同时运行了多个",{"2":{"346":1}}],["此情况下",{"2":{"345":1}}],["见上文",{"2":{"489":1}}],["见快捷键",{"2":{"488":1}}],["见下文",{"2":{"426":1}}],["见",{"2":{"345":1,"490":1,"525":1,"532":1}}],["旧版本",{"2":{"377":1}}],["旧版",{"2":{"345":1,"489":1}}],["检测到多个设备",{"2":{"345":1}}],["检测到多个",{"2":{"345":1}}],["检查是否超出了最小尺寸限制",{"2":{"338":1}}],["检查是否有其他程序占用鼠标事件",{"2":{"338":1}}],["检查配置文件是否有写入权限",{"2":{"338":1}}],["检查设备是否已经添加到编排中",{"2":{"338":1}}],["连接到端口",{"2":{"458":1}}],["连接到设备",{"2":{"429":1}}],["连接到计算机",{"2":{"429":1}}],["连接的设备",{"2":{"426":3}}],["连接",{"0":{"425":1,"455":1},"1":{"426":1,"427":1,"428":1,"429":1,"430":1},"2":{"426":1,"427":1,"428":1,"429":1,"472":1,"478":1,"507":1}}],["连接已中断",{"2":{"347":1}}],["连接时有效",{"2":{"509":1}}],["连接时可能收到如下提示",{"2":{"345":1}}],["连接时设备端会弹出",{"2":{"344":1}}],["连接设备",{"2":{"295":1,"428":1}}],["驱动",{"2":{"343":1}}],["中检测设备时遇到问题",{"2":{"536":1}}],["中键点击",{"2":{"517":1}}],["中键点击触发主页",{"2":{"476":1}}],["中键",{"2":{"508":2}}],["中键触发",{"2":{"508":1}}],["中没有",{"2":{"406":1}}],["中构建",{"0":{"406":1}}],["中安装",{"2":{"405":1}}],["中的简化流程操作",{"2":{"397":1}}],["中断录制",{"2":{"515":1}}],["中断",{"2":{"390":1,"460":1,"533":1}}],["中继服务器将监听指定端口",{"2":{"363":1}}],["中",{"2":{"342":1,"402":1,"426":3,"452":1,"460":1}}],["则在另一终端中运行",{"2":{"519":1}}],["则无需使用",{"2":{"511":1}}],["则无法重复打开",{"2":{"490":1}}],["则无法打开",{"2":{"472":1,"507":1}}],["则设备会向客户端发送一个虚拟字节",{"2":{"455":1}}],["则首先打开",{"2":{"455":1}}],["则服务端的执行如下",{"2":{"445":1}}],["则可以通过以下命令运行",{"2":{"443":1}}],["则直接运行",{"2":{"428":1}}],["则该设备会被自动选中",{"2":{"426":1}}],["则禁止使用",{"2":{"418":1,"419":1}}],["则",{"2":{"341":1}}],["失败",{"2":{"341":1,"345":1}}],["与视频显示类似",{"2":{"537":1}}],["与设备显示分离",{"2":{"477":1}}],["与设备通信",{"2":{"427":1}}],["与usb调试不同",{"2":{"474":1}}],["与其他模式不同",{"2":{"472":1,"490":1,"507":1}}],["与隐藏组件的通信由",{"2":{"444":1}}],["与mod+shift+v相同",{"2":{"435":1}}],["与客户端",{"2":{"346":1}}],["与",{"0":{"341":1},"1":{"342":1,"343":1,"344":1,"345":1,"346":1,"347":1},"2":{"426":1,"446":1,"489":4}}],["遇到任何错误时",{"2":{"340":1}}],["以实现最低延迟",{"2":{"532":1,"537":1}}],["以实现无缝复制粘贴",{"2":{"441":1}}],["以特定方向捕获视频",{"2":{"528":1}}],["以保持",{"2":{"523":1}}],["以便在游戏中正常响应",{"2":{"486":1}}],["以便在rust版本出现问题时作为备选方案",{"2":{"371":1}}],["以h",{"2":{"477":2}}],["以避免同一设备上同时启动多个",{"2":{"455":1}}],["以避免在主线程上进行",{"2":{"453":1}}],["以最小化延迟",{"2":{"441":1}}],["以接收",{"2":{"428":1}}],["以非",{"2":{"409":1,"411":1}}],["以构建服务器",{"2":{"405":1}}],["以下命令将宽度和高度限制在最大值",{"2":{"523":1}}],["以下命令中的",{"2":{"379":1}}],["以下列表中",{"2":{"517":1}}],["以下示例为禁用音频并录制到",{"2":{"501":1}}],["以下示例禁用音频并录制到file",{"2":{"496":1,"556":1}}],["以下参数",{"2":{"485":1}}],["以下为常用示例",{"2":{"477":1}}],["以下是如何在",{"2":{"458":1}}],["以下是帧头部的结构描述",{"2":{"456":1}}],["以下是视频和音频组件的概述",{"2":{"452":1}}],["以下是编译",{"2":{"397":1}}],["以下是各命令的详细用法及示例",{"2":{"357":1}}],["以下是常见问题及其状态报告",{"2":{"340":1}}],["以及视频的初始设备尺寸",{"2":{"458":1}}],["以及",{"2":{"224":1}}],["帮助中心",{"0":{"339":1}}],["尝试通过保持最小缓冲来降低延迟",{"2":{"441":1}}],["尝试更换",{"2":{"347":1}}],["尝试重置布局后重新配置",{"2":{"338":1}}],["尝试重启应用后再次测试",{"2":{"338":1}}],["尝试重新打开编排界面",{"2":{"338":1}}],["尝试刷新设备列表",{"2":{"338":1}}],["尝试修复构建失败",{"2":{"207":1}}],["常见问题",{"0":{"338":1},"2":{"479":1}}],["故障排除",{"0":{"337":1},"1":{"338":1}}],["未签名的",{"2":{"443":1}}],["未设置",{"2":{"441":1}}],["未设置的参数继承全局配置",{"2":{"336":1}}],["未压缩的",{"2":{"393":1}}],["未找到任何",{"2":{"343":1,"348":1}}],["未找到",{"0":{"342":1}}],["未来可能支持",{"2":{"369":1}}],["未来计划包括",{"2":{"271":1}}],["未来发展",{"0":{"271":1}}],["y=100",{"2":{"547":1}}],["y",{"2":{"335":1}}],["your",{"2":{"10":1,"32":1,"346":3}}],["you",{"2":{"10":1,"32":1}}],["存储在",{"2":{"335":2}}],["成功反馈",{"2":{"334":1}}],["完成后运行",{"2":{"429":1}}],["完成布局调整",{"2":{"334":1}}],["完全禁用视频转发",{"2":{"534":1}}],["完全无需使用",{"2":{"509":1}}],["完全不捕获音频",{"2":{"416":1}}],["完全免费开源",{"2":{"267":1}}],["对",{"2":{"445":1}}],["对于摄像头",{"2":{"530":1}}],["对于摄像头镜像",{"2":{"523":1}}],["对于显示镜像",{"2":{"530":1}}],["对于显示",{"2":{"528":1}}],["对于",{"2":{"406":1,"460":2}}],["对应的设备将重新出现在可添加列表中",{"2":{"332":1}}],["对appimage应用新增了沙盒使用限制",{"2":{"313":1}}],["×",{"2":{"332":1}}],["删除单个组件",{"0":{"332":1}}],["确认显示器分辨率设置正确",{"2":{"338":1}}],["确认点击了",{"2":{"338":1}}],["确认鼠标点击在窗口的可拖拽区域",{"2":{"338":1}}],["确认设备已正确连接",{"2":{"338":1}}],["确认后将移除所有窗口组件",{"2":{"331":1}}],["确保已在设备上启用usb调试",{"2":{"474":1}}],["确保已在设备上启用adb调试",{"2":{"373":1}}],["确保已下载安装最新版escrcpy",{"2":{"306":1}}],["确保所有窗口组件都已调整到满意的位置和尺寸",{"2":{"334":1}}],["确保有执行权限",{"2":{"311":1}}],["清除全部",{"2":{"331":1}}],["清除全部组件",{"0":{"331":1}}],["布局管理操作",{"0":{"329":1},"1":{"330":1,"331":1,"332":1}}],["但错误信息将不可见",{"2":{"556":1}}],["但",{"2":{"526":1}}],["但仅播放视频",{"2":{"515":1,"533":1}}],["但仅支持",{"2":{"485":1}}],["但在",{"2":{"528":1}}],["但在客户端混合",{"2":{"513":1}}],["但在录制时",{"2":{"452":1}}],["但游戏手柄默认禁用",{"2":{"509":1}}],["但无法镜像",{"2":{"507":1}}],["但无法镜像屏幕",{"2":{"472":1}}],["但这会破坏游戏中的键盘行为",{"2":{"486":1}}],["但这些扩展不影响scrcpy核心",{"2":{"303":1}}],["但此行为可能导致问题",{"2":{"486":1}}],["但如果经常使用",{"2":{"484":1}}],["但如果有多台设备连接",{"2":{"426":1}}],["但检索应用名称可能需要一些时间",{"2":{"468":1}}],["但它可以与任何使用相同协议的客户端一起使用",{"2":{"458":1}}],["但未来可能包含其他字段",{"2":{"455":1}}],["但默认情况下可能存在以下问题",{"2":{"447":1}}],["但对其他用户不可写",{"2":{"443":1}}],["但可能破坏非ascii内容",{"2":{"435":1}}],["但具体行为取决于当前应用",{"2":{"435":1}}],["但不支持镜像",{"2":{"490":1}}],["但不支持ipv6",{"2":{"369":1}}],["但不能全部禁用",{"2":{"441":1}}],["但不播放",{"2":{"416":1}}],["但需要",{"2":{"392":1}}],["但功能仍可正常使用",{"2":{"369":1}}],["但功能有限",{"2":{"351":1}}],["但建议避免完全遮挡",{"2":{"328":1}}],["边界约束",{"2":{"328":1}}],["容器会根据文件名自动选择",{"2":{"513":1}}],["容器",{"2":{"513":1}}],["容器高度的",{"2":{"328":1}}],["容器宽度的",{"2":{"328":1}}],["定位调整点",{"2":{"327":1}}],["松开鼠标完成位置调整",{"2":{"326":1}}],["释放定位",{"2":{"326":1}}],["移动窗口位置",{"0":{"326":1}}],["只要存在",{"2":{"455":1}}],["只需添加+前缀",{"2":{"468":1}}],["只需将apk文件",{"2":{"438":1}}],["只需双击黑边区域即可让其自动隐藏",{"2":{"314":1}}],["只读模式",{"0":{"432":1}}],["只有设备运行",{"2":{"531":1}}],["只有当屏幕内容发生变化时才会生成新帧",{"2":{"525":1}}],["只有",{"2":{"411":1}}],["只显示当前已连接的设备",{"2":{"324":1}}],["选项不仅限于录制",{"2":{"516":1}}],["选项",{"0":{"411":1,"412":1},"2":{"323":1,"354":1,"428":1,"512":1}}],["选择已监听",{"2":{"426":1}}],["选择通过",{"2":{"426":2}}],["选择特定编码器",{"2":{"394":1}}],["选择设备",{"2":{"345":1}}],["选择目标窗口",{"2":{"326":1}}],["选择",{"0":{"418":1},"1":{"419":1},"2":{"323":1,"460":1}}],["选择病毒和威胁防护",{"2":{"305":1}}],["选择uhid模式",{"2":{"300":1}}],["继承或覆盖全局配置",{"2":{"319":1}}],["独立服务端",{"0":{"458":1}}],["独立的位置和尺寸设置",{"2":{"319":1}}],["独立配置",{"2":{"266":1}}],["其中",{"2":{"536":1}}],["其中一些需要通过系统注入输入事件",{"2":{"449":1}}],["其特点包括",{"2":{"473":1}}],["其他渠道",{"2":{"481":1}}],["其他命令",{"2":{"449":1}}],["其他通用窗口属性",{"2":{"318":1}}],["其",{"2":{"446":1}}],["其功能等同于gnirehtet",{"2":{"379":1}}],["其优势在于支持所有安装了java",{"2":{"371":1}}],["其次为设备型号",{"2":{"324":1}}],["其开源免费的特性",{"2":{"273":1}}],["默认启用虚拟显示屏的系统装饰元素",{"2":{"541":1}}],["默认编码器可能存在问题甚至崩溃",{"2":{"527":1}}],["默认视频比特率为",{"2":{"524":1}}],["默认绑定相反",{"2":{"508":1}}],["默认模式",{"2":{"469":1,"484":1,"502":1}}],["默认端口为",{"2":{"426":1,"428":1}}],["默认音频源为麦克风",{"2":{"416":1}}],["默认音频源为输出",{"2":{"416":1}}],["默认音频比特率为",{"2":{"395":1}}],["默认为",{"2":{"396":1,"441":2,"505":1}}],["默认为5555",{"2":{"295":1}}],["默认缓冲大小为",{"2":{"396":1}}],["默认",{"2":{"391":1,"393":2,"526":2}}],["默认情况下不启用视频缓冲",{"2":{"537":1}}],["默认情况下是",{"2":{"517":1}}],["默认情况下是反向重定向",{"2":{"455":1}}],["默认情况下",{"2":{"391":1,"416":1,"421":1,"434":1,"441":1,"467":1,"486":1,"487":1,"504":1,"508":1,"509":1,"519":1,"522":1,"523":1,"532":1,"542":1,"543":1,"551":1}}],["默认使用",{"2":{"353":1,"484":1}}],["默认文本注入仅支持",{"2":{"351":1}}],["默认窗口标题为设备型号",{"2":{"546":1}}],["默认窗口位置坐标",{"2":{"318":1}}],["默认窗口宽度和高度",{"2":{"318":1}}],["全平台",{"2":{"378":1}}],["全局配置",{"2":{"323":1,"335":1}}],["全局配置组件将出现在编排区域",{"2":{"323":1}}],["全局配置组件用于设置所有设备的默认窗口参数",{"2":{"318":1}}],["全局配置组件",{"0":{"318":1}}],["全屏模式可通过快捷键",{"2":{"550":1}}],["全屏模式",{"0":{"550":1},"2":{"283":1}}],["核心组件",{"0":{"317":1},"1":{"318":1,"319":1}}],["核心功能",{"0":{"264":1},"1":{"265":1,"266":1,"267":1}}],["大小和布局",{"2":{"315":1}}],["调试时控制设备而不需要镜像功能",{"2":{"511":1}}],["调试不是必需的",{"2":{"509":1}}],["调试被禁用",{"2":{"472":1,"507":1}}],["调试服务端",{"0":{"460":1}}],["调试授予权限和模拟输入",{"2":{"350":1}}],["调试授权请求",{"2":{"344":1}}],["调试",{"2":{"343":1,"350":1,"472":1,"490":2,"507":1,"511":1}}],["调试模式",{"2":{"280":1}}],["调整窗口以去除黑边",{"2":{"517":1}}],["调整窗口至1",{"2":{"517":1}}],["调整窗口尺寸",{"0":{"327":1}}],["调整",{"2":{"393":1}}],["调整投屏窗口大小后出现黑边",{"0":{"314":1}}],["部分android设备在编程设置剪贴板时行为异常",{"2":{"435":1}}],["部分发行版",{"2":{"353":1}}],["部分设备会在虚拟显示屏中显示启动器",{"2":{"540":1}}],["部分设备需启用以下选项",{"2":{"350":1}}],["部分设备连接后可见画面但无法操作",{"0":{"304":1}}],["部分流行发行版",{"2":{"313":1}}],["微软商店版镜像启动报错",{"0":{"311":1}}],["x=100",{"2":{"547":1}}],["xxxx",{"2":{"460":2,"508":2}}],["x3c",{"2":{"455":2,"456":5,"520":1}}],["x86",{"2":{"406":8,"493":2,"499":2}}],["x11",{"2":{"353":1}}],["x",{"2":{"335":1,"411":1,"412":1,"413":1,"460":3}}],["xattr",{"2":{"308":1}}],["x64archfiles",{"2":{"189":1,"190":1,"191":1,"192":1,"193":1}}],["x64",{"2":{"11":1,"71":1}}],["按自定义角度",{"2":{"529":1}}],["按键重复",{"0":{"487":1}}],["按键事件",{"2":{"486":1}}],["按此顺序",{"2":{"468":1}}],["按mod+shift+o可重新打开屏幕",{"2":{"464":1}}],["按顺序打开最多",{"2":{"455":1}}],["按住",{"2":{"508":1}}],["按住ctrl的同时按下鼠标左键",{"2":{"436":1}}],["按住鼠标左键拖拽来改变窗口大小",{"2":{"327":1}}],["按住鼠标左键拖拽窗口到目标位置",{"2":{"326":1}}],["按",{"2":{"385":1,"390":1,"460":1,"483":1,"533":1}}],["按下并保持按住",{"2":{"517":1}}],["按下ctrl时x和y坐标会反转",{"2":{"436":1}}],["按下",{"2":{"361":1}}],["按钮",{"2":{"321":1,"330":1,"331":1,"334":1,"338":1}}],["按ctrl+c终止录制",{"2":{"545":1}}],["按ctrl",{"2":{"306":1}}],["按照usb连接或无线连接的步骤操作即可",{"2":{"296":1}}],["进入设备列表页面重试启用镜像",{"2":{"306":1}}],["进入偏好设置",{"2":{"300":1}}],["即可在指定位置打开终端",{"2":{"556":1}}],["即可使用支持",{"2":{"536":1}}],["即使关闭",{"2":{"490":1}}],["即使",{"2":{"472":1,"507":1}}],["即使设备端没有监听",{"2":{"455":1}}],["即仅通过tcp",{"2":{"462":1}}],["即通过",{"2":{"426":1}}],["即加入排除列表",{"2":{"305":1}}],["即允许通过usb调试修改权限或模拟点击",{"2":{"304":1}}],["将同时安装adb和其他依赖项",{"2":{"555":1}}],["将画面镜像到新建的虚拟显示屏",{"2":{"539":1}}],["将视频发送到",{"2":{"533":1}}],["将该端口重定向到计算机",{"2":{"460":1}}],["将非apk文件拖放到scrcpy窗口",{"2":{"439":1}}],["将电脑剪贴板内容粘贴到设备",{"2":{"435":1}}],["将设备与计算机连接到同一",{"2":{"429":1}}],["将设备通过",{"2":{"429":1}}],["将设备用作录音机并直接在电脑上录制",{"2":{"391":1}}],["将",{"2":{"406":1,"429":1,"536":1}}],["将自动从检测到的设备获取",{"2":{"364":1}}],["将出现以下错误",{"2":{"345":1}}],["将鼠标悬停在目标窗口组件上",{"2":{"332":1}}],["将鼠标移动到窗口的边角位置",{"2":{"327":1}}],["将显示空白编排区域",{"2":{"330":1}}],["将下载软件包的文件夹路径添加为排除项",{"2":{"305":1}}],["将输入模式设置为英文",{"2":{"300":1}}],["找到排除项",{"2":{"305":1}}],["找到实时保护",{"2":{"305":1}}],["打开键盘设置",{"2":{"517":1}}],["打开设备屏幕",{"2":{"517":1}}],["打开屏幕",{"2":{"464":1}}],["打开",{"2":{"451":1}}],["打开终端执行sudo",{"2":{"308":2}}],["打开windows安全中心",{"2":{"305":1}}],["打包配置错误的问题",{"2":{"210":1}}],["打包后图标丢失的问题",{"2":{"202":1}}],["打包失败的问题",{"2":{"194":1,"195":1,"220":1}}],["因任何原因随时更改",{"2":{"454":1}}],["因为它选择源尺寸而非调整内容大小",{"2":{"530":1}}],["因为它对",{"2":{"443":1}}],["因为",{"2":{"418":1}}],["因安装目录文件缺少执行权限引起",{"2":{"311":1}}],["因缺少证书签名",{"2":{"305":1}}],["因此不会产生视频帧",{"2":{"541":1}}],["因此不一定能捕获全部输出",{"2":{"391":1}}],["因此录制时仅允许前四个值",{"2":{"528":1}}],["因此数据包延迟变化不会影响录制的文件",{"2":{"512":1}}],["因此需要显式设置",{"2":{"509":1}}],["因此仅支持",{"2":{"507":1}}],["因此仅支持通过",{"2":{"472":1}}],["因此无法用于测试开发分支",{"2":{"495":1}}],["因此建议直接使用包名",{"2":{"468":1}}],["因此恶意应用无法在客户端执行前替换服务端",{"2":{"443":1}}],["因此可以尝试其他编码器",{"2":{"527":1}}],["因此可以增加缓冲以减少卡顿",{"2":{"390":1}}],["因此可能使用",{"2":{"441":1}}],["因此如果您的",{"2":{"423":1}}],["因此开箱即用",{"2":{"342":1}}],["因此",{"2":{"303":1,"446":1,"472":1,"490":1,"507":1,"509":2}}],["经反馈",{"2":{"305":1}}],["经慎重考虑",{"2":{"303":1}}],["详细操作指南",{"0":{"320":1},"1":{"321":1,"322":1,"323":1,"324":1,"325":1,"326":1,"327":1,"328":1,"329":1,"330":1,"331":1,"332":1}}],["详细说明请参考鼠标键盘无法工作的原因",{"2":{"304":1}}],["详见专门的",{"2":{"522":1,"535":1}}],["详见键盘和鼠标",{"2":{"509":1}}],["详见键盘和鼠标文档",{"2":{"433":1}}],["详见前提条件",{"2":{"485":1,"503":1}}],["详见以下页面",{"2":{"478":1}}],["详见文档",{"2":{"477":1}}],["详见手册或",{"2":{"393":1,"526":1}}],["详见许可证中特定语言规定的权限和限制",{"2":{"385":1,"483":1}}],["详见常见问题",{"2":{"295":1,"510":1}}],["详见",{"2":{"291":1,"347":1,"350":1,"353":1,"392":1,"472":1,"494":1,"507":1}}],["安全设置",{"2":{"304":1,"350":1,"474":1}}],["安装完成后",{"2":{"496":1,"501":1}}],["安装的文件包括",{"2":{"414":1}}],["安装依赖",{"2":{"407":1}}],["安装",{"0":{"414":1,"492":1,"498":1,"553":1},"1":{"493":1,"494":1,"495":1,"499":1,"500":1,"554":1,"555":1},"2":{"402":1,"407":1,"411":1,"500":2}}],["安装apk时",{"2":{"438":1}}],["安装apk",{"0":{"438":1},"2":{"381":1}}],["安装app",{"2":{"278":1}}],["安装rust版本",{"2":{"375":1}}],["安装过程非常简单",{"2":{"375":1}}],["安装支持物理键盘的输入法",{"2":{"300":1}}],["安装说明",{"0":{"289":1},"1":{"290":1,"291":1}}],["小米手机尤其需注意",{"2":{"304":1}}],["注入计算机剪贴板文本",{"2":{"517":1}}],["注入设备",{"2":{"503":1}}],["注入paste命令",{"2":{"435":1}}],["注入cut命令",{"2":{"435":1}}],["注入copy命令",{"2":{"435":1}}],["注",{"2":{"304":1}}],["注意将",{"2":{"520":1}}],["注意",{"2":{"292":1,"295":2,"296":1,"297":1,"323":1,"345":1,"379":1,"396":1,"411":1,"463":1,"465":1,"471":1,"472":2,"474":1,"485":1,"490":1,"495":1,"499":1,"503":1,"506":1,"507":1,"541":1}}],["弊大于利",{"2":{"303":1}}],["这将在",{"2":{"536":1}}],["这将扩展为",{"2":{"423":1}}],["这样",{"2":{"536":1}}],["这会影响录制",{"2":{"528":1}}],["这会导致escrcpy更难同步scrcpy更新",{"2":{"303":1}}],["这用于检测连接错误",{"2":{"455":1}}],["这两个问题通过标志",{"2":{"447":1}}],["这避免了发送不必要的帧",{"2":{"447":1}}],["这种角色反转避免了因竞态条件导致的连接失败",{"2":{"441":1}}],["这在组件不支持文本粘贴时",{"2":{"435":1}}],["这些权限已授予",{"2":{"443":1}}],["这些功能可以单独禁用",{"2":{"441":1}}],["这些操作通常符合预期",{"2":{"435":1}}],["这些平台未预装scrcpy",{"2":{"296":1}}],["这是镜像时使用键盘的最佳模式",{"2":{"489":1}}],["这是android系统的特性",{"2":{"462":1}}],["这是唯一一个双向使用的套接字",{"2":{"441":1}}],["这是推荐的方法",{"2":{"405":1}}],["这是",{"2":{"398":1}}],["这通常并非",{"2":{"341":1}}],["实例时失败",{"2":{"455":1}}],["实际捕获帧率可以通过以下命令打印到控制台",{"2":{"525":1}}],["实际为设备名称",{"2":{"458":1}}],["实际缓冲可能因欠载等原因无法达到目标值",{"2":{"396":1}}],["实际执行的是底层命令",{"2":{"381":1}}],["实时反馈",{"2":{"326":1}}],["实时预览窗口布局效果",{"2":{"316":1}}],["实现",{"2":{"392":1}}],["实现高效的多设备协同操作",{"2":{"315":1}}],["实现该特性需修改底层scrcpy代码",{"2":{"303":1}}],["实验性功能",{"2":{"278":1}}],["原样",{"2":{"385":1,"483":1}}],["原生实现",{"2":{"473":1}}],["原生二进制文件占用更少的cpu和内存资源",{"2":{"371":1}}],["原生支持",{"2":{"267":1}}],["原则上escrcpy只是基于scrcpy的gui版本",{"2":{"303":1}}],["首先应用",{"2":{"530":1}}],["首先确保远程计算机已启动",{"2":{"520":1}}],["首先安装依赖包",{"2":{"495":1}}],["首先找到监听端口",{"2":{"460":1}}],["首先",{"2":{"455":1}}],["首次启动时会弹出权限请求窗口",{"2":{"379":1}}],["首次无线连接可能需要配对",{"2":{"301":1}}],["首选终端",{"2":{"280":1}}],["下",{"2":{"517":2}}],["下有效",{"2":{"472":1}}],["下拉按钮",{"2":{"323":1,"324":1}}],["下载最新版本",{"2":{"554":1}}],["下载最新版本的静态构建包",{"2":{"493":1,"499":1}}],["下载完成后解压即可",{"2":{"499":1}}],["下载后解压即可",{"2":{"493":1,"554":1}}],["下载后解压文件",{"2":{"377":1}}],["下载预构建服务器",{"2":{"412":1}}],["下载",{"0":{"376":1},"1":{"377":1,"378":1},"2":{"399":1}}],["下载时提示杀毒检测导致无法正常下载",{"0":{"305":1}}],["下载微信输入法",{"2":{"300":1}}],["下自定义依赖选项描述错误的问题",{"2":{"212":1}}],["++sn",{"2":{"508":1}}],["++++",{"2":{"508":1}}],["+和",{"2":{"468":1}}],["+",{"2":{"300":1,"306":2,"419":3,"428":1,"460":1,"508":5,"528":9}}],["切换全屏模式",{"2":{"517":1}}],["切换为",{"2":{"351":1}}],["切换输入语言",{"2":{"300":1}}],["切换应用",{"2":{"278":1}}],["语言与输入",{"2":{"488":1}}],["语言与输入中应显示物理键盘和屏幕键盘选项",{"2":{"300":1}}],["语言选择",{"2":{"280":1}}],["系统装饰",{"0":{"541":1}}],["系统上",{"2":{"536":1}}],["系统特定步骤",{"0":{"400":1},"1":{"401":1,"402":1,"403":1,"404":1,"405":1,"406":1,"407":1,"408":1}}],["系统将当前布局信息写入配置文件",{"2":{"334":1}}],["系统将弹出确认对话框",{"2":{"331":1}}],["系统将清除当前所有组件",{"2":{"330":1}}],["系统将打开全屏的窗口编排界面",{"2":{"321":1}}],["系统会自动维持合理的窗口比例",{"2":{"327":1}}],["系统",{"2":{"300":1,"343":1,"488":1}}],["验证",{"2":{"300":1}}],["→",{"2":{"300":4,"350":1,"429":2,"488":3}}],["并选择",{"2":{"511":1}}],["并启用游戏手柄",{"2":{"509":1}}],["并启动其他",{"2":{"446":1}}],["并通过模拟物理键盘控制设备",{"2":{"477":1}}],["并支持使用计算机的键盘和鼠标进行控制",{"2":{"473":1}}],["并填写表单",{"2":{"460":1}}],["并且将会",{"2":{"454":1}}],["并使用",{"2":{"448":1}}],["并从另一个线程通过同一",{"2":{"446":1}}],["并推送到设备的",{"2":{"443":1}}],["并处理客户端的请求",{"2":{"441":1}}],["并最接近",{"2":{"419":1}}],["并非所有设备都能准确支持",{"2":{"417":1}}],["并在启动前连接到设备",{"2":{"428":1}}],["并在",{"2":{"412":1,"443":1}}],["并设置",{"2":{"411":1}}],["并添加到",{"2":{"407":1}}],["并禁用设备播放",{"2":{"391":1}}],["并默认启用",{"2":{"388":1}}],["并将编码后的数据包写入客户端",{"2":{"447":1}}],["并将其传输到服务端",{"2":{"441":1}}],["并将以下文件解压到",{"2":{"399":1}}],["并将以下文件解压至gnirehtet目录",{"2":{"373":1}}],["并将定期更新",{"2":{"387":1}}],["并期待scrcpy未来原生支持交互控制栏",{"2":{"303":1}}],["并完成设置",{"2":{"300":1}}],["并确保设备已授权usb调试权限",{"2":{"299":1}}],["并发上限",{"2":{"280":1}}],["请确保您的设备满足先决条件",{"2":{"556":1}}],["请确保你的设备满足使用前提",{"2":{"501":1}}],["请确保设备满足运行要求",{"2":{"496":1}}],["请确认已正确启用",{"2":{"343":1}}],["请先阅读常见问题",{"2":{"481":1}}],["请先通过",{"2":{"428":1}}],["请选择",{"2":{"472":1}}],["请在配置时启用服务端调试器",{"2":{"460":1}}],["请使用scrcpy",{"2":{"556":1}}],["请使用",{"2":{"542":1,"543":1}}],["请使用以下命令",{"2":{"471":1,"472":1}}],["请使用视频方向选项",{"2":{"420":1}}],["请使用驱动精灵等第三方工具安装驱动后重试",{"2":{"299":1}}],["请注意",{"2":{"417":1,"511":1}}],["请运行以下命令",{"2":{"416":1}}],["请手动安装并将其添加到",{"2":{"406":1}}],["请基于最新的",{"2":{"398":1}}],["请按照说明安装",{"2":{"399":1}}],["请按照",{"2":{"397":1}}],["请参阅",{"2":{"500":1,"555":1}}],["请参阅build",{"2":{"495":1}}],["请参阅禁用播放",{"2":{"389":1}}],["请参考",{"2":{"344":1}}],["请安装openjdk",{"2":{"372":1}}],["请阅读代码",{"2":{"459":1}}],["请阅读",{"2":{"348":1}}],["请通过",{"2":{"345":1}}],["请首先升级至最新版本",{"2":{"340":1}}],["请尝试更换",{"2":{"356":1}}],["请尝试更改安装路径",{"2":{"312":1}}],["请尝试通过偏好设置的禁用音频转发功能解决此问题",{"2":{"310":1}}],["请跳过此步",{"2":{"305":1}}],["请提交设备型号和安卓版本至issues",{"2":{"302":1}}],["请再次点击",{"2":{"302":1}}],["请重新插拔设备",{"2":{"299":1}}],["请点击允许",{"2":{"292":1}}],["电脑输入准备",{"2":{"300":1}}],["电脑连接后无法识别设备",{"0":{"299":1}}],["电源键",{"2":{"278":1}}],["依赖安装成功后",{"2":{"296":1}}],["需先显示文件扩展名以避免混淆",{"2":{"556":1}}],["需将服务器设置为监听所有网络接口",{"2":{"519":1}}],["需指定序列号",{"2":{"509":1}}],["需启用额外选项control",{"2":{"474":1}}],["需添加",{"2":{"468":1}}],["需显式设置",{"2":{"434":1}}],["需在设备上一次性配置与计算机匹配的键盘布局",{"2":{"488":1}}],["需在低延迟",{"2":{"396":1}}],["需在无线调试页面获取设备无线地址",{"2":{"295":1}}],["需禁用视频和控制功能",{"2":{"390":1}}],["需通过计算机控制",{"2":{"379":1}}],["需要安装",{"2":{"536":1}}],["需要先安装",{"2":{"536":1}}],["需要注意的是",{"2":{"441":1}}],["需要",{"2":{"399":1,"406":1,"411":1}}],["需要确保在启动",{"2":{"388":1}}],["需要较新版本的adb",{"2":{"373":1}}],["需要录制手机屏幕内容的用户",{"2":{"268":1}}],["需统一所有程序使用的",{"2":{"346":1}}],["需手动允许",{"2":{"344":1}}],["需手动安装才能使用该功能安装指南",{"2":{"297":1}}],["需手动安装",{"2":{"296":1,"353":1}}],["需确保双方使用相同版本的",{"2":{"518":1}}],["需确保",{"2":{"342":1}}],["需同样配置gnirehtet",{"2":{"311":1}}],["需自定义scrcpy和adb的文件路径",{"2":{"311":1}}],["需注意",{"2":{"303":1}}],["若发生错误",{"2":{"556":1}}],["若未启动任何应用",{"2":{"541":1}}],["若未弹出",{"2":{"344":1}}],["若需直接启动scrcpy而无需打开终端",{"2":{"556":1}}],["若需避免启用远程端口转发",{"2":{"520":1}}],["若需为所有已连接设备",{"2":{"379":1}}],["若需为单一设备启用反向网络共享",{"2":{"379":1}}],["若遇到此类问题",{"2":{"486":1}}],["若要在本地显示屏显示输入法",{"2":{"543":1}}],["若要将应用转移至主屏幕显示",{"2":{"542":1}}],["若要配置不同的帧率",{"2":{"421":1}}],["若要旋转捕获的视频",{"2":{"420":1}}],["若要捕获相机画面而非设备屏幕",{"2":{"416":1}}],["若不与设备交互",{"2":{"396":1}}],["若不满足此条件",{"2":{"388":1}}],["若仅禁用音频播放",{"2":{"389":1}}],["若仅为此应用需要adb",{"2":{"373":1}}],["若音频不可用",{"2":{"388":1}}],["若使用homebrew",{"2":{"375":1}}],["若使用反向网络共享",{"2":{"311":1}}],["若设备未提供启动器",{"2":{"540":1}}],["若设备未列出",{"2":{"343":1}}],["若设备在",{"2":{"367":1}}],["若指定",{"2":{"363":3}}],["若连接了多个设备",{"2":{"358":2,"359":2,"360":1}}],["若出现以下异常",{"2":{"356":1}}],["若同时连接多个设备",{"2":{"345":1}}],["若",{"2":{"341":1,"347":1,"490":1}}],["若有报错",{"2":{"306":1}}],["若无法关闭实时保护",{"2":{"305":1}}],["若权限允许可尝试点击关闭",{"2":{"305":1}}],["若仍无效",{"2":{"302":1}}],["若仍无法识别",{"2":{"299":1}}],["若首次无线连接失败",{"2":{"295":1}}],["若手机弹出调试授权提示",{"2":{"292":1}}],["在裁剪后应用",{"2":{"530":1}}],["在客户端应用",{"2":{"528":1}}],["在可用分辨率中",{"2":{"523":1}}],["在涉及多重转发的复杂场景中可能有用",{"2":{"519":1}}],["在录制时禁用播放和控制",{"2":{"515":1}}],["在镜像时录制视频和音频流",{"2":{"512":1}}],["在旧版",{"2":{"506":1}}],["在旧版本",{"2":{"402":1}}],["在这些模式下",{"2":{"505":1}}],["在终端中运行",{"2":{"501":1}}],["在终端中执行",{"2":{"496":1}}],["在此配置页面中",{"2":{"488":1}}],["在此模式下默认转发所有鼠标按键更合理",{"2":{"508":1}}],["在此模式下",{"2":{"472":1,"485":1,"503":1,"509":1}}],["在新虚拟显示中启动vlc",{"2":{"477":1}}],["在某些设备上",{"2":{"503":1}}],["在某些设备",{"2":{"474":1}}],["在较旧的",{"2":{"471":1}}],["在关闭scrcpy时关闭设备屏幕",{"2":{"466":1}}],["在物理设备上",{"2":{"465":1}}],["在物理键盘设置中配置键盘布局与电脑键盘一致",{"2":{"300":1}}],["在进行演示时",{"2":{"465":1}}],["在android设备上",{"2":{"464":1}}],["在android设备上安装apk",{"2":{"380":1}}],["在左侧点击",{"2":{"460":1}}],["在左键释放前",{"2":{"436":1}}],["在打开的",{"2":{"455":1}}],["在正确边界处拆分视频流等",{"2":{"452":1}}],["在本文档的剩余部分",{"2":{"451":1}}],["在单独线程中运行",{"2":{"449":1}}],["在设备旋转",{"2":{"447":1}}],["在设备上进入",{"2":{"488":1}}],["在设备上执行",{"2":{"441":1}}],["在设备上启用",{"2":{"429":1}}],["在主线程上接收",{"2":{"453":1}}],["在主机上执行",{"2":{"441":1}}],["在主界面右上角找到",{"2":{"321":1}}],["在电脑到设备剪贴板同步后",{"2":{"435":2}}],["在地址前添加",{"2":{"428":1}}],["在bash中",{"2":{"383":1}}],["在另一终端中运行",{"2":{"520":2}}],["在另一终端中",{"2":{"380":1}}],["在windows上",{"2":{"373":1,"379":2}}],["在基于debian的系统中",{"2":{"372":1,"373":1}}],["在当前终端启动中继服务器",{"2":{"368":1}}],["在安卓设备上启动客户端并退出",{"2":{"363":1}}],["在安卓设备上启用开发者模式和usb调试功能",{"2":{"292":1}}],["在指定的安卓设备上安装客户端并退出",{"2":{"358":1}}],["在",{"0":{"406":1,"497":1},"1":{"498":1,"499":1,"500":1,"501":1},"2":{"348":1,"399":1,"405":1,"406":2,"424":1,"426":3,"446":1,"456":3,"460":1,"472":1,"488":1,"489":1,"490":1,"507":1,"508":2,"517":1,"536":1}}],["在菜单中选择偏好设置",{"2":{"306":1}}],["在病毒和威胁防护设置中点击管理设置",{"2":{"305":1}}],["在屏幕键盘设置中启用微信输入法",{"2":{"300":1}}],["在scrcpy目录中双击open",{"2":{"556":1}}],["在scrcpy运行时修改此延迟",{"2":{"463":1}}],["在scrcpy",{"2":{"300":1}}],["在escrcpy中输入设备ip地址和端口号",{"2":{"295":1}}],["在开发者选项中启用并进入",{"2":{"294":1}}],["扫码连接",{"0":{"294":1}}],["开机",{"2":{"517":1}}],["开头",{"2":{"423":1}}],["开箱即用",{"2":{"388":1}}],["开始",{"2":{"429":1}}],["开始使用",{"2":{"292":1,"294":1,"295":1,"300":1}}],["开始镜像",{"2":{"292":1,"295":1}}],["开发者指南",{"0":{"440":1},"1":{"441":1,"442":1,"443":1,"444":1,"445":1,"446":1,"447":1,"448":1,"449":1,"450":1,"451":1,"452":1,"453":1,"454":1,"455":1,"456":1,"457":1,"458":1,"459":1,"460":1}}],["开发者",{"0":{"384":1},"2":{"479":1}}],["开发者选项中需启用额外选项才能使此模式生效",{"2":{"503":1}}],["开发者选项",{"2":{"350":1}}],["开发者在电脑上调试安卓应用",{"2":{"268":1}}],["开发图形化脚本编辑工具",{"2":{"271":1}}],["点击界面底部的",{"2":{"334":1}}],["点击保存按钮",{"2":{"334":1}}],["点击窗口右上角的删除按钮",{"2":{"332":1}}],["点击控制面板中的",{"2":{"330":1}}],["点击要移动的窗口组件",{"2":{"326":1}}],["点击该按钮进入窗口编排界面",{"2":{"321":1}}],["点击全局模式右上角的重置配置按钮",{"2":{"306":1}}],["点击添加或删除排除项",{"2":{"305":1}}],["点击escrcpy中的开始镜像",{"2":{"300":1}}],["点击",{"2":{"292":1,"294":1,"295":2,"323":1,"324":1,"331":1,"449":1,"517":7}}],["游戏手柄模式",{"2":{"471":1,"472":1}}],["游戏手柄",{"0":{"469":1},"1":{"470":1,"471":1,"472":1},"2":{"469":2,"470":1,"471":1,"472":1}}],["游戏手柄设置",{"2":{"286":1}}],["游戏玩家在大屏幕上畅玩手游",{"2":{"268":1}}],["鼠标和游戏手柄通过",{"2":{"509":1}}],["鼠标和游戏手柄模拟运行",{"2":{"509":1}}],["鼠标和游戏手柄控制设备",{"2":{"509":1}}],["鼠标的默认模式",{"2":{"508":1}}],["鼠标按键绑定",{"0":{"508":1}}],["鼠标捕获功能",{"2":{"505":1}}],["鼠标指针从计算机消失",{"2":{"505":1}}],["鼠标悬停",{"0":{"504":1},"2":{"504":1}}],["鼠标输入事件会以绝对坐标的形式通过",{"2":{"503":1}}],["鼠标",{"0":{"502":1},"1":{"503":1,"504":1,"505":1,"506":1,"507":1,"508":1},"2":{"478":1,"502":2,"505":1,"506":1,"507":1}}],["鼠标滚动",{"2":{"449":1}}],["鼠标移动",{"2":{"449":1}}],["鼠标事件",{"2":{"432":1}}],["鼠标键盘失效",{"0":{"350":1}}],["鼠标绑定",{"2":{"286":1}}],["鼠标模式下",{"2":{"508":2}}],["鼠标模式的命令",{"2":{"506":1,"507":1}}],["鼠标模式",{"0":{"503":1},"1":{"504":1},"2":{"286":1}}],["保留音频播放",{"2":{"533":1}}],["保留设备音频",{"2":{"284":1}}],["保持窗口始终在最前端显示",{"2":{"549":1}}],["保持此窗口开启",{"2":{"519":1,"520":2}}],["保持镜像",{"2":{"517":1}}],["保持唤醒",{"0":{"462":1}}],["保持唤醒状态",{"2":{"282":1}}],["保存的布局没有生效",{"2":{"338":1}}],["保存配置后立即生效",{"2":{"336":1}}],["保存布局",{"2":{"334":1,"338":1}}],["保存布局配置",{"0":{"334":1}}],["保存和加载自定义布局方案",{"2":{"316":1}}],["禁用窗口装饰边框",{"2":{"548":1}}],["禁用窗口显示",{"0":{"545":1}}],["禁用请使用",{"2":{"541":1}}],["禁用播放窗口",{"2":{"536":1}}],["禁用fps计数器",{"2":{"517":1}}],["禁用或启用",{"2":{"505":1}}],["禁用重复按键事件转发",{"2":{"487":1}}],["禁用键盘输入",{"2":{"484":1}}],["禁用此行为",{"2":{"467":1}}],["禁用show",{"2":{"465":1}}],["禁用保持唤醒",{"2":{"462":1}}],["禁用上述所有内容",{"2":{"458":1}}],["禁用编解码信息",{"2":{"458":1}}],["禁用正向连接时发送的虚拟字节",{"2":{"458":1}}],["禁用每个数据包的",{"2":{"458":1}}],["禁用通过",{"2":{"458":1}}],["禁用所有控制功能",{"2":{"432":1}}],["禁用音频",{"0":{"389":1},"2":{"477":1}}],["禁用音频回放",{"2":{"285":1}}],["禁用音频传输",{"2":{"284":1}}],["禁用视频回放",{"2":{"285":1}}],["禁用视频传输",{"2":{"281":1}}],["禁用屏幕保护",{"0":{"551":1},"2":{"283":1}}],["禁用控制时自动亮屏",{"2":{"282":1}}],["控制消息通过自定义二进制协议发送",{"2":{"457":1}}],["控制消息",{"2":{"449":1,"453":3}}],["控制器在自己的线程中从队列中取出消息",{"2":{"453":1}}],["控制器",{"0":{"453":1},"2":{"446":1,"453":1}}],["控制",{"0":{"431":1,"457":1},"1":{"432":1,"433":1,"434":1,"435":1,"436":1,"437":1,"438":1,"439":1},"2":{"478":1}}],["控制问题",{"0":{"349":1},"1":{"350":1,"351":1}}],["控制结束后关闭屏幕",{"2":{"282":1}}],["控制时关闭屏幕",{"2":{"282":1}}],["控制模式",{"0":{"277":1}}],["显示",{"0":{"531":1}}],["显示物理触摸痕迹",{"2":{"465":1}}],["显示触摸痕迹",{"0":{"465":1}}],["显示触摸点",{"2":{"282":1}}],["显示器以在",{"2":{"452":1}}],["显示器选择",{"2":{"281":1}}],["显示保存成功的消息提示",{"2":{"334":1}}],["显示方向",{"2":{"281":1}}],["屏幕关闭超时",{"0":{"463":1}}],["屏幕视频编码",{"0":{"447":1}}],["屏幕裁剪",{"2":{"281":1}}],["屏幕旋转",{"2":{"274":1,"278":1}}],["刷新频率",{"2":{"281":1}}],["视频无缓冲",{"2":{"532":1}}],["视频",{"0":{"521":1},"1":{"522":1,"523":1,"524":1,"525":1,"526":1,"527":1,"528":1,"529":1,"530":1,"531":1,"532":1,"533":1,"534":1,"535":1},"2":{"478":1}}],["视频和音频被禁用",{"2":{"509":1}}],["视频和音频",{"0":{"456":1},"2":{"473":1}}],["视频和音频流在设备端编码",{"2":{"513":1}}],["视频和音频流",{"0":{"452":1}}],["视频和音频流由",{"2":{"450":1}}],["视频帧发送到屏幕",{"2":{"452":1}}],["视频使用",{"2":{"447":1}}],["视频流",{"2":{"446":1}}],["视频驱动",{"2":{"353":1}}],["视频缓冲区",{"2":{"281":1}}],["视频编解码器",{"2":{"281":1}}],["视频比特率",{"2":{"281":1}}],["视频控制",{"0":{"281":1}}],["最后释放",{"2":{"517":1}}],["最后一帧的质量可能较差",{"2":{"447":1}}],["最小高度",{"2":{"328":1}}],["最小宽度",{"2":{"328":1}}],["最小尺寸限制",{"2":{"327":1}}],["最小化到托盘后状态栏图标不显示的问题",{"2":{"206":1}}],["最大分辨率",{"2":{"281":1}}],["目标文件写入显示变换来实现",{"2":{"528":1}}],["目标目录可通过启动参数修改",{"2":{"439":1}}],["目标计算机积极拒绝访问",{"0":{"301":1}}],["目录",{"2":{"405":1,"439":1,"443":1}}],["目录结构及描述调整",{"2":{"198":1}}],["目前仅设备名称",{"2":{"455":1}}],["目前仍保留该版本",{"2":{"371":1}}],["目前",{"2":{"369":1}}],["目前已支持以下常用配置项",{"2":{"279":1}}],["持续完善中",{"2":{"279":1}}],["重复按键的快捷键需要在释放后再次按下该键来执行",{"2":{"517":1}}],["重命名为",{"2":{"443":1}}],["重置视频捕获",{"2":{"517":1}}],["重置隧道",{"2":{"380":1}}],["重置隧道可恢复连接",{"2":{"367":1}}],["重置布局",{"0":{"330":1},"2":{"330":1}}],["重新加载保存的布局配置",{"2":{"330":1}}],["重叠处理",{"2":{"328":1}}],["重要",{"2":{"300":1}}],["重启设备",{"2":{"278":1}}],["重构主进程架构",{"2":{"274":1}}],["截图并提交至反馈issues页面",{"2":{"306":1}}],["截图",{"2":{"278":1}}],["音视频录制",{"0":{"285":1}}],["音量控制",{"2":{"278":1}}],["音频转发需api",{"2":{"474":1}}],["音频转发",{"2":{"473":1}}],["音频转发功能支持运行",{"2":{"388":1}}],["音频通过",{"2":{"448":1}}],["音频编码",{"0":{"448":1}}],["音频编解码器",{"2":{"284":1,"395":1}}],["音频流",{"2":{"446":1}}],["音频和控制通信",{"2":{"441":1}}],["音频输出缓冲",{"2":{"396":1}}],["音频输出缓冲区",{"2":{"284":1}}],["音频缓冲不可避免",{"2":{"396":1}}],["音频缓冲区",{"2":{"284":1}}],["音频复制",{"0":{"392":1}}],["音频源",{"0":{"391":1},"1":{"392":1}}],["音频源选择",{"2":{"284":1}}],["音频延迟通常不关键",{"2":{"390":1}}],["音频捕获将失败",{"2":{"388":1}}],["音频捕获异常导致镜像失败",{"0":{"310":1}}],["音频",{"0":{"388":1},"1":{"389":1,"390":1,"391":1,"392":1,"393":1,"394":1,"395":1,"396":1},"2":{"452":1,"478":1,"532":1}}],["音频比特率",{"2":{"284":1}}],["音频录制",{"2":{"277":1}}],["音频控制",{"0":{"284":1},"2":{"274":1}}],["通信",{"2":{"520":1}}],["通用步骤",{"0":{"409":1},"1":{"410":1,"411":1,"412":1,"413":1,"414":1,"415":1}}],["通用设置",{"0":{"280":1}}],["通常够用",{"2":{"536":1}}],["通常是输入事件",{"2":{"446":1}}],["通常是",{"2":{"443":1,"517":1}}],["通常执行粘贴",{"2":{"435":1}}],["通常执行剪切",{"2":{"435":1}}],["通常执行复制",{"2":{"435":1}}],["通常为",{"2":{"428":1,"519":1}}],["通常为连接wifi时分配的ip地址",{"2":{"295":1}}],["通常可正常使用",{"2":{"345":1}}],["通常因电脑缺少音频输出或安卓版本过低",{"2":{"310":1}}],["通常因软件包未签名导致",{"2":{"308":1}}],["通常因系统托盘图标过多溢出隐藏了escrcpy图标",{"2":{"307":1}}],["通常由adb或scrcpy路径错误引起",{"2":{"306":1}}],["通常不会超过两次点击",{"2":{"302":1}}],["通知中心",{"2":{"278":1}}],["通过隧道技术",{"2":{"518":1}}],["通过按住",{"2":{"508":1}}],["通过快捷键修饰键",{"2":{"505":1}}],["通过包管理器安装",{"0":{"494":1,"500":1,"555":1}}],["通过包管理器安装所需依赖",{"2":{"401":1}}],["通过计算机终端执行",{"2":{"488":1}}],["通过文本事件插入",{"2":{"486":1}}],["通过模拟物理键盘和鼠标控制设备",{"2":{"477":1}}],["通过scrcpy发送power指令",{"2":{"464":1}}],["通过ctrl+v或mod+v",{"2":{"435":1}}],["通过",{"2":{"392":1,"418":1,"419":2,"422":1,"446":1,"447":1,"452":1,"469":1,"484":1,"502":1,"509":1}}],["通过以下命令检查设备是否被识别",{"2":{"343":1}}],["通过执行",{"2":{"341":1}}],["通过合理使用窗口编排功能",{"2":{"338":1}}],["通过主界面启动",{"2":{"321":1}}],["通过拖拽方式调整窗口位置和尺寸",{"2":{"316":1}}],["通过可视化的拖拽界面",{"2":{"315":1}}],["通过可视化编排工具支持脚本的自动化",{"2":{"274":1}}],["通过设备的",{"2":{"469":1,"484":1,"502":1}}],["通过设备序列号",{"2":{"426":1}}],["通过设备",{"2":{"297":1}}],["通过二维码配对设备",{"2":{"294":1}}],["通过发行包",{"0":{"290":1}}],["通过备注筛选",{"2":{"274":1}}],["通过escrcpy",{"2":{"263":1}}],["关键帧",{"2":{"456":1}}],["关键帧标志",{"2":{"456":1}}],["关于手机",{"2":{"429":1}}],["关于页面国际化",{"2":{"203":1}}],["关闭虚拟显示屏时",{"2":{"542":1}}],["关闭时销毁",{"0":{"542":1}}],["关闭时断电",{"0":{"466":1}}],["关闭设备屏幕",{"2":{"517":1}}],["关闭视频播放时鼠标功能会被禁用",{"2":{"434":1}}],["关闭",{"2":{"354":1}}],["关闭屏幕",{"0":{"464":1},"2":{"278":1,"464":1}}],["镜像时无效",{"2":{"507":1}}],["镜像时无法使用",{"2":{"490":1}}],["镜像会继续仅传输视频",{"2":{"388":1}}],["镜像组",{"2":{"278":1}}],["镜像模式",{"2":{"277":1}}],["返回值",{"2":{"345":1}}],["返回键",{"2":{"278":1}}],["返回主页",{"2":{"278":1}}],["摄像头帧率",{"2":{"287":1}}],["摄像头比例",{"2":{"287":1}}],["摄像头尺寸",{"2":{"287":1}}],["摄像头源选择",{"2":{"287":1}}],["摄像头控制",{"0":{"287":1}}],["摄像头",{"2":{"277":1,"478":1,"522":1}}],["摄像头录制",{"2":{"277":1}}],["摄像头镜像",{"2":{"274":1,"473":1}}],["录制",{"0":{"512":1},"1":{"513":1,"514":1,"515":1,"516":1},"2":{"473":1,"478":1,"533":1}}],["录制器等",{"2":{"451":1}}],["录制时获取设备列表失败或报错",{"0":{"306":1}}],["录制时长",{"2":{"285":1}}],["录制视频和音频",{"2":{"515":1,"533":1}}],["录制视频方向",{"2":{"285":1}}],["录制视频格式",{"2":{"285":1}}],["录制模式",{"2":{"277":1}}],["录制并保存音视频",{"2":{"274":1}}],["集成",{"2":{"274":1}}],["整合同一设备的不同连接方式和配置",{"2":{"274":1}}],["仅转发音频",{"2":{"534":1}}],["仅镜像",{"2":{"530":1}}],["仅镜像部分区域",{"2":{"530":1}}],["仅录制音频",{"2":{"512":1}}],["仅录制视频",{"2":{"512":1}}],["仅当",{"2":{"447":1}}],["仅当adb",{"2":{"380":1}}],["仅知道接收到的视频帧尺寸",{"2":{"441":1}}],["仅支持有线连接",{"2":{"490":1}}],["仅支持android",{"2":{"435":1}}],["仅支持windows",{"2":{"309":1}}],["仅控制功能",{"0":{"511":1}}],["仅控制设备而不显示屏幕镜像",{"2":{"434":1}}],["仅控制模式",{"0":{"434":1}}],["仅在绝对必要时使用",{"2":{"396":1}}],["仅限hid键盘",{"2":{"517":1}}],["仅限linux",{"2":{"473":1,"477":1}}],["仅限usb连接",{"2":{"434":1}}],["仅限一台",{"2":{"426":2}}],["仅限",{"2":{"392":1}}],["仅捕获语音通话下行链路",{"2":{"391":1}}],["仅捕获语音通话上行链路",{"2":{"391":1}}],["仅音频模式",{"0":{"390":1}}],["仅针对java版本",{"2":{"372":1}}],["仅修复重大阻塞问题",{"2":{"369":1}}],["仅反向共享指定的路由",{"2":{"363":1}}],["仅需设置一次",{"2":{"300":1}}],["仅windows",{"2":{"274":1}}],["仅显示设备屏幕",{"2":{"267":1,"473":1}}],["主要设计为通过终端带参数执行",{"2":{"556":1}}],["主要用于镜像本地安卓设备",{"2":{"518":1}}],["主要绑定",{"2":{"508":1}}],["主",{"2":{"446":1}}],["主程序",{"2":{"414":1}}],["主题风格",{"2":{"280":1}}],["主题切换",{"2":{"266":1}}],["主窗口边缘隐藏",{"2":{"274":1}}],["增强设备文件管理器",{"2":{"274":1}}],["增强版录制功能",{"2":{"274":1}}],["增加了常用的",{"2":{"255":1}}],["增加了对设备交互控制栏的支持",{"2":{"241":1}}],["悬浮控制栏",{"2":{"274":1,"280":1}}],["批量计划任务",{"2":{"276":1}}],["批量执行脚本",{"2":{"276":1}}],["批量文件管理",{"2":{"276":1}}],["批量安装应用",{"2":{"276":1}}],["批量截屏",{"2":{"276":1}}],["批量镜像",{"2":{"276":1}}],["批量处理",{"0":{"276":1},"2":{"274":1}}],["批量连接历史设备",{"2":{"274":1}}],["灵活启动镜像",{"2":{"274":1}}],["多设备连接冲突",{"0":{"345":1}}],["多设备管理",{"2":{"266":1}}],["多线程",{"2":{"274":1}}],["多屏协同",{"2":{"274":1}}],["国际化支持",{"2":{"274":1}}],["国际化语言",{"2":{"201":1}}],["软件更新功能",{"2":{"274":1}}],["软件包格式",{"2":{"223":1}}],["软件包安装后无线显示",{"2":{"221":1}}],["软件包编译",{"2":{"211":1}}],["优先级从高到低",{"2":{"274":1}}],["优化logo设计",{"2":{"274":1}}],["优化投屏窗口位置与大小的设置方式",{"2":{"271":1}}],["优化的用户体验",{"0":{"267":1}}],["优化设备界面视图并添加虚拟控制栏配置",{"2":{"254":1}}],["优化",{"2":{"232":1}}],["优化窗口默认大小",{"2":{"213":1}}],["优化页面查找工具性能",{"2":{"134":1}}],["里程碑",{"0":{"274":1}}],["让系统认为",{"2":{"388":1}}],["让您能够",{"2":{"316":1}}],["让安卓设备控制变得更简单高效",{"2":{"273":1}}],["让我更有精神完善该项目",{"2":{"261":1}}],["结语",{"0":{"273":1}}],["如dev分支",{"2":{"495":1}}],["如scrcpy",{"2":{"476":1}}],["如密码",{"2":{"435":1}}],["如termux中",{"2":{"435":1}}],["如需禁用",{"2":{"551":1}}],["如需禁用窗口显示",{"2":{"545":1}}],["如需禁用自动剪贴板同步",{"2":{"435":1}}],["如需手动构建和安装应用",{"2":{"555":1}}],["如需手动构建和安装",{"2":{"500":1}}],["如需手动构建安装",{"2":{"495":1}}],["如需安装master分支的最新版本",{"2":{"495":1}}],["如需改用aoa模式",{"2":{"434":1}}],["如需同时使用uhid键盘",{"2":{"434":1}}],["如需使用相对鼠标模式控制设备",{"2":{"434":1}}],["如需构建服务器",{"2":{"406":1,"407":1}}],["如需贡献代码",{"2":{"398":1}}],["如观看视频",{"2":{"396":1}}],["如卡拉ok",{"2":{"391":1}}],["如何选择",{"0":{"371":1}}],["如何使用",{"0":{"272":1}}],["如构建问题",{"2":{"369":1}}],["如",{"2":{"353":1,"399":1,"402":1}}],["如ubuntu",{"2":{"313":1}}],["如果希望固定使用某些参数",{"2":{"556":1}}],["如果在",{"2":{"536":1}}],["如果在设备上全屏播放",{"2":{"525":1}}],["如果需要",{"2":{"528":1}}],["如果需要使用多个游戏手柄",{"2":{"472":1}}],["如果不支持请求的方向",{"2":{"528":1}}],["如果编码失败",{"2":{"523":1}}],["如果您的鼠标支持",{"2":{"517":1}}],["如果您喜欢此应用",{"2":{"482":1}}],["如果仅需在启用",{"2":{"511":1}}],["如果仅有一台设备已连接",{"2":{"426":1}}],["如果连接了多个",{"2":{"509":1}}],["如果尚未安装adb",{"2":{"555":2}}],["如果尚未安装",{"2":{"500":1}}],["如果发现错误或有绝妙的想法",{"2":{"459":1}}],["如果隧道是",{"2":{"455":1}}],["如果设置了",{"2":{"455":1}}],["如果设备未通过有线连接",{"2":{"462":1}}],["如果设备未启用",{"2":{"428":1}}],["如果设备屏幕未变化",{"2":{"447":1}}],["如果设备",{"2":{"428":1}}],["如果执行",{"2":{"445":1}}],["如果客户端和服务端版本不完全一致",{"2":{"445":1}}],["如果",{"2":{"443":1,"460":1,"472":1,"507":1,"531":1}}],["如果启用了控制功能",{"2":{"441":1}}],["如果启用了音频功能",{"2":{"441":1}}],["如果启用了视频功能",{"2":{"441":1}}],["如果应用支持",{"2":{"436":1}}],["如果通过",{"2":{"426":1}}],["如果指定了",{"2":{"418":1,"419":1}}],["如果只需构建客户端",{"2":{"410":1}}],["如果只需构建并安装最新版本",{"2":{"397":1}}],["如果出现以下错误",{"2":{"393":1}}],["如果音频捕获失败",{"2":{"388":1}}],["如果没有保存的配置",{"2":{"330":1}}],["如果你正在寻找一款强大且易用的安卓设备控制工具",{"2":{"273":1}}],["如果该项目帮到你的话",{"2":{"261":1}}],["更新仓库并重新安装",{"2":{"495":1}}],["更高画质",{"2":{"477":1}}],["更多快捷键",{"2":{"476":1}}],["更多功能",{"2":{"473":1}}],["更多细节",{"2":{"459":1}}],["更多细节在此",{"2":{"458":1}}],["更多细节请阅读客户端和服务端代码",{"2":{"455":1}}],["更多细节请参阅介绍音频功能的博客文章",{"2":{"448":1}}],["更完善的批量操作功能",{"2":{"270":1}}],["更丰富的自定义选项",{"2":{"270":1}}],["更便捷的连接方式",{"2":{"270":1}}],["更直观的设备管理界面",{"2":{"270":1}}],["跨平台支持",{"0":{"269":1}}],["教学时演示手机操作",{"2":{"268":1}}],["纯净体验",{"2":{"267":1}}],["可双击以下文件之一",{"2":{"556":1}}],["可指定窗口初始位置和尺寸",{"2":{"547":1}}],["可触发快捷键",{"2":{"508":1}}],["可将次要点击事件转发到设备",{"2":{"508":1}}],["可切换",{"2":{"505":1}}],["可按以下简化流程操作",{"2":{"495":1}}],["可禁用屏幕键盘",{"2":{"489":1}}],["可强制使用正向连接",{"2":{"520":1}}],["可强制将字母作为文本注入",{"2":{"486":1}}],["可强制重新连接",{"2":{"428":1}}],["可自定义行为",{"2":{"485":1}}],["可配置画质",{"2":{"473":1}}],["可以创建一个myscrcpy",{"2":{"556":1}}],["可以为",{"2":{"537":1}}],["可以尝试",{"2":{"536":1}}],["可以同时应用",{"2":{"532":1}}],["可以添加缓冲以延迟视频流并补偿抖动",{"2":{"532":1}}],["可以选择镜像的显示器",{"2":{"531":1}}],["可以选择视频编解码器",{"2":{"526":1}}],["可以裁剪设备屏幕",{"2":{"530":1}}],["可以限制捕获帧率",{"2":{"525":1}}],["可以降低分辨率进行镜像",{"2":{"523":1}}],["可以让本地",{"2":{"518":1}}],["可以实现远程设备连接",{"2":{"518":1}}],["可以录制旋转的视频",{"2":{"514":1}}],["可以禁用视频和音频",{"2":{"511":1}}],["可以禁用键盘或鼠标",{"2":{"509":1}}],["可以禁用音频",{"2":{"416":1}}],["可以仅通过物理键盘",{"2":{"509":1}}],["可以支持我的开源工作",{"2":{"482":1}}],["可以手动修改此设置",{"2":{"464":1,"465":1}}],["可以在",{"2":{"536":1}}],["可以在不播放视频或音频的情况下捕获",{"2":{"533":1}}],["可以在启动应用前强制停止它",{"2":{"468":1}}],["可以在镜像开始时通过命令行选项关闭设备屏幕",{"2":{"464":1}}],["可以在检测到新",{"2":{"430":1}}],["可以播放视频",{"2":{"458":1}}],["可以通过以下命令获取显示器",{"2":{"531":1}}],["可以通过以下命令列出",{"2":{"527":1}}],["可以通过以下命令修改",{"2":{"524":1}}],["可以通过包名在启动时运行指定应用",{"2":{"468":1}}],["可以通过反射调用这些方法",{"2":{"444":1}}],["可以通过",{"2":{"427":1,"526":1,"528":3}}],["可以通过传递明确的相机",{"2":{"418":1}}],["可以将视频流发送到",{"2":{"536":1}}],["可以将",{"2":{"424":1}}],["可以利用花括号扩展",{"2":{"423":1}}],["可以自动选择一个声明的有效尺寸",{"2":{"419":1}}],["可以自动选择相机",{"2":{"418":1}}],["可以传递明确的相机尺寸",{"2":{"419":1}}],["可以安装",{"2":{"414":1}}],["可以使用",{"2":{"410":1,"517":1}}],["可以请我喝杯咖啡",{"2":{"261":1}}],["可访问的目录",{"2":{"399":1}}],["可从",{"2":{"399":1}}],["可增加视频和音频缓冲以平滑播放",{"2":{"396":1}}],["可调整",{"2":{"396":1}}],["可选键包括",{"2":{"517":1}}],["可选值为",{"2":{"393":1,"526":1}}],["可选择音频编解码器",{"2":{"393":1}}],["可用于恢复连接",{"2":{"380":1}}],["可分别执行各步骤",{"2":{"380":1}}],["可执行文件",{"2":{"441":1}}],["可执行",{"2":{"379":1}}],["可直接双击gnirehtet",{"2":{"379":1}}],["可直接下载平台工具",{"2":{"373":1}}],["可通过更多选项创建多个设备或指定设备id",{"2":{"536":1}}],["可通过issue提交错误报告",{"2":{"481":1}}],["可通过以下方式打开配置页面",{"2":{"488":1}}],["可通过以下组合键实现复制",{"2":{"435":1}}],["可通过以下命令修改",{"2":{"546":1}}],["可通过以下命令禁用",{"2":{"504":1}}],["可通过以下命令调整",{"2":{"395":1}}],["可通过以下命令列出",{"2":{"394":1}}],["可通过",{"2":{"393":1,"429":1,"435":1,"500":1,"508":1,"536":1}}],["可通过android",{"2":{"373":1}}],["可通过环境变量切换",{"2":{"353":1}}],["可通过技巧输入部分",{"2":{"351":1}}],["可通过序列号指定设备",{"2":{"345":1}}],["可尝试",{"2":{"393":1}}],["可尝试使用以下工具",{"2":{"307":1}}],["可尝试以下方案",{"2":{"305":1,"306":1,"308":1}}],["可能提供更好的画质",{"2":{"526":1}}],["可能无法使用此模式",{"2":{"489":1}}],["可能已包含解决方案",{"2":{"481":1}}],["可能未及时更新",{"2":{"479":1}}],["可能会增加缓冲延迟",{"2":{"536":1}}],["可能会遇到以下错误",{"2":{"474":1}}],["可能会使用多个组件",{"2":{"452":1}}],["可能很有用",{"2":{"465":1}}],["可能的键及其值类型可以在服务端和客户端代码中找到",{"2":{"445":1}}],["可能过旧",{"2":{"402":1}}],["可能需要安装驱动",{"2":{"343":1}}],["可能需先进行无线配对",{"2":{"295":1}}],["可能是驱动问题",{"2":{"348":1}}],["可能是安装路径包含中文或特殊字符",{"2":{"312":1}}],["可能是电脑缺少必要驱动",{"2":{"299":1}}],["可实现pc到安卓设备的网络共享",{"2":{"297":1}}],["可视化多设备窗口布局管理",{"2":{"266":1}}],["配置可独立用于显示",{"2":{"532":1}}],["配置任何鼠标模式的快捷键",{"2":{"508":1}}],["配置键盘布局后",{"2":{"489":1}}],["配置包",{"2":{"456":1}}],["配置包标志",{"2":{"456":1}}],["配置中指定路径",{"2":{"412":1}}],["配置继承",{"2":{"336":1}}],["配置应用时机",{"0":{"336":1}}],["配置节点",{"2":{"335":2}}],["配置存储机制",{"0":{"335":1}}],["配置写入",{"2":{"334":1}}],["配置保存和应用",{"0":{"333":1},"1":{"334":1,"335":1,"336":1}}],["配置导入导出",{"2":{"266":1}}],["配置异常导致打包的文件无法发布的问题",{"2":{"237":1}}],["自由",{"2":{"473":1}}],["自定义模式",{"2":{"277":1}}],["自定义设备名称",{"2":{"274":1}}],["自定义adb和scrcpy依赖项",{"2":{"274":1}}],["自定义备注",{"2":{"266":1}}],["自定义脚本及定时任务",{"2":{"266":1}}],["自定义通用的文件存储路径相关逻辑完善",{"2":{"240":1}}],["自动启动",{"0":{"430":1}}],["自动连接",{"0":{"428":1}}],["自动连接设备",{"2":{"266":1,"280":1}}],["自动退出并提示",{"2":{"347":1}}],["自动操控",{"2":{"278":1}}],["自动执行镜像",{"2":{"274":1,"280":1}}],["自动执行投屏",{"2":{"266":1}}],["自动化",{"2":{"266":1}}],["无播放",{"0":{"515":1,"533":1}}],["无点击的鼠标移动",{"2":{"504":1}}],["无任何明示或暗示的保证或条件",{"2":{"483":1}}],["无任何明示或暗示的担保或条件",{"2":{"385":1}}],["无侵入性",{"2":{"473":1}}],["无论哪个",{"2":{"455":1}}],["无论你是开发者还是普通用户",{"2":{"273":1}}],["无视频",{"0":{"534":1}}],["无视频时",{"2":{"390":1}}],["无视觉反馈",{"2":{"438":1,"439":1}}],["无线充电器启用保持唤醒",{"2":{"462":1}}],["无线调试选项",{"2":{"429":1}}],["无线调试",{"2":{"294":1}}],["无线连接提示",{"0":{"301":1}}],["无线连接方式",{"0":{"293":1},"1":{"294":1,"295":1}}],["无线连接",{"0":{"427":1},"1":{"428":1,"429":1},"2":{"266":1,"489":1}}],["无边框模式",{"0":{"548":1},"2":{"283":1}}],["无需usb调试",{"2":{"477":1}}],["无需镜像",{"2":{"477":1}}],["无需打开终端",{"2":{"379":1}}],["无需指定序列号",{"2":{"364":1}}],["无需重启应用",{"2":{"336":1}}],["无需手动安装",{"2":{"296":1}}],["无需脚本使用自然语言控制你的安卓设备",{"2":{"274":1}}],["无需联网",{"2":{"267":1,"473":1}}],["无需账户",{"2":{"267":1,"473":1}}],["无广告",{"2":{"267":1,"473":1}}],["无残留",{"2":{"267":1}}],["无法在镜像时使用",{"2":{"472":1}}],["无法捕获音频",{"2":{"388":1}}],["无法工作",{"2":{"341":1}}],["无法执行",{"0":{"312":1}}],["无法定位程序输入点discardvirtualmemory于动态链接库kernel32",{"0":{"309":1}}],["无法输入中文",{"0":{"300":1}}],["无法正确获取系统依赖路径的问题",{"2":{"218":1}}],["无法启动镜像或录制服务以及修改自定义依赖目录的问题",{"2":{"200":1}}],["丰富的功能特性",{"0":{"266":1}}],["延迟仅35~70毫秒",{"2":{"265":1}}],["低延迟",{"2":{"265":1,"473":1}}],["低延迟的投屏体验",{"2":{"263":1}}],["取决于设备性能",{"2":{"265":1}}],["高速捕获",{"0":{"422":1}}],["高级用法中",{"2":{"393":1,"526":1}}],["高级选项可通过不带参数的",{"2":{"380":1}}],["高级配置",{"2":{"255":1}}],["高度可定制",{"2":{"266":1}}],["高质量",{"2":{"265":1,"473":1}}],["高性能",{"2":{"265":1,"473":1}}],["高效稳定的投屏体验",{"0":{"265":1}}],["享受高清",{"2":{"263":1}}],["什么是escrcpy",{"0":{"263":1}}],["基于rust的android反向网络共享工具",{"2":{"386":1}}],["基于electron的图形化安卓设备控制工具",{"0":{"262":1},"1":{"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"269":1,"270":1,"271":1,"272":1,"273":1}}],["基本支持",{"2":{"259":1}}],["制作了合适的",{"2":{"253":1}}],["去除未测试环境的打包以修复构建失败的问题",{"2":{"257":1}}],["去除页面组件冗余参数",{"2":{"245":1}}],["去除冗余的依赖项",{"2":{"234":1}}],["错误",{"2":{"236":1,"418":1,"419":1}}],["判断条件解决某些情况下资源路径解析异常的问题",{"2":{"232":1}}],["➕",{"2":{"230":1}}],["的工具打开视频流",{"2":{"536":1}}],["的工具打开",{"2":{"536":1}}],["的一只眼睛",{"2":{"530":1}}],["的一个优势是它还可以无线工作",{"2":{"511":1}}],["的延迟更低",{"2":{"526":1}}],["的帧率不会超过",{"2":{"525":1}}],["的视频",{"2":{"525":1}}],["的设备会被镜像为",{"2":{"523":1}}],["的快捷键会被转发到设备",{"2":{"517":1}}],["的情况下控制设备",{"2":{"511":1}}],["的目的是在不启用",{"2":{"511":1}}],["的行为类似于连接到",{"2":{"509":1}}],["的默认模式",{"2":{"508":1}}],["的默认帧率",{"2":{"421":1}}],["的最高位用于数据包标志",{"2":{"456":1}}],["的最大宽度",{"2":{"419":1}}],["的最大宽度及其关联的最大高度",{"2":{"419":1}}],["的最大尺寸",{"2":{"419":2}}],["的当前协议",{"2":{"454":1}}],["的参数",{"2":{"452":1}}],["的原始音频流",{"2":{"441":1}}],["的额外触摸事件",{"2":{"436":1}}],["的宽高比",{"2":{"419":1}}],["的发布版本中也包含这些文件",{"2":{"399":1}}],["的代码将包含在下一个版本中",{"2":{"398":1}}],["的说明",{"2":{"397":1}}],["的音频",{"2":{"391":1}}],["的已知问题",{"2":{"345":1}}],["的",{"2":{"341":1,"443":1,"451":2,"455":1}}],["的高级功能之一",{"2":{"315":1}}],["的支持",{"2":{"224":1}}],["的问题",{"2":{"221":1}}],["支持多种格式",{"2":{"513":1}}],["支持所有字符和输入法",{"2":{"489":1}}],["支持所有平台在点击关闭按钮时选择是否保存到托盘中的功能",{"2":{"211":1}}],["支持音频",{"2":{"480":1}}],["支持linux",{"2":{"473":1}}],["支持自动配置连接",{"2":{"428":1}}],["支持两种约束条件",{"2":{"419":1}}],["支持在运行",{"2":{"416":1}}],["支持的音频源包括",{"2":{"391":1}}],["支持adb",{"2":{"373":1}}],["支持gnu",{"2":{"369":1}}],["支持",{"2":{"319":1,"423":2,"489":1}}],["支持设备批量启动",{"2":{"274":1}}],["支持添加打开app到桌面快捷方式",{"2":{"274":1}}],["支持macos和linux系统",{"2":{"274":1}}],["支持浅色",{"2":{"266":1}}],["支持拖拽调整位置和尺寸",{"2":{"266":1}}],["支持通过可视化编排工具控制各设备的窗口布局",{"2":{"274":1}}],["支持通过扫码快速连接设备",{"2":{"266":1}}],["支持通过操作栏安装应用并提供相应安装反馈",{"2":{"233":1}}],["支持1920×1080或更高分辨率显示",{"2":{"265":1}}],["支持30",{"2":{"265":1}}],["支持创建更多架构的",{"2":{"223":1}}],["及麦克风",{"2":{"477":1}}],["及以上版本",{"2":{"392":2}}],["及",{"2":{"222":1}}],["问题4",{"2":{"338":1}}],["问题3",{"2":{"338":1}}],["问题2",{"2":{"338":1}}],["问题1",{"2":{"338":1}}],["问题",{"0":{"341":1,"348":1,"510":1},"1":{"342":1,"343":1,"344":1,"345":1,"346":1,"347":1},"2":{"219":1}}],["窗口设置",{"0":{"544":1},"1":{"545":1,"546":1,"547":1,"548":1,"549":1,"550":1,"551":1}}],["窗口和音频输出时",{"2":{"512":1}}],["窗口中可以通过键盘和鼠标快捷键执行操作",{"2":{"517":1}}],["窗口中按",{"2":{"488":1}}],["窗口中渲染",{"2":{"452":1}}],["窗口",{"2":{"478":1}}],["窗口标题",{"0":{"546":1},"2":{"441":1}}],["窗口尺寸异常",{"2":{"338":1}}],["窗口拖拽不响应",{"2":{"338":1}}],["窗口不能拖拽到编排区域外部",{"2":{"328":1}}],["窗口不能小于预设的最小尺寸",{"2":{"327":1}}],["窗口布局调整",{"0":{"325":1},"1":{"326":1,"327":1,"328":1}}],["窗口置顶",{"0":{"549":1},"2":{"283":1}}],["窗口y坐标",{"2":{"283":1,"335":1}}],["窗口x坐标",{"2":{"283":1,"335":1}}],["窗口高度",{"2":{"283":1,"335":1}}],["窗口宽度",{"2":{"283":1,"335":1}}],["窗口控制",{"0":{"283":1}}],["窗口控制及交互逻辑优化",{"2":{"204":1}}],["窗口编排功能提供了一个全屏的可视化编辑界面",{"2":{"316":1}}],["窗口编排",{"2":{"266":1,"321":1}}],["窗口过小导致出现横向滚动条的问题",{"2":{"215":1}}],["窗口问题",{"2":{"214":1}}],["或复制",{"2":{"556":1}}],["或禁用虚拟显示屏中默认的启动器界面",{"2":{"541":1}}],["或视频会议软件中捕获视频",{"2":{"536":1}}],["或启用",{"2":{"533":1}}],["或在",{"2":{"509":1}}],["或物理鼠标",{"2":{"509":1}}],["或点亮屏幕",{"2":{"508":2}}],["或点击刷新设备",{"2":{"302":1}}],["或带参数运行",{"2":{"496":1,"501":1,"556":1}}],["或直接切换至",{"2":{"486":1}}],["或省略参数时",{"2":{"485":1,"503":1}}],["或随时按下mod+o组合键",{"2":{"464":1}}],["或设置了",{"2":{"455":1}}],["或折叠",{"2":{"447":1}}],["或执行以下命令",{"2":{"429":1}}],["或您不知道设备的",{"2":{"428":1}}],["或者",{"2":{"418":1,"419":1,"460":1}}],["或通过",{"2":{"441":1,"540":1}}],["或通过系统包管理器安装",{"2":{"399":1}}],["或通过环境变量指定",{"2":{"346":1}}],["或简写为",{"2":{"392":1,"469":1,"484":1}}],["或更高版本时",{"2":{"531":1}}],["或更高版本的设备上使用相机镜像功能",{"2":{"416":1}}],["或更高版本的设备",{"2":{"388":1}}],["或更早版本",{"2":{"388":1}}],["或更新版本",{"2":{"388":1}}],["或仅检测到无关",{"2":{"348":1}}],["或选择单一",{"2":{"345":1}}],["或插入usb确保连接建立并授权成功后再使用无线",{"2":{"301":1}}],["或",{"2":{"212":1,"345":1,"348":1,"410":1,"419":1,"441":1,"452":1,"456":2,"488":1,"502":1,"505":1,"511":1,"517":2,"528":1}}],["为数字",{"2":{"536":1}}],["为音频播放设置",{"2":{"532":1}}],["为视频播放添加",{"2":{"532":1}}],["为了提升性能",{"2":{"523":1}}],["为了简化操作",{"2":{"458":1}}],["为了简化操作并利用",{"2":{"443":1}}],["为实现安全的远程",{"2":{"520":1}}],["为确保正常工作",{"2":{"488":1}}],["为ac",{"2":{"462":1}}],["为此",{"2":{"449":1}}],["为什么叫gnirehtet",{"0":{"383":1}}],["为每个客户端执行",{"2":{"380":1}}],["为方便起见",{"2":{"379":1,"464":1,"468":1}}],["为所有设备启用反向网络共享",{"2":{"362":1}}],["为单一设备启用反向网络共享",{"2":{"361":1}}],["为何设备交互控制栏未设计为自动贴边的悬浮菜单",{"0":{"303":1}}],["为用户提供了更加友好且功能丰富的图形界面",{"2":{"263":1}}],["为",{"2":{"211":1,"532":1,"537":1}}],["设置视频方向",{"2":{"528":1}}],["设置新值",{"2":{"463":1}}],["设置",{"2":{"367":1,"429":1,"488":1}}],["设置全局默认配置和设备特定配置",{"2":{"316":1}}],["设置主题跟随系统后",{"2":{"188":1}}],["设备就能像普通摄像头一样被任何支持",{"2":{"536":1}}],["设备就会开始流式传输视频",{"2":{"458":1}}],["设备有多个显示器",{"2":{"531":1}}],["设备的宽高比",{"2":{"523":1}}],["设备的分辨率进行镜像",{"2":{"523":1}}],["设备的物理键盘和",{"2":{"509":1}}],["设备的设置",{"2":{"300":1}}],["设备屏幕关闭时镜像",{"2":{"473":1}}],["设备已被其他进程如",{"2":{"472":1,"490":1,"507":1}}],["设备首先发送一些编解码器元数据",{"2":{"456":1}}],["设备向客户端发送一些元数据",{"2":{"455":1}}],["设备监听",{"2":{"455":1}}],["设备上",{"2":{"505":1,"526":1}}],["设备上以",{"2":{"443":1}}],["设备上可能有多个编码器可用",{"2":{"394":1,"527":1}}],["设备连接",{"2":{"455":1}}],["设备连接时自动运行任意命令",{"2":{"430":1}}],["设备连接成功后",{"2":{"297":1}}],["设备ip",{"2":{"429":2}}],["设备id",{"2":{"335":1}}],["设备必须与计算机连接在同一网络中",{"2":{"427":1}}],["设备序列号也可以通过环境变量",{"2":{"426":1}}],["设备选择",{"0":{"426":1}}],["设备相机用作计算机上的网络摄像头",{"2":{"424":1}}],["设备或计算机均无需",{"2":{"369":1}}],["设备将使用指定的dns服务器",{"2":{"363":1}}],["设备断开连接",{"0":{"347":1}}],["设备端应弹出授权请求窗口",{"2":{"344":1}}],["设备未授权",{"0":{"344":1},"2":{"344":1}}],["设备未检测到",{"0":{"343":1}}],["设备需单独安装",{"2":{"343":1}}],["设备",{"2":{"343":1,"345":4,"348":2,"410":1,"427":1,"478":1,"509":1,"533":1,"536":1}}],["设备不显示在添加列表中",{"2":{"338":1}}],["设备特定配置优先",{"2":{"336":1}}],["设备特定的窗口配置",{"2":{"319":1}}],["设备开始镜像时自动应用对应的窗口配置",{"2":{"336":1}}],["设备配置",{"2":{"335":1}}],["设备名称优先显示自定义名称",{"2":{"324":1}}],["设备显示规则",{"2":{"324":1}}],["设备窗口组件将添加到编排区域",{"2":{"324":1}}],["设备窗口组件",{"0":{"319":1}}],["设备窗口编排是",{"2":{"315":1}}],["设备窗口编排功能详解",{"0":{"315":1},"1":{"316":1,"317":1,"318":1,"319":1,"320":1,"321":1,"322":1,"323":1,"324":1,"325":1,"326":1,"327":1,"328":1,"329":1,"330":1,"331":1,"332":1,"333":1,"334":1,"335":1,"336":1,"337":1,"338":1}}],["设备输入设置",{"2":{"300":1}}],["设备输入法准备",{"2":{"300":1}}],["设备控制栏",{"2":{"297":1}}],["设备控制",{"0":{"282":1,"461":1},"1":{"462":1,"463":1,"464":1,"465":1,"466":1,"467":1,"468":1}}],["设备交互栏",{"0":{"278":1}}],["设备交互栏添加重启设备及打开通知栏功能",{"2":{"230":1}}],["设备操作指南",{"0":{"275":1},"1":{"276":1,"277":1,"278":1}}],["设备分组",{"2":{"274":1}}],["设备快捷交互控制栏",{"2":{"274":1}}],["设备备注文本框描述信息调整",{"2":{"226":1}}],["设备列表标签显示细节调整",{"2":{"225":1}}],["设计",{"2":{"208":1}}],["采用新的方法实现所有进程共享",{"2":{"231":1}}],["采用新的",{"2":{"208":1}}],["深色模式",{"2":{"201":1,"266":1,"274":1}}],["拆分依赖文件禁用冗余的警告信息",{"2":{"198":1}}],["添加所需的参数",{"2":{"556":1}}],["添加了一些服务端特定选项以轻松生成原始流",{"2":{"458":1}}],["添加设备窗口组件",{"0":{"324":1}}],["添加组件",{"2":{"323":1,"324":1}}],["添加全局配置组件",{"0":{"323":1}}],["添加和管理组件",{"0":{"322":1},"1":{"323":1,"324":1}}],["添加基本的无线连接功能",{"2":{"259":1}}],["添加基本的有线连接支持",{"2":{"259":1}}],["添加初步的构建及发布支持",{"2":{"259":1}}],["添加在线检查更新功能",{"2":{"248":1}}],["添加音视频录制功能以及更多的高级选项",{"2":{"246":1}}],["添加更多的高级配置并更新文档",{"2":{"244":1}}],["添加",{"2":{"205":1,"211":1,"259":1}}],["添加投屏窗口大小控制",{"2":{"162":1}}],["添加定时任务入口",{"2":{"112":1}}],["zeno",{"2":{"494":1}}],["zsh",{"2":{"414":2,"423":1}}],["zh",{"2":{"137":1,"138":1,"140":1}}],["zip",{"2":{"5":1,"377":3,"378":1,"554":2}}],["🤩",{"2":{"267":1}}],["🤖",{"2":{"266":1}}],["🧑‍💻",{"2":{"12":4,"19":2,"72":1}}],["🩹",{"2":{"11":1,"12":2,"47":1,"50":1,"84":1}}],["jdwp",{"2":{"460":2}}],["jdk",{"2":{"402":1,"405":2}}],["jre包",{"2":{"372":1}}],["jre",{"2":{"372":1}}],["jar",{"2":{"378":1,"443":2,"445":3,"458":2}}],["java版本",{"2":{"370":1}}],["java",{"0":{"378":1},"2":{"356":1,"378":1,"403":1,"406":1,"407":3,"410":1,"443":2,"474":1}}],["japanese",{"2":{"12":1,"35":1}}],["js",{"2":{"7":1}}],["⬆️",{"2":{"12":4,"55":1,"57":1,"77":1,"96":1,"104":1}}],["➖",{"2":{"12":1,"69":1,"106":1,"150":1}}],["✅",{"2":{"12":4,"27":1,"57":1,"65":1,"98":1,"122":1,"274":36}}],["⚗️",{"2":{"12":1,"93":1}}],["♿️",{"2":{"12":1}}],["♻️",{"2":{"11":1,"12":25,"14":1,"19":1,"34":2,"35":1,"40":1,"59":1,"60":1,"62":1,"65":1,"67":1,"68":2,"72":2,"80":2,"82":1,"85":2,"87":2,"93":2,"100":1,"102":1,"109":1,"115":2,"118":1,"131":1,"134":4,"136":1,"142":1,"143":2,"144":1,"146":1,"147":1,"149":1,"150":3,"153":1,"164":2,"165":1,"168":1,"169":2,"170":2,"172":3,"174":2,"175":2,"178":4,"183":2,"186":1,"187":2,"198":4}}],["31",{"2":{"455":1}}],["31416",{"2":{"381":1}}],["3be0682",{"2":{"254":1}}],["3bd2075",{"2":{"233":1}}],["3bf79d3",{"2":{"208":1}}],["32位",{"2":{"554":1}}],["32",{"2":{"406":1}}],["326a133",{"2":{"229":1}}],["3279c34",{"2":{"182":1}}],["36版本已验证可用",{"2":{"373":1}}],["3654",{"2":{"348":1}}],["368e8ee",{"2":{"211":1}}],["368551a",{"2":{"148":1}}],["36de67b",{"2":{"172":1}}],["363bf3d",{"2":{"6":1}}],["37",{"2":{"351":1}}],["379b325",{"2":{"226":1}}],["37e2837",{"2":{"195":1}}],["37da97b",{"2":{"178":1}}],["37ce245",{"2":{"124":1}}],["37bf438",{"2":{"12":1}}],["3d4dc7c",{"2":{"117":1}}],["3dd7525",{"2":{"12":1,"87":1}}],["35~70毫秒",{"2":{"473":1}}],["3566655",{"2":{"157":1}}],["359b9b9",{"2":{"12":1,"34":1}}],["358064e",{"2":{"11":1,"90":1}}],["33b0181",{"2":{"121":1}}],["33786ab",{"2":{"12":1,"30":1}}],["33a03c3",{"2":{"12":1,"55":1}}],["30~120fps",{"2":{"473":1}}],["300ms",{"2":{"532":1,"537":1}}],["30000",{"2":{"463":1}}],["300秒",{"2":{"463":1}}],["30",{"2":{"421":1,"474":1}}],["3046746",{"2":{"182":1}}],["30eca50",{"2":{"164":1}}],["305187d",{"2":{"12":1,"53":1}}],["301dac5",{"2":{"11":1,"36":1}}],["3e3fc34",{"2":{"12":1}}],["39",{"2":{"346":1}}],["393e899",{"2":{"213":1}}],["39e0533",{"2":{"12":1,"27":1}}],["39bbc98",{"2":{"12":1,"86":1}}],["34800cf",{"2":{"186":1}}],["343423e",{"2":{"139":1}}],["343eab2",{"2":{"118":1}}],["34f27c5",{"2":{"12":1,"53":1}}],["344b385",{"2":{"12":1,"80":1}}],["34785dd",{"2":{"11":1,"18":1}}],["389ac33",{"2":{"150":1}}],["38f854b",{"2":{"110":1}}],["3812061",{"2":{"12":1,"35":1}}],["38d1433",{"2":{"12":1,"60":1}}],["3",{"2":{"10":1,"12":4,"23":2,"25":1,"41":1,"43":1,"157":1,"160":1,"419":2,"441":1,"455":1,"456":1}}],["7及以上版本支持",{"2":{"517":1}}],["7及以上版本",{"2":{"435":1}}],["79d85eb",{"2":{"236":1}}],["790e703",{"2":{"12":1,"96":1}}],["77dd81b",{"2":{"221":1}}],["7dbca01",{"2":{"190":1}}],["7d91d71",{"2":{"12":1,"19":1}}],["70",{"2":{"350":1}}],["70f8b46",{"2":{"174":1}}],["705f8be",{"2":{"11":1,"39":1}}],["780e3b9",{"2":{"143":1}}],["7cd9ea3",{"2":{"249":1}}],["7c55e50",{"2":{"134":1}}],["7c74c71",{"2":{"12":1,"66":1}}],["7ee4ba4",{"2":{"125":1}}],["7e5dfe0",{"2":{"13":1}}],["737c2a3",{"2":{"103":1}}],["755a130",{"2":{"165":1}}],["7510548",{"2":{"12":1,"68":1}}],["7507915",{"2":{"12":1,"47":1}}],["7f5b1063e7895182aa60def1437e50363c3758144088dcd079037bb7c3c46a1c",{"2":{"377":1}}],["7f5bd35",{"2":{"12":1,"15":1}}],["7f10161",{"2":{"10":1,"92":1}}],["7411487",{"2":{"12":1}}],["74a91a4",{"2":{"12":1,"77":1}}],["7",{"2":{"12":1,"96":1,"406":1,"456":1,"462":1}}],["7b3c4db",{"2":{"110":1}}],["7b61b25",{"2":{"12":1,"68":1}}],["7beb027",{"2":{"11":1,"21":1}}],["7a6417e",{"2":{"178":1}}],["7ae3f21",{"2":{"12":1,"34":1}}],["7ad5ecd",{"2":{"10":1}}],["7655ba6",{"2":{"12":1,"100":1}}],["qcom",{"2":{"527":1}}],["quarantine",{"2":{"308":1}}],["quality",{"2":{"12":1,"19":1}}],["quot",{"0":{"312":2},"2":{"292":2,"294":4,"295":4,"321":2,"323":4,"324":2,"330":2,"331":2,"334":2,"338":2,"345":2,"347":2,"354":2,"436":4,"473":2}}],["query",{"2":{"12":1,"34":1}}],["quick",{"2":{"8":1,"11":1,"12":1,"34":1,"52":1,"110":1}}],["qr",{"2":{"10":1,"12":3,"47":1,"57":1,"62":1,"63":1}}],["9d11",{"2":{"436":1}}],["9d55ef9",{"2":{"242":1}}],["9805",{"2":{"436":1}}],["9833932",{"2":{"12":1,"85":1}}],["9",{"2":{"419":2,"423":2,"435":1}}],["922abd2",{"2":{"244":1}}],["9c25325",{"2":{"239":1}}],["9cf800c",{"2":{"187":1}}],["994cb09",{"2":{"185":1}}],["96f85d8",{"2":{"220":1}}],["96bfc77",{"2":{"177":1}}],["969378f",{"2":{"12":1,"35":1}}],["97d7868",{"2":{"162":1}}],["9777622",{"2":{"11":1,"67":1}}],["9f1696f",{"2":{"132":1}}],["9fc1ded",{"2":{"126":1}}],["9a4efa5",{"2":{"237":1}}],["9a7e56b",{"2":{"116":1}}],["9af3988",{"2":{"12":1,"19":1}}],["9a67142",{"2":{"12":1,"69":1}}],["93ad836",{"2":{"198":1}}],["93c059d",{"2":{"12":1,"27":1}}],["939a2d2",{"2":{"12":1,"34":1}}],["90",{"2":{"528":1}}],["90°",{"2":{"528":6}}],["902103e6497f995e1e9b92421be212559950cca4a8b557e1f0403769aee06fc8",{"2":{"377":1}}],["900dc69",{"2":{"12":1,"22":1}}],["90c7163",{"2":{"12":1,"55":1}}],["9063243",{"2":{"12":1,"16":1}}],["9ef7203",{"2":{"260":1}}],["9e4f432",{"2":{"160":1}}],["9e31c84",{"2":{"12":1,"59":1}}],["9eca902",{"2":{"8":1}}],["955756e",{"2":{"235":1}}],["9555f58",{"2":{"12":1,"93":1}}],["95a83f4",{"2":{"199":1}}],["95ad30d",{"2":{"8":1}}],["952b2a7",{"2":{"12":1,"87":1}}],["94ee007",{"2":{"105":1}}],["9491069",{"2":{"11":1,"84":1}}],["94ccb7b",{"2":{"10":1,"38":1}}],["9bf4d5c",{"2":{"11":1,"78":1}}],["9b43dc0",{"2":{"11":1,"81":1}}],["9b7f6a9",{"2":{"11":1,"79":1}}],["9b0c4df",{"2":{"8":1}}],["9153b324669f",{"2":{"436":1}}],["91ad249",{"2":{"10":1,"32":1}}],["91d9bbd",{"2":{"4":1}}],["5分钟",{"2":{"463":1}}],["5ms",{"2":{"396":1}}],["5555",{"2":{"345":1,"426":3,"428":3,"429":2}}],["55800be",{"2":{"12":1,"19":1}}],["58a66f1",{"2":{"238":1}}],["5dd328c",{"2":{"228":1}}],["5d44ebf",{"2":{"8":1}}],["569ed2e",{"2":{"224":1}}],["543275",{"2":{"436":2}}],["54e713b",{"2":{"209":1}}],["5488a1e",{"2":{"12":1,"65":1}}],["5f8cc5a",{"2":{"175":1}}],["517091a",{"2":{"173":1}}],["5a04b4c",{"2":{"178":1}}],["5ac5ee6",{"2":{"160":1}}],["5ae8fbe",{"2":{"4":1}}],["5793c24",{"2":{"169":1}}],["576d287",{"2":{"141":1}}],["57c11af",{"2":{"12":1,"50":1}}],["5",{"0":{"369":1},"1":{"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1,"378":1,"379":1,"380":1,"381":1,"382":1,"383":1,"384":1,"385":1,"386":1},"2":{"127":1,"345":3,"356":1,"372":1,"377":2,"378":1,"456":1,"474":1}}],["5038",{"2":{"520":8}}],["5037",{"2":{"519":3,"520":4}}],["5005",{"2":{"460":5}}],["50ms",{"2":{"396":1,"532":1}}],["50ae742",{"2":{"113":1}}],["50440f5",{"2":{"12":1,"98":1}}],["52514e2",{"2":{"204":1}}],["5205935",{"2":{"107":1}}],["52cc4b1",{"2":{"10":1,"32":1}}],["5b6b8d1",{"2":{"168":1}}],["5b02621",{"2":{"119":1}}],["5b033fd",{"2":{"12":1,"53":1}}],["5b7d0af",{"2":{"115":1}}],["5b2d41c",{"2":{"110":1}}],["5b5bbf7",{"2":{"12":1,"24":1}}],["595216b",{"2":{"12":1,"40":1}}],["5c401a8",{"2":{"184":1}}],["5c4f65e",{"2":{"11":1,"52":1}}],["5ca39ae",{"2":{"12":1,"94":1}}],["5c2c711",{"2":{"11":1,"39":1}}],["5cd5992",{"2":{"10":1,"17":1}}],["🌟",{"2":{"265":1}}],["🎉",{"2":{"120":1,"151":1,"167":1,"176":1,"184":1,"186":1,"196":1,"228":1,"254":1}}],["🍻",{"2":{"12":1,"16":1,"160":1}}],["🌱",{"2":{"12":3,"19":2,"24":1}}],["🎨",{"2":{"8":2,"183":1,"188":1,"266":1}}],["🌐",{"2":{"8":2,"145":1}}],["⚡️",{"2":{"8":1,"12":5,"59":1,"80":1,"85":1,"86":1,"93":1,"160":1,"265":1}}],["webrtc",{"2":{"536":1}}],["websocket",{"2":{"160":1}}],["wget",{"2":{"495":1}}],["w",{"2":{"462":1}}],["wrapper",{"2":{"444":1}}],["write",{"2":{"11":1,"18":1}}],["w64",{"2":{"405":3,"406":14}}],["www",{"2":{"385":1,"483":1}}],["wav",{"2":{"512":1,"513":2}}],["wasd",{"2":{"486":1}}],["wayland",{"0":{"353":1}}],["warn",{"2":{"345":1}}],["waiting",{"2":{"12":1,"80":1}}],["while",{"2":{"462":5}}],["which",{"2":{"12":1,"48":1}}],["where",{"2":{"11":9,"18":1,"21":1,"26":1,"29":1,"36":1,"39":2,"46":1,"70":1}}],["when",{"2":{"10":1,"11":5,"12":7,"21":1,"22":1,"27":1,"34":1,"36":2,"39":2,"40":1,"49":1,"53":1,"85":1,"92":1}}],["would",{"2":{"11":2,"36":1,"39":1}}],["workspace",{"2":{"6":1}}],["workflows",{"2":{"139":1}}],["workflow",{"2":{"1":1,"4":2}}],["wi",{"2":{"429":1}}],["winget",{"2":{"555":1}}],["win32",{"2":{"405":1,"554":1}}],["win64",{"2":{"377":1,"405":1,"554":1}}],["windows压缩包包含",{"2":{"377":1}}],["windows和macos",{"2":{"473":1}}],["windows和mac",{"2":{"369":1}}],["windows和linux应用已内置gnirehtet功能",{"2":{"297":1}}],["windows",{"0":{"348":1,"404":1,"510":1,"552":1},"1":{"405":1,"406":1,"553":1,"554":1,"555":1,"556":1},"2":{"10":2,"11":7,"12":1,"17":1,"19":1,"21":2,"26":1,"32":1,"36":1,"39":1,"64":1,"84":1,"116":1,"211":1,"269":1,"305":1,"342":1,"343":1,"348":1,"377":1,"399":1,"406":1,"411":1,"414":1,"415":1,"472":1,"475":1,"489":1,"490":1,"507":1,"517":1}}],["window",{"2":{"6":1,"11":1,"12":8,"28":1,"30":1,"34":3,"50":1,"54":1,"87":1,"163":1,"178":1,"335":4,"390":2,"515":1,"545":1,"546":1,"547":4,"548":1}}],["width=800",{"2":{"547":1}}],["width",{"2":{"116":1,"121":1,"335":1}}],["widgets",{"2":{"12":1,"34":1}}],["wireless",{"2":{"12":5,"27":1,"59":2,"80":1,"113":1,"135":1,"143":1}}],["will",{"2":{"10":1,"32":1}}],["with",{"2":{"8":6,"10":1,"11":3,"12":4,"21":1,"27":1,"29":1,"47":2,"74":1}}],["4+及以上版本中",{"2":{"300":1}}],["4e2be23",{"2":{"250":1}}],["4e1542a",{"2":{"219":1}}],["420",{"2":{"539":1}}],["4263d07",{"2":{"249":1}}],["422950c",{"2":{"6":1}}],["43f1",{"2":{"436":1}}],["43f15be",{"2":{"229":1}}],["4380",{"2":{"392":1}}],["432eceb",{"2":{"11":1,"70":1}}],["4f2f00e",{"2":{"225":1}}],["4fe55a3",{"2":{"145":1}}],["4755",{"2":{"313":1}}],["4780e7c",{"2":{"223":1}}],["47ae53d",{"2":{"12":1,"98":1}}],["4b29",{"2":{"436":1}}],["4b259c3",{"2":{"216":1}}],["4b13f58",{"2":{"201":1}}],["4b4e116",{"2":{"192":1}}],["4be2cf4",{"2":{"12":1,"93":1}}],["4a3407d7f0c2c8a03e22a12cf0b5e1e585a5056fe23c8e5cf3252207c6fa8357",{"2":{"554":1}}],["4a3575f",{"2":{"172":1}}],["4a90",{"2":{"436":1}}],["4a18f61",{"2":{"11":1,"33":1}}],["4",{"2":{"151":1,"328":1,"361":2,"362":2,"363":2,"364":2,"366":2,"419":1,"456":2,"508":1}}],["41",{"2":{"346":1}}],["41ffcf5",{"2":{"102":1}}],["415e4ae",{"2":{"2":1}}],["4464e7e",{"2":{"12":1,"34":1}}],["4508758",{"2":{"11":1,"88":1}}],["46defbf",{"2":{"178":1}}],["468af22",{"2":{"12":1,"37":1}}],["460aca1",{"2":{"11":1,"52":1}}],["462536c",{"2":{"10":1,"25":1}}],["487e7e2",{"2":{"11":1,"84":1}}],["498fc90",{"2":{"6":1}}],["obs",{"2":{"536":1}}],["obtaining",{"2":{"12":1,"59":1}}],["obtain",{"2":{"11":1,"12":1,"42":1,"86":1}}],["oculus",{"2":{"530":1}}],["o",{"2":{"453":1}}],["orientation=",{"2":{"528":9}}],["orientation=flip270",{"2":{"528":2}}],["orientation=flip180",{"2":{"528":2}}],["orientation=flip90",{"2":{"528":2}}],["orientation=flip0",{"2":{"528":2}}],["orientation=270",{"2":{"528":2}}],["orientation=180",{"2":{"528":2}}],["orientation=0",{"2":{"528":2}}],["orientation=90",{"2":{"420":1,"528":2}}],["orientation",{"2":{"528":4,"529":1,"530":1}}],["or",{"2":{"474":1}}],["org",{"2":{"385":1,"403":1,"483":1}}],["order",{"2":{"12":1,"34":1}}],["os",{"0":{"407":1},"2":{"369":1}}],["otg模式下无需开启usb调试",{"2":{"474":1}}],["otg模式",{"2":{"277":1,"473":1}}],["otg",{"0":{"348":1,"509":1,"510":1},"1":{"510":1,"511":1},"2":{"141":2,"186":2,"348":1,"451":3,"472":2,"477":1,"478":1,"490":2,"507":2,"509":10,"511":2}}],["other",{"2":{"122":1}}],["output",{"2":{"12":1,"22":1,"186":1,"391":1,"396":1,"416":1}}],["outline",{"2":{"8":1}}],["older",{"2":{"12":1,"47":1}}],["omitted",{"2":{"12":1,"27":1}}],["on",{"2":{"10":1,"11":3,"12":5,"33":1,"39":2,"47":2,"51":1,"53":2,"98":1,"144":1,"462":5,"464":1,"466":1,"467":1,"523":1,"549":1}}],["opus",{"2":{"391":1,"393":3,"394":1,"441":1,"456":1,"512":2,"513":2}}],["opt",{"2":{"313":1}}],["optimization",{"2":{"12":5,"24":1,"30":1,"40":1,"53":1,"93":1,"114":1,"122":1,"143":1,"150":1,"164":1,"168":1,"170":1,"187":1}}],["optimized",{"2":{"12":4,"37":2,"68":1,"72":1,"114":1}}],["optimize",{"2":{"8":2,"10":1,"12":43,"14":1,"15":2,"19":10,"22":3,"27":1,"34":3,"35":1,"38":1,"40":2,"47":1,"55":1,"59":1,"60":1,"61":1,"62":1,"65":1,"77":1,"80":1,"86":1,"87":1,"93":2,"94":1,"96":1,"98":1,"102":1,"110":3,"113":1,"115":1,"118":1,"134":1,"143":1,"150":3,"164":1,"165":1,"168":1,"169":1,"170":1,"172":3,"174":2,"175":1,"178":4,"183":2,"186":1,"187":1,"198":1}}],["option",{"2":{"5":2,"12":1,"47":1,"163":1,"165":1,"182":1,"186":1}}],["options=flac",{"2":{"393":1}}],["options",{"2":{"4":1,"11":1,"12":4,"22":1,"46":1,"50":1,"75":1,"86":1,"125":1,"146":1,"153":1,"178":1,"182":1,"393":1,"413":1,"526":1}}],["operations",{"2":{"128":1}}],["operation",{"2":{"12":1,"47":1,"107":1,"110":1,"114":2,"118":1,"150":1,"173":1}}],["openjdk",{"2":{"402":1,"405":1,"407":1}}],["opening",{"2":{"12":1,"40":1}}],["open",{"2":{"10":1,"12":1,"51":1,"53":1}}],["overhaul",{"2":{"10":1}}],["override",{"2":{"6":1}}],["offline",{"2":{"12":1,"65":1}}],["off",{"2":{"11":3,"12":1,"46":1,"54":1,"88":1,"93":1,"141":1,"463":4,"464":3,"466":1,"556":1}}],["of",{"2":{"6":1,"7":1,"9":1,"10":1,"11":19,"12":33,"18":1,"19":5,"21":2,"22":1,"27":1,"30":1,"33":1,"34":6,"36":2,"38":1,"39":3,"40":2,"42":1,"45":1,"47":1,"49":1,"52":2,"53":2,"54":1,"55":2,"58":1,"59":2,"61":1,"64":1,"65":2,"80":1,"85":1,"86":1,"96":1,"99":2,"101":1,"102":1,"110":3,"113":1,"114":2,"116":1,"121":1,"122":2,"144":1,"474":1}}],["mbps",{"2":{"524":1}}],["m4a",{"2":{"512":1,"513":1}}],["m1024",{"2":{"476":1}}],["m1920",{"2":{"419":3,"445":1,"477":1}}],["mka",{"2":{"512":1,"513":1}}],["mkv",{"2":{"452":1,"496":2,"501":2,"512":2,"513":1,"515":1,"516":1,"528":1,"533":2,"556":2}}],["mk",{"2":{"434":1}}],["m3000",{"2":{"419":1}}],["m",{"2":{"419":2,"434":1,"502":1,"506":1,"523":1}}],["mp4",{"2":{"416":2,"452":1,"477":1,"512":3,"513":2,"515":2,"528":1,"545":1}}],["msys2",{"0":{"406":1},"2":{"406":3}}],["md",{"2":{"397":1,"495":1}}],["my",{"2":{"382":1,"443":2}}],["must",{"2":{"12":1,"27":1}}],["multi",{"2":{"10":1,"14":1}}],["multiple",{"2":{"8":1,"10":1,"17":1}}],["meta",{"2":{"458":1}}],["meta=false",{"2":{"458":2}}],["method",{"2":{"12":6,"15":1,"27":1,"59":2,"65":1,"115":1,"356":1}}],["meson",{"2":{"402":3,"403":1,"406":2,"407":1,"412":1,"460":1,"495":1}}],["message",{"2":{"6":1,"12":1,"85":1}}],["mediaformat",{"2":{"393":1,"526":1}}],["media",{"2":{"356":1}}],["mediacodec",{"0":{"356":1},"2":{"356":1,"447":1,"448":1,"452":1,"456":1}}],["menu",{"2":{"12":1,"15":1,"164":2,"174":1,"517":2}}],["mechanism",{"2":{"12":1,"72":1,"174":1}}],["merge",{"2":{"10":1,"32":1,"138":1}}],["mingw",{"2":{"405":4,"406":14}}],["minimizing",{"2":{"11":1,"99":1}}],["mic",{"2":{"391":6,"416":1}}],["migration",{"2":{"12":1,"27":1}}],["migrating",{"2":{"12":1,"27":1}}],["migrate",{"2":{"8":1}}],["missing",{"2":{"11":1,"45":1}}],["miscellaneous",{"0":{"1":1,"2":1,"4":1,"13":1,"91":1,"154":1,"161":1}}],["mirrors",{"2":{"144":1}}],["mirror",{"2":{"11":1,"12":1,"65":1,"95":1,"169":2,"170":1,"176":1,"178":2}}],["mirroring",{"2":{"10":2,"11":1,"12":1,"51":1,"55":1,"79":1,"83":1,"122":1}}],["mozilla",{"2":{"468":2}}],["movies",{"2":{"439":1}}],["moved",{"2":{"11":1,"54":1}}],["move",{"2":{"8":1}}],["mouse=disabled",{"2":{"502":1,"509":1}}],["mouse=sdk",{"2":{"436":1,"502":1,"503":1}}],["mouse=uhid",{"2":{"434":2,"502":1,"506":1,"511":1}}],["mouse=aoa",{"2":{"348":1,"434":1,"502":1,"507":1,"509":1,"511":1}}],["mouse",{"2":{"125":1,"504":1,"508":7}}],["monitor",{"2":{"12":1,"40":1}}],["modprobe",{"2":{"536":2}}],["mod=lctrl",{"2":{"517":1}}],["mod=rctrl",{"2":{"517":1}}],["mod",{"2":{"517":4}}],["mod+i",{"2":{"517":1,"525":1}}],["mod+n+n",{"2":{"517":1}}],["mod+n",{"2":{"517":1}}],["mod+r",{"2":{"517":1,"528":1}}],["mod+o",{"2":{"517":1}}],["mod+p",{"2":{"517":1}}],["mod+↓",{"2":{"517":1}}],["mod+↑",{"2":{"517":1}}],["mod+m",{"2":{"517":1}}],["mod+s",{"2":{"517":1}}],["mod+shift+v",{"2":{"517":1}}],["mod+shift+v会将电脑剪贴板文本作为按键序列注入",{"2":{"435":1}}],["mod+shift+n",{"2":{"517":1}}],["mod+shift+o",{"2":{"517":1}}],["mod+shift+r",{"2":{"517":1}}],["mod+shift+z",{"2":{"517":1}}],["mod+shift+↓",{"2":{"517":1}}],["mod+shift+↑",{"2":{"517":1}}],["mod+shift+→",{"2":{"517":1}}],["mod+shift+←",{"2":{"517":1}}],["mod+backspace",{"2":{"517":1}}],["mod+b",{"2":{"517":1}}],["mod+h",{"2":{"517":1}}],["mod+w",{"2":{"517":1}}],["mod+g",{"2":{"517":1}}],["mod+z",{"2":{"517":1}}],["mod+→",{"2":{"517":1}}],["mod+←",{"2":{"517":1}}],["mod+f",{"2":{"517":1,"550":1}}],["mod+k",{"2":{"488":1,"517":1}}],["mod+v",{"2":{"435":1,"517":1}}],["mod+x",{"2":{"435":1,"517":1}}],["mod+c",{"2":{"435":1,"517":1}}],["modify",{"2":{"12":1,"27":1}}],["models",{"2":{"12":1,"49":1}}],["mode",{"2":{"11":2,"12":2,"28":1,"52":1,"73":1,"108":1,"110":1,"130":1,"134":1,"141":1,"150":1}}],["module",{"2":{"8":1}}],["more",{"2":{"10":1,"17":1}}],["matroska",{"2":{"513":1}}],["mail",{"2":{"435":1}}],["mainclass",{"2":{"443":2}}],["maintainer",{"2":{"219":1}}],["maintainability",{"2":{"8":1}}],["main",{"2":{"11":1,"12":4,"34":1,"40":1,"54":1,"55":1,"356":2,"443":1,"446":1}}],["manual",{"2":{"458":2}}],["man1",{"2":{"414":1}}],["man",{"2":{"414":1,"496":1,"501":1}}],["management",{"2":{"11":2,"12":2,"18":1,"21":1,"44":1,"57":1}}],["manager",{"2":{"10":2,"11":1,"12":3,"16":1,"17":2,"18":1,"19":1,"34":1,"102":1,"103":1,"105":2}}],["macports",{"2":{"500":1}}],["mac",{"0":{"407":1},"2":{"411":1}}],["macos64",{"2":{"377":1}}],["macos安装成功后打开提示文件已损坏",{"0":{"308":1}}],["macos窗口最小化至系统托盘图标未找到",{"0":{"307":1}}],["macos版本未内置gnirehtet",{"2":{"297":1}}],["macos用户参考安装文档",{"2":{"296":1}}],["macos用户可通过homebrew安装",{"0":{"291":1}}],["macos与linux平台",{"0":{"296":1}}],["macos",{"0":{"497":1},"1":{"498":1,"499":1,"500":1,"501":1},"2":{"5":1,"10":2,"11":5,"12":2,"19":1,"39":2,"51":1,"70":1,"71":1,"78":1,"82":1,"83":1,"179":1,"180":1,"188":1,"189":1,"190":1,"191":1,"192":1,"194":1,"195":1,"206":1,"212":1,"214":1,"215":1,"216":1,"218":1,"221":1,"222":2,"223":1,"224":1,"269":1,"377":1,"475":1,"499":3}}],["master",{"2":{"308":1,"398":1,"412":1}}],["max",{"2":{"419":2,"445":1,"458":1,"477":3,"523":2,"525":1,"530":2}}],["maximum",{"2":{"152":1}}],["maxsteps",{"2":{"8":1}}],["make",{"2":{"11":1,"12":1,"47":1,"74":1,"403":1,"406":2}}],["major",{"2":{"10":1}}],["r27183",{"2":{"520":1}}],["rsuper",{"2":{"517":1}}],["rctrl",{"2":{"517":1}}],["rpmfusion",{"2":{"403":2}}],["rpm",{"2":{"403":3}}],["rate=2000000",{"2":{"524":1}}],["rate=2m",{"2":{"524":1}}],["rate=64000",{"2":{"395":1}}],["rate=64k",{"2":{"395":1}}],["ralt",{"2":{"517":1}}],["raw",{"2":{"393":1,"395":1,"456":2,"458":2,"486":1}}],["radius",{"2":{"12":1,"19":1}}],["r",{"0":{"361":1,"362":1,"363":1,"364":1,"366":1},"2":{"308":1,"361":1,"362":1,"363":2,"364":1,"366":1,"381":1,"481":1,"512":1,"520":1}}],["rust",{"0":{"377":1},"2":{"377":3}}],["rust版本",{"2":{"370":1}}],["russian",{"2":{"12":3,"93":1,"94":1}}],["run",{"0":{"361":1},"2":{"361":4,"377":1,"378":1,"379":3,"382":2,"413":1,"460":1}}],["running",{"2":{"5":1}}],["romain",{"2":{"483":1}}],["rom1v",{"2":{"482":1}}],["route2",{"0":{"361":1,"362":1,"363":1,"364":1,"366":1}}],["route",{"0":{"361":1,"362":1,"363":1,"364":1,"366":1},"2":{"429":1}}],["robustness",{"2":{"118":1}}],["rocket",{"2":{"8":1}}],["rotation",{"2":{"8":1,"174":1}}],["root=",{"2":{"411":1}}],["root=~",{"2":{"411":2}}],["root",{"2":{"8":1,"12":1,"44":1,"409":1,"411":4,"412":1}}],["remote",{"2":{"391":1,"460":1}}],["removing",{"2":{"12":1,"68":1}}],["remove",{"2":{"4":3,"12":2,"31":1,"69":1,"106":1,"107":1,"142":1,"147":1,"150":1}}],["rev",{"2":{"383":1}}],["reverse命令",{"2":{"373":1}}],["reverse",{"2":{"12":1,"48":1,"196":1,"345":2,"367":1,"381":1,"455":1}}],["reversely",{"2":{"12":1,"49":1}}],["reinstall",{"0":{"360":1},"2":{"360":2}}],["require",{"2":{"388":1}}],["requires",{"2":{"12":1,"50":1,"474":1}}],["request",{"2":{"4":1}}],["real",{"2":{"12":1,"61":1}}],["read",{"2":{"11":1,"18":1}}],["readability",{"2":{"8":1}}],["retrieving",{"2":{"12":1,"80":1}}],["returning",{"2":{"11":1,"12":1,"21":1,"44":1}}],["reddit",{"2":{"481":1}}],["redundant",{"2":{"12":3,"31":1,"68":1,"69":1,"142":1,"150":1}}],["reduced",{"2":{"179":1,"180":1}}],["reduce",{"2":{"12":2,"48":1,"68":1}}],["redesign",{"2":{"8":1}}],["relay",{"0":{"368":1},"2":{"368":2,"380":1,"381":1}}],["related",{"2":{"11":1,"12":2,"36":1,"68":1}}],["reliability",{"2":{"12":2,"16":1,"34":1}}],["release",{"2":{"1":2,"2":1,"4":6,"10":1,"11":1,"13":2,"70":1,"91":1,"154":1,"161":1,"403":1,"405":1,"495":2}}],["reset",{"2":{"182":1}}],["resetting",{"2":{"11":1,"36":1}}],["resolving",{"2":{"11":1,"56":1,"133":1}}],["resolved",{"2":{"11":1,"29":1}}],["resolve",{"2":{"11":1,"90":1}}],["restart",{"0":{"366":1},"2":{"366":5}}],["restarting",{"2":{"11":1,"33":1}}],["restored",{"2":{"11":1,"54":1,"182":1}}],["restore",{"2":{"11":2,"79":1,"84":1}}],["rest",{"2":{"6":1}}],["refresh",{"2":{"12":1}}],["refreshing",{"2":{"11":1,"39":1}}],["refactored",{"2":{"10":1,"17":1}}],["refactor",{"2":{"8":1,"12":1}}],["refactoring",{"0":{"8":1,"14":1}}],["repology",{"2":{"494":1}}],["repeat",{"2":{"447":1,"487":1}}],["repeatedly",{"2":{"11":1,"39":1}}],["repeated",{"2":{"11":1,"67":1}}],["repairing",{"2":{"113":1}}],["repair",{"2":{"11":3,"84":1,"99":1,"101":1,"121":1,"138":1,"177":1}}],["replace",{"2":{"8":5}}],["recognition",{"2":{"391":2}}],["reconstruct",{"2":{"14":1}}],["record",{"2":{"512":1,"513":1,"528":1}}],["recorder",{"2":{"452":1}}],["recorded",{"2":{"11":1,"26":1}}],["record=file",{"2":{"391":1,"416":2,"477":1,"496":1,"501":1,"512":6,"513":1,"515":3,"516":1,"533":2,"545":1,"556":1}}],["recording",{"2":{"10":2,"11":3,"12":4,"25":1,"36":1,"87":2,"88":1,"90":1,"92":1,"93":2,"171":1,"183":1}}],["recharge",{"2":{"9":1}}],["rename",{"2":{"8":2,"11":1,"84":1}}],["go",{"2":{"530":1}}],["google",{"2":{"343":1}}],["gz",{"2":{"493":1,"499":2}}],["g",{"2":{"469":1,"471":1,"477":1,"509":2}}],["gcc",{"2":{"402":1,"403":1,"406":2,"495":1}}],["gm1913",{"2":{"345":1}}],["gt",{"2":{"297":2,"344":1,"345":2,"406":1,"419":3,"455":1,"460":3,"474":1}}],["git",{"2":{"402":1,"495":1}}],["github文档",{"2":{"496":1}}],["github赞助",{"2":{"482":1}}],["github",{"2":{"398":1,"409":1,"436":2,"495":1,"501":1,"556":1}}],["github发布页",{"2":{"290":1}}],["gitcode发布页",{"2":{"290":1}}],["gitee发布页",{"2":{"290":1}}],["global",{"2":{"134":1,"335":1,"462":3}}],["get",{"2":{"462":1,"463":1,"465":1}}],["getting",{"2":{"12":1,"34":1}}],["gentoo",{"2":{"494":1}}],["genymobile",{"2":{"381":4,"385":1,"409":1,"436":2,"445":2,"458":1,"483":1,"495":1,"555":1}}],["generated",{"2":{"12":1,"87":1}}],["generating",{"2":{"5":1}}],["gnirehtet重写为rust版本",{"2":{"386":1}}],["gnirehtetactivity",{"2":{"381":2}}],["gnirehtet程序提供了简单的命令行接口",{"2":{"381":1}}],["gnirehtet命令查看详情",{"2":{"380":1}}],["gnirehtet需替换为gnirehtet",{"2":{"379":1}}],["gnirehtet的中继服务器最初仅以java实现",{"2":{"371":1}}],["gnirehtet提供两种实现",{"2":{"370":1}}],["gnirehtet启用反向网络功能",{"2":{"297":1}}],["gnirehtet反向网络共享",{"0":{"297":1}}],["gnirehtet修复",{"2":{"280":1}}],["gnirehtet参数",{"2":{"280":1}}],["gnirehtet路径",{"2":{"280":1}}],["gnirehtet",{"0":{"357":1,"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"367":1,"368":1,"369":1},"1":{"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"367":1,"368":1,"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1,"378":1,"379":1,"380":1,"381":1,"382":1,"383":1,"384":1,"385":1,"386":1},"2":{"12":3,"47":1,"49":1,"53":1,"173":1,"174":2,"182":1,"187":2,"196":1,"197":1,"198":1,"274":1,"278":1,"357":1,"367":1,"375":1,"377":8,"378":6,"379":2,"380":5,"381":7,"382":5,"386":2,"387":1}}],["gamepad=aoa",{"2":{"469":1,"472":1,"509":2,"511":1}}],["gamepad=uhid",{"2":{"469":1,"471":1,"477":1,"511":1}}],["gamepad=disabled",{"2":{"469":1}}],["gamepad",{"0":{"469":1},"1":{"470":1,"471":1,"472":1},"2":{"12":1,"96":1}}],["gradle",{"2":{"443":1}}],["graphic",{"2":{"105":1}}],["graphical",{"2":{"10":1,"32":1}}],["group",{"2":{"11":1,"95":1,"169":2,"170":1,"176":1,"178":2}}],["gh",{"2":{"4":1}}],["ninja",{"2":{"402":1,"411":3,"412":1,"414":1,"415":1,"495":2}}],["n",{"2":{"381":2,"432":1,"508":1,"517":1,"536":2}}],["num",{"2":{"419":1}}],["number",{"2":{"12":1,"27":1}}],["numeric",{"2":{"6":1}}],["nexus",{"2":{"345":1}}],["nexttick",{"2":{"236":1}}],["network",{"2":{"12":2,"48":1,"49":1,"458":1}}],["need",{"2":{"12":1,"86":1}}],["new",{"2":{"10":2,"12":5,"17":1,"19":3,"34":1,"65":1,"105":1,"468":1,"477":1,"539":4,"540":2,"541":1,"542":1,"543":1}}],["noconsole",{"2":{"556":2}}],["nodaemon",{"2":{"519":1}}],["noarch",{"2":{"403":1}}],["normalize",{"2":{"12":1,"87":1}}],["no",{"2":{"12":2,"50":1,"82":1,"389":1,"390":7,"391":2,"416":3,"432":1,"434":12,"435":1,"445":1,"455":4,"467":1,"477":3,"487":1,"496":1,"501":1,"504":1,"511":6,"512":5,"515":5,"523":1,"533":4,"534":1,"536":1,"540":2,"541":2,"542":1,"545":1,"556":1}}],["not",{"2":{"10":1,"11":7,"12":1,"26":1,"29":1,"33":1,"42":1,"46":1,"49":1,"51":1,"54":1,"71":1,"135":1,"141":1,"182":1}}],["now",{"2":{"5":1,"10":3,"25":1,"32":2}}],["navigation",{"2":{"11":1,"52":1}}],["native应用",{"2":{"517":1}}],["native",{"2":{"8":1,"356":2}}],["names",{"2":{"12":2,"40":1,"87":1}}],["name",{"2":{"1":1,"12":1,"37":1,"134":1}}],["😉",{"2":{"459":1}}],["🚧",{"2":{"274":1}}],["👉",{"2":{"272":1}}],["🗽",{"2":{"267":1}}],["🙅‍♂️",{"2":{"267":1}}],["😎",{"2":{"267":1}}],["🔗",{"2":{"266":1}}],["🖥️",{"2":{"266":1}}],["📡",{"2":{"266":1}}],["🕒",{"2":{"265":1}}],["😛",{"2":{"261":1}}],["🚨",{"2":{"168":1}}],["💡",{"2":{"165":1,"266":1}}],["🔨",{"2":{"12":2,"14":1,"34":1,"49":1,"213":1,"240":1,"249":2}}],["🔊",{"2":{"12":1,"50":1,"186":1}}],["🔀",{"2":{"12":1,"40":1}}],["📦️",{"2":{"12":1,"15":1}}],["📌",{"2":{"12":2,"27":1}}],["💫",{"2":{"12":2,"47":1,"53":1}}],["💄",{"2":{"12":12,"28":1,"34":1,"53":1,"55":1,"87":1,"93":1,"94":1,"98":1,"108":1,"110":3,"113":1,"114":2,"143":1,"150":1,"168":1,"174":1,"178":1,"186":1,"204":1}}],["👽️",{"2":{"12":2,"53":2}}],["👷",{"2":{"12":4,"31":1,"53":1,"59":1,"61":1}}],["👥",{"2":{"12":1,"40":1}}],["📝",{"2":{"11":1,"12":7,"19":1,"35":1,"36":1,"37":1,"40":1,"44":1,"48":1,"121":1,"155":1,"164":1,"173":1,"185":1,"203":1,"225":1,"226":1,"234":1,"243":1,"259":1}}],["🚚",{"2":{"10":2,"12":1,"17":1,"48":1,"51":1}}],["🔍️",{"2":{"10":1,"12":1,"38":1,"47":1}}],["📸",{"2":{"10":1,"12":2,"61":1,"92":1,"93":1}}],["💥",{"2":{"10":1}}],["🔧",{"2":{"8":2,"11":2,"12":2,"26":1,"37":1,"88":1,"89":1,"138":1,"139":1,"202":1,"218":1,"222":2,"225":1,"232":1,"242":1,"251":1,"252":1,"257":1,"260":1}}],["🔄",{"2":{"8":5}}],["🚀",{"2":{"7":1,"10":5,"11":1,"12":32,"15":1,"17":1,"19":5,"22":3,"23":1,"25":1,"27":2,"30":1,"34":5,"38":1,"39":1,"40":1,"41":1,"43":1,"44":1,"50":1,"51":1,"53":1,"55":1,"63":1,"65":2,"66":1,"68":1,"75":2,"96":1,"103":1,"105":1,"112":4,"118":1,"120":1,"125":1,"127":1,"132":2,"134":1,"157":1,"163":1,"174":2,"175":1,"178":1,"186":1,"201":1,"203":1,"205":1,"211":2,"216":1,"221":1,"223":1,"224":1,"227":1,"229":2,"231":1,"233":1,"237":1,"241":1,"244":1,"246":1,"248":1,"255":1,"256":1,"259":3,"265":1}}],["💰",{"2":{"6":1}}],["🚑️",{"2":{"5":1,"219":1,"220":1}}],["🔖",{"2":{"5":1,"12":2,"22":1,"34":1}}],["🐛",{"2":{"3":1,"6":3,"9":1,"11":45,"12":1,"18":3,"21":4,"26":1,"29":1,"33":4,"36":2,"39":3,"42":1,"45":1,"46":1,"52":2,"54":2,"56":1,"58":2,"59":1,"64":1,"70":2,"71":1,"73":1,"74":1,"78":1,"79":2,"81":1,"84":2,"90":1,"95":1,"99":2,"101":1,"107":1,"111":1,"113":1,"117":1,"119":1,"121":1,"122":1,"123":1,"126":1,"128":1,"129":1,"130":2,"133":2,"134":1,"135":1,"137":1,"141":3,"148":1,"152":1,"156":1,"158":1,"159":1,"166":1,"171":1,"173":1,"177":1,"179":1,"180":1,"181":1,"182":6,"189":1,"190":1,"191":1,"192":1,"193":3,"194":1,"195":1,"197":1,"199":1,"200":1,"202":3,"206":1,"207":1,"209":1,"210":1,"212":1,"214":1,"215":1,"217":1,"235":2,"236":1,"237":1,"238":1,"239":1,"245":1,"247":1,"250":1}}],["8运行时的平台",{"2":{"371":1}}],["8",{"2":{"361":6,"362":6,"363":6,"364":6,"366":6,"372":2,"524":1}}],["8d4c",{"2":{"436":1}}],["8de04e0",{"2":{"248":1}}],["8d39f5b",{"2":{"12":1,"15":1}}],["8a5f7d9",{"2":{"231":1}}],["8a6f4c7",{"2":{"12":1,"19":1}}],["87b533f",{"2":{"222":1}}],["8707eb5",{"2":{"155":1}}],["894b581",{"2":{"202":1}}],["866aa2c",{"2":{"163":1}}],["86f5e69",{"2":{"12":1,"62":1}}],["8455e86",{"2":{"240":1}}],["8460945",{"2":{"133":1}}],["84c7be7",{"2":{"12":1,"50":1}}],["8080",{"2":{"361":1,"362":1,"363":1,"364":1,"366":1,"367":1,"368":1}}],["802f16f",{"2":{"159":1}}],["8097022",{"2":{"120":1}}],["80b3534",{"2":{"5":1}}],["816748078fa6a304600a294a13338a06ac778bcc0e57b62d88328c7968ad2d3a",{"2":{"378":1}}],["81c007f",{"2":{"170":1}}],["81ff63f",{"2":{"138":1}}],["81bd3d9",{"2":{"114":1}}],["8155723",{"2":{"105":1}}],["8e5df15",{"2":{"245":1}}],["8ee34ca",{"2":{"215":1}}],["8e6af20",{"2":{"113":1}}],["8e94494",{"2":{"12":1,"80":1}}],["83a8043",{"2":{"237":1}}],["8360198",{"2":{"211":1}}],["83f8c04",{"2":{"172":1}}],["8393c85",{"2":{"112":1}}],["8388646",{"2":{"12":1,"19":1}}],["8b03862",{"2":{"104":1}}],["889fe8c",{"2":{"156":1}}],["885af3a",{"2":{"137":1}}],["88a0356",{"2":{"12":1,"72":1}}],["88abe95",{"2":{"12":1,"40":1}}],["8807e50",{"2":{"10":1,"97":1}}],["8587977",{"2":{"134":1}}],["8566644",{"2":{"12":1,"23":1}}],["85be898",{"2":{"12":1,"59":1}}],["85bf096",{"2":{"10":1,"83":1}}],["857c480",{"2":{"11":1,"33":1}}],["82a99d9",{"2":{"193":1}}],["82a77ea",{"2":{"6":1}}],["8261916",{"2":{"122":1}}],["8237058",{"2":{"12":1,"27":1}}],["8212872",{"2":{"8":1}}],["8f5345b",{"2":{"1":1}}],["h265",{"2":{"456":1,"526":2}}],["h264",{"2":{"456":1,"526":2}}],["h",{"2":{"441":1,"458":1,"508":1}}],["https",{"2":{"403":1,"409":1,"436":2,"495":1}}],["http",{"2":{"385":1,"483":1}}],["here",{"2":{"556":1}}],["header",{"2":{"456":1}}],["height=600",{"2":{"547":1}}],["height",{"2":{"335":1}}],["help",{"2":{"12":1,"50":1,"393":1,"496":1,"501":1,"526":1,"556":1}}],["hover",{"2":{"504":1}}],["host=192",{"2":{"519":3}}],["host",{"2":{"460":1}}],["home=",{"2":{"407":1}}],["home",{"2":{"406":1,"407":2,"508":3,"517":1,"540":1}}],["homebrew",{"0":{"375":1},"2":{"291":1,"407":2,"500":1}}],["horizontal",{"2":{"12":1,"55":1}}],["hook",{"2":{"5":1}}],["hard",{"2":{"488":1}}],["habits",{"2":{"12":1,"47":1}}],["have",{"2":{"10":1,"17":1,"474":1}}],["has",{"2":{"10":1,"17":1}}],["handle",{"2":{"6":1}}],["handlers",{"2":{"6":1}}],["handling",{"2":{"6":1,"8":2,"174":1}}],["high",{"2":{"423":2}}],["hicolor",{"2":{"414":1}}],["history",{"2":{"143":1}}],["historical",{"2":{"10":1,"63":1,"143":1,"165":1,"172":2}}],["hid",{"2":{"469":2,"470":1,"471":1,"472":1,"473":1,"484":2,"488":1,"489":1,"490":1,"502":2,"505":1,"506":1,"507":1,"509":1}}],["hiding",{"2":{"10":1,"12":3,"59":1,"61":1,"76":1,"77":1}}],["hidden",{"2":{"5":1}}],["ssh",{"0":{"520":1},"2":{"520":4}}],["snap",{"2":{"494":2}}],["sw",{"2":{"464":1}}],["switch",{"2":{"12":1,"59":1,"508":3,"517":1}}],["switching",{"2":{"8":1,"11":1,"12":1,"33":1,"98":1}}],["sdcard",{"2":{"439":2}}],["sdk",{"0":{"485":1,"503":1},"1":{"486":1,"487":1,"504":1},"2":{"399":1,"410":1,"411":8,"484":1,"508":2}}],["sdk平台工具获取",{"2":{"373":1}}],["sdl2",{"2":{"403":1,"406":2,"407":1}}],["sdl",{"2":{"353":1,"450":1,"453":2}}],["s",{"2":{"345":2,"406":4,"426":1,"430":1,"464":1,"494":1,"508":1,"509":1}}],["smaller",{"2":{"12":1,"19":1}}],["scoop",{"2":{"555":2}}],["scid>",{"2":{"455":2}}],["scid=12345678",{"2":{"445":1}}],["scid",{"2":{"445":1,"455":1}}],["scan",{"2":{"12":1,"27":1}}],["scanning",{"2":{"12":1,"47":1}}],["scheduled",{"2":{"12":2,"19":1,"89":1,"112":1}}],["script",{"2":{"12":1,"93":1,"120":2}}],["screensaver",{"2":{"551":1}}],["screenshot",{"2":{"122":1}}],["screenshots",{"2":{"10":1,"12":1,"25":1,"55":1}}],["screenencoder",{"2":{"447":1}}],["screen",{"2":{"10":1,"11":2,"12":4,"50":1,"54":1,"55":1,"88":1,"92":1,"93":1,"141":1,"174":1,"463":3,"464":2,"473":1,"556":1}}],["scrcpy终止后终端会关闭",{"2":{"556":1}}],["scrcpy是一个命令行应用程序",{"2":{"556":1}}],["scrcpy已被多种发行版和包管理器收录",{"2":{"494":1}}],["scrcpy的作者和维护者",{"2":{"482":1}}],["scrcpy现已支持无线连接",{"2":{"480":1}}],["scrcpy简介",{"2":{"480":1}}],["scrcpy提供了在启动时启用此功能并在退出时恢复初始值的选项",{"2":{"465":1}}],["scrcpy关闭时将恢复初始状态",{"2":{"462":1}}],["scrcpy会通过屏幕中心对称点生成",{"2":{"436":1}}],["scrcpy参数",{"2":{"280":1}}],["scrcpy路径",{"2":{"280":1}}],["scrcpy",{"0":{"340":1,"397":1,"440":1,"473":1,"497":1},"1":{"341":1,"342":1,"343":1,"344":1,"345":1,"346":1,"347":1,"348":1,"349":1,"350":1,"351":1,"352":1,"353":1,"354":1,"355":1,"356":1,"398":1,"399":1,"400":1,"401":1,"402":1,"403":1,"404":1,"405":1,"406":1,"407":1,"408":1,"409":1,"410":1,"411":1,"412":1,"413":1,"414":1,"415":1,"441":1,"442":1,"443":1,"444":1,"445":1,"446":1,"447":1,"448":1,"449":1,"450":1,"451":1,"452":1,"453":1,"454":1,"455":1,"456":1,"457":1,"458":1,"459":1,"460":1,"474":1,"475":1,"476":1,"477":1,"478":1,"479":1,"480":1,"481":1,"482":1,"483":1,"498":1,"499":1,"500":1,"501":1},"2":{"10":2,"11":4,"12":11,"23":1,"25":1,"41":1,"42":1,"43":1,"47":1,"50":1,"66":1,"68":1,"71":1,"74":1,"75":2,"78":1,"83":1,"93":1,"96":1,"109":1,"127":1,"151":1,"157":1,"160":1,"184":1,"187":1,"255":1,"335":2,"339":1,"341":3,"345":2,"346":3,"347":1,"348":1,"353":1,"354":1,"387":1,"388":2,"389":1,"390":2,"391":2,"392":2,"393":5,"395":1,"396":3,"397":1,"399":1,"408":1,"409":2,"412":2,"414":8,"416":7,"417":2,"418":4,"419":7,"420":1,"421":1,"422":1,"426":8,"427":1,"428":1,"429":1,"430":3,"432":1,"434":2,"436":2,"441":4,"443":1,"445":9,"451":4,"452":2,"454":1,"455":3,"458":6,"460":1,"462":1,"464":2,"465":1,"471":1,"472":1,"477":2,"480":1,"481":3,"484":1,"488":1,"489":1,"490":1,"493":1,"494":6,"495":2,"496":2,"499":3,"500":4,"501":2,"504":1,"506":1,"507":1,"508":3,"509":6,"511":2,"512":5,"515":1,"517":3,"518":1,"519":6,"520":8,"522":1,"523":3,"524":2,"525":1,"526":3,"528":22,"532":2,"533":3,"536":2,"539":3,"543":1,"550":1,"551":1,"554":2,"555":3,"556":4}}],["synchronization",{"2":{"12":1,"40":1}}],["system",{"2":{"5":1,"10":1,"11":2,"12":1,"20":1,"21":2,"22":1,"463":2,"465":3,"540":2,"541":2}}],["spctl",{"2":{"308":1}}],["spellcheck",{"2":{"186":1}}],["spelling",{"2":{"123":1}}],["speed",{"2":{"12":1,"48":1,"423":2}}],["special",{"2":{"11":1,"36":1}}],["spaces",{"2":{"135":1}}],["space",{"2":{"12":1,"34":1}}],["split",{"2":{"10":1,"17":1}}],["sink=",{"2":{"477":1,"533":2,"536":2}}],["sink",{"2":{"452":2}}],["single",{"2":{"12":1,"55":1}}],["site",{"2":{"414":1}}],["situations",{"2":{"11":1,"39":1}}],["simple",{"2":{"140":1}}],["simplified",{"2":{"12":1}}],["simplify",{"2":{"8":1,"12":1,"34":1}}],["size=1024",{"2":{"523":1}}],["size=1920",{"2":{"445":1,"458":1,"477":1}}],["size=1920x1080",{"2":{"419":2,"420":1,"422":1,"477":2}}],["size=1840x444",{"2":{"419":1}}],["sizes",{"2":{"12":1,"19":1,"417":1,"419":2,"422":1}}],["size",{"2":{"12":3,"19":1,"68":1,"152":1,"419":3,"456":1,"523":1,"530":2}}],["save",{"2":{"12":1,"34":1}}],["saved",{"2":{"11":1,"18":1}}],["saving",{"2":{"11":1,"12":1,"33":1}}],["sandbox",{"2":{"11":1,"12":2,"33":1,"34":2,"313":1}}],["socket",{"2":{"519":1,"520":2}}],["socket=tcp",{"2":{"519":2,"520":4}}],["social",{"2":{"481":1}}],["source=output",{"2":{"416":1}}],["source=display",{"2":{"416":2}}],["source=camera",{"2":{"416":6,"418":6,"419":9,"420":1,"421":1,"422":1,"423":2,"477":2}}],["source=playback",{"2":{"392":3}}],["source=mic",{"2":{"391":2,"416":2,"441":1}}],["source",{"2":{"12":1,"50":1,"474":1}}],["solved",{"2":{"11":1,"54":1}}],["solve",{"2":{"11":7,"12":2,"36":1,"40":1,"42":1,"52":2,"58":1,"64":1,"65":1,"79":1}}],["some",{"2":{"11":2,"12":3,"46":1,"47":1,"48":1,"49":1,"54":1,"130":1}}],["sorting",{"2":{"11":1,"12":1,"18":1,"40":1}}],["sort",{"2":{"10":1,"38":1}}],["show",{"2":{"465":4}}],["shortcuts",{"2":{"12":1,"53":1}}],["shortcut",{"2":{"10":1,"11":1,"12":1,"36":1,"51":1,"53":1,"130":1,"174":1,"517":3}}],["sh",{"2":{"405":1,"495":2}}],["shellgnirehtet",{"2":{"382":1}}],["shelladb=",{"2":{"382":1}}],["shelladb",{"2":{"381":3}}],["shell",{"2":{"379":2,"380":5,"381":3,"388":1,"423":1,"429":1,"443":4,"445":2,"458":1,"462":3,"463":2,"464":2,"465":3,"488":1}}],["shellsudo",{"2":{"313":1}}],["sha",{"2":{"377":3,"378":1,"412":1,"493":1,"499":2,"554":2}}],["share",{"2":{"10":1,"32":1,"382":1,"414":5}}],["sharp",{"2":{"6":1}}],["shift+点击并移动",{"2":{"517":1}}],["shift+点击并上下移动",{"2":{"436":1}}],["shift+第五键",{"2":{"508":1}}],["shift+第四键",{"2":{"508":1}}],["shift+右键会向设备注入右键点击",{"2":{"508":1}}],["shift",{"2":{"306":1,"508":6}}],["shift切换中英文",{"2":{"300":1}}],["shutdown",{"2":{"169":1}}],["svg",{"2":{"8":1}}],["securityexception",{"2":{"474":1}}],["sensor",{"2":{"419":1}}],["send",{"2":{"8":1,"458":4}}],["setup",{"2":{"411":1,"412":1,"460":1}}],["set",{"2":{"346":1,"411":1,"426":1,"519":1,"520":2}}],["setting",{"2":{"12":1,"98":1}}],["settings",{"2":{"11":1,"12":2,"33":1,"34":1,"86":1,"146":1,"462":3,"463":2,"465":3,"488":2}}],["select",{"2":{"345":2,"426":2}}],["selector",{"2":{"113":1,"182":1}}],["selection",{"2":{"12":1,"15":1}}],["selecting",{"2":{"12":1,"57":1}}],["serial=192",{"2":{"426":1}}],["serial=0123456789abcdef",{"2":{"426":3}}],["serial",{"0":{"358":1,"359":1,"360":1,"361":1,"363":1,"365":1,"366":1,"367":1},"2":{"345":1,"358":1,"359":1,"380":4,"426":2}}],["serialno",{"2":{"12":1,"34":1}}],["server=",{"2":{"412":1}}],["server",{"0":{"312":1},"2":{"11":1,"42":1,"412":2,"414":1,"441":1,"443":1,"445":6,"458":4,"519":5,"520":7}}],["services",{"2":{"8":1}}],["search",{"2":{"10":1,"38":1,"130":1,"131":1,"132":1,"134":3}}],["session",{"2":{"8":1}}],["super",{"2":{"505":1,"517":2}}],["supply",{"2":{"12":2,"48":1,"49":1}}],["supporting",{"2":{"11":1,"71":1}}],["supported",{"2":{"10":1,"51":1}}],["supports",{"2":{"5":1,"10":4,"12":9,"25":1,"38":1,"40":2,"44":1,"53":1,"55":1,"57":1,"63":1,"65":1,"80":1,"83":1,"144":1}}],["support",{"2":{"5":2,"10":8,"11":1,"12":14,"15":1,"17":1,"20":1,"35":1,"44":1,"51":2,"53":3,"61":1,"63":1,"75":1,"76":1,"79":1,"80":1,"92":1,"93":2,"96":1,"97":1,"98":1,"103":1,"105":1,"120":2,"122":2,"132":1,"135":1,"137":1,"143":1,"172":1}}],["surface",{"2":{"447":2}}],["sudo",{"2":{"402":3,"403":3,"414":1,"415":1,"495":1,"536":1}}],["submix",{"2":{"391":1}}],["subsequent",{"2":{"12":1,"34":1}}],["subscription",{"2":{"6":1,"8":1,"9":1}}],["subscribe",{"2":{"5":1}}],["successful",{"2":{"11":1,"36":1}}],["studio",{"2":{"411":1,"460":1}}],["stop",{"0":{"365":1},"2":{"155":1,"365":2,"380":1,"381":1}}],["storing",{"2":{"12":1,"34":1}}],["storage",{"2":{"12":3,"34":1,"40":1,"65":1}}],["store",{"2":{"8":1}}],["styles",{"2":{"150":1,"178":1}}],["style",{"2":{"12":1,"47":1,"117":1,"126":1,"143":1,"168":1,"177":1,"182":1,"183":1}}],["styling",{"2":{"6":1}}],["string",{"2":{"443":1}}],["strip",{"2":{"411":1,"412":1}}],["strategy",{"2":{"12":2,"27":1,"34":1}}],["structure",{"2":{"8":2,"12":2,"40":1,"93":1}}],["stream=true",{"2":{"458":1}}],["stream",{"2":{"5":1,"458":1}}],["stay",{"2":{"462":5,"464":1,"556":1}}],["stackoverflow",{"2":{"344":1}}],["static",{"2":{"443":1}}],["status",{"2":{"12":1}}],["state",{"2":{"5":1,"6":1,"12":1,"40":1,"121":1,"173":1}}],["standardize",{"2":{"12":1,"27":1}}],["stability",{"2":{"12":10,"22":1,"34":1,"59":1,"68":1,"72":1,"86":1,"87":2,"100":1}}],["starts",{"2":{"12":1,"48":1}}],["startapp",{"2":{"11":1,"74":1}}],["startup",{"2":{"10":1,"11":1,"12":6,"37":2,"47":1,"51":1,"52":1,"55":1,"72":1,"80":1,"115":1,"116":1,"122":1}}],["starting",{"2":{"10":1,"12":1,"40":1,"83":1}}],["start",{"0":{"312":1,"363":1},"2":{"5":1,"8":1,"11":2,"12":3,"73":1,"84":1,"85":3,"363":5,"364":1,"380":1,"381":3,"468":5,"477":1,"488":1,"519":1,"520":1,"540":2}}],["step",{"2":{"4":1}}],["6f733ea",{"2":{"247":1}}],["6154ffc",{"2":{"183":1}}],["6153bc4",{"2":{"180":1}}],["61ccd4a",{"2":{"170":1}}],["64位",{"2":{"554":1}}],["64",{"2":{"406":8,"493":2,"499":2}}],["647a0c5",{"2":{"259":1}}],["64d4486",{"2":{"161":1}}],["64a98b2",{"2":{"10":1,"38":1}}],["6e25eb7",{"2":{"147":1}}],["6ee9a92",{"2":{"11":1,"36":1}}],["608752d04767",{"2":{"436":1}}],["608b8f3",{"2":{"11":1,"39":1}}],["603e4e9",{"2":{"133":1}}],["677f30c",{"2":{"122":1}}],["67d279e",{"2":{"11":1,"36":1}}],["6",{"2":{"109":1,"154":1,"328":1,"419":2,"456":1}}],["6ccd6d0",{"2":{"227":1}}],["6ce66d4",{"2":{"112":1}}],["6ca7612",{"2":{"106":1}}],["6c4242c",{"2":{"11":1,"54":1}}],["6a8c190",{"2":{"12":1}}],["6dd2db9",{"2":{"259":1}}],["6dd8244",{"2":{"132":1}}],["6d7778a",{"2":{"154":1}}],["6de2538",{"2":{"12":1,"34":1}}],["6db1b51",{"2":{"1":1}}],["6897c0e",{"2":{"12":1,"53":1}}],["68378ef",{"2":{"12":1,"93":1}}],["69fecc3",{"2":{"12":1,"59":1}}],["695e35d",{"2":{"12":1,"19":1}}],["69c75cc",{"2":{"5":1}}],["63f7135",{"2":{"11":1,"42":1}}],["65b028f",{"2":{"5":1}}],["ls",{"2":{"536":2}}],["lsuper",{"2":{"517":2}}],["l27183",{"2":{"520":1}}],["l",{"2":{"520":1}}],["l5038",{"2":{"520":2}}],["lctrl",{"2":{"517":1}}],["legacy",{"2":{"435":1}}],["le",{"2":{"393":1}}],["level=info",{"2":{"445":1}}],["level=8",{"2":{"393":1}}],["level",{"2":{"11":1,"21":1}}],["lto=true",{"2":{"411":1,"412":1}}],["lt",{"2":{"383":3,"419":3,"455":1,"460":1}}],["logo",{"2":{"208":1,"221":1,"253":1}}],["log",{"2":{"147":1,"445":1}}],["logic",{"2":{"12":1,"35":1,"143":1,"150":1,"169":1,"175":1}}],["localhost",{"2":{"458":1,"460":1,"520":10}}],["localappdata",{"2":{"411":1}}],["localabstract",{"2":{"381":1,"445":1,"455":2,"458":1}}],["locale",{"2":{"140":1}}],["locales",{"2":{"8":1}}],["local",{"2":{"129":1,"414":6,"443":3,"445":3,"458":2}}],["longer",{"2":{"12":2,"50":1,"82":1}}],["loading",{"2":{"11":1,"26":1}}],["lost",{"2":{"11":1,"101":1}}],["lalt",{"2":{"517":1}}],["lang",{"2":{"356":1,"474":1}}],["languages",{"2":{"129":1}}],["language",{"2":{"8":1,"12":2,"35":1,"44":1,"126":1,"137":1,"182":1}}],["layout",{"2":{"8":2,"11":1,"12":5,"15":1,"28":1,"34":2,"39":1,"98":1,"114":1}}],["labels",{"2":{"8":1}}],["launcher",{"2":{"540":1}}],["launch",{"2":{"5":3,"8":1,"11":2,"36":1,"52":1}}],["license",{"2":{"385":1,"483":1}}],["licenses",{"2":{"385":1,"483":1}}],["liberapay",{"2":{"482":1}}],["libexec",{"2":{"407":1}}],["libz",{"2":{"405":1}}],["libswresample",{"2":{"402":1,"495":1}}],["libsdl2",{"2":{"399":1,"402":2,"495":2}}],["libavutil",{"2":{"402":1,"495":1}}],["libavformat",{"2":{"402":1,"495":1}}],["libavdevice",{"2":{"402":1,"403":1,"495":1}}],["libavcodec",{"2":{"402":1,"495":1}}],["libusb1",{"2":{"403":1}}],["libusb",{"2":{"402":2,"406":2,"407":1,"495":2}}],["libdecor",{"2":{"353":1}}],["library",{"2":{"7":1,"411":1}}],["light",{"2":{"130":1}}],["lifecycle",{"2":{"12":1,"27":1}}],["limit=20",{"2":{"516":2}}],["limit",{"2":{"6":1,"516":1}}],["lists",{"2":{"10":1,"32":1}}],["listener",{"2":{"6":1}}],["list",{"2":{"5":1,"6":1,"10":1,"11":4,"12":8,"19":1,"27":2,"29":1,"34":2,"35":1,"39":1,"42":1,"53":1,"54":1,"63":1,"80":1,"112":1,"114":1,"394":1,"417":2,"418":1,"419":2,"422":1,"468":1,"527":1,"531":1,"536":1}}],["linux平台的静态构建版本仍处于实验阶段",{"2":{"493":1}}],["linux和macos压缩包包含",{"2":{"377":1}}],["linux64",{"2":{"377":1}}],["linux系统安装后无法打开",{"0":{"313":1}}],["linux用户参考安装文档",{"2":{"296":1}}],["linux",{"0":{"401":1,"405":1,"491":1},"1":{"402":1,"403":1,"492":1,"493":1,"494":1,"495":1,"496":1},"2":{"5":1,"11":3,"12":3,"33":1,"34":1,"52":1,"53":2,"81":1,"159":1,"181":1,"200":1,"202":1,"209":1,"210":1,"212":1,"219":1,"220":1,"222":1,"224":1,"269":1,"353":1,"369":1,"377":1,"397":1,"411":1,"424":1,"475":1,"493":1,"494":1,"536":1}}],["linked",{"2":{"2":1}}],["✨",{"2":{"5":4,"10":12,"12":4,"17":1,"19":1,"20":1,"25":1,"32":2,"53":1,"63":1,"76":1,"83":2,"92":1,"96":1,"97":1,"105":1,"122":1,"124":1,"160":1,"172":1,"208":1,"253":1}}],["0°",{"2":{"528":1}}],["0表示主显示屏",{"2":{"464":1}}],["0xfffffffe",{"2":{"393":1}}],["0版",{"2":{"385":1,"483":1}}],["0123456789abcdef",{"2":{"344":1,"345":2,"426":2,"509":1}}],["01fd926",{"2":{"152":1}}],["09",{"0":{"258":1},"1":{"259":1,"260":1}}],["09c8dee",{"2":{"235":1}}],["091d503",{"2":{"134":1}}],["0f72090",{"2":{"182":1}}],["0f3d869",{"2":{"11":1,"79":1}}],["054c55b",{"2":{"202":1}}],["0549dda",{"2":{"12":1,"53":1}}],["0530ed3",{"2":{"178":1}}],["0c9d36f",{"2":{"176":1}}],["0cc8208",{"2":{"129":1}}],["02a4d39",{"2":{"151":1}}],["0222675",{"2":{"11":1,"21":1}}],["07f7ded",{"2":{"158":1}}],["07cc5f3",{"2":{"141":1}}],["078bf18",{"2":{"4":1}}],["04",{"2":{"313":1,"402":1}}],["04a7608",{"2":{"112":1}}],["044cfcd",{"2":{"12":1,"34":1}}],["00d3495",{"2":{"108":1}}],["0053e87",{"2":{"12":1,"96":1}}],["0054fd4",{"2":{"4":1}}],["062c689",{"2":{"123":1}}],["0690f2d",{"2":{"12":1,"65":1}}],["0602676",{"2":{"12":1,"75":1}}],["060ad4a",{"2":{"4":1}}],["066d81f",{"2":{"12":1,"19":1}}],["06a151d",{"2":{"12":1,"40":1}}],["0e098c3",{"2":{"12":1,"68":1}}],["0d4b1ce",{"2":{"212":1}}],["0d963aa",{"2":{"131":1}}],["0d8a8ee",{"2":{"12":1}}],["0d60655",{"2":{"11":1,"71":1}}],["0",{"0":{"258":2},"1":{"259":2,"260":2},"2":{"10":2,"11":1,"12":3,"13":2,"68":1,"74":1,"75":2,"161":1,"361":1,"362":1,"363":1,"364":1,"366":1,"372":1,"373":1,"385":1,"402":6,"441":1,"456":1,"462":1,"464":2,"465":1,"474":1,"480":1,"483":1,"495":6,"528":1,"530":4}}],["t",{"2":{"465":1}}],["tmp",{"2":{"443":3,"445":3,"458":2}}],["tunnel",{"0":{"367":1},"2":{"367":3,"380":1,"458":1,"519":4}}],["turn",{"2":{"141":1,"464":2,"556":1}}],["turning",{"2":{"12":1,"93":1}}],["turned",{"2":{"11":1,"46":1}}],["tcp",{"0":{"427":1},"1":{"428":1,"429":1},"2":{"345":3,"381":1,"426":3,"427":1,"428":2,"429":2,"445":1,"455":2,"458":4,"460":3,"489":1,"519":1,"520":2}}],["tcpip=+192",{"2":{"428":1}}],["tcpip=192",{"2":{"426":2,"428":2}}],["tcpip",{"2":{"345":2,"426":1,"428":2,"429":1}}],["twitter",{"2":{"481":1}}],["tw",{"2":{"137":1,"138":1,"140":1}}],["trigger",{"2":{"12":1,"15":1,"122":1}}],["traditional",{"2":{"140":1}}],["translate",{"2":{"185":1}}],["translation",{"2":{"12":1,"121":1}}],["translations",{"2":{"8":1,"126":1}}],["transparent",{"2":{"12":1,"53":1}}],["trash",{"2":{"8":1}}],["tray",{"2":{"5":1,"11":2,"39":1,"99":1,"179":1,"180":1}}],["tips",{"2":{"133":1,"178":1}}],["time",{"2":{"12":1,"61":1,"516":3}}],["timeout值",{"2":{"463":1}}],["timeout=300",{"2":{"463":1}}],["timeout",{"2":{"11":1,"99":1,"463":2}}],["timing",{"2":{"11":1,"36":1,"112":2}}],["title=",{"2":{"546":1}}],["titles",{"2":{"12":1,"87":1}}],["title",{"2":{"4":1,"12":1,"40":1}}],["typos",{"2":{"11":1,"33":1}}],["type",{"2":{"11":1,"12":1,"58":1,"65":1,"156":1}}],["typed",{"2":{"6":1}}],["types",{"2":{"6":1}}],["termux",{"2":{"435":1}}],["terminal",{"2":{"10":1,"11":3,"12":5,"20":1,"21":3,"22":4,"72":1,"117":1,"126":1,"148":1,"166":1,"167":1,"168":2,"556":1}}],["tethering",{"2":{"196":1,"383":1}}],["temporarily",{"2":{"11":1,"12":1,"78":1,"89":1}}],["text",{"2":{"8":1,"11":2,"18":2,"123":1,"486":1,"556":1}}],["tar",{"2":{"493":1,"499":2}}],["target=",{"2":{"439":1}}],["target",{"2":{"5":1}}],["tap",{"2":{"407":1}}],["tabs",{"2":{"110":1}}],["taking",{"2":{"11":1,"33":1}}],["tasks",{"2":{"12":1,"89":1}}],["task",{"2":{"8":1,"12":2,"19":1,"34":1,"107":1,"112":3}}],["thread",{"2":{"356":1}}],["through",{"2":{"10":1,"32":1}}],["that",{"2":{"11":2,"12":3,"36":1,"49":1,"54":1,"86":1,"89":1,"128":1}}],["there",{"2":{"11":1,"39":1}}],["themes",{"2":{"11":1,"33":1}}],["theme",{"2":{"8":1,"12":1,"28":1,"117":1,"166":1}}],["the",{"2":{"5":2,"6":1,"7":1,"9":1,"10":11,"11":46,"12":69,"14":1,"15":4,"17":3,"18":4,"19":8,"21":5,"22":1,"25":1,"26":2,"27":4,"29":2,"33":2,"34":11,"36":5,"38":3,"39":8,"40":6,"42":1,"44":1,"45":1,"48":2,"49":3,"50":1,"51":2,"52":2,"53":2,"54":5,"55":2,"58":2,"59":3,"61":2,"64":1,"65":1,"72":1,"79":2,"84":1,"85":5,"86":1,"92":1,"95":1,"96":3,"98":1,"99":2,"102":1,"103":1,"110":6,"113":1,"114":3,"116":1,"121":2,"122":1,"128":1,"130":1,"142":1,"146":1,"152":1,"179":1,"180":1,"474":4}}],["thinking",{"2":{"5":1}}],["touches值",{"2":{"465":1}}],["touches",{"2":{"465":6}}],["top",{"2":{"114":1,"549":1}}],["tool",{"2":{"12":1,"34":1}}],["tools",{"2":{"12":1,"34":1,"373":1,"399":1,"405":1,"500":1}}],["too",{"2":{"12":1,"89":1}}],["token",{"2":{"4":1}}],["to",{"2":{"1":1,"2":1,"4":1,"8":5,"10":6,"11":11,"12":28,"15":1,"21":2,"23":1,"25":2,"26":1,"27":1,"28":1,"29":1,"34":2,"38":1,"39":1,"40":1,"41":1,"42":2,"43":1,"44":1,"47":4,"48":1,"49":1,"50":1,"51":1,"53":1,"63":1,"65":1,"66":1,"68":1,"73":2,"75":2,"79":1,"84":1,"85":1,"86":1,"92":1,"96":2,"103":1,"109":1,"127":1,"132":1,"151":1,"160":1,"172":1,"179":2,"180":2,"182":1,"184":1,"346":3,"382":1,"393":1,"412":1,"474":1}}],["dpi",{"2":{"539":2}}],["dprebuilt",{"2":{"412":1}}],["dkms",{"2":{"536":1}}],["df6cf000447428fcde322022848d655ff0211d98688d0f17cbbf21be9c1272be",{"2":{"493":1}}],["df4103b",{"2":{"12":1}}],["df414b9",{"2":{"5":1}}],["dserver",{"2":{"460":2}}],["dnf",{"2":{"403":3,"494":2}}],["dns2",{"0":{"361":1,"362":1,"363":1,"364":1,"366":1}}],["dns",{"0":{"361":1,"362":1,"363":1,"364":1,"366":1}}],["dll",{"2":{"373":2,"399":2}}],["dll上",{"0":{"309":1}}],["d",{"0":{"361":1,"362":1,"363":1,"364":1,"366":1},"2":{"308":1,"345":2,"361":1,"362":1,"363":2,"364":1,"366":1,"426":1}}],["d6ec7fd",{"2":{"257":1}}],["d691780",{"2":{"182":1}}],["d815643",{"2":{"200":1}}],["d908d58",{"2":{"186":1}}],["d3afc4b",{"2":{"168":1}}],["d3b4914",{"2":{"4":1}}],["d507c2d",{"2":{"150":1}}],["d5caaa9",{"2":{"12":1,"61":1}}],["dc9a3c4",{"2":{"193":1}}],["dc711cb",{"2":{"146":1}}],["dcf817f",{"2":{"12":1,"65":1}}],["downsize",{"2":{"523":1}}],["down",{"2":{"517":1}}],["download",{"2":{"439":1}}],["download1",{"2":{"403":1}}],["downlink",{"2":{"391":2}}],["does",{"2":{"135":1}}],["docker",{"0":{"408":1},"2":{"408":1}}],["docs",{"2":{"12":1,"48":1}}],["documentation",{"2":{"12":1,"24":1}}],["d7bf83b",{"2":{"179":1}}],["d72202b",{"2":{"112":1}}],["d7eca8d",{"2":{"12":1,"53":1}}],["dd601df",{"2":{"174":1}}],["dd3ad6c",{"2":{"12":1,"47":1}}],["dd1c2e1",{"2":{"5":1}}],["dynamically",{"2":{"12":1,"86":1}}],["dynamics",{"2":{"11":1,"101":1}}],["data",{"2":{"443":3,"445":3,"458":2}}],["daeb9e5",{"2":{"207":1}}],["daemon",{"2":{"12":1,"72":1}}],["dark",{"2":{"11":1,"12":1,"28":1,"73":1,"108":1,"110":1,"117":1,"134":1,"150":1}}],["db",{"2":{"411":1,"412":1}}],["db9e3e7",{"2":{"122":1}}],["db9b19a",{"2":{"12":1,"19":1}}],["dbdaa35",{"2":{"14":1}}],["db5d157",{"2":{"12":1,"48":1}}],["db5deb4",{"2":{"12":1,"82":1}}],["dbc34d6",{"2":{"12":1,"85":1}}],["dbf366a",{"2":{"6":1}}],["d054f8d",{"2":{"11":1,"54":1}}],["d230c15",{"2":{"12":1,"34":1}}],["d262adf",{"2":{"12":1,"61":1}}],["d25714a",{"2":{"12":1,"59":1}}],["d21fa29",{"2":{"11":1,"56":1}}],["d2c977c",{"2":{"6":1}}],["dummy",{"2":{"458":1}}],["dup",{"2":{"392":3}}],["duplicate",{"2":{"10":1,"11":1,"12":1,"32":1,"40":1,"54":1}}],["during",{"2":{"12":1,"80":1}}],["due",{"2":{"11":1,"12":1,"29":1,"49":1}}],["dragging",{"2":{"10":1,"38":1}}],["directories",{"2":{"12":1,"57":1}}],["directory",{"2":{"5":1,"12":3,"15":1,"44":1,"93":1,"103":1}}],["disconnect",{"2":{"429":1}}],["disconnected",{"2":{"347":1}}],["dist",{"2":{"405":1}}],["disable允许任何来源软件",{"2":{"308":1}}],["disable",{"2":{"11":1,"12":1,"78":1,"89":1,"186":1,"551":1}}],["disabling",{"2":{"11":1,"64":1}}],["display=",{"2":{"539":1}}],["display=1920x1080",{"2":{"468":1,"477":1,"539":2,"540":2}}],["displays",{"2":{"12":1,"59":1,"531":1}}],["displayed",{"2":{"11":1,"29":1}}],["display",{"2":{"10":1,"11":5,"12":13,"17":1,"18":1,"19":2,"36":1,"37":1,"53":2,"55":1,"58":1,"65":1,"79":1,"84":1,"85":1,"93":1,"94":1,"110":3,"182":1,"452":1,"464":2,"528":1,"531":1,"539":1,"541":1,"542":1,"543":5}}],["dialog",{"2":{"8":1,"10":1,"12":1,"17":1}}],["d18444f",{"2":{"11":1,"101":1}}],["d19e781",{"2":{"10":1,"83":1}}],["d1f8176",{"2":{"7":1}}],["d1c04ce",{"2":{"4":1}}],["decorations",{"2":{"540":2,"541":2}}],["decoder",{"2":{"452":2}}],["demux=h264",{"2":{"458":1}}],["demuxer",{"2":{"452":2}}],["dex",{"2":{"443":5}}],["dexed",{"2":{"443":1}}],["den",{"2":{"419":1}}],["debug",{"2":{"460":2}}],["debugger=true",{"2":{"460":2}}],["debugging",{"2":{"167":1}}],["debian",{"0":{"402":1},"2":{"405":1,"494":1,"495":1}}],["dee55499ca4fef00ce2559c767d2d8130163736d43fdbce753e923e75309c275",{"2":{"377":1}}],["dequeueoutputbuffer",{"2":{"356":1}}],["defender偶会拦截软件包下载",{"2":{"305":1}}],["default",{"2":{"11":1,"12":1,"34":1,"90":1}}],["dependent",{"2":{"197":1}}],["dependency",{"2":{"11":1,"67":1,"119":1}}],["dependencies",{"2":{"6":1,"8":1,"11":1,"12":1,"45":1,"68":1,"104":1,"132":1}}],["de3555b",{"2":{"174":1}}],["de9352c",{"2":{"164":1}}],["deleting",{"2":{"12":1,"27":1}}],["delete",{"2":{"6":1,"8":1,"143":2}}],["detecting",{"2":{"12":1,"27":1}}],["detection",{"2":{"8":1,"12":2,"49":1,"72":1}}],["details",{"2":{"12":4,"19":2,"24":1,"60":1}}],["devel",{"2":{"403":5}}],["development",{"2":{"11":1,"52":1}}],["dev",{"2":{"398":3,"402":7,"405":1,"477":1,"495":7,"533":2,"536":7}}],["devicemessage",{"2":{"457":1}}],["devices输出多个设备时",{"2":{"380":1}}],["devices",{"2":{"10":2,"11":1,"12":3,"29":1,"47":1,"63":2,"65":1,"98":1,"144":1,"165":1,"172":1,"343":1,"426":1,"536":1}}],["device",{"2":{"5":1,"6":1,"10":9,"11":6,"12":18,"14":1,"18":1,"19":1,"25":1,"27":3,"29":1,"32":4,"34":4,"35":1,"38":1,"39":1,"40":1,"42":1,"53":1,"54":1,"59":1,"60":1,"61":1,"63":1,"65":1,"72":2,"79":1,"92":1,"172":1,"345":2,"347":1,"458":1}}],["destroy",{"2":{"542":1}}],["describe",{"2":{"153":1}}],["description",{"2":{"152":1,"164":1,"173":1}}],["desktop",{"2":{"10":1,"12":1,"51":1,"53":1}}],["design",{"2":{"10":1,"150":1}}],["pts",{"2":{"456":4}}],["png",{"2":{"414":1}}],["pid",{"2":{"460":1}}],["pierlon",{"2":{"408":1}}],["pip",{"2":{"402":1}}],["pip3",{"2":{"402":2}}],["python3",{"2":{"402":1}}],["pkg",{"2":{"402":1,"406":2,"407":1,"495":1}}],["pcm",{"2":{"393":1}}],["p",{"0":{"361":1,"362":1,"363":1,"364":1,"366":1,"367":1,"368":1},"2":{"361":1,"362":1,"363":2,"364":1,"366":1,"367":1,"368":1}}],["permission",{"2":{"193":2,"474":1}}],["perfect",{"2":{"115":1}}],["performance",{"0":{"7":1,"12":1,"15":1,"16":1,"19":1,"22":1,"23":1,"24":1,"27":1,"28":1,"30":1,"31":1,"34":1,"35":1,"37":1,"40":1,"41":1,"43":1,"44":1,"47":1,"48":1,"49":1,"50":1,"53":1,"55":1,"57":1,"59":1,"60":1,"61":1,"62":1,"65":1,"66":1,"68":1,"69":1,"72":1,"75":1,"77":1,"80":1,"82":1,"85":1,"86":1,"87":1,"89":1,"93":1,"94":1,"96":1,"98":1,"100":1,"102":1,"103":1,"104":1,"106":1,"108":1,"109":1,"110":1,"114":1,"115":1,"118":1,"122":1,"125":1,"127":1,"131":1,"134":1,"136":1,"139":1,"143":1,"144":1,"145":1,"146":1,"147":1,"149":1,"150":1,"153":1,"155":1,"157":1,"160":1,"163":1,"164":1,"165":1,"168":1,"169":1,"170":1,"172":1,"174":1,"175":1,"178":1,"183":1,"186":1,"187":1,"198":1,"203":1,"204":1,"208":1,"211":1,"213":1,"223":1,"226":1,"228":1,"230":1,"231":1,"233":1,"234":1,"240":1,"244":1,"256":1},"2":{"12":11,"19":1,"34":2,"55":1,"57":1,"60":1,"77":1,"80":1,"93":1,"96":1,"102":1,"115":1,"122":1,"168":1,"172":1,"391":2}}],["plugged",{"2":{"462":5}}],["plugin",{"2":{"2":1}}],["player",{"2":{"452":1}}],["playback",{"2":{"391":2,"416":1,"477":1,"515":3,"533":4,"536":1}}],["platform",{"2":{"399":1,"500":1}}],["plasma",{"2":{"354":1}}],["plan",{"2":{"107":1}}],["pop",{"2":{"116":1}}],["policy=local",{"2":{"543":3}}],["policy",{"2":{"12":1,"40":1}}],["power",{"2":{"12":1,"61":1,"464":2,"466":1,"467":1,"517":1}}],["powershell",{"2":{"11":1,"21":1,"346":2,"426":2,"519":2,"520":4}}],["port=1234",{"2":{"519":1}}],["port",{"0":{"361":1,"362":1,"363":1,"364":1,"366":1,"367":1,"368":1},"2":{"12":1,"27":1,"460":1,"500":1,"519":1}}],["portable",{"2":{"5":1}}],["position",{"2":{"12":2,"85":1,"163":1,"175":1}}],["possible",{"2":{"11":1,"33":1}}],["print",{"2":{"429":1,"525":1}}],["preset",{"2":{"182":1}}],["preservation",{"2":{"122":1}}],["presentation",{"2":{"12":1}}],["preparation",{"2":{"12":1,"34":1}}],["prefer",{"2":{"486":1,"556":1}}],["preferred",{"2":{"12":1,"22":1}}],["preferences",{"2":{"11":2,"12":2,"36":1,"40":1,"46":1,"122":1,"164":1,"178":1,"182":1,"183":1,"186":1}}],["preference",{"2":{"5":1,"11":1,"12":3,"33":1,"34":1,"86":1,"98":1,"146":1,"182":1}}],["prevented",{"2":{"11":1,"36":1}}],["previous",{"2":{"11":1,"21":1,"447":1}}],["provide",{"2":{"12":1,"53":1}}],["provides",{"2":{"12":1,"27":1}}],["process",{"2":{"443":2,"445":2,"458":1}}],["processing",{"2":{"12":1,"27":1}}],["processes",{"2":{"12":1,"53":1}}],["program",{"2":{"11":2,"12":2,"19":1,"39":2,"48":1,"128":1}}],["problems",{"2":{"11":1,"12":1,"47":1,"99":1,"126":1}}],["problem",{"2":{"9":1,"11":11,"12":3,"21":2,"36":1,"40":1,"42":1,"45":1,"49":1,"52":1,"54":1,"58":1,"64":1,"65":1,"79":1,"99":1,"113":1,"116":1,"121":1,"122":1,"185":1}}],["prompt",{"2":{"11":1,"26":1,"168":1,"171":1}}],["promptbar",{"2":{"8":1}}],["prompts",{"2":{"8":1,"131":1,"172":1}}],["paste选项修改ctrl+v和mod+v的行为",{"2":{"435":1}}],["packet",{"2":{"456":2}}],["package",{"2":{"12":2,"37":1,"68":1,"443":2}}],["packages",{"2":{"12":1,"82":1,"150":1}}],["pacman",{"2":{"406":4,"494":1}}],["panel",{"2":{"12":2,"55":1}}],["page",{"2":{"11":1,"12":1,"39":1,"53":1,"132":1}}],["partial",{"2":{"12":1}}],["part",{"2":{"11":1,"101":1}}],["parsed",{"2":{"11":1,"79":1}}],["parameter",{"2":{"11":1,"12":1,"79":1,"93":1}}],["parameters",{"2":{"11":1,"12":2,"33":1,"53":1,"86":1}}],["params",{"2":{"6":1}}],["parallel",{"2":{"10":1,"17":1}}],["pairing",{"2":{"10":1,"12":1,"63":1,"156":1}}],["paypal",{"2":{"482":1}}],["payload",{"2":{"6":1}}],["payment",{"2":{"6":1,"8":1}}],["patterns",{"2":{"4":1}}],["pattern",{"2":{"4":1}}],["path=",{"2":{"406":1,"407":1}}],["paths",{"2":{"197":1}}],["path",{"2":{"4":1,"11":2,"18":1,"21":1,"113":1,"182":1,"342":2,"346":3,"382":1,"399":1,"406":1,"407":1,"412":1,"500":1}}],["put",{"2":{"462":2,"463":1,"465":2}}],["public",{"2":{"443":1}}],["publishing",{"2":{"111":1}}],["publish",{"2":{"4":1}}],["push",{"2":{"172":1,"174":1,"439":1,"445":1,"458":1}}],["pull",{"2":{"4":1,"495":1}}],["emerge",{"2":{"494":1}}],["empty",{"2":{"5":1,"6":1}}],["edit",{"2":{"460":1}}],["edge",{"2":{"10":1,"12":3,"59":1,"61":1,"76":1,"77":1}}],["e",{"2":{"345":2,"403":1,"426":1}}],["e84f24e",{"2":{"256":1}}],["e89a7a5",{"2":{"217":1}}],["e9a8fc2",{"2":{"222":1}}],["e9befea",{"2":{"183":1}}],["e1237cd",{"2":{"198":1}}],["e249d84",{"2":{"186":1}}],["evoke",{"2":{"179":1,"180":1}}],["events",{"2":{"11":1,"18":1,"474":2,"486":1}}],["event",{"2":{"5":1,"8":1}}],["e5f78e7",{"2":{"173":1}}],["e5c157e",{"2":{"10":1,"20":1}}],["escrcpy设置",{"2":{"300":1}}],["escrcpy设备列表应已检测到您的设备",{"2":{"292":1}}],["escrcpy绝对值得一试",{"2":{"273":1}}],["escrcpy都能为你提供出色的设备控制体验",{"2":{"273":1}}],["escrcpy为scrcpy带来了现代化的图形界面和增强功能",{"2":{"273":1}}],["escrcpy是一个完全免费的开源项目",{"2":{"272":1}}],["escrcpy是一款基于electron开发的图形化安卓设备控制工具",{"2":{"263":1}}],["escrcpy保留了scrcpy的全部优点",{"2":{"270":1}}],["escrcpy支持主流操作系统",{"2":{"269":1}}],["escrcpy非常适合以下场景",{"2":{"268":1}}],["escrcpy",{"0":{"262":1,"298":1},"1":{"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"269":1,"270":1,"271":1,"272":1,"273":1,"299":1,"300":1,"301":1,"302":1,"303":1,"304":1,"305":1,"306":1,"307":1,"308":1,"309":1,"310":1,"311":1,"312":1,"313":1,"314":1},"2":{"291":1,"296":1,"308":1,"313":1,"315":1,"339":1,"387":1}}],["esm",{"2":{"132":1}}],["eslint",{"2":{"8":1,"149":1}}],["equipment",{"2":{"12":1,"48":1,"102":1,"114":1,"121":1,"150":1}}],["e0c221f",{"2":{"12":1,"19":1}}],["e0687e8",{"2":{"10":1,"63":1}}],["e6e8a09",{"2":{"12":1,"27":1}}],["e643f8e",{"2":{"12":1}}],["eaa27133e0520979873ba57ad651560a4cc2618373bd05450b23a84d32beafd0",{"2":{"554":1}}],["ea227e0",{"2":{"130":1}}],["each",{"2":{"12":1,"34":1}}],["eab402b",{"2":{"12":1,"28":1}}],["ea75615",{"2":{"12":1}}],["effect",{"2":{"11":1,"12":8,"19":2,"33":1,"34":1,"53":1,"55":1,"94":1,"108":1,"110":3}}],["ef9e7d3",{"2":{"8":1}}],["e337d5cf0ba4e1281699c338ce5f104aee96eb7b2893dc851399b6643eb4044e",{"2":{"499":1}}],["e34e1c2",{"2":{"11":1,"45":1}}],["e323611",{"2":{"8":1}}],["error",{"2":{"11":5,"12":1,"39":1,"52":1,"58":1,"84":1,"85":1,"90":1,"134":1,"152":1,"158":1,"159":1,"168":1,"181":1,"182":1,"193":1,"197":1,"343":1,"344":3,"345":6,"348":1,"356":1,"393":1,"523":1}}],["errors",{"2":{"11":2,"56":1,"81":1,"119":1,"123":1,"171":1,"189":1,"190":1,"191":1,"192":1}}],["exact",{"2":{"555":1}}],["exclusive",{"2":{"536":2}}],["exceptions",{"2":{"11":1,"33":1}}],["exe文件",{"2":{"556":1}}],["exe",{"2":{"342":1,"346":2,"373":1,"377":1,"399":1}}],["execution",{"2":{"120":2,"144":1}}],["extended",{"2":{"12":1,"96":1,"164":1}}],["external",{"2":{"7":1}}],["exit",{"2":{"11":1,"12":1,"39":1,"53":1}}],["expanded",{"2":{"12":1,"50":1}}],["explicitly",{"2":{"12":1,"53":1}}],["explorer",{"2":{"10":1,"17":1}}],["experimentally",{"2":{"12":1,"53":1}}],["experimental",{"2":{"12":2,"53":1,"93":1}}],["experience",{"2":{"12":6,"19":1,"22":1,"62":1,"65":1,"72":1,"85":1}}],["export",{"2":{"6":2,"346":1,"407":2,"411":2,"426":1,"519":1,"520":2}}],["english",{"2":{"121":1}}],["entrance",{"2":{"112":1}}],["entry",{"2":{"12":2,"34":1,"48":1}}],["entries",{"2":{"10":1,"32":1}}],["encoder",{"2":{"394":1,"527":1}}],["encoder=omx",{"2":{"527":1}}],["encoder=",{"2":{"394":1}}],["encoders",{"2":{"394":1,"527":1}}],["encoding",{"2":{"11":1,"79":1}}],["enclosed",{"2":{"12":1,"27":1}}],["enable",{"2":{"12":2,"19":1,"47":1,"494":1}}],["enhance",{"2":{"12":1,"87":1}}],["enhanced",{"2":{"10":1,"92":1}}],["enhancing",{"2":{"10":1,"17":1}}],["ensure",{"2":{"6":1}}],["env",{"2":{"4":1}}],["electron",{"2":{"4":1,"235":1,"237":1,"259":1}}],["vbs文件",{"2":{"556":1}}],["vbs",{"2":{"556":1}}],["vd",{"2":{"540":2,"541":2,"542":1}}],["v4l",{"2":{"536":1}}],["v4l2loopback",{"2":{"536":4}}],["v4l2",{"2":{"281":1,"424":1,"452":2,"473":1,"477":1,"532":4,"533":4,"536":9,"537":3}}],["vvvv",{"2":{"508":1}}],["vlc",{"2":{"458":1,"468":1,"477":1,"536":2,"540":1}}],["void",{"2":{"443":1}}],["voice",{"2":{"391":12}}],["volume",{"2":{"174":1,"175":2,"517":2}}],["variable",{"2":{"134":1}}],["value",{"2":{"11":1,"58":1,"419":1}}],["v2",{"0":{"369":1},"1":{"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1,"378":1,"379":1,"380":1,"381":1,"382":1,"383":1,"384":1,"385":1,"386":1},"2":{"127":1,"151":1,"157":1,"160":1,"184":1,"377":3,"378":1,"441":1,"454":1,"458":1}}],["verifications",{"2":{"12":1,"48":1}}],["verification",{"2":{"12":1,"59":1}}],["version",{"2":{"5":1,"8":1,"12":1,"19":1,"407":1}}],["versions",{"2":{"2":1,"12":1,"47":1,"407":1}}],["vimont",{"2":{"483":1}}],["viewing",{"2":{"12":1,"61":1}}],["visibility",{"2":{"11":1,"99":1}}],["videon",{"2":{"536":5}}],["video4linux",{"0":{"535":1,"536":1},"1":{"537":1},"2":{"478":1,"535":1}}],["video2",{"2":{"477":1,"533":2}}],["videolan",{"2":{"468":1,"477":1,"540":1}}],["videodriver=wayland",{"2":{"353":1}}],["video",{"2":{"11":3,"64":1,"79":1,"84":1,"182":1,"390":3,"391":1,"396":1,"416":8,"418":6,"419":9,"420":1,"421":1,"422":1,"423":2,"434":6,"441":1,"446":3,"447":1,"451":1,"452":1,"455":3,"456":2,"477":5,"511":3,"512":4,"524":2,"526":4,"527":3,"532":2,"533":1,"534":1,"536":3}}],["via",{"2":{"10":2,"12":1,"50":1,"63":2}}],["v3",{"0":{"473":1},"1":{"474":1,"475":1,"476":1,"477":1,"478":1,"479":1,"480":1,"481":1,"482":1,"483":1},"2":{"10":1,"11":1,"12":8,"23":1,"25":1,"41":1,"43":1,"50":1,"66":1,"68":1,"74":1,"75":2,"412":1,"493":1,"499":2,"554":2}}],["vuerouter",{"2":{"12":1}}],["vue",{"2":{"4":2}}],["if",{"2":{"474":1}}],["i",{"2":{"453":1,"536":1}}],["i686",{"2":{"406":8}}],["illegalstateexception",{"2":{"356":1}}],["ibar",{"2":{"307":1}}],["i打开开发者工具检查报错信息",{"2":{"306":1}}],["i8n",{"2":{"145":1}}],["i18n",{"2":{"136":1,"205":1}}],["ime",{"2":{"543":3}}],["imports",{"2":{"142":1}}],["improved",{"2":{"8":1,"10":1,"12":3,"17":1,"55":1,"72":1,"93":1}}],["improvements",{"0":{"7":1,"12":1,"15":1,"16":1,"19":1,"22":1,"23":1,"24":1,"27":1,"28":1,"30":1,"31":1,"34":1,"35":1,"37":1,"40":1,"41":1,"43":1,"44":1,"47":1,"48":1,"49":1,"50":1,"53":1,"55":1,"57":1,"59":1,"60":1,"61":1,"62":1,"65":1,"66":1,"68":1,"69":1,"72":1,"75":1,"77":1,"80":1,"82":1,"85":1,"86":1,"87":1,"89":1,"93":1,"94":1,"96":1,"98":1,"100":1,"102":1,"103":1,"104":1,"106":1,"108":1,"109":1,"110":1,"114":1,"115":1,"118":1,"122":1,"125":1,"127":1,"131":1,"134":1,"136":1,"139":1,"143":1,"144":1,"145":1,"146":1,"147":1,"149":1,"150":1,"153":1,"155":1,"157":1,"160":1,"163":1,"164":1,"165":1,"168":1,"169":1,"170":1,"172":1,"174":1,"175":1,"178":1,"183":1,"186":1,"187":1,"198":1,"203":1,"204":1,"208":1,"211":1,"213":1,"223":1,"226":1,"228":1,"230":1,"231":1,"233":1,"234":1,"240":1,"244":1,"256":1},"2":{"12":1,"68":1}}],["improve",{"2":{"6":1,"8":1,"12":15,"16":1,"19":1,"34":5,"57":1,"59":2,"72":1,"85":1,"100":1,"118":1,"145":1}}],["images",{"2":{"12":1,"61":1}}],["it",{"2":{"12":1,"47":1}}],["ip连接镜像android设备",{"2":{"473":1}}],["ip连接",{"2":{"462":1}}],["ip地址连接",{"0":{"295":1}}],["ip",{"0":{"427":1},"1":{"428":1,"429":1},"2":{"12":1,"65":1,"345":3,"426":4,"427":1,"428":4,"429":5,"489":1,"519":1}}],["ipv6",{"2":{"11":1,"12":1,"27":1,"58":1}}],["ipc",{"2":{"8":1}}],["id=1",{"2":{"531":1,"543":1}}],["id=0",{"2":{"418":2}}],["idummy",{"2":{"458":1}}],["id",{"2":{"11":1,"58":1,"418":3,"456":2,"531":1}}],["ispackaged",{"2":{"231":1,"232":1}}],["is",{"2":{"6":1,"11":1,"12":1,"39":1,"65":1,"130":1}}],["issue",{"2":{"6":1,"11":18,"18":2,"21":2,"26":2,"29":1,"33":2,"36":2,"39":4,"46":1,"54":1,"70":1,"156":1}}],["issues",{"2":{"3":1,"11":3,"29":1,"33":1,"67":1,"111":1,"193":2}}],["icons",{"2":{"8":2,"11":1,"12":2,"19":2,"99":1,"414":1}}],["icon",{"2":{"5":1,"6":1,"8":5,"10":1,"12":7,"17":1,"19":6,"65":1,"414":1}}],["inject",{"2":{"474":1}}],["injecting",{"2":{"474":1}}],["injectinputevent",{"2":{"449":1}}],["injection",{"2":{"11":1,"21":1}}],["input",{"2":{"474":1}}],["inputmanager",{"2":{"449":2}}],["in值",{"2":{"462":1}}],["in设置实现",{"2":{"462":1}}],["initialize",{"2":{"393":1}}],["initialization",{"2":{"6":2}}],["initially",{"2":{"105":1}}],["incompatible",{"2":{"174":1}}],["incorrect",{"2":{"11":1,"21":1}}],["increase",{"2":{"12":1,"48":1}}],["information",{"2":{"12":2,"34":1,"61":1}}],["inactive",{"2":{"12":1,"53":1}}],["instrumentation",{"2":{"474":1}}],["install",{"0":{"358":1},"2":{"358":2,"375":1,"380":1,"381":1,"402":5,"403":3,"405":2,"407":3,"411":1,"414":1,"494":3,"495":3,"500":3,"536":1,"555":5}}],["installation",{"2":{"12":1,"49":1,"124":1}}],["instance",{"2":{"12":1,"55":1}}],["instances",{"2":{"10":1,"17":1}}],["instead",{"2":{"7":1}}],["independent",{"2":{"10":1,"17":1}}],["into",{"2":{"10":1,"17":1}}],["introducing",{"2":{"10":1,"17":1}}],["integration",{"2":{"11":1,"12":1,"34":1,"78":1}}],["integrate",{"2":{"10":1,"83":1}}],["interactive",{"2":{"12":1,"19":1,"150":1}}],["interaction",{"2":{"12":5,"19":1,"22":2,"35":1,"37":1,"102":1,"118":1,"134":1,"164":1,"187":1,"198":1}}],["interruption",{"2":{"12":1,"80":1}}],["internationalization",{"2":{"11":1,"101":1,"113":1}}],["interface",{"2":{"10":2,"12":5,"15":1,"32":1,"34":1,"40":1,"113":1}}],["intelligently",{"2":{"10":1,"32":1}}],["in",{"2":{"4":2,"5":1,"6":3,"7":1,"10":1,"11":13,"12":9,"17":1,"18":2,"19":1,"21":1,"22":2,"27":1,"33":1,"34":1,"36":2,"39":1,"40":1,"46":1,"53":1,"54":2,"70":1,"71":1,"78":1,"86":1,"117":1,"121":1,"130":1,"146":1,"148":1,"155":1,"462":3}}],["utils",{"2":{"536":1}}],["utilization",{"2":{"12":1,"34":1}}],["uhid",{"0":{"471":1,"489":1,"506":1},"2":{"469":1,"471":3,"472":1,"484":2,"486":1,"488":1,"489":2,"502":1,"506":3,"508":2,"511":2}}],["u62",{"2":{"456":1}}],["u1",{"2":{"456":2}}],["u32",{"2":{"456":5}}],["ubuntu系统",{"2":{"495":1}}],["ubuntu",{"0":{"402":1},"2":{"402":1,"494":1}}],["unprocessed",{"2":{"391":2}}],["unauthorized",{"2":{"344":1}}],["unable",{"2":{"182":1}}],["unavailable",{"2":{"133":1}}],["uninstall",{"0":{"359":1},"2":{"359":2,"415":1,"495":1}}],["unix",{"2":{"193":2}}],["unit",{"2":{"158":1}}],["universal",{"2":{"12":1,"82":1}}],["under",{"2":{"11":3,"12":2,"19":2,"26":1,"39":1,"52":1}}],["unnecessary",{"2":{"4":2,"12":2,"48":1,"53":1}}],["uplink",{"2":{"391":2}}],["upload",{"2":{"12":2,"14":1,"15":2,"103":1}}],["uploading",{"2":{"12":1,"57":1}}],["up",{"2":{"8":1,"12":1,"53":1,"116":1,"517":1}}],["updater",{"2":{"170":1}}],["updates",{"2":{"11":1,"70":1}}],["update",{"2":{"1":1,"4":3,"5":1,"6":2,"8":3,"10":1,"11":1,"12":10,"15":1,"23":1,"25":1,"41":1,"42":1,"43":1,"50":1,"65":1,"66":1,"68":1,"75":1,"96":1,"104":1,"109":1,"121":1,"126":1,"127":1,"132":1,"139":1,"149":1,"151":1,"157":1,"160":2,"168":1,"178":1,"182":1,"183":1,"184":1,"186":1}}],["usr",{"2":{"382":1,"407":1,"414":6}}],["usb调试",{"2":{"474":1}}],["usb",{"0":{"341":1},"1":{"342":1,"343":1,"344":1,"345":1,"346":1,"347":1},"2":{"343":1,"344":2,"345":4,"347":1,"348":2,"350":2,"426":2,"428":1,"429":2,"462":1,"472":5,"490":4,"507":5,"509":3,"511":2}}],["usb连接方式",{"0":{"292":1}}],["user",{"2":{"12":1,"47":1,"113":1}}],["useful",{"2":{"10":1,"17":1}}],["use",{"2":{"7":1,"10":1}}],["using",{"2":{"6":1,"12":2,"40":1,"49":1}}],["ui",{"2":{"5":1,"8":1,"12":1,"24":1,"450":1}}],["borderless",{"2":{"548":1}}],["boundary",{"2":{"12":1,"34":1}}],["bhsn",{"2":{"508":2}}],["b",{"2":{"508":1,"524":1}}],["bsky",{"2":{"481":1}}],["bluesky",{"2":{"481":1}}],["blocking",{"2":{"12":1,"49":1}}],["bit",{"2":{"393":1,"395":2,"524":2}}],["bind=++bh",{"2":{"508":1}}],["bind=++++",{"2":{"508":1}}],["bind=bhsn",{"2":{"508":3}}],["bind=xxxx",{"2":{"508":2}}],["binding",{"2":{"125":1}}],["bin",{"2":{"406":1,"407":1,"414":1}}],["binaries",{"2":{"10":1,"83":1}}],["brew",{"2":{"375":1,"407":3}}],["b6986d1",{"2":{"246":1}}],["b864fab",{"2":{"186":1}}],["b8d77e3",{"2":{"126":1}}],["b7eb1dd",{"2":{"172":1}}],["b759502",{"2":{"168":1}}],["b73c179",{"2":{"4":1}}],["bps",{"2":{"158":1}}],["bfdad9e",{"2":{"171":1}}],["bf2d2b4",{"2":{"149":1}}],["bf06382",{"2":{"12":1,"75":1}}],["b920e0ea01936bf2482f4ba2fa985c22c13c621999e3d33b45baa5acfc1ea3d0",{"2":{"412":1}}],["b989140",{"2":{"128":1}}],["b9faabf",{"2":{"12":1,"40":1}}],["bbf2335",{"2":{"12":1,"43":1}}],["bb56d5b",{"2":{"12":1,"22":1}}],["bc4f492",{"2":{"12":1,"19":1}}],["b40bdcf",{"2":{"174":1}}],["b413889",{"2":{"12":1,"57":1}}],["b4e5780",{"2":{"8":1}}],["b4e8058",{"2":{"6":1}}],["b18256b",{"2":{"198":1}}],["b1a6ba7",{"2":{"12":1,"80":1}}],["b168cc3",{"2":{"12":1,"19":1}}],["b5bffc5",{"2":{"11":1,"99":1}}],["b2bb0ae",{"2":{"11":1,"84":1}}],["b0f42aa",{"2":{"11":1,"99":1}}],["b08021b",{"2":{"10":1}}],["be89b36",{"2":{"12":1,"47":1}}],["be5e639",{"2":{"12":1,"89":1}}],["behavior",{"2":{"11":1,"12":3,"27":1,"34":1,"39":1,"47":1}}],["being",{"2":{"11":2,"42":1,"54":1}}],["between",{"2":{"11":2,"18":1,"52":1}}],["better",{"2":{"8":1}}],["be",{"2":{"11":8,"12":4,"18":1,"26":1,"27":3,"29":1,"36":1,"39":1,"46":1,"47":1,"54":1,"79":1,"128":1,"182":1}}],["been",{"2":{"10":2,"17":2}}],["bdb3644",{"2":{"10":1,"25":1}}],["b32043c",{"2":{"9":1}}],["b3203af",{"2":{"8":1}}],["byte",{"2":{"456":8,"458":1}}],["by",{"2":{"6":1,"11":1,"12":2,"34":1,"45":1,"68":1}}],["bat或scrcpy",{"2":{"556":1}}],["bat替代",{"2":{"556":1}}],["bat",{"2":{"556":1}}],["bat文件",{"2":{"556":2}}],["batch",{"2":{"10":1,"14":1,"51":1,"118":1,"120":1,"122":1,"123":1,"124":1,"172":1}}],["back",{"2":{"508":3,"517":1}}],["background",{"2":{"6":1,"8":1,"12":1,"19":1}}],["ba51fe3",{"2":{"143":1}}],["ba551b7",{"2":{"5":1}}],["bashchoco",{"2":{"555":1}}],["bashwinget",{"2":{"555":1}}],["bashffplay",{"2":{"536":1}}],["bashvlc",{"2":{"458":1}}],["bashautoadb",{"2":{"430":1}}],["bashadb",{"2":{"429":1,"443":1,"445":1,"458":1,"460":3,"488":1,"519":1,"520":1}}],["bashmeson",{"2":{"411":1,"412":1,"460":1}}],["bashgit",{"2":{"409":1,"495":2}}],["bashgnirehtet",{"2":{"358":2,"359":2,"360":2,"361":4,"362":4,"363":5,"364":4,"365":2,"366":5,"367":3,"368":2}}],["bashbrew",{"2":{"407":1,"500":2}}],["bashscoop",{"2":{"555":1}}],["bashscrcpy",{"2":{"345":2,"390":1,"392":1,"393":2,"394":2,"395":1,"396":1,"416":1,"418":2,"419":2,"423":2,"426":4,"428":3,"432":1,"434":4,"439":1,"462":1,"463":1,"464":2,"465":1,"466":1,"467":1,"468":6,"471":1,"472":1,"477":6,"486":2,"487":1,"489":1,"490":1,"496":2,"501":2,"506":1,"507":1,"508":2,"509":3,"511":1,"512":3,"513":1,"515":2,"516":2,"523":1,"524":1,"525":2,"526":1,"527":2,"528":3,"529":1,"530":1,"531":2,"532":2,"533":1,"534":1,"536":1,"537":1,"539":1,"540":2,"541":1,"542":1,"543":1,"545":1,"546":1,"547":1,"548":1,"549":1,"550":1,"551":1,"556":3}}],["bashsudo",{"2":{"402":1,"405":2,"414":1,"415":1,"495":1,"500":1,"536":2}}],["bashexport",{"2":{"353":1,"406":1}}],["bash",{"2":{"346":2,"390":1,"396":1,"402":1,"403":1,"405":1,"406":2,"407":1,"411":1,"413":1,"414":2,"416":1,"423":1,"426":2,"445":1,"455":1,"462":1,"463":1,"464":1,"465":1,"495":1,"515":1,"517":1,"519":2,"520":6,"533":1,"536":1}}],["base",{"2":{"160":1}}],["based",{"2":{"12":1,"72":1}}],["basic",{"2":{"112":1}}],["bartender",{"2":{"307":1}}],["bar",{"2":{"10":2,"11":6,"12":7,"18":2,"19":1,"21":1,"38":1,"39":1,"40":1,"50":1,"52":1,"53":1,"84":1,"96":2,"97":1,"98":1,"110":2,"114":1,"164":1}}],["bulk",{"2":{"172":1}}],["button",{"2":{"11":1,"12":2,"26":1,"85":1,"98":1,"114":1}}],["buffer=300",{"2":{"532":2,"537":1}}],["buffer=50",{"2":{"532":2}}],["buffer=delay",{"2":{"441":1}}],["buffer=10",{"2":{"396":1}}],["buffer=100",{"2":{"396":1}}],["buffer=40",{"2":{"396":1}}],["buffer=200",{"2":{"390":1,"396":2,"532":1}}],["buffer",{"2":{"11":3,"79":1,"84":2,"186":1}}],["built",{"2":{"7":1,"11":2,"12":2,"22":2,"70":1,"71":1,"148":1}}],["buildtype=release",{"2":{"411":1,"412":1}}],["building",{"2":{"12":1,"82":1}}],["builds",{"2":{"5":1}}],["builder",{"2":{"4":1,"237":1}}],["build",{"2":{"1":1,"3":1,"11":4,"12":1,"45":1,"56":1,"68":1,"81":1,"84":1,"119":1,"133":1,"159":1,"181":1,"235":1,"402":1,"495":1,"500":1,"555":1}}],["bug",{"0":{"3":1,"6":1,"9":1,"11":1,"18":1,"21":1,"26":1,"29":1,"33":1,"36":1,"39":1,"42":1,"45":1,"46":1,"52":1,"54":1,"56":1,"58":1,"64":1,"67":1,"70":1,"71":1,"73":1,"74":1,"78":1,"79":1,"81":1,"84":1,"88":1,"90":1,"95":1,"99":1,"101":1,"107":1,"111":1,"113":1,"116":1,"117":1,"119":1,"121":1,"123":1,"126":1,"128":1,"129":1,"130":1,"133":1,"135":1,"137":1,"138":1,"141":1,"142":1,"148":1,"152":1,"156":1,"158":1,"159":1,"166":1,"171":1,"173":1,"177":1,"179":1,"180":1,"181":1,"182":1,"185":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"197":1,"199":1,"200":1,"202":1,"206":1,"207":1,"209":1,"210":1,"212":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"225":1,"227":1,"232":1,"235":1,"236":1,"237":1,"238":1,"239":1,"242":1,"243":1,"245":1,"247":1,"249":1,"250":1,"251":1,"252":1,"257":1,"260":1},"2":{"11":1,"95":1,"107":1,"341":1}}],["1e252341",{"2":{"436":1}}],["1eef9d2",{"2":{"109":1}}],["17",{"2":{"402":1,"405":1,"407":2}}],["13",{"2":{"392":2}}],["1341fb8",{"2":{"230":1}}],["1349b2a",{"2":{"153":1}}],["1+版本已初步集成scrcpy二进制文件",{"2":{"296":1}}],["1224x1440",{"2":{"530":1}}],["12+",{"2":{"473":1}}],["1234",{"2":{"458":3}}],["1234567890abcdef",{"2":{"358":1,"359":1,"360":1,"363":1,"365":1,"366":1,"367":1}}],["128kbps",{"2":{"395":1}}],["12",{"2":{"388":1,"416":1,"456":2,"458":1}}],["120",{"2":{"265":1}}],["1279994",{"2":{"193":1}}],["15开始",{"2":{"464":1}}],["151cb29",{"2":{"189":1}}],["1505518",{"2":{"175":1}}],["1d7b188",{"2":{"188":1}}],["1d603ab",{"2":{"12":1,"72":1}}],["1af9abd",{"2":{"182":1}}],["1a95325",{"2":{"11":1,"58":1}}],["168",{"2":{"345":1,"361":1,"362":1,"363":1,"364":1,"366":1,"426":3,"428":4,"519":7}}],["16",{"0":{"258":1},"1":{"259":1,"260":1},"2":{"154":1,"161":1,"393":1,"402":1,"419":1}}],["16f9535",{"2":{"114":1}}],["1cac054",{"2":{"150":1}}],["1ca0469",{"2":{"136":1}}],["1920×1080",{"2":{"523":1}}],["1920×1080或更高分辨率",{"2":{"473":1}}],["1920",{"2":{"419":2}}],["192",{"2":{"345":1,"361":1,"362":1,"363":1,"364":1,"366":1,"428":1,"519":4}}],["193f80a",{"2":{"150":1}}],["194689e",{"2":{"11":1,"21":1}}],["1f27597",{"2":{"135":1}}],["1b96ffc",{"2":{"253":1}}],["1b2236c",{"2":{"194":1}}],["1b3f49e",{"2":{"175":1}}],["1be470a",{"2":{"12":1,"34":1}}],["1b82336",{"2":{"12":1,"34":1}}],["180",{"2":{"528":1}}],["180°",{"2":{"528":6}}],["18d490f",{"2":{"205":1}}],["18dcd24",{"2":{"12":1,"93":1}}],["1813718",{"2":{"12":1}}],["18a57b9",{"2":{"11":1,"18":1}}],["1024×576",{"2":{"523":1}}],["1024",{"2":{"523":2}}],["10",{"2":{"388":1,"419":3,"531":1}}],["10及以上版本",{"2":{"309":1}}],["10d0370",{"2":{"12":1,"93":1}}],["10b902a",{"2":{"11":1,"64":1}}],["1082e0d",{"2":{"11":1,"74":1}}],["11",{"2":{"388":2,"429":1,"460":2}}],["11+",{"2":{"310":1,"473":1,"474":1}}],["11e0884",{"2":{"144":1}}],["119b518",{"2":{"11":1,"26":1}}],["11be6f1",{"2":{"10":1,"17":1}}],["1440",{"2":{"530":1}}],["14306b2",{"2":{"10":1,"63":1}}],["14a81de",{"2":{"10":1,"76":1}}],["1",{"0":{"258":1,"369":1,"411":1},"1":{"259":1,"260":1,"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1,"378":1,"379":1,"380":1,"381":1,"382":1,"383":1,"384":1,"385":1,"386":1},"2":{"4":4,"12":2,"13":2,"41":1,"66":1,"91":2,"109":1,"154":1,"157":1,"161":1,"296":1,"328":2,"345":2,"361":1,"362":1,"363":1,"364":1,"366":1,"373":1,"377":3,"378":1,"402":2,"407":1,"414":1,"419":1,"426":6,"428":8,"441":1,"445":3,"454":1,"456":1,"458":2,"465":1,"495":2,"517":1,"519":7}}],["2m",{"2":{"524":1}}],["265格式录制设备摄像头",{"2":{"477":1}}],["265格式捕获屏幕",{"2":{"477":1}}],["264",{"2":{"441":1,"458":1}}],["26c4a920",{"2":{"436":1}}],["269bd29",{"2":{"11":1,"46":1}}],["283",{"2":{"347":1}}],["281",{"2":{"347":1}}],["270",{"2":{"528":1}}],["270°",{"2":{"528":6}}],["27183",{"2":{"445":1,"455":2,"519":1,"520":6}}],["27",{"2":{"296":1}}],["2776e8a",{"2":{"8":1}}],["240",{"2":{"539":1}}],["2464",{"2":{"532":1}}],["24fps",{"2":{"525":1}}],["24",{"2":{"313":1,"361":1,"362":1,"363":1,"364":1,"366":1,"525":1}}],["24c011f",{"2":{"252":1}}],["24e9399",{"2":{"203":1}}],["21",{"2":{"372":1,"474":1}}],["218de1c",{"2":{"243":1}}],["217d82d",{"2":{"202":1}}],["23d68d4",{"2":{"225":1}}],["2352593",{"2":{"218":1}}],["2c97189",{"2":{"196":1}}],["2c53b77",{"2":{"11":1,"29":1}}],["29ae786",{"2":{"202":1}}],["296e21d",{"2":{"169":1}}],["29e5e1b",{"2":{"12":1,"85":1}}],["200ms",{"2":{"532":1}}],["2025",{"2":{"483":1}}],["2023",{"0":{"258":1},"1":{"259":1,"260":1}}],["2018",{"2":{"483":2}}],["2017",{"2":{"385":1}}],["2013413",{"2":{"120":1}}],["20d37c1",{"2":{"166":1}}],["206a030",{"2":{"12":1,"53":1}}],["256x256",{"2":{"414":1}}],["256",{"2":{"377":3,"378":1,"412":1,"493":1,"499":2,"554":2}}],["2559",{"2":{"353":1}}],["2554",{"2":{"353":1}}],["25c42d9",{"2":{"121":1}}],["25",{"2":{"13":1,"91":1}}],["2f2e1cf",{"2":{"134":1}}],["2f389af",{"2":{"118":1}}],["2ffc588",{"2":{"12":1,"22":1}}],["2f63f6f",{"2":{"11":1,"18":1}}],["2e27443",{"2":{"12":1,"44":1}}],["2b7ee79",{"2":{"11":1,"58":1}}],["22cc5a3",{"2":{"127":1}}],["222f626",{"2":{"111":1}}],["22eb718",{"2":{"12":1,"37":1}}],["22e331d",{"2":{"4":1}}],["22623c4",{"2":{"5":1}}],["2",{"0":{"412":1,"473":1},"1":{"474":1,"475":1,"476":1,"477":1,"478":1,"479":1,"480":1,"481":1,"482":1,"483":1},"2":{"4":5,"10":2,"12":3,"13":1,"25":1,"50":1,"68":1,"96":1,"109":1,"184":1,"294":1,"295":1,"300":1,"345":1,"377":1,"385":1,"386":1,"402":1,"412":1,"441":1,"445":3,"456":1,"458":1,"480":1,"483":1,"493":1,"495":1,"499":2,"519":7,"554":2}}],["f",{"2":{"550":1}}],["fullscreen",{"2":{"550":1}}],["fusion",{"2":{"403":1}}],["functions",{"2":{"11":1,"12":1,"34":1,"36":1,"186":1,"414":1}}],["function",{"2":{"10":2,"12":9,"14":1,"15":2,"27":1,"30":1,"34":1,"37":1,"38":1,"59":1,"61":1,"76":1,"96":1,"112":1,"120":2,"124":1,"132":1,"174":1,"176":1,"196":1}}],["functionality",{"2":{"5":1}}],["ffms2",{"2":{"403":1}}],["ffmpeg",{"2":{"399":1,"402":1,"406":2,"407":1,"450":1,"495":1}}],["ff9f9bd",{"2":{"11":1,"33":1}}],["fps=15",{"2":{"525":1}}],["fps=120",{"2":{"423":2}}],["fps=240",{"2":{"422":1}}],["fps=60",{"2":{"421":1,"477":2}}],["fps",{"2":{"265":1,"421":1,"525":1}}],["fbd1885",{"2":{"232":1}}],["fbf88d0",{"2":{"11":1,"21":1}}],["f768566",{"2":{"214":1}}],["f4dfb2c",{"2":{"183":1}}],["f41d853",{"2":{"10":1,"17":1}}],["f9a32d6",{"2":{"198":1}}],["f9c6c32",{"2":{"182":1}}],["f9e4a0e",{"2":{"150":1}}],["f0f25a7",{"2":{"164":1}}],["frame",{"2":{"447":1,"456":1,"458":1}}],["free",{"2":{"403":4}}],["frequently",{"2":{"122":1}}],["from",{"2":{"4":1}}],["f6d1f3c5f74d4d46f5080baa5b56b69f5edbf698d47e0cf4e2a1fd5058f9507b",{"2":{"499":1}}],["f61d820",{"2":{"14":1}}],["f60245b",{"2":{"13":1,"91":1}}],["f6c9fa4",{"2":{"12":1,"44":1}}],["facing",{"2":{"418":1}}],["facing=external",{"2":{"418":1}}],["facing=back",{"2":{"418":1,"423":2}}],["facing=front",{"2":{"418":2,"477":1}}],["far",{"2":{"12":1,"89":1}}],["fails",{"2":{"12":1,"85":1}}],["failures",{"2":{"133":1}}],["failure",{"2":{"11":4,"12":1,"21":2,"45":1,"58":1,"72":1,"179":1,"180":1}}],["failed",{"2":{"6":1,"11":2,"21":1,"70":1,"138":1,"393":1}}],["fcf8269",{"2":{"134":1}}],["fcfd78e",{"2":{"10":1,"51":1}}],["fc91f07",{"2":{"12":1,"50":1}}],["fd20736",{"2":{"241":1}}],["fd2e639",{"2":{"12":1,"57":1}}],["fdf40c7",{"2":{"167":1}}],["fd32c36",{"2":{"6":1}}],["flip270",{"2":{"528":1}}],["flip180",{"2":{"528":1}}],["flip90",{"2":{"528":1}}],["flip0",{"2":{"528":1}}],["flickering",{"2":{"11":1,"39":1}}],["flac",{"2":{"393":2,"512":2,"513":2}}],["flow",{"2":{"12":1,"27":1}}],["floating",{"2":{"10":1,"11":3,"12":4,"39":1,"52":1,"53":1,"84":1,"96":2,"97":1,"98":1}}],["fedora",{"0":{"403":1},"2":{"353":1,"403":2,"494":1}}],["feedback",{"2":{"12":1,"53":1}}],["fee",{"2":{"9":1}}],["features",{"0":{"5":1,"10":1,"17":1,"20":1,"25":1,"32":1,"38":1,"51":1,"63":1,"76":1,"83":1,"92":1,"97":1,"105":1,"112":1,"120":1,"124":1,"132":1,"140":1,"151":1,"162":1,"167":1,"176":1,"184":1,"196":1,"201":1,"205":1,"224":1,"229":1,"241":1,"246":1,"248":1,"253":1,"254":1,"255":1,"259":1},"2":{"10":1,"17":1}}],["fossify",{"2":{"540":2}}],["font",{"2":{"8":1}}],["force",{"2":{"441":1,"455":1,"520":3}}],["forward=true",{"2":{"458":1}}],["forward",{"2":{"345":1,"441":1,"445":1,"455":2,"458":1,"460":2,"519":1,"520":3}}],["forwarding",{"2":{"11":1,"64":1}}],["for",{"2":{"5":3,"6":1,"8":4,"10":2,"11":1,"12":10,"15":1,"27":1,"34":2,"53":1,"57":1,"68":1,"71":1,"80":1,"82":1,"83":2,"93":1,"122":1,"130":1}}],["format=mkv",{"2":{"513":1}}],["format",{"2":{"1":1,"171":1}}],["f2bd345",{"2":{"8":1}}],["f211924",{"2":{"8":1}}],["f52d3a5",{"2":{"5":1}}],["firefox",{"2":{"468":4}}],["fi",{"2":{"429":1}}],["findinpage",{"2":{"134":1}}],["filter",{"2":{"11":1,"54":1}}],["file",{"2":{"10":4,"11":4,"12":6,"15":1,"16":1,"17":4,"18":2,"19":1,"21":1,"42":1,"44":1,"57":1,"87":1,"102":1,"103":1,"105":2,"171":1,"172":1,"174":1,"175":1,"501":1,"512":1}}],["files",{"2":{"5":1,"6":1,"10":1,"11":1,"25":1,"26":1}}],["fixed",{"2":{"6":1,"11":18,"12":1,"18":3,"21":1,"26":2,"33":2,"36":2,"39":3,"46":1,"49":1,"54":1,"67":1,"70":1,"99":1,"111":1}}],["fixes",{"0":{"3":1,"6":1,"9":1,"11":1,"18":1,"21":1,"26":1,"29":1,"33":1,"36":1,"39":1,"42":1,"45":1,"46":1,"52":1,"54":1,"56":1,"58":1,"64":1,"67":1,"70":1,"71":1,"73":1,"74":1,"78":1,"79":1,"81":1,"84":1,"88":1,"90":1,"95":1,"99":1,"101":1,"107":1,"111":1,"113":1,"116":1,"117":1,"119":1,"121":1,"123":1,"126":1,"128":1,"129":1,"130":1,"133":1,"135":1,"137":1,"138":1,"141":1,"142":1,"148":1,"152":1,"156":1,"158":1,"159":1,"166":1,"171":1,"173":1,"177":1,"179":1,"180":1,"181":1,"182":1,"185":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"197":1,"199":1,"200":1,"202":1,"206":1,"207":1,"209":1,"210":1,"212":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"225":1,"227":1,"232":1,"235":1,"236":1,"237":1,"238":1,"239":1,"242":1,"243":1,"245":1,"247":1,"249":1,"250":1,"251":1,"252":1,"257":1,"260":1}}],["fix",{"2":{"3":1,"6":1,"9":1,"11":12,"12":1,"21":3,"33":1,"39":1,"45":1,"47":1,"58":1,"70":1,"71":1,"79":1,"81":1,"95":1,"116":1,"117":1,"119":1,"122":1,"123":1,"126":1,"182":1,"235":1}}],["aarch64",{"2":{"499":2}}],["aac",{"2":{"393":1,"456":1,"512":2,"513":1}}],["always",{"2":{"549":1}}],["alt",{"2":{"505":1,"517":1}}],["alt+f切换全屏",{"2":{"476":1}}],["allsettledwrapper",{"2":{"115":1}}],["all",{"2":{"11":1,"36":1}}],["allow",{"2":{"6":1}}],["aoa",{"0":{"472":1,"490":1,"507":1},"2":{"472":1,"488":1,"490":2,"507":1,"508":2,"509":1,"511":1}}],["aoav2",{"2":{"469":1,"472":1,"484":1,"490":1,"502":1,"507":1}}],["aidl",{"2":{"444":1}}],["awake参数无效",{"2":{"462":1}}],["awake",{"2":{"462":1,"464":1,"556":1}}],["away",{"2":{"12":1,"89":1}}],["awk",{"2":{"429":1}}],["amp",{"2":{"494":2}}],["am",{"2":{"381":2,"488":1}}],["amount",{"2":{"6":1}}],["a46a5e1",{"2":{"259":1}}],["ac52df2",{"2":{"255":1}}],["activating",{"2":{"11":1,"39":1}}],["actions",{"2":{"12":1,"53":1}}],["action",{"2":{"10":1,"11":1,"51":1,"84":1}}],["a6744dc",{"2":{"234":1}}],["a9668d9",{"2":{"210":1}}],["a90e570",{"2":{"187":1}}],["a789826",{"2":{"206":1}}],["a7a3a17",{"2":{"11":1,"33":1}}],["a57b847",{"2":{"165":1}}],["a06708f",{"2":{"142":1}}],["a195b7e",{"2":{"134":1}}],["a1c60ec",{"2":{"12":1,"96":1}}],["apt",{"2":{"402":4,"405":2,"494":1,"495":1,"536":1}}],["apache",{"2":{"385":1,"483":1}}],["apk=",{"2":{"382":1}}],["apk路径",{"2":{"382":1}}],["apk用于指定自定义的gnirehtet",{"2":{"382":1}}],["apk",{"2":{"377":2,"378":1,"381":1,"382":1,"438":1,"443":2}}],["api",{"0":{"357":1},"1":{"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"367":1,"368":1},"2":{"134":1,"422":1,"447":1,"448":1,"450":1,"485":1,"503":1,"509":1}}],["app=+",{"2":{"468":1}}],["app=+org",{"2":{"468":1}}],["app=",{"2":{"468":1}}],["app=org",{"2":{"468":2,"477":1,"540":2}}],["apps",{"2":{"414":1,"468":1}}],["app尝试修复损坏提示",{"2":{"308":1}}],["apple",{"2":{"308":1}}],["apply",{"2":{"129":1}}],["application",{"2":{"10":1,"11":2,"12":10,"19":3,"33":1,"51":1,"53":2,"80":1,"84":1,"85":2,"124":1}}],["applications",{"2":{"10":1,"12":1,"80":1,"83":1,"308":1}}],["appending",{"2":{"12":1,"53":1}}],["app",{"2":{"4":2,"10":1,"11":4,"12":7,"19":2,"36":1,"37":2,"38":1,"40":1,"42":1,"47":1,"52":1,"73":1,"85":1,"236":1,"443":2,"445":2,"458":1,"481":1,"508":3,"517":1}}],["at",{"2":{"12":1,"48":1,"114":1,"356":1}}],["a2bb039",{"2":{"12":1,"41":1}}],["aeae0c6",{"2":{"203":1}}],["ae96df0",{"2":{"160":1}}],["aec9b78",{"2":{"12":1,"40":1}}],["ae13fde",{"2":{"11":1,"73":1}}],["ae19570",{"2":{"8":1}}],["avc",{"2":{"527":1}}],["av1",{"2":{"456":1,"526":2}}],["avoid",{"2":{"12":1,"47":1}}],["available",{"2":{"12":1,"59":1}}],["arch",{"2":{"494":1}}],["args",{"2":{"443":1}}],["ar=sensor",{"2":{"419":1}}],["ar=16",{"2":{"419":1,"423":2}}],["ar=1",{"2":{"419":1}}],["ar=4",{"2":{"419":1}}],["ar",{"2":{"419":2}}],["arabic",{"2":{"12":1,"44":1}}],["arm64",{"2":{"12":1,"53":1,"211":1,"222":1}}],["are",{"2":{"11":1,"12":1,"36":1,"89":1}}],["arrangement",{"2":{"12":3,"30":1,"34":2}}],["arrange",{"2":{"10":1,"32":1}}],["audiorecord",{"2":{"448":1}}],["audio=false",{"2":{"445":1,"458":1}}],["audio",{"2":{"11":1,"12":1,"50":1,"79":1,"186":1,"388":1,"389":1,"390":1,"391":2,"392":6,"393":9,"394":2,"395":3,"396":4,"416":6,"434":6,"441":1,"445":1,"446":2,"451":1,"452":2,"455":3,"456":2,"477":2,"496":1,"501":1,"511":3,"512":4,"515":1,"532":1,"533":1,"556":1}}],["autosync",{"2":{"435":1}}],["autostart",{"0":{"364":1},"2":{"364":4}}],["autoadb",{"2":{"430":1}}],["autorun",{"0":{"362":1},"2":{"362":4,"379":1}}],["autoconnect",{"2":{"165":2}}],["automated",{"2":{"12":1,"55":1}}],["automation",{"2":{"10":1}}],["automatically",{"2":{"5":1,"129":1}}],["automatic",{"2":{"3":1,"11":1,"12":1,"34":1,"70":1,"144":1}}],["autoglm",{"2":{"7":1,"10":1,"274":1,"278":1}}],["auto",{"2":{"5":3,"8":1,"495":1}}],["ascii",{"2":{"351":1,"485":1}}],["assets",{"2":{"436":2}}],["asset",{"2":{"111":1}}],["asynchronously",{"2":{"12":1,"34":1}}],["as",{"2":{"10":1}}],["a84c775",{"2":{"10":1,"92":1}}],["a",{"2":{"10":2,"11":1,"12":5,"17":1,"27":1,"32":1,"39":1,"50":2,"65":1,"80":1,"105":1,"112":1,"140":1,"381":2,"488":1,"519":1,"556":1}}],["abd468b",{"2":{"115":1}}],["able",{"2":{"11":1,"42":1}}],["abnormalities",{"2":{"117":1}}],["abnormal",{"2":{"9":1,"11":3,"18":1,"36":1,"39":1,"128":1,"130":1,"148":1,"166":1}}],["aba8f27",{"2":{"3":1}}],["af7a319",{"2":{"251":1}}],["after",{"2":{"8":1,"11":4,"12":1,"33":3,"34":1,"54":1,"447":1}}],["af18241",{"2":{"8":1}}],["angle=23",{"2":{"529":1}}],["angle",{"2":{"528":1,"530":1}}],["an",{"2":{"7":1,"11":3,"12":1,"39":1,"46":1,"47":1,"70":1}}],["any",{"2":{"6":1,"474":1}}],["android设备需至少支持api",{"2":{"474":1}}],["android在开发者选项中提供了此功能",{"2":{"465":1}}],["android系统值的单位是毫秒",{"2":{"463":1}}],["android屏幕会在一定延迟后自动关闭",{"2":{"463":1}}],["android剪贴板内容变化时会自动同步到电脑剪贴板",{"2":{"435":1}}],["android反向网络共享工具",{"2":{"386":1}}],["android应用至少需要api",{"2":{"372":1}}],["android",{"2":{"310":1,"345":1,"356":1,"372":1,"388":4,"391":1,"392":3,"394":1,"399":1,"410":2,"411":9,"416":1,"421":1,"422":1,"424":1,"426":4,"429":1,"430":1,"443":2,"444":2,"453":1,"460":3,"471":1,"472":1,"473":2,"474":2,"485":1,"488":1,"489":1,"500":1,"503":1,"505":1,"506":1,"509":2,"523":2,"526":1,"531":2,"533":1,"536":1}}],["and",{"2":{"1":1,"4":2,"5":3,"6":4,"8":5,"10":8,"11":6,"12":12,"15":2,"17":4,"18":2,"19":1,"24":1,"25":1,"27":3,"32":1,"34":1,"48":1,"52":1,"61":1,"63":1,"64":1,"79":1,"87":1,"88":1,"93":1,"102":1,"122":1,"150":1,"171":1,"174":1,"187":1}}],["adoptopenjdk17",{"2":{"407":1}}],["adoptopenjdk",{"2":{"407":1}}],["adopted",{"2":{"12":1,"65":1}}],["ad3f77f",{"2":{"191":1}}],["adapted",{"2":{"12":1,"28":1}}],["adapt",{"2":{"11":1,"73":1}}],["adb用于指定自定义的adb路径",{"2":{"382":1}}],["adbwinusbapi",{"2":{"373":1,"399":1}}],["adbwinapi",{"2":{"373":1,"399":1}}],["adb包",{"2":{"373":1}}],["adb=c",{"2":{"346":1}}],["adb=",{"2":{"346":1}}],["adb路径",{"2":{"280":1}}],["adb",{"0":{"312":1,"341":1,"342":1,"346":1,"373":1,"519":1},"1":{"342":1,"343":1,"344":1,"345":1,"346":1,"347":1},"2":{"11":1,"12":3,"27":1,"72":1,"99":1,"100":1,"135":1,"148":1,"260":1,"341":2,"342":2,"343":3,"345":5,"346":9,"347":1,"367":1,"373":1,"381":1,"382":1,"399":3,"402":1,"426":3,"427":2,"428":3,"429":5,"441":1,"445":3,"455":5,"458":2,"462":3,"463":2,"464":2,"465":3,"472":2,"490":2,"495":1,"500":2,"507":2,"509":1,"511":1,"518":3,"519":7,"520":11,"555":2}}],["adjusting",{"2":{"11":1,"12":1,"33":1}}],["adjust",{"2":{"6":1,"12":5,"34":1,"47":1,"75":1,"85":1,"175":1}}],["addition",{"2":{"12":1,"53":1}}],["adding",{"2":{"10":1,"12":2,"34":1,"51":1,"53":1}}],["addresses",{"2":{"12":1,"27":1}}],["address",{"2":{"11":3,"18":1,"21":1,"58":1}}],["added",{"2":{"10":1,"12":2,"17":1,"44":1,"59":1}}],["add251f",{"2":{"10":1,"51":1}}],["adds",{"2":{"5":1}}],["add",{"2":{"1":1,"2":1,"4":1,"5":6,"6":2,"10":1,"12":4,"20":1,"35":1,"47":1,"48":1,"53":1,"105":1,"112":3,"124":1,"125":1,"132":1,"140":1,"160":1,"163":1,"164":1,"165":1,"167":1,"174":2,"175":1,"176":1,"178":1,"182":1,"186":2,"196":1}}],["ctl",{"2":{"536":1}}],["ctrl+按键",{"2":{"517":1}}],["ctrl+shift+点击并移动",{"2":{"517":1}}],["ctrl+shift+点击并左右移动",{"2":{"436":1}}],["ctrl+点击并移动",{"2":{"436":1,"517":1}}],["ctrl+v",{"2":{"435":1}}],["ctrl+x",{"2":{"435":1}}],["ctrl+c",{"2":{"361":1,"390":1,"435":1,"460":1,"515":1,"533":1}}],["cn",{"2":{"520":2}}],["cbuild",{"2":{"495":1}}],["cb7ac96",{"2":{"8":1}}],["ck",{"2":{"456":1}}],["cx",{"2":{"411":1,"412":1,"414":1,"415":1}}],["c",{"2":{"346":1,"385":1,"451":2,"483":2}}],["cmd",{"2":{"346":2,"377":1,"378":2,"379":1,"426":2,"464":2,"517":1,"519":2,"520":4}}],["c85f8fb",{"2":{"259":1}}],["c82560f",{"2":{"143":1}}],["cfd0e1d",{"2":{"197":1}}],["cf9c82d",{"2":{"178":1}}],["cf8e183",{"2":{"11":1,"39":1}}],["c0e6a01",{"2":{"174":1}}],["c00ac1e",{"2":{"8":1}}],["current",{"2":{"103":1}}],["custom",{"2":{"5":1,"12":1,"53":1,"115":1,"116":1,"122":1,"197":1}}],["c17aaba",{"2":{"12":1,"48":1}}],["c49d22c",{"2":{"12":1,"55":1}}],["c976d4c",{"2":{"12":1,"22":1}}],["c5bed0e",{"2":{"141":1}}],["c5369af",{"2":{"12":1,"49":1}}],["c59994e",{"2":{"8":1}}],["ccb59e1",{"2":{"12":1,"34":1}}],["ccc7f0e",{"2":{"12":1,"87":1}}],["c666709",{"2":{"12":1,"19":1}}],["cec6539",{"2":{"140":1}}],["cef022f",{"2":{"12":1}}],["certain",{"2":{"11":2,"29":1,"39":1}}],["c74f03d",{"2":{"181":1}}],["c70e6ca",{"2":{"130":1}}],["c7a5cd4",{"2":{"12":1}}],["c7c8616",{"2":{"4":1}}],["c2",{"2":{"394":1}}],["c210140",{"2":{"186":1}}],["c214e5a",{"2":{"12":1,"65":1}}],["c2254aa",{"2":{"11":1,"70":1}}],["c323ad6",{"2":{"11":1,"26":1}}],["crop=1224",{"2":{"530":1}}],["crop",{"2":{"528":1,"529":1}}],["crashing",{"2":{"11":1,"64":1}}],["creating",{"2":{"12":1,"50":1}}],["creation",{"2":{"4":1,"11":1,"36":1}}],["created",{"2":{"11":1,"39":1}}],["cd",{"2":{"409":1,"495":1}}],["cd7d9cd",{"2":{"11":1,"95":1}}],["cd06d3b",{"2":{"8":1}}],["classpath=",{"2":{"443":1,"445":2,"458":1}}],["classes",{"2":{"443":4}}],["clarity",{"2":{"8":1}}],["clone",{"2":{"409":1,"495":1}}],["closing",{"2":{"11":1,"12":3,"22":1,"39":1,"50":1}}],["closed",{"2":{"128":1}}],["close",{"2":{"10":1,"92":1,"466":1}}],["cleared",{"2":{"11":1,"36":1}}],["cleanup=false",{"2":{"458":1}}],["clean",{"2":{"8":1,"12":2,"22":1,"53":1}}],["click",{"2":{"11":1,"18":1}}],["clipboard",{"2":{"10":1,"11":1,"25":1,"26":1,"435":1}}],["caps=1",{"2":{"536":1}}],["caps",{"2":{"536":1}}],["capture",{"2":{"528":18,"529":1,"530":1}}],["caching=0",{"2":{"458":1}}],["cask",{"2":{"407":1,"500":1}}],["caskroom",{"2":{"407":1}}],["cases",{"2":{"11":1,"54":1,"130":1}}],["camcorder",{"2":{"391":2}}],["cameras",{"2":{"417":1,"418":1}}],["camera",{"2":{"11":1,"12":3,"87":1,"88":1,"93":2,"141":1,"178":1,"417":1,"418":8,"419":12,"420":1,"421":1,"422":3,"423":6,"477":3}}],["ca79e1b",{"2":{"12":1,"93":1}}],["ca4e826",{"2":{"12":1,"31":1}}],["ca6be85",{"2":{"12":1,"72":1}}],["category",{"2":{"11":1,"36":1}}],["cause",{"2":{"11":1,"39":1,"128":1}}],["caused",{"2":{"11":1,"45":1}}],["caller",{"2":{"474":1}}],["call",{"2":{"11":1,"21":1,"391":4}}],["calling",{"2":{"11":1,"21":1}}],["callbacks",{"2":{"8":1}}],["cannot",{"2":{"11":2,"12":1,"18":1,"27":1,"79":1,"128":1,"182":1}}],["can",{"2":{"10":1,"32":1}}],["card",{"2":{"8":1}}],["column",{"2":{"102":1}}],["color",{"2":{"6":1,"12":1,"19":1}}],["corner",{"2":{"12":1,"19":1}}],["could",{"2":{"11":4,"12":1,"26":1,"29":1,"46":1,"49":1,"54":1,"141":1}}],["copr",{"2":{"494":1}}],["copy",{"2":{"473":1}}],["copying",{"2":{"10":1,"25":1}}],["copied",{"2":{"11":1,"26":1}}],["copilot",{"2":{"5":1,"8":3,"10":1,"106":1,"160":1}}],["com",{"2":{"308":1,"381":4,"409":1,"436":2,"445":2,"458":1,"495":1}}],["completions",{"2":{"414":1}}],["completion",{"2":{"414":1}}],["compression",{"2":{"393":1}}],["compatibility",{"2":{"11":1,"29":1}}],["compatible",{"2":{"11":1,"12":2,"27":1,"47":1,"74":1}}],["component",{"2":{"8":1,"10":1,"17":1}}],["communication",{"2":{"391":2}}],["command",{"2":{"11":1,"21":1,"148":1}}],["commands",{"2":{"1":1}}],["comments",{"2":{"4":2,"12":1,"31":1}}],["codec=av1",{"2":{"526":1}}],["codec=aac",{"2":{"393":2,"512":1}}],["codec=h264",{"2":{"526":1,"527":1}}],["codec=h265",{"2":{"477":3,"526":1}}],["codec=raw",{"2":{"393":1,"395":1,"512":1}}],["codec=flac",{"2":{"393":2,"512":1}}],["codec=opus",{"2":{"393":1,"394":1}}],["codec",{"2":{"182":1,"183":1,"393":2,"458":1,"526":1}}],["code",{"0":{"8":1,"14":1},"2":{"8":1,"10":1,"12":7,"14":1,"31":1,"34":1,"40":1,"47":1,"57":1,"62":1,"63":1,"118":1,"150":1,"156":1}}],["connect",{"2":{"429":1}}],["connections",{"2":{"12":1,"27":1,"172":1}}],["connection",{"2":{"11":1,"12":12,"27":3,"57":1,"58":1,"59":2,"62":1,"65":1,"72":1,"80":1,"100":1,"113":1,"143":1,"172":1}}],["connecting",{"2":{"10":2,"63":2,"172":1}}],["consistent",{"2":{"12":1,"47":1}}],["console",{"2":{"12":1,"69":1,"147":1,"556":3}}],["conversion",{"2":{"12":1,"93":1}}],["content",{"2":{"542":1}}],["context",{"2":{"164":1}}],["contextbridge",{"2":{"12":1,"68":1}}],["control=false",{"2":{"458":1}}],["controlmessage",{"2":{"457":1}}],["controller",{"2":{"449":1}}],["controlling",{"2":{"10":1,"92":1}}],["controls",{"2":{"12":1,"93":1}}],["control",{"2":{"10":2,"11":2,"12":9,"18":1,"19":1,"38":1,"39":1,"40":2,"50":1,"53":1,"87":1,"96":2,"97":1,"98":1,"155":1,"174":1,"175":2,"178":1,"390":2,"432":1,"446":3,"451":1,"455":3,"515":1}}],["conditions",{"2":{"11":1,"54":1}}],["conflicts",{"2":{"130":1}}],["conflict",{"2":{"11":4,"18":1,"26":1,"52":1,"88":1,"141":2}}],["configured",{"2":{"12":1,"40":1}}],["configure",{"2":{"8":1,"174":1,"460":1}}],["configurations",{"2":{"10":1,"11":1,"12":1,"27":1,"32":1,"36":1,"460":1}}],["configuration",{"2":{"4":1,"5":2,"6":2,"11":3,"12":7,"27":1,"34":2,"36":1,"47":1,"53":1,"65":1,"84":1,"88":1,"136":1,"141":2,"175":1}}],["config",{"2":{"1":1,"2":1,"4":1,"6":1,"8":4,"149":1,"402":1,"406":2,"407":1,"495":1}}],["concurrency",{"2":{"6":1}}],["choco",{"2":{"555":1}}],["chocolatey",{"2":{"555":1}}],["chores",{"0":{"1":1,"2":1,"4":1,"13":1,"91":1,"154":1,"161":1}}],["chrome",{"2":{"313":1,"536":1}}],["chmod",{"2":{"313":1}}],["child",{"2":{"12":1,"53":1}}],["chinese",{"2":{"11":1,"18":1,"126":1,"140":1}}],["charging",{"2":{"155":1}}],["characters",{"2":{"11":1,"36":1}}],["chance",{"2":{"11":1,"39":1}}],["changed",{"2":{"182":1}}],["change",{"2":{"8":1}}],["changelog",{"0":{"0":1},"1":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"154":1,"155":1,"156":1,"157":1,"158":1,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"168":1,"169":1,"170":1,"171":1,"172":1,"173":1,"174":1,"175":1,"176":1,"177":1,"178":1,"179":1,"180":1,"181":1,"182":1,"183":1,"184":1,"185":1,"186":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"209":1,"210":1,"211":1,"212":1,"213":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1,"225":1,"226":1,"227":1,"228":1,"229":1,"230":1,"231":1,"232":1,"233":1,"234":1,"235":1,"236":1,"237":1,"238":1,"239":1,"240":1,"241":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":1,"248":1,"249":1,"250":1,"251":1,"252":1,"253":1,"254":1,"255":1,"256":1,"257":1,"258":1,"259":1,"260":1}}]],"serializationVersion":2}';export{e as default}; diff --git a/assets/chunks/VPLocalSearchBox.DTzVHlqZ.js b/assets/chunks/VPLocalSearchBox.Bqzt4G3A.js similarity index 99% rename from assets/chunks/VPLocalSearchBox.DTzVHlqZ.js rename to assets/chunks/VPLocalSearchBox.Bqzt4G3A.js index 1abb05567..1a0be635a 100644 --- a/assets/chunks/VPLocalSearchBox.DTzVHlqZ.js +++ b/assets/chunks/VPLocalSearchBox.Bqzt4G3A.js @@ -1,4 +1,4 @@ -var Ot=Object.defineProperty;var Ct=(a,e,t)=>e in a?Ot(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var Me=(a,e,t)=>Ct(a,typeof e!="symbol"?e+"":e,t);import{_ as nt,C as ce,g as be,ah as rt,ai as Mt,aj as Lt,ak as Dt,n as Be,al as Pt,d as zt,am as it,r as he,an as Vt,ao as jt,p as $t,ap as Bt,q as Le,Q as ve,P as _e,aq as Wt,ar as Kt,W as Jt,S as qt,$ as Ut,o as q,c as Ht,h as T,a0 as Gt,k as P,as as Qt,at as Yt,au as Zt,a as Q,A as st,b as xe,B as at,F as ot,J as pe,j as me,av as Xt,aw as lt,ax as en,a5 as tn,aa as nn,ay as rn,e as sn}from"./framework.DCs21iJA.js";import{u as an,c as on}from"./theme.Ba_9ZFR7.js";const ln={root:()=>nt(()=>import("./@localSearchIndexroot.H97aHQ6p.js"),[]),zhHans:()=>nt(()=>import("./@localSearchIndexzhHans.oGo9dKfH.js"),[])};/*! +var Ot=Object.defineProperty;var Ct=(a,e,t)=>e in a?Ot(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var Me=(a,e,t)=>Ct(a,typeof e!="symbol"?e+"":e,t);import{_ as nt,C as ce,g as be,ah as rt,ai as Mt,aj as Lt,ak as Dt,n as Be,al as Pt,d as zt,am as it,r as he,an as Vt,ao as jt,p as $t,ap as Bt,q as Le,Q as ve,P as _e,aq as Wt,ar as Kt,W as Jt,S as qt,$ as Ut,o as q,c as Ht,h as T,a0 as Gt,k as P,as as Qt,at as Yt,au as Zt,a as Q,A as st,b as xe,B as at,F as ot,J as pe,j as me,av as Xt,aw as lt,ax as en,a5 as tn,aa as nn,ay as rn,e as sn}from"./framework.DCs21iJA.js";import{u as an,c as on}from"./theme.DHgES8c3.js";const ln={root:()=>nt(()=>import("./@localSearchIndexroot.DFYGs6CU.js"),[]),zhHans:()=>nt(()=>import("./@localSearchIndexzhHans.CYSL5fdv.js"),[])};/*! * tabbable 6.4.0 * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE */var bt=["input:not([inert]):not([inert] *)","select:not([inert]):not([inert] *)","textarea:not([inert]):not([inert] *)","a[href]:not([inert]):not([inert] *)","button:not([inert]):not([inert] *)","[tabindex]:not(slot):not([inert]):not([inert] *)","audio[controls]:not([inert]):not([inert] *)","video[controls]:not([inert]):not([inert] *)",'[contenteditable]:not([contenteditable="false"]):not([inert]):not([inert] *)',"details>summary:first-of-type:not([inert]):not([inert] *)","details:not([inert]):not([inert] *)"],ke=bt.join(","),yt=typeof Element>"u",ae=yt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Ne=!yt&&Element.prototype.getRootNode?function(a){var e;return a==null||(e=a.getRootNode)===null||e===void 0?void 0:e.call(a)}:function(a){return a==null?void 0:a.ownerDocument},Fe=function(e,t){var n;t===void 0&&(t=!0);var r=e==null||(n=e.getAttribute)===null||n===void 0?void 0:n.call(e,"inert"),s=r===""||r==="true",i=s||t&&e&&(typeof e.closest=="function"?e.closest("[inert]"):Fe(e.parentNode));return i},cn=function(e){var t,n=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return n===""||n==="true"},wt=function(e,t,n){if(Fe(e))return[];var r=Array.prototype.slice.apply(e.querySelectorAll(ke));return t&&ae.call(e,ke)&&r.unshift(e),r=r.filter(n),r},Ae=function(e,t,n){for(var r=[],s=Array.from(e);s.length;){var i=s.shift();if(!Fe(i,!1))if(i.tagName==="SLOT"){var o=i.assignedElements(),l=o.length?o:i.children,c=Ae(l,!0,n);n.flatten?r.push.apply(r,c):r.push({scopeParent:i,candidates:c})}else{var h=ae.call(i,ke);h&&n.filter(i)&&(t||!e.includes(i))&&r.push(i);var m=i.shadowRoot||typeof n.getShadowRoot=="function"&&n.getShadowRoot(i),p=!Fe(m,!1)&&(!n.shadowRootFilter||n.shadowRootFilter(i));if(m&&p){var b=Ae(m===!0?i.children:m.children,!0,n);n.flatten?r.push.apply(r,b):r.push({scopeParent:i,candidates:b})}else s.unshift.apply(s,i.children)}}return r},St=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},se=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||cn(e))&&!St(e)?0:e.tabIndex},un=function(e,t){var n=se(e);return n<0&&t&&!St(e)?0:n},dn=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},_t=function(e){return e.tagName==="INPUT"},fn=function(e){return _t(e)&&e.type==="hidden"},hn=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(n){return n.tagName==="SUMMARY"});return t},vn=function(e,t){for(var n=0;nsummary:first-of-type"),o=i?e.parentElement:e;if(ae.call(o,"details:not([open]) *"))return!0;if(!n||n==="full"||n==="full-native"||n==="legacy-full"){if(typeof r=="function"){for(var l=e;e;){var c=e.parentElement,h=Ne(e);if(c&&!c.shadowRoot&&r(c)===!0)return ct(e);e.assignedSlot?e=e.assignedSlot:!c&&h!==e.ownerDocument?e=h.host:e=c}e=l}if(bn(e))return!e.getClientRects().length;if(n!=="legacy-full")return!0}else if(n==="non-zero-area")return ct(e);return!1},wn=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var n=0;n=0)},xt=function(e){var t=[],n=[];return e.forEach(function(r,s){var i=!!r.scopeParent,o=i?r.scopeParent:r,l=un(o,i),c=i?xt(r.candidates):o;l===0?i?t.push.apply(t,c):t.push(o):n.push({documentOrder:s,tabIndex:l,item:r,isScope:i,content:c})}),n.sort(dn).reduce(function(r,s){return s.isScope?r.push.apply(r,s.content):r.push(s.content),r},[]).concat(t)},_n=function(e,t){t=t||{};var n;return t.getShadowRoot?n=Ae([e],t.includeContainer,{filter:We.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:Sn}):n=wt(e,t.includeContainer,We.bind(null,t)),xt(n)},xn=function(e,t){t=t||{};var n;return t.getShadowRoot?n=Ae([e],t.includeContainer,{filter:Re.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):n=wt(e,t.includeContainer,Re.bind(null,t)),n},oe=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ae.call(e,ke)===!1?!1:We(t,e)},Tn=bt.concat("iframe:not([inert]):not([inert] *)").join(","),De=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ae.call(e,Tn)===!1?!1:Re(t,e)};/*! diff --git a/assets/chunks/theme.Ba_9ZFR7.js b/assets/chunks/theme.DHgES8c3.js similarity index 99% rename from assets/chunks/theme.Ba_9ZFR7.js rename to assets/chunks/theme.DHgES8c3.js index 9dabc30fe..404fc32c7 100644 --- a/assets/chunks/theme.Ba_9ZFR7.js +++ b/assets/chunks/theme.DHgES8c3.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.DTzVHlqZ.js","assets/chunks/framework.DCs21iJA.js"])))=>i.map(i=>d[i]); -import{_ as Pe,d as p,o as s,c as k,T as ue,w as d,a as u,b as m,e as g,u as Le,i as Ee,t as De,f as de,g as $,h as v,j as w,k as i,l as z,m as se,r as S,n as D,p as Y,q as U,s as ve,v as fe,x as Fe,y as Oe,z as j,A as N,F as x,B as A,C as Ve,D as Q,E as _,G as c,H as Se,I as B,J as W,K as X,L as G,M as Z,N as Ge,O as Te,P as ie,Q as he,R as Ne,S as ee,U as Ue,V as je,W as we,X as xe,Y as ze,Z as Re,$ as We,a0 as Ke,a1 as qe}from"./framework.DCs21iJA.js";const $e="G-24PQ0ZF4RG";(async()=>{const{install:e,gtag:t}=await Pe(async()=>{const{install:n,gtag:a}=await import("./index.D9Q8CHZq.js").then(o=>o.i);return{install:n,gtag:a}},[]).catch(n=>console.error(n));e($e),t("js",new Date),t("config",$e)})();const Je={key:0,class:"VPBackdrop"},Ye=p({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(e){return(t,n)=>(s(),k(ue,{name:"fade"},{default:d(()=>[e.show?(s(),u("div",Je)):m("",!0)]),_:1}))}}),Qe=g(Ye,[["__scopeId","data-v-e1ec647f"]]),L=Le;function Xe(e,t){let n,a=!1;return()=>{n&&clearTimeout(n),a?n=setTimeout(e,t):(e(),(a=!0)&&setTimeout(()=>a=!1,t))}}function re(e){return e.startsWith("/")?e:`/${e}`}function me(e){const{pathname:t,search:n,hash:a,protocol:o}=new URL(e,"http://a.com");if(Ee(e)||e.startsWith("#")||!o.startsWith("http")||!De(t))return e;const{site:r}=L(),l=t.endsWith("/")||t.endsWith(".html")?e:e.replace(/(?:(^\.+)\/)?.*$/,`$1${t.replace(/(\.md)?$/,r.value.cleanUrls?"":".html")}${n}${a}`);return de(l)}function K({correspondingLink:e=!1}={}){const{site:t,localeIndex:n,page:a,theme:o,hash:r}=L(),l=$(()=>{var h,y;return{label:(h=t.value.locales[n.value])==null?void 0:h.label,link:((y=t.value.locales[n.value])==null?void 0:y.link)||(n.value==="root"?"/":`/${n.value}/`)}});return{localeLinks:$(()=>Object.entries(t.value.locales).flatMap(([h,y])=>l.value.label===y.label?[]:{text:y.label,link:Ze(y.link||(h==="root"?"/":`/${h}/`),o.value.i18nRouting!==!1&&e,a.value.relativePath.slice(l.value.link.length-1),!t.value.cleanUrls)+r.value})),currentLang:l}}function Ze(e,t,n,a){return t?e.replace(/\/$/,"")+re(n.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,a?".html":"")):e}const et={class:"NotFound"},tt={class:"code"},nt={class:"title"},at={class:"quote"},ot={class:"action"},st=["href","aria-label"],it=p({__name:"NotFound",setup(e){const{theme:t}=L(),{currentLang:n}=K();return(a,o)=>{var r,l,f,h,y;return s(),u("div",et,[v("p",tt,w(((r=i(t).notFound)==null?void 0:r.code)??"404"),1),v("h1",nt,w(((l=i(t).notFound)==null?void 0:l.title)??"PAGE NOT FOUND"),1),o[0]||(o[0]=v("div",{class:"divider"},null,-1)),v("blockquote",at,w(((f=i(t).notFound)==null?void 0:f.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),v("div",ot,[v("a",{class:"link",href:i(de)(i(n).link),"aria-label":((h=i(t).notFound)==null?void 0:h.linkLabel)??"go to home"},w(((y=i(t).notFound)==null?void 0:y.linkText)??"Take me home"),9,st)])])}}}),rt=g(it,[["__scopeId","data-v-dd4e2e06"]]);function Ie(e,t){if(Array.isArray(e))return q(e);if(e==null)return[];t=re(t);const n=Object.keys(e).sort((o,r)=>r.split("/").length-o.split("/").length).find(o=>t.startsWith(re(o))),a=n?e[n]:[];return Array.isArray(a)?q(a):q(a.items,a.base)}function lt(e){const t=[];let n=0;for(const a in e){const o=e[a];if(o.items){n=t.push(o);continue}t[n]||t.push({items:[]}),t[n].items.push(o)}return t}function ct(e){const t=[];function n(a){for(const o of a)o.text&&o.link&&t.push({text:o.text,link:o.link,docFooterText:o.docFooterText}),o.items&&n(o.items)}return n(e),t}function le(e,t){return Array.isArray(t)?t.some(n=>le(e,n)):z(e,t.link)?!0:t.items?le(e,t.items):!1}function q(e,t){return[...e].map(n=>{const a={...n},o=a.base||t;return o&&a.link&&(a.link=o+a.link),a.items&&(a.items=q(a.items,o)),a})}function F(){const{frontmatter:e,page:t,theme:n}=L(),a=se("(min-width: 960px)"),o=S(!1),r=$(()=>{const M=n.value.sidebar,C=t.value.relativePath;return M?Ie(M,C):[]}),l=S(r.value);D(r,(M,C)=>{JSON.stringify(M)!==JSON.stringify(C)&&(l.value=r.value)});const f=$(()=>e.value.sidebar!==!1&&l.value.length>0&&e.value.layout!=="home"),h=$(()=>y?e.value.aside==null?n.value.aside==="left":e.value.aside==="left":!1),y=$(()=>e.value.layout==="home"?!1:e.value.aside!=null?!!e.value.aside:n.value.aside!==!1),V=$(()=>f.value&&a.value),b=$(()=>f.value?lt(l.value):[]);function P(){o.value=!0}function T(){o.value=!1}function I(){o.value?T():P()}return{isOpen:o,sidebar:l,sidebarGroups:b,hasSidebar:f,hasAside:y,leftAside:h,isSidebarEnabled:V,open:P,close:T,toggle:I}}function ut(e,t){let n;Y(()=>{n=e.value?document.activeElement:void 0}),U(()=>{window.addEventListener("keyup",a)}),ve(()=>{window.removeEventListener("keyup",a)});function a(o){o.key==="Escape"&&e.value&&(t(),n==null||n.focus())}}function dt(e){const{page:t,hash:n}=L(),a=S(!1),o=$(()=>e.value.collapsed!=null),r=$(()=>!!e.value.link),l=S(!1),f=()=>{l.value=z(t.value.relativePath,e.value.link)};D([t,e,n],f),U(f);const h=$(()=>l.value?!0:e.value.items?le(t.value.relativePath,e.value.items):!1),y=$(()=>!!(e.value.items&&e.value.items.length));Y(()=>{a.value=!!(o.value&&e.value.collapsed)}),fe(()=>{(l.value||h.value)&&(a.value=!1)});function V(){o.value&&(a.value=!a.value)}return{collapsed:a,collapsible:o,isLink:r,isActiveLink:l,hasActiveLink:h,hasChildren:y,toggle:V}}function vt(){const{hasSidebar:e}=F(),t=se("(min-width: 960px)"),n=se("(min-width: 1280px)");return{isAsideEnabled:$(()=>!n.value&&!t.value?!1:e.value?n.value:t.value)}}const ft=/\b(?:VPBadge|header-anchor|footnote-ref|ignore-header)\b/,ce=[];function Me(e){return typeof e.outline=="object"&&!Array.isArray(e.outline)&&e.outline.label||e.outlineTitle||"On this page"}function pe(e){const t=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(n=>n.id&&n.hasChildNodes()).map(n=>{const a=Number(n.tagName[1]);return{element:n,title:ht(n),link:"#"+n.id,level:a}});return mt(t,e)}function ht(e){let t="";for(const n of e.childNodes)if(n.nodeType===1){if(ft.test(n.className))continue;t+=n.textContent}else n.nodeType===3&&(t+=n.textContent);return t.trim()}function mt(e,t){if(t===!1)return[];const n=(typeof t=="object"&&!Array.isArray(t)?t.level:t)||2,[a,o]=typeof n=="number"?[n,n]:n==="deep"?[2,6]:n;return kt(e,a,o)}function pt(e,t){const{isAsideEnabled:n}=vt(),a=Xe(r,100);let o=null;U(()=>{requestAnimationFrame(r),window.addEventListener("scroll",a)}),Fe(()=>{l(location.hash)}),ve(()=>{window.removeEventListener("scroll",a)});function r(){if(!n.value)return;const f=window.scrollY,h=window.innerHeight,y=document.body.offsetHeight,V=Math.abs(f+h-y)<1,b=ce.map(({element:T,link:I})=>({link:I,top:_t(T)})).filter(({top:T})=>!Number.isNaN(T)).sort((T,I)=>T.top-I.top);if(!b.length){l(null);return}if(f<1){l(null);return}if(V){l(b[b.length-1].link);return}let P=null;for(const{link:T,top:I}of b){if(I>f+Oe()+4)break;P=T}l(P)}function l(f){o&&o.classList.remove("active"),f==null?o=null:o=e.value.querySelector(`a[href="${decodeURIComponent(f)}"]`);const h=o;h?(h.classList.add("active"),t.value.style.top=h.offsetTop+39+"px",t.value.style.opacity="1"):(t.value.style.top="33px",t.value.style.opacity="0")}}function _t(e){let t=0;for(;e!==document.body;){if(e===null)return NaN;t+=e.offsetTop,e=e.offsetParent}return t}function kt(e,t,n){ce.length=0;const a=[],o=[];return e.forEach(r=>{const l={...r,children:[]};let f=o[o.length-1];for(;f&&f.level>=l.level;)o.pop(),f=o[o.length-1];if(l.element.classList.contains("ignore-header")||f&&"shouldIgnore"in f){o.push({level:l.level,shouldIgnore:!0});return}l.level>n||l.level{const o=j("VPDocOutlineItem",!0);return s(),u("ul",{class:N(["VPDocOutlineItem",e.root?"root":"nested"])},[(s(!0),u(x,null,A(e.headers,({children:r,link:l,title:f})=>(s(),u("li",null,[v("a",{class:"outline-link",href:l,onClick:t,title:f},w(f),9,bt),r!=null&&r.length?(s(),k(o,{key:0,headers:r},null,8,["headers"])):m("",!0)]))),256))],2)}}}),Ae=g(gt,[["__scopeId","data-v-eddc5f52"]]),$t={class:"content"},yt={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},Pt=p({__name:"VPDocAsideOutline",setup(e){const{frontmatter:t,theme:n}=L(),a=Ve([]);Q(()=>{a.value=pe(t.value.outline??n.value.outline)});const o=S(),r=S();return pt(o,r),(l,f)=>(s(),u("nav",{"aria-labelledby":"doc-outline-aria-label",class:N(["VPDocAsideOutline",{"has-outline":a.value.length>0}]),ref_key:"container",ref:o},[v("div",$t,[v("div",{class:"outline-marker",ref_key:"marker",ref:r},null,512),v("div",yt,w(i(Me)(i(n))),1),_(Ae,{headers:a.value,root:!0},null,8,["headers"])])],2))}}),Lt=g(Pt,[["__scopeId","data-v-d6b7086d"]]),Vt={class:"VPDocAsideCarbonAds"},St=p({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(e){const t=()=>null;return(n,a)=>(s(),u("div",Vt,[_(i(t),{"carbon-ads":e.carbonAds},null,8,["carbon-ads"])]))}}),Tt={class:"VPDocAside"},Nt=p({__name:"VPDocAside",setup(e){const{theme:t}=L();return(n,a)=>(s(),u("div",Tt,[c(n.$slots,"aside-top",{},void 0,!0),c(n.$slots,"aside-outline-before",{},void 0,!0),_(Lt),c(n.$slots,"aside-outline-after",{},void 0,!0),a[0]||(a[0]=v("div",{class:"spacer"},null,-1)),c(n.$slots,"aside-ads-before",{},void 0,!0),i(t).carbonAds?(s(),k(St,{key:0,"carbon-ads":i(t).carbonAds},null,8,["carbon-ads"])):m("",!0),c(n.$slots,"aside-ads-after",{},void 0,!0),c(n.$slots,"aside-bottom",{},void 0,!0)]))}}),wt=g(Nt,[["__scopeId","data-v-2c2e286f"]]);function xt(){const{theme:e,page:t}=L();return $(()=>{const{text:n="Edit this page",pattern:a=""}=e.value.editLink||{};let o;return typeof a=="function"?o=a(t.value):o=a.replace(/:path/g,t.value.filePath),{url:o,text:n}})}function It(){const{page:e,theme:t,frontmatter:n}=L();return $(()=>{var y,V,b,P,T,I,M,C;const a=Ie(t.value.sidebar,e.value.relativePath),o=ct(a),r=Mt(o,H=>H.link.replace(/[?#].*$/,"")),l=r.findIndex(H=>z(e.value.relativePath,H.link)),f=((y=t.value.docFooter)==null?void 0:y.prev)===!1&&!n.value.prev||n.value.prev===!1,h=((V=t.value.docFooter)==null?void 0:V.next)===!1&&!n.value.next||n.value.next===!1;return{prev:f?void 0:{text:(typeof n.value.prev=="string"?n.value.prev:typeof n.value.prev=="object"?n.value.prev.text:void 0)??((b=r[l-1])==null?void 0:b.docFooterText)??((P=r[l-1])==null?void 0:P.text),link:(typeof n.value.prev=="object"?n.value.prev.link:void 0)??((T=r[l-1])==null?void 0:T.link)},next:h?void 0:{text:(typeof n.value.next=="string"?n.value.next:typeof n.value.next=="object"?n.value.next.text:void 0)??((I=r[l+1])==null?void 0:I.docFooterText)??((M=r[l+1])==null?void 0:M.text),link:(typeof n.value.next=="object"?n.value.next.link:void 0)??((C=r[l+1])==null?void 0:C.link)}}})}function Mt(e,t){const n=new Set;return e.filter(a=>{const o=t(a);return n.has(o)?!1:n.add(o)})}const E=p({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(e){const t=e,n=$(()=>t.tag??(t.href?"a":"span")),a=$(()=>t.href&&Se.test(t.href)||t.target==="_blank");return(o,r)=>(s(),k(B(n.value),{class:N(["VPLink",{link:e.href,"vp-external-link-icon":a.value,"no-icon":e.noIcon}]),href:e.href?i(me)(e.href):void 0,target:e.target??(a.value?"_blank":void 0),rel:e.rel??(a.value?"noreferrer":void 0)},{default:d(()=>[c(o.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),At={class:"VPLastUpdated"},Ct=["datetime"],Ht=p({__name:"VPDocFooterLastUpdated",setup(e){const{theme:t,page:n,lang:a}=L(),o=$(()=>new Date(n.value.lastUpdated)),r=$(()=>o.value.toISOString()),l=S("");return U(()=>{Y(()=>{var f,h,y;l.value=new Intl.DateTimeFormat((h=(f=t.value.lastUpdated)==null?void 0:f.formatOptions)!=null&&h.forceLocale?a.value:void 0,((y=t.value.lastUpdated)==null?void 0:y.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(o.value)})}),(f,h)=>{var y;return s(),u("p",At,[W(w(((y=i(t).lastUpdated)==null?void 0:y.text)||i(t).lastUpdatedText||"Last updated")+": ",1),v("time",{datetime:r.value},w(l.value),9,Ct)])}}}),Bt=g(Ht,[["__scopeId","data-v-d786c806"]]),Et={key:0,class:"VPDocFooter"},Dt={key:0,class:"edit-info"},Ft={key:0,class:"edit-link"},Ot={key:1,class:"last-updated"},Gt={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},Ut={class:"pager"},jt=["innerHTML"],zt=["innerHTML"],Rt={class:"pager"},Wt=["innerHTML"],Kt=["innerHTML"],qt=p({__name:"VPDocFooter",setup(e){const{theme:t,page:n,frontmatter:a}=L(),o=xt(),r=It(),l=$(()=>t.value.editLink&&a.value.editLink!==!1),f=$(()=>n.value.lastUpdated),h=$(()=>l.value||f.value||r.value.prev||r.value.next);return(y,V)=>{var b,P,T,I;return h.value?(s(),u("footer",Et,[c(y.$slots,"doc-footer-before",{},void 0,!0),l.value||f.value?(s(),u("div",Dt,[l.value?(s(),u("div",Ft,[_(E,{class:"edit-link-button",href:i(o).url,"no-icon":!0},{default:d(()=>[V[0]||(V[0]=v("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),W(" "+w(i(o).text),1)]),_:1},8,["href"])])):m("",!0),f.value?(s(),u("div",Ot,[_(Bt)])):m("",!0)])):m("",!0),(b=i(r).prev)!=null&&b.link||(P=i(r).next)!=null&&P.link?(s(),u("nav",Gt,[V[1]||(V[1]=v("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),v("div",Ut,[(T=i(r).prev)!=null&&T.link?(s(),k(E,{key:0,class:"pager-link prev",href:i(r).prev.link},{default:d(()=>{var M;return[v("span",{class:"desc",innerHTML:((M=i(t).docFooter)==null?void 0:M.prev)||"Previous page"},null,8,jt),v("span",{class:"title",innerHTML:i(r).prev.text},null,8,zt)]}),_:1},8,["href"])):m("",!0)]),v("div",Rt,[(I=i(r).next)!=null&&I.link?(s(),k(E,{key:0,class:"pager-link next",href:i(r).next.link},{default:d(()=>{var M;return[v("span",{class:"desc",innerHTML:((M=i(t).docFooter)==null?void 0:M.next)||"Next page"},null,8,Wt),v("span",{class:"title",innerHTML:i(r).next.text},null,8,Kt)]}),_:1},8,["href"])):m("",!0)])])):m("",!0)])):m("",!0)}}}),Jt=g(qt,[["__scopeId","data-v-c66dcb28"]]),Yt={class:"container"},Qt={class:"aside-container"},Xt={class:"aside-content"},Zt={class:"content"},en={class:"content-container"},tn={class:"main"},nn=p({__name:"VPDoc",setup(e){const{theme:t}=L(),n=X(),{hasSidebar:a,hasAside:o,leftAside:r}=F(),l=$(()=>n.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(f,h)=>{const y=j("Content");return s(),u("div",{class:N(["VPDoc",{"has-sidebar":i(a),"has-aside":i(o)}])},[c(f.$slots,"doc-top",{},void 0,!0),v("div",Yt,[i(o)?(s(),u("div",{key:0,class:N(["aside",{"left-aside":i(r)}])},[h[0]||(h[0]=v("div",{class:"aside-curtain"},null,-1)),v("div",Qt,[v("div",Xt,[_(wt,null,{"aside-top":d(()=>[c(f.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":d(()=>[c(f.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":d(()=>[c(f.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[c(f.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[c(f.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[c(f.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):m("",!0),v("div",Zt,[v("div",en,[c(f.$slots,"doc-before",{},void 0,!0),v("main",tn,[_(y,{class:N(["vp-doc",[l.value,i(t).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),_(Jt,null,{"doc-footer-before":d(()=>[c(f.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),c(f.$slots,"doc-after",{},void 0,!0)])])]),c(f.$slots,"doc-bottom",{},void 0,!0)],2)}}}),an=g(nn,[["__scopeId","data-v-5d7ba33f"]]),on=p({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(e){const t=e,n=$(()=>t.href&&Se.test(t.href)),a=$(()=>t.tag||(t.href?"a":"button"));return(o,r)=>(s(),k(B(a.value),{class:N(["VPButton",[e.size,e.theme]]),href:e.href?i(me)(e.href):void 0,target:t.target??(n.value?"_blank":void 0),rel:t.rel??(n.value?"noreferrer":void 0)},{default:d(()=>[W(w(e.text),1)]),_:1},8,["class","href","target","rel"]))}}),sn=g(on,[["__scopeId","data-v-2b6f3841"]]),rn=["src","alt"],ln=p({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(e){return(t,n)=>{const a=j("VPImage",!0);return e.image?(s(),u(x,{key:0},[typeof e.image=="string"||"src"in e.image?(s(),u("img",G({key:0,class:"VPImage"},typeof e.image=="string"?t.$attrs:{...e.image,...t.$attrs},{src:i(de)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,rn)):(s(),u(x,{key:1},[_(a,G({class:"dark",image:e.image.dark,alt:e.image.alt},t.$attrs),null,16,["image","alt"]),_(a,G({class:"light",image:e.image.light,alt:e.image.alt},t.$attrs),null,16,["image","alt"])],64))],64)):m("",!0)}}}),J=g(ln,[["__scopeId","data-v-ab84a255"]]),cn={class:"container"},un={class:"main"},dn={class:"heading"},vn=["innerHTML"],fn=["innerHTML"],hn=["innerHTML"],mn={key:0,class:"actions"},pn={key:0,class:"image"},_n={class:"image-container"},kn=p({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(e){const t=Z("hero-image-slot-exists");return(n,a)=>(s(),u("div",{class:N(["VPHero",{"has-image":e.image||i(t)}])},[v("div",cn,[v("div",un,[c(n.$slots,"home-hero-info-before",{},void 0,!0),c(n.$slots,"home-hero-info",{},()=>[v("h1",dn,[e.name?(s(),u("span",{key:0,innerHTML:e.name,class:"name clip"},null,8,vn)):m("",!0),e.text?(s(),u("span",{key:1,innerHTML:e.text,class:"text"},null,8,fn)):m("",!0)]),e.tagline?(s(),u("p",{key:0,innerHTML:e.tagline,class:"tagline"},null,8,hn)):m("",!0)],!0),c(n.$slots,"home-hero-info-after",{},void 0,!0),e.actions?(s(),u("div",mn,[(s(!0),u(x,null,A(e.actions,o=>(s(),u("div",{key:o.link,class:"action"},[_(sn,{tag:"a",size:"medium",theme:o.theme,text:o.text,href:o.link,target:o.target,rel:o.rel},null,8,["theme","text","href","target","rel"])]))),128))])):m("",!0),c(n.$slots,"home-hero-actions-after",{},void 0,!0)]),e.image||i(t)?(s(),u("div",pn,[v("div",_n,[a[0]||(a[0]=v("div",{class:"image-bg"},null,-1)),c(n.$slots,"home-hero-image",{},()=>[e.image?(s(),k(J,{key:0,class:"image-src",image:e.image},null,8,["image"])):m("",!0)],!0)])])):m("",!0)])],2))}}),bn=g(kn,[["__scopeId","data-v-67559865"]]),gn=p({__name:"VPHomeHero",setup(e){const{frontmatter:t}=L();return(n,a)=>i(t).hero?(s(),k(bn,{key:0,class:"VPHomeHero",name:i(t).hero.name,text:i(t).hero.text,tagline:i(t).hero.tagline,image:i(t).hero.image,actions:i(t).hero.actions},{"home-hero-info-before":d(()=>[c(n.$slots,"home-hero-info-before")]),"home-hero-info":d(()=>[c(n.$slots,"home-hero-info")]),"home-hero-info-after":d(()=>[c(n.$slots,"home-hero-info-after")]),"home-hero-actions-after":d(()=>[c(n.$slots,"home-hero-actions-after")]),"home-hero-image":d(()=>[c(n.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):m("",!0)}}),$n={class:"box"},yn={key:0,class:"icon"},Pn=["innerHTML"],Ln=["innerHTML"],Vn=["innerHTML"],Sn={key:4,class:"link-text"},Tn={class:"link-text-value"},Nn=p({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(e){return(t,n)=>(s(),k(E,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:d(()=>[v("article",$n,[typeof e.icon=="object"&&e.icon.wrap?(s(),u("div",yn,[_(J,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(s(),k(J,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(s(),u("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Pn)):m("",!0),v("h2",{class:"title",innerHTML:e.title},null,8,Ln),e.details?(s(),u("p",{key:3,class:"details",innerHTML:e.details},null,8,Vn)):m("",!0),e.linkText?(s(),u("div",Sn,[v("p",Tn,[W(w(e.linkText)+" ",1),n[0]||(n[0]=v("span",{class:"vpi-arrow-right link-text-icon"},null,-1))])])):m("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),wn=g(Nn,[["__scopeId","data-v-b0e35b46"]]),xn={key:0,class:"VPFeatures"},In={class:"container"},Mn={class:"items"},An=p({__name:"VPFeatures",props:{features:{}},setup(e){const t=e,n=$(()=>{const a=t.features.length;if(a){if(a===2)return"grid-2";if(a===3)return"grid-3";if(a%3===0)return"grid-6";if(a>3)return"grid-4"}else return});return(a,o)=>e.features?(s(),u("div",xn,[v("div",In,[v("div",Mn,[(s(!0),u(x,null,A(e.features,r=>(s(),u("div",{key:r.title,class:N(["item",[n.value]])},[_(wn,{icon:r.icon,title:r.title,details:r.details,link:r.link,"link-text":r.linkText,rel:r.rel,target:r.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):m("",!0)}}),Cn=g(An,[["__scopeId","data-v-529620d4"]]),Hn=p({__name:"VPHomeFeatures",setup(e){const{frontmatter:t}=L();return(n,a)=>i(t).features?(s(),k(Cn,{key:0,class:"VPHomeFeatures",features:i(t).features},null,8,["features"])):m("",!0)}}),Bn=p({__name:"VPHomeContent",setup(e){const{width:t}=Ge({initialWidth:0,includeScrollbar:!1});return(n,a)=>(s(),u("div",{class:"vp-doc container",style:Te(i(t)?{"--vp-offset":`calc(50% - ${i(t)/2}px)`}:{})},[c(n.$slots,"default",{},void 0,!0)],4))}}),En=g(Bn,[["__scopeId","data-v-285b61bf"]]),Dn=p({__name:"VPHome",setup(e){const{frontmatter:t,theme:n}=L();return(a,o)=>{const r=j("Content");return s(),u("div",{class:N(["VPHome",{"external-link-icon-enabled":i(n).externalLinkIcon}])},[c(a.$slots,"home-hero-before",{},void 0,!0),_(gn,null,{"home-hero-info-before":d(()=>[c(a.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[c(a.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[c(a.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[c(a.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[c(a.$slots,"home-hero-image",{},void 0,!0)]),_:3}),c(a.$slots,"home-hero-after",{},void 0,!0),c(a.$slots,"home-features-before",{},void 0,!0),_(Hn),c(a.$slots,"home-features-after",{},void 0,!0),i(t).markdownStyles!==!1?(s(),k(En,{key:0},{default:d(()=>[_(r)]),_:1})):(s(),k(r,{key:1}))],2)}}}),Fn=g(Dn,[["__scopeId","data-v-fa531340"]]),On={},Gn={class:"VPPage"};function Un(e,t){const n=j("Content");return s(),u("div",Gn,[c(e.$slots,"page-top"),_(n),c(e.$slots,"page-bottom")])}const jn=g(On,[["render",Un]]),zn=p({__name:"VPContent",setup(e){const{page:t,frontmatter:n}=L(),{hasSidebar:a}=F();return(o,r)=>(s(),u("div",{class:N(["VPContent",{"has-sidebar":i(a),"is-home":i(n).layout==="home"}]),id:"VPContent"},[i(t).isNotFound?c(o.$slots,"not-found",{key:0},()=>[_(rt)],!0):i(n).layout==="page"?(s(),k(jn,{key:1},{"page-top":d(()=>[c(o.$slots,"page-top",{},void 0,!0)]),"page-bottom":d(()=>[c(o.$slots,"page-bottom",{},void 0,!0)]),_:3})):i(n).layout==="home"?(s(),k(Fn,{key:2},{"home-hero-before":d(()=>[c(o.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":d(()=>[c(o.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[c(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[c(o.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[c(o.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[c(o.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":d(()=>[c(o.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":d(()=>[c(o.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":d(()=>[c(o.$slots,"home-features-after",{},void 0,!0)]),_:3})):i(n).layout&&i(n).layout!=="doc"?(s(),k(B(i(n).layout),{key:3})):(s(),k(an,{key:4},{"doc-top":d(()=>[c(o.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":d(()=>[c(o.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":d(()=>[c(o.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":d(()=>[c(o.$slots,"doc-before",{},void 0,!0)]),"doc-after":d(()=>[c(o.$slots,"doc-after",{},void 0,!0)]),"aside-top":d(()=>[c(o.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":d(()=>[c(o.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[c(o.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[c(o.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[c(o.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":d(()=>[c(o.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),Rn=g(zn,[["__scopeId","data-v-c579e53f"]]),Wn={class:"container"},Kn=["innerHTML"],qn=["innerHTML"],Jn=p({__name:"VPFooter",setup(e){const{theme:t,frontmatter:n}=L(),{hasSidebar:a}=F();return(o,r)=>i(t).footer&&i(n).footer!==!1?(s(),u("footer",{key:0,class:N(["VPFooter",{"has-sidebar":i(a)}])},[v("div",Wn,[i(t).footer.message?(s(),u("p",{key:0,class:"message",innerHTML:i(t).footer.message},null,8,Kn)):m("",!0),i(t).footer.copyright?(s(),u("p",{key:1,class:"copyright",innerHTML:i(t).footer.copyright},null,8,qn)):m("",!0)])],2)):m("",!0)}}),Yn=g(Jn,[["__scopeId","data-v-68c1e039"]]);function Qn(){const{theme:e,frontmatter:t}=L(),n=Ve([]),a=$(()=>n.value.length>0);return Q(()=>{n.value=pe(t.value.outline??e.value.outline)}),{headers:n,hasLocalNav:a}}const Xn={class:"menu-text"},Zn={class:"header"},ea={class:"outline"},ta=p({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(e){const t=e,{theme:n}=L(),a=S(!1),o=S(0),r=S(),l=S();function f(b){var P;(P=r.value)!=null&&P.contains(b.target)||(a.value=!1)}D(a,b=>{if(b){document.addEventListener("click",f);return}document.removeEventListener("click",f)}),ie("Escape",()=>{a.value=!1}),Q(()=>{a.value=!1});function h(){a.value=!a.value,o.value=window.innerHeight+Math.min(window.scrollY-t.navHeight,0)}function y(b){b.target.classList.contains("outline-link")&&(l.value&&(l.value.style.transition="none"),he(()=>{a.value=!1}))}function V(){a.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(b,P)=>(s(),u("div",{class:"VPLocalNavOutlineDropdown",style:Te({"--vp-vh":o.value+"px"}),ref_key:"main",ref:r},[e.headers.length>0?(s(),u("button",{key:0,onClick:h,class:N({open:a.value})},[v("span",Xn,w(i(Me)(i(n))),1),P[0]||(P[0]=v("span",{class:"vpi-chevron-right icon"},null,-1))],2)):(s(),u("button",{key:1,onClick:V},w(i(n).returnToTopLabel||"Return to top"),1)),_(ue,{name:"flyout"},{default:d(()=>[a.value?(s(),u("div",{key:0,ref_key:"items",ref:l,class:"items",onClick:y},[v("div",Zn,[v("a",{class:"top-link",href:"#",onClick:V},w(i(n).returnToTopLabel||"Return to top"),1)]),v("div",ea,[_(Ae,{headers:e.headers},null,8,["headers"])])],512)):m("",!0)]),_:1})],4))}}),na=g(ta,[["__scopeId","data-v-738b57ed"]]),aa={class:"container"},oa=["aria-expanded"],sa={class:"menu-text"},ia=p({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(e){const{theme:t,frontmatter:n}=L(),{hasSidebar:a}=F(),{headers:o}=Qn(),{y:r}=Ne(),l=S(0);U(()=>{l.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),Q(()=>{o.value=pe(n.value.outline??t.value.outline)});const f=$(()=>o.value.length===0),h=$(()=>f.value&&!a.value),y=$(()=>({VPLocalNav:!0,"has-sidebar":a.value,empty:f.value,fixed:h.value}));return(V,b)=>i(n).layout!=="home"&&(!h.value||i(r)>=l.value)?(s(),u("div",{key:0,class:N(y.value)},[v("div",aa,[i(a)?(s(),u("button",{key:0,class:"menu","aria-expanded":e.open,"aria-controls":"VPSidebarNav",onClick:b[0]||(b[0]=P=>V.$emit("open-menu"))},[b[1]||(b[1]=v("span",{class:"vpi-align-left menu-icon"},null,-1)),v("span",sa,w(i(t).sidebarMenuLabel||"Menu"),1)],8,oa)):m("",!0),_(na,{headers:i(o),navHeight:l.value},null,8,["headers","navHeight"])])],2)):m("",!0)}}),ra=g(ia,[["__scopeId","data-v-4ce9bb74"]]);function la(){const e=S(!1);function t(){e.value=!0,window.addEventListener("resize",o)}function n(){e.value=!1,window.removeEventListener("resize",o)}function a(){e.value?n():t()}function o(){window.outerWidth>=768&&n()}const r=X();return D(()=>r.path,n),{isScreenOpen:e,openScreen:t,closeScreen:n,toggleScreen:a}}const ca={},ua={class:"VPSwitch",type:"button",role:"switch"},da={class:"check"},va={key:0,class:"icon"};function fa(e,t){return s(),u("button",ua,[v("span",da,[e.$slots.default?(s(),u("span",va,[c(e.$slots,"default",{},void 0,!0)])):m("",!0)])])}const ha=g(ca,[["render",fa],["__scopeId","data-v-af55b6f5"]]),ma=p({__name:"VPSwitchAppearance",setup(e){const{isDark:t,theme:n}=L(),a=Z("toggle-appearance",()=>{t.value=!t.value}),o=S("");return fe(()=>{o.value=t.value?n.value.lightModeSwitchTitle||"Switch to light theme":n.value.darkModeSwitchTitle||"Switch to dark theme"}),(r,l)=>(s(),k(ha,{title:o.value,class:"VPSwitchAppearance","aria-checked":i(t),onClick:i(a)},{default:d(()=>[...l[0]||(l[0]=[v("span",{class:"vpi-sun sun"},null,-1),v("span",{class:"vpi-moon moon"},null,-1)])]),_:1},8,["title","aria-checked","onClick"]))}}),_e=g(ma,[["__scopeId","data-v-96dc18b0"]]),pa={key:0,class:"VPNavBarAppearance"},_a=p({__name:"VPNavBarAppearance",setup(e){const{site:t}=L();return(n,a)=>i(t).appearance&&i(t).appearance!=="force-dark"&&i(t).appearance!=="force-auto"?(s(),u("div",pa,[_(_e)])):m("",!0)}}),ka=g(_a,[["__scopeId","data-v-91198fbd"]]),ke=S();let Ce=!1,oe=0;function ba(e){const t=S(!1);if(ee){!Ce&&ga(),oe++;const n=D(ke,a=>{var o,r,l;a===e.el.value||(o=e.el.value)!=null&&o.contains(a)?(t.value=!0,(r=e.onFocus)==null||r.call(e)):(t.value=!1,(l=e.onBlur)==null||l.call(e))});ve(()=>{n(),oe--,oe||$a()})}return Ue(t)}function ga(){document.addEventListener("focusin",He),Ce=!0,ke.value=document.activeElement}function $a(){document.removeEventListener("focusin",He)}function He(){ke.value=document.activeElement}const ya={class:"VPMenuLink"},Pa=["innerHTML"],La=p({__name:"VPMenuLink",props:{item:{}},setup(e){const{page:t}=L();return(n,a)=>(s(),u("div",ya,[_(E,{class:N({active:i(z)(i(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon},{default:d(()=>[v("span",{innerHTML:e.item.text},null,8,Pa)]),_:1},8,["class","href","target","rel","no-icon"])]))}}),te=g(La,[["__scopeId","data-v-ee8609e8"]]),Va={class:"VPMenuGroup"},Sa={key:0,class:"title"},Ta=p({__name:"VPMenuGroup",props:{text:{},items:{}},setup(e){return(t,n)=>(s(),u("div",Va,[e.text?(s(),u("p",Sa,w(e.text),1)):m("",!0),(s(!0),u(x,null,A(e.items,a=>(s(),u(x,null,["link"in a?(s(),k(te,{key:0,item:a},null,8,["item"])):m("",!0)],64))),256))]))}}),Na=g(Ta,[["__scopeId","data-v-955ba996"]]),wa={class:"VPMenu"},xa={key:0,class:"items"},Ia=p({__name:"VPMenu",props:{items:{}},setup(e){return(t,n)=>(s(),u("div",wa,[e.items?(s(),u("div",xa,[(s(!0),u(x,null,A(e.items,a=>(s(),u(x,{key:JSON.stringify(a)},["link"in a?(s(),k(te,{key:0,item:a},null,8,["item"])):"component"in a?(s(),k(B(a.component),G({key:1,ref_for:!0},a.props),null,16)):(s(),k(Na,{key:2,text:a.text,items:a.items},null,8,["text","items"]))],64))),128))])):m("",!0),c(t.$slots,"default",{},void 0,!0)]))}}),Ma=g(Ia,[["__scopeId","data-v-24f42a49"]]),Aa=["aria-expanded","aria-label"],Ca={key:0,class:"text"},Ha=["innerHTML"],Ba={key:1,class:"vpi-more-horizontal icon"},Ea={class:"menu"},Da=p({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(e){const t=S(!1),n=S();ba({el:n,onBlur:a});function a(){t.value=!1}return(o,r)=>(s(),u("div",{class:"VPFlyout",ref_key:"el",ref:n,onMouseenter:r[1]||(r[1]=l=>t.value=!0),onMouseleave:r[2]||(r[2]=l=>t.value=!1)},[v("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":t.value,"aria-label":e.label,onClick:r[0]||(r[0]=l=>t.value=!t.value)},[e.button||e.icon?(s(),u("span",Ca,[e.icon?(s(),u("span",{key:0,class:N([e.icon,"option-icon"])},null,2)):m("",!0),e.button?(s(),u("span",{key:1,innerHTML:e.button},null,8,Ha)):m("",!0),r[3]||(r[3]=v("span",{class:"vpi-chevron-down text-icon"},null,-1))])):(s(),u("span",Ba))],8,Aa),v("div",Ea,[_(Ma,{items:e.items},{default:d(()=>[c(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),be=g(Da,[["__scopeId","data-v-285b2faa"]]),Fa=["href","aria-label","innerHTML"],Oa=p({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(e){const t=e,n=S();U(async()=>{var r;await he();const o=(r=n.value)==null?void 0:r.children[0];o instanceof HTMLElement&&o.className.startsWith("vpi-social-")&&(getComputedStyle(o).maskImage||getComputedStyle(o).webkitMaskImage)==="none"&&o.style.setProperty("--icon",`url('https://api.iconify.design/simple-icons/${t.icon}.svg')`)});const a=$(()=>typeof t.icon=="object"?t.icon.svg:``);return(o,r)=>(s(),u("a",{ref_key:"el",ref:n,class:"VPSocialLink no-icon",href:e.link,"aria-label":e.ariaLabel??(typeof e.icon=="string"?e.icon:""),target:"_blank",rel:"noopener",innerHTML:a.value},null,8,Fa))}}),Ga=g(Oa,[["__scopeId","data-v-23724425"]]),Ua={class:"VPSocialLinks"},ja=p({__name:"VPSocialLinks",props:{links:{}},setup(e){return(t,n)=>(s(),u("div",Ua,[(s(!0),u(x,null,A(e.links,({link:a,icon:o,ariaLabel:r})=>(s(),k(Ga,{key:a,icon:o,link:a,ariaLabel:r},null,8,["icon","link","ariaLabel"]))),128))]))}}),ge=g(ja,[["__scopeId","data-v-6b729219"]]),za={key:0,class:"group translations"},Ra={class:"trans-title"},Wa={key:1,class:"group"},Ka={class:"item appearance"},qa={class:"label"},Ja={class:"appearance-action"},Ya={key:2,class:"group"},Qa={class:"item social-links"},Xa=p({__name:"VPNavBarExtra",setup(e){const{site:t,theme:n}=L(),{localeLinks:a,currentLang:o}=K({correspondingLink:!0}),r=$(()=>a.value.length&&o.value.label||t.value.appearance||n.value.socialLinks);return(l,f)=>r.value?(s(),k(be,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:d(()=>[i(a).length&&i(o).label?(s(),u("div",za,[v("p",Ra,w(i(o).label),1),(s(!0),u(x,null,A(i(a),h=>(s(),k(te,{key:h.link,item:h},null,8,["item"]))),128))])):m("",!0),i(t).appearance&&i(t).appearance!=="force-dark"&&i(t).appearance!=="force-auto"?(s(),u("div",Wa,[v("div",Ka,[v("p",qa,w(i(n).darkModeSwitchLabel||"Appearance"),1),v("div",Ja,[_(_e)])])])):m("",!0),i(n).socialLinks?(s(),u("div",Ya,[v("div",Qa,[_(ge,{class:"social-links-list",links:i(n).socialLinks},null,8,["links"])])])):m("",!0)]),_:1})):m("",!0)}}),Za=g(Xa,[["__scopeId","data-v-004eb55a"]]),eo=["aria-expanded"],to=p({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(e){return(t,n)=>(s(),u("button",{type:"button",class:N(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:n[0]||(n[0]=a=>t.$emit("click"))},[...n[1]||(n[1]=[v("span",{class:"container"},[v("span",{class:"top"}),v("span",{class:"middle"}),v("span",{class:"bottom"})],-1)])],10,eo))}}),no=g(to,[["__scopeId","data-v-6cb56071"]]),ao=["innerHTML"],oo=p({__name:"VPNavBarMenuLink",props:{item:{}},setup(e){const{page:t}=L();return(n,a)=>(s(),k(E,{class:N({VPNavBarMenuLink:!0,active:i(z)(i(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,tabindex:"0"},{default:d(()=>[v("span",{innerHTML:e.item.text},null,8,ao)]),_:1},8,["class","href","target","rel","no-icon"]))}}),so=g(oo,[["__scopeId","data-v-9e40fde3"]]),io=p({__name:"VPNavBarMenuGroup",props:{item:{}},setup(e){const t=e,{page:n}=L(),a=r=>"component"in r?!1:"link"in r?z(n.value.relativePath,r.link,!!t.item.activeMatch):r.items.some(a),o=$(()=>a(t.item));return(r,l)=>(s(),k(be,{class:N({VPNavBarMenuGroup:!0,active:i(z)(i(n).relativePath,e.item.activeMatch,!!e.item.activeMatch)||o.value}),button:e.item.text,items:e.item.items},null,8,["class","button","items"]))}}),ro={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},lo=p({__name:"VPNavBarMenu",setup(e){const{theme:t}=L();return(n,a)=>i(t).nav?(s(),u("nav",ro,[a[0]||(a[0]=v("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),(s(!0),u(x,null,A(i(t).nav,o=>(s(),u(x,{key:JSON.stringify(o)},["link"in o?(s(),k(so,{key:0,item:o},null,8,["item"])):"component"in o?(s(),k(B(o.component),G({key:1,ref_for:!0},o.props),null,16)):(s(),k(io,{key:2,item:o},null,8,["item"]))],64))),128))])):m("",!0)}}),co=g(lo,[["__scopeId","data-v-99746fcc"]]);function uo(e){const{localeIndex:t,theme:n}=L();function a(o){var I,M,C;const r=o.split("."),l=(I=n.value.search)==null?void 0:I.options,f=l&&typeof l=="object",h=f&&((C=(M=l.locales)==null?void 0:M[t.value])==null?void 0:C.translations)||null,y=f&&l.translations||null;let V=h,b=y,P=e;const T=r.pop();for(const H of r){let O=null;const R=P==null?void 0:P[H];R&&(O=P=R);const ne=b==null?void 0:b[H];ne&&(O=b=ne);const ae=V==null?void 0:V[H];ae&&(O=V=ae),R||(P=O),ne||(b=O),ae||(V=O)}return(V==null?void 0:V[T])??(b==null?void 0:b[T])??(P==null?void 0:P[T])??""}return a}const vo=["aria-label"],fo={class:"DocSearch-Button-Container"},ho={class:"DocSearch-Button-Placeholder"},ye=p({__name:"VPNavBarSearchButton",setup(e){const n=uo({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(a,o)=>(s(),u("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":i(n)("button.buttonAriaLabel")},[v("span",fo,[o[0]||(o[0]=v("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1)),v("span",ho,w(i(n)("button.buttonText")),1)]),o[1]||(o[1]=v("span",{class:"DocSearch-Button-Keys"},[v("kbd",{class:"DocSearch-Button-Key"}),v("kbd",{class:"DocSearch-Button-Key"},"K")],-1))],8,vo))}}),mo={class:"VPNavBarSearch"},po={id:"local-search"},_o={key:1,id:"docsearch"},ko=p({__name:"VPNavBarSearch",setup(e){const t=je(()=>Pe(()=>import("./VPLocalSearchBox.DTzVHlqZ.js"),__vite__mapDeps([0,1]))),n=()=>null,{theme:a}=L(),o=S(!1),r=S(!1);U(()=>{});function l(){o.value||(o.value=!0,setTimeout(f,16))}function f(){const b=new Event("keydown");b.key="k",b.metaKey=!0,window.dispatchEvent(b),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||f()},16)}function h(b){const P=b.target,T=P.tagName;return P.isContentEditable||T==="INPUT"||T==="SELECT"||T==="TEXTAREA"}const y=S(!1);ie("k",b=>{(b.ctrlKey||b.metaKey)&&(b.preventDefault(),y.value=!0)}),ie("/",b=>{h(b)||(b.preventDefault(),y.value=!0)});const V="local";return(b,P)=>{var T;return s(),u("div",mo,[i(V)==="local"?(s(),u(x,{key:0},[y.value?(s(),k(i(t),{key:0,onClose:P[0]||(P[0]=I=>y.value=!1)})):m("",!0),v("div",po,[_(ye,{onClick:P[1]||(P[1]=I=>y.value=!0)})])],64)):i(V)==="algolia"?(s(),u(x,{key:1},[o.value?(s(),k(i(n),{key:0,algolia:((T=i(a).search)==null?void 0:T.options)??i(a).algolia,onVnodeBeforeMount:P[2]||(P[2]=I=>r.value=!0)},null,8,["algolia"])):m("",!0),r.value?m("",!0):(s(),u("div",_o,[_(ye,{onClick:l})]))],64)):m("",!0)])}}}),bo=p({__name:"VPNavBarSocialLinks",setup(e){const{theme:t}=L();return(n,a)=>i(t).socialLinks?(s(),k(ge,{key:0,class:"VPNavBarSocialLinks",links:i(t).socialLinks},null,8,["links"])):m("",!0)}}),go=g(bo,[["__scopeId","data-v-c400217c"]]),$o=["href","rel","target"],yo=["innerHTML"],Po={key:2},Lo=p({__name:"VPNavBarTitle",setup(e){const{site:t,theme:n}=L(),{hasSidebar:a}=F(),{currentLang:o}=K(),r=$(()=>{var h;return typeof n.value.logoLink=="string"?n.value.logoLink:(h=n.value.logoLink)==null?void 0:h.link}),l=$(()=>{var h;return typeof n.value.logoLink=="string"||(h=n.value.logoLink)==null?void 0:h.rel}),f=$(()=>{var h;return typeof n.value.logoLink=="string"||(h=n.value.logoLink)==null?void 0:h.target});return(h,y)=>(s(),u("div",{class:N(["VPNavBarTitle",{"has-sidebar":i(a)}])},[v("a",{class:"title",href:r.value??i(me)(i(o).link),rel:l.value,target:f.value},[c(h.$slots,"nav-bar-title-before",{},void 0,!0),i(n).logo?(s(),k(J,{key:0,class:"logo",image:i(n).logo},null,8,["image"])):m("",!0),i(n).siteTitle?(s(),u("span",{key:1,innerHTML:i(n).siteTitle},null,8,yo)):i(n).siteTitle===void 0?(s(),u("span",Po,w(i(t).title),1)):m("",!0),c(h.$slots,"nav-bar-title-after",{},void 0,!0)],8,$o)],2))}}),Vo=g(Lo,[["__scopeId","data-v-a2fbc7ad"]]),So={class:"items"},To={class:"title"},No=p({__name:"VPNavBarTranslations",setup(e){const{theme:t}=L(),{localeLinks:n,currentLang:a}=K({correspondingLink:!0});return(o,r)=>i(n).length&&i(a).label?(s(),k(be,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:i(t).langMenuLabel||"Change language"},{default:d(()=>[v("div",So,[v("p",To,w(i(a).label),1),(s(!0),u(x,null,A(i(n),l=>(s(),k(te,{key:l.link,item:l},null,8,["item"]))),128))])]),_:1},8,["label"])):m("",!0)}}),wo=g(No,[["__scopeId","data-v-e9189691"]]),xo={class:"wrapper"},Io={class:"container"},Mo={class:"title"},Ao={class:"content"},Co={class:"content-body"},Ho=p({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(e){const t=e,{y:n}=Ne(),{hasSidebar:a}=F(),{frontmatter:o}=L(),r=S({});return fe(()=>{r.value={"has-sidebar":a.value,home:o.value.layout==="home",top:n.value===0,"screen-open":t.isScreenOpen}}),(l,f)=>(s(),u("div",{class:N(["VPNavBar",r.value])},[v("div",xo,[v("div",Io,[v("div",Mo,[_(Vo,null,{"nav-bar-title-before":d(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),v("div",Ao,[v("div",Co,[c(l.$slots,"nav-bar-content-before",{},void 0,!0),_(ko,{class:"search"}),_(co,{class:"menu"}),_(wo,{class:"translations"}),_(ka,{class:"appearance"}),_(go,{class:"social-links"}),_(Za,{class:"extra"}),c(l.$slots,"nav-bar-content-after",{},void 0,!0),_(no,{class:"hamburger",active:e.isScreenOpen,onClick:f[0]||(f[0]=h=>l.$emit("toggle-screen"))},null,8,["active"])])])])]),f[1]||(f[1]=v("div",{class:"divider"},[v("div",{class:"divider-line"})],-1))],2))}}),Bo=g(Ho,[["__scopeId","data-v-15561152"]]),Eo={key:0,class:"VPNavScreenAppearance"},Do={class:"text"},Fo=p({__name:"VPNavScreenAppearance",setup(e){const{site:t,theme:n}=L();return(a,o)=>i(t).appearance&&i(t).appearance!=="force-dark"&&i(t).appearance!=="force-auto"?(s(),u("div",Eo,[v("p",Do,w(i(n).darkModeSwitchLabel||"Appearance"),1),_(_e)])):m("",!0)}}),Oo=g(Fo,[["__scopeId","data-v-7b920a6d"]]),Go=["innerHTML"],Uo=p({__name:"VPNavScreenMenuLink",props:{item:{}},setup(e){const t=Z("close-screen");return(n,a)=>(s(),k(E,{class:"VPNavScreenMenuLink",href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,onClick:i(t)},{default:d(()=>[v("span",{innerHTML:e.item.text},null,8,Go)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),jo=g(Uo,[["__scopeId","data-v-6971ce83"]]),zo=["innerHTML"],Ro=p({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(e){const t=Z("close-screen");return(n,a)=>(s(),k(E,{class:"VPNavScreenMenuGroupLink",href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,onClick:i(t)},{default:d(()=>[v("span",{innerHTML:e.item.text},null,8,zo)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),Be=g(Ro,[["__scopeId","data-v-d1561e89"]]),Wo={class:"VPNavScreenMenuGroupSection"},Ko={key:0,class:"title"},qo=p({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(e){return(t,n)=>(s(),u("div",Wo,[e.text?(s(),u("p",Ko,w(e.text),1)):m("",!0),(s(!0),u(x,null,A(e.items,a=>(s(),k(Be,{key:a.text,item:a},null,8,["item"]))),128))]))}}),Jo=g(qo,[["__scopeId","data-v-275bc6cf"]]),Yo=["aria-controls","aria-expanded"],Qo=["innerHTML"],Xo=["id"],Zo={key:0,class:"item"},es={key:1,class:"item"},ts={key:2,class:"group"},ns=p({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(e){const t=e,n=S(!1),a=$(()=>`NavScreenGroup-${t.text.replace(" ","-").toLowerCase()}`);function o(){n.value=!n.value}return(r,l)=>(s(),u("div",{class:N(["VPNavScreenMenuGroup",{open:n.value}])},[v("button",{class:"button","aria-controls":a.value,"aria-expanded":n.value,onClick:o},[v("span",{class:"button-text",innerHTML:e.text},null,8,Qo),l[0]||(l[0]=v("span",{class:"vpi-plus button-icon"},null,-1))],8,Yo),v("div",{id:a.value,class:"items"},[(s(!0),u(x,null,A(e.items,f=>(s(),u(x,{key:JSON.stringify(f)},["link"in f?(s(),u("div",Zo,[_(Be,{item:f},null,8,["item"])])):"component"in f?(s(),u("div",es,[(s(),k(B(f.component),G({ref_for:!0},f.props,{"screen-menu":""}),null,16))])):(s(),u("div",ts,[_(Jo,{text:f.text,items:f.items},null,8,["text","items"])]))],64))),128))],8,Xo)],2))}}),as=g(ns,[["__scopeId","data-v-b98b6afe"]]),os={key:0,class:"VPNavScreenMenu"},ss=p({__name:"VPNavScreenMenu",setup(e){const{theme:t}=L();return(n,a)=>i(t).nav?(s(),u("nav",os,[(s(!0),u(x,null,A(i(t).nav,o=>(s(),u(x,{key:JSON.stringify(o)},["link"in o?(s(),k(jo,{key:0,item:o},null,8,["item"])):"component"in o?(s(),k(B(o.component),G({key:1,ref_for:!0},o.props,{"screen-menu":""}),null,16)):(s(),k(as,{key:2,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):m("",!0)}}),is=p({__name:"VPNavScreenSocialLinks",setup(e){const{theme:t}=L();return(n,a)=>i(t).socialLinks?(s(),k(ge,{key:0,class:"VPNavScreenSocialLinks",links:i(t).socialLinks},null,8,["links"])):m("",!0)}}),rs={class:"list"},ls=p({__name:"VPNavScreenTranslations",setup(e){const{localeLinks:t,currentLang:n}=K({correspondingLink:!0}),a=S(!1);function o(){a.value=!a.value}return(r,l)=>i(t).length&&i(n).label?(s(),u("div",{key:0,class:N(["VPNavScreenTranslations",{open:a.value}])},[v("button",{class:"title",onClick:o},[l[0]||(l[0]=v("span",{class:"vpi-languages icon lang"},null,-1)),W(" "+w(i(n).label)+" ",1),l[1]||(l[1]=v("span",{class:"vpi-chevron-down icon chevron"},null,-1))]),v("ul",rs,[(s(!0),u(x,null,A(i(t),f=>(s(),u("li",{key:f.link,class:"item"},[_(E,{class:"link",href:f.link},{default:d(()=>[W(w(f.text),1)]),_:2},1032,["href"])]))),128))])],2)):m("",!0)}}),cs=g(ls,[["__scopeId","data-v-6d2879d8"]]),us={class:"container"},ds=p({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(e){const t=S(null),n=we(ee?document.body:null);return(a,o)=>(s(),k(ue,{name:"fade",onEnter:o[0]||(o[0]=r=>n.value=!0),onAfterLeave:o[1]||(o[1]=r=>n.value=!1)},{default:d(()=>[e.open?(s(),u("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:t,id:"VPNavScreen"},[v("div",us,[c(a.$slots,"nav-screen-content-before",{},void 0,!0),_(ss,{class:"menu"}),_(cs,{class:"translations"}),_(Oo,{class:"appearance"}),_(is,{class:"social-links"}),c(a.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):m("",!0)]),_:3}))}}),vs=g(ds,[["__scopeId","data-v-0ae9092a"]]),fs={key:0,class:"VPNav"},hs=p({__name:"VPNav",setup(e){const{isScreenOpen:t,closeScreen:n,toggleScreen:a}=la(),{frontmatter:o}=L(),r=$(()=>o.value.navbar!==!1);return xe("close-screen",n),Y(()=>{ee&&document.documentElement.classList.toggle("hide-nav",!r.value)}),(l,f)=>r.value?(s(),u("header",fs,[_(Bo,{"is-screen-open":i(t),onToggleScreen:i(a)},{"nav-bar-title-before":d(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":d(()=>[c(l.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":d(()=>[c(l.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),_(vs,{open:i(t)},{"nav-screen-content-before":d(()=>[c(l.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":d(()=>[c(l.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):m("",!0)}}),ms=g(hs,[["__scopeId","data-v-9360ad77"]]),ps=["role","tabindex"],_s={key:1,class:"items"},ks=p({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(e){const t=e,{collapsed:n,collapsible:a,isLink:o,isActiveLink:r,hasActiveLink:l,hasChildren:f,toggle:h}=dt($(()=>t.item)),y=$(()=>f.value?"section":"div"),V=$(()=>o.value?"a":"div"),b=$(()=>f.value?t.depth+2===7?"p":`h${t.depth+2}`:"p"),P=$(()=>o.value?void 0:"button"),T=$(()=>[[`level-${t.depth}`],{collapsible:a.value},{collapsed:n.value},{"is-link":o.value},{"is-active":r.value},{"has-active":l.value}]);function I(C){"key"in C&&C.key!=="Enter"||!t.item.link&&h()}function M(){t.item.link&&h()}return(C,H)=>{const O=j("VPSidebarItem",!0);return s(),k(B(y.value),{class:N(["VPSidebarItem",T.value])},{default:d(()=>[e.item.text?(s(),u("div",G({key:0,class:"item",role:P.value},ze(e.item.items?{click:I,keydown:I}:{},!0),{tabindex:e.item.items&&0}),[H[1]||(H[1]=v("div",{class:"indicator"},null,-1)),e.item.link?(s(),k(E,{key:0,tag:V.value,class:"link",href:e.item.link,rel:e.item.rel,target:e.item.target},{default:d(()=>[(s(),k(B(b.value),{class:"text",innerHTML:e.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(s(),k(B(b.value),{key:1,class:"text",innerHTML:e.item.text},null,8,["innerHTML"])),e.item.collapsed!=null&&e.item.items&&e.item.items.length?(s(),u("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:M,onKeydown:Re(M,["enter"]),tabindex:"0"},[...H[0]||(H[0]=[v("span",{class:"vpi-chevron-right caret-icon"},null,-1)])],32)):m("",!0)],16,ps)):m("",!0),e.item.items&&e.item.items.length?(s(),u("div",_s,[e.depth<5?(s(!0),u(x,{key:0},A(e.item.items,R=>(s(),k(O,{key:R.text,item:R,depth:e.depth+1},null,8,["item","depth"]))),128)):m("",!0)])):m("",!0)]),_:1},8,["class"])}}}),bs=g(ks,[["__scopeId","data-v-1b943b56"]]),gs=p({__name:"VPSidebarGroup",props:{items:{}},setup(e){const t=S(!0);let n=null;return U(()=>{n=setTimeout(()=>{n=null,t.value=!1},300)}),We(()=>{n!=null&&(clearTimeout(n),n=null)}),(a,o)=>(s(!0),u(x,null,A(e.items,r=>(s(),u("div",{key:r.text,class:N(["group",{"no-transition":t.value}])},[_(bs,{item:r,depth:0},null,8,["item"])],2))),128))}}),$s=g(gs,[["__scopeId","data-v-a5751e5d"]]),ys={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Ps=p({__name:"VPSidebar",props:{open:{type:Boolean}},setup(e){const{sidebarGroups:t,hasSidebar:n}=F(),a=e,o=S(null),r=we(ee?document.body:null);D([a,o],()=>{var f;a.open?(r.value=!0,(f=o.value)==null||f.focus()):r.value=!1},{immediate:!0,flush:"post"});const l=S(0);return D(t,()=>{l.value+=1},{deep:!0}),(f,h)=>i(n)?(s(),u("aside",{key:0,class:N(["VPSidebar",{open:e.open}]),ref_key:"navEl",ref:o,onClick:h[0]||(h[0]=Ke(()=>{},["stop"]))},[h[2]||(h[2]=v("div",{class:"curtain"},null,-1)),v("nav",ys,[h[1]||(h[1]=v("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),c(f.$slots,"sidebar-nav-before",{},void 0,!0),(s(),k($s,{items:i(t),key:l.value},null,8,["items"])),c(f.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):m("",!0)}}),Ls=g(Ps,[["__scopeId","data-v-6b2e73dd"]]),Vs=p({__name:"VPSkipLink",setup(e){const{theme:t}=L(),n=X(),a=S();D(()=>n.path,()=>a.value.focus());function o({target:r}){const l=document.getElementById(decodeURIComponent(r.hash).slice(1));if(l){const f=()=>{l.removeAttribute("tabindex"),l.removeEventListener("blur",f)};l.setAttribute("tabindex","-1"),l.addEventListener("blur",f),l.focus(),window.scrollTo(0,0)}}return(r,l)=>(s(),u(x,null,[v("span",{ref_key:"backToTop",ref:a,tabindex:"-1"},null,512),v("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:o},w(i(t).skipToContentLabel||"Skip to content"),1)],64))}}),Ss=g(Vs,[["__scopeId","data-v-24a4436d"]]),Ts=p({__name:"Layout",setup(e){const{isOpen:t,open:n,close:a}=F(),o=X();D(()=>o.path,a),ut(t,a);const{frontmatter:r}=L(),l=qe(),f=$(()=>!!l["home-hero-image"]);return xe("hero-image-slot-exists",f),(h,y)=>{const V=j("Content");return i(r).layout!==!1?(s(),u("div",{key:0,class:N(["Layout",i(r).pageClass])},[c(h.$slots,"layout-top",{},void 0,!0),_(Ss),_(Qe,{class:"backdrop",show:i(t),onClick:i(a)},null,8,["show","onClick"]),_(ms,null,{"nav-bar-title-before":d(()=>[c(h.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[c(h.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":d(()=>[c(h.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":d(()=>[c(h.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":d(()=>[c(h.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":d(()=>[c(h.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),_(ra,{open:i(t),onOpenMenu:i(n)},null,8,["open","onOpenMenu"]),_(Ls,{open:i(t)},{"sidebar-nav-before":d(()=>[c(h.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":d(()=>[c(h.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),_(Rn,null,{"page-top":d(()=>[c(h.$slots,"page-top",{},void 0,!0)]),"page-bottom":d(()=>[c(h.$slots,"page-bottom",{},void 0,!0)]),"not-found":d(()=>[c(h.$slots,"not-found",{},void 0,!0)]),"home-hero-before":d(()=>[c(h.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":d(()=>[c(h.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[c(h.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[c(h.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[c(h.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[c(h.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":d(()=>[c(h.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":d(()=>[c(h.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":d(()=>[c(h.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":d(()=>[c(h.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":d(()=>[c(h.$slots,"doc-before",{},void 0,!0)]),"doc-after":d(()=>[c(h.$slots,"doc-after",{},void 0,!0)]),"doc-top":d(()=>[c(h.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":d(()=>[c(h.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":d(()=>[c(h.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":d(()=>[c(h.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":d(()=>[c(h.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[c(h.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[c(h.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[c(h.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),_(Yn),c(h.$slots,"layout-bottom",{},void 0,!0)],2)):(s(),k(V,{key:1}))}}}),Ns=g(Ts,[["__scopeId","data-v-76254180"]]),ws={Layout:Ns},xs={style:{"margin-top":"72px"}},Is={__name:"index",setup(e){const{page:t}=Le(),n=$(()=>t.value.relativePath);D(n,a,{immediate:!0});async function a(){await he();try{(window.adsbygoogle=window.adsbygoogle||[]).push({}),console.log("adsbygoogle loaded")}catch(o){console.warn("adsbygoogle error:",o)}}return(o,r)=>(s(),u("div",xs,[(s(),u("ins",{key:n.value,class:"adsbygoogle",style:{display:"block"},"data-ad-client":"ca-pub-5328953201873088","data-ad-slot":"9903011682","data-ad-format":"auto","data-full-width-responsive":"true"}))]))}},Ms={__name:"Layout",setup(e){const{Layout:t}=ws;return(n,a)=>{const o=j("ClientOnly");return s(),k(i(t),{class:""},{"aside-ads-before":d(()=>[_(o,null,{default:d(()=>[_(Is)]),_:1})]),_:1})}}},Cs={Layout:Ms,enhanceApp({app:e,router:t,siteData:n}){}};export{Cs as R,uo as c,L as u}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.Bqzt4G3A.js","assets/chunks/framework.DCs21iJA.js"])))=>i.map(i=>d[i]); +import{_ as Pe,d as p,o as s,c as k,T as ue,w as d,a as u,b as m,e as g,u as Le,i as Ee,t as De,f as de,g as $,h as v,j as w,k as i,l as z,m as se,r as S,n as D,p as Y,q as U,s as ve,v as fe,x as Fe,y as Oe,z as j,A as N,F as x,B as A,C as Ve,D as Q,E as _,G as c,H as Se,I as B,J as W,K as X,L as G,M as Z,N as Ge,O as Te,P as ie,Q as he,R as Ne,S as ee,U as Ue,V as je,W as we,X as xe,Y as ze,Z as Re,$ as We,a0 as Ke,a1 as qe}from"./framework.DCs21iJA.js";const $e="G-24PQ0ZF4RG";(async()=>{const{install:e,gtag:t}=await Pe(async()=>{const{install:n,gtag:a}=await import("./index.D9Q8CHZq.js").then(o=>o.i);return{install:n,gtag:a}},[]).catch(n=>console.error(n));e($e),t("js",new Date),t("config",$e)})();const Je={key:0,class:"VPBackdrop"},Ye=p({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(e){return(t,n)=>(s(),k(ue,{name:"fade"},{default:d(()=>[e.show?(s(),u("div",Je)):m("",!0)]),_:1}))}}),Qe=g(Ye,[["__scopeId","data-v-e1ec647f"]]),L=Le;function Xe(e,t){let n,a=!1;return()=>{n&&clearTimeout(n),a?n=setTimeout(e,t):(e(),(a=!0)&&setTimeout(()=>a=!1,t))}}function re(e){return e.startsWith("/")?e:`/${e}`}function me(e){const{pathname:t,search:n,hash:a,protocol:o}=new URL(e,"http://a.com");if(Ee(e)||e.startsWith("#")||!o.startsWith("http")||!De(t))return e;const{site:r}=L(),l=t.endsWith("/")||t.endsWith(".html")?e:e.replace(/(?:(^\.+)\/)?.*$/,`$1${t.replace(/(\.md)?$/,r.value.cleanUrls?"":".html")}${n}${a}`);return de(l)}function K({correspondingLink:e=!1}={}){const{site:t,localeIndex:n,page:a,theme:o,hash:r}=L(),l=$(()=>{var h,y;return{label:(h=t.value.locales[n.value])==null?void 0:h.label,link:((y=t.value.locales[n.value])==null?void 0:y.link)||(n.value==="root"?"/":`/${n.value}/`)}});return{localeLinks:$(()=>Object.entries(t.value.locales).flatMap(([h,y])=>l.value.label===y.label?[]:{text:y.label,link:Ze(y.link||(h==="root"?"/":`/${h}/`),o.value.i18nRouting!==!1&&e,a.value.relativePath.slice(l.value.link.length-1),!t.value.cleanUrls)+r.value})),currentLang:l}}function Ze(e,t,n,a){return t?e.replace(/\/$/,"")+re(n.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,a?".html":"")):e}const et={class:"NotFound"},tt={class:"code"},nt={class:"title"},at={class:"quote"},ot={class:"action"},st=["href","aria-label"],it=p({__name:"NotFound",setup(e){const{theme:t}=L(),{currentLang:n}=K();return(a,o)=>{var r,l,f,h,y;return s(),u("div",et,[v("p",tt,w(((r=i(t).notFound)==null?void 0:r.code)??"404"),1),v("h1",nt,w(((l=i(t).notFound)==null?void 0:l.title)??"PAGE NOT FOUND"),1),o[0]||(o[0]=v("div",{class:"divider"},null,-1)),v("blockquote",at,w(((f=i(t).notFound)==null?void 0:f.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),v("div",ot,[v("a",{class:"link",href:i(de)(i(n).link),"aria-label":((h=i(t).notFound)==null?void 0:h.linkLabel)??"go to home"},w(((y=i(t).notFound)==null?void 0:y.linkText)??"Take me home"),9,st)])])}}}),rt=g(it,[["__scopeId","data-v-dd4e2e06"]]);function Ie(e,t){if(Array.isArray(e))return q(e);if(e==null)return[];t=re(t);const n=Object.keys(e).sort((o,r)=>r.split("/").length-o.split("/").length).find(o=>t.startsWith(re(o))),a=n?e[n]:[];return Array.isArray(a)?q(a):q(a.items,a.base)}function lt(e){const t=[];let n=0;for(const a in e){const o=e[a];if(o.items){n=t.push(o);continue}t[n]||t.push({items:[]}),t[n].items.push(o)}return t}function ct(e){const t=[];function n(a){for(const o of a)o.text&&o.link&&t.push({text:o.text,link:o.link,docFooterText:o.docFooterText}),o.items&&n(o.items)}return n(e),t}function le(e,t){return Array.isArray(t)?t.some(n=>le(e,n)):z(e,t.link)?!0:t.items?le(e,t.items):!1}function q(e,t){return[...e].map(n=>{const a={...n},o=a.base||t;return o&&a.link&&(a.link=o+a.link),a.items&&(a.items=q(a.items,o)),a})}function F(){const{frontmatter:e,page:t,theme:n}=L(),a=se("(min-width: 960px)"),o=S(!1),r=$(()=>{const M=n.value.sidebar,C=t.value.relativePath;return M?Ie(M,C):[]}),l=S(r.value);D(r,(M,C)=>{JSON.stringify(M)!==JSON.stringify(C)&&(l.value=r.value)});const f=$(()=>e.value.sidebar!==!1&&l.value.length>0&&e.value.layout!=="home"),h=$(()=>y?e.value.aside==null?n.value.aside==="left":e.value.aside==="left":!1),y=$(()=>e.value.layout==="home"?!1:e.value.aside!=null?!!e.value.aside:n.value.aside!==!1),V=$(()=>f.value&&a.value),b=$(()=>f.value?lt(l.value):[]);function P(){o.value=!0}function T(){o.value=!1}function I(){o.value?T():P()}return{isOpen:o,sidebar:l,sidebarGroups:b,hasSidebar:f,hasAside:y,leftAside:h,isSidebarEnabled:V,open:P,close:T,toggle:I}}function ut(e,t){let n;Y(()=>{n=e.value?document.activeElement:void 0}),U(()=>{window.addEventListener("keyup",a)}),ve(()=>{window.removeEventListener("keyup",a)});function a(o){o.key==="Escape"&&e.value&&(t(),n==null||n.focus())}}function dt(e){const{page:t,hash:n}=L(),a=S(!1),o=$(()=>e.value.collapsed!=null),r=$(()=>!!e.value.link),l=S(!1),f=()=>{l.value=z(t.value.relativePath,e.value.link)};D([t,e,n],f),U(f);const h=$(()=>l.value?!0:e.value.items?le(t.value.relativePath,e.value.items):!1),y=$(()=>!!(e.value.items&&e.value.items.length));Y(()=>{a.value=!!(o.value&&e.value.collapsed)}),fe(()=>{(l.value||h.value)&&(a.value=!1)});function V(){o.value&&(a.value=!a.value)}return{collapsed:a,collapsible:o,isLink:r,isActiveLink:l,hasActiveLink:h,hasChildren:y,toggle:V}}function vt(){const{hasSidebar:e}=F(),t=se("(min-width: 960px)"),n=se("(min-width: 1280px)");return{isAsideEnabled:$(()=>!n.value&&!t.value?!1:e.value?n.value:t.value)}}const ft=/\b(?:VPBadge|header-anchor|footnote-ref|ignore-header)\b/,ce=[];function Me(e){return typeof e.outline=="object"&&!Array.isArray(e.outline)&&e.outline.label||e.outlineTitle||"On this page"}function pe(e){const t=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(n=>n.id&&n.hasChildNodes()).map(n=>{const a=Number(n.tagName[1]);return{element:n,title:ht(n),link:"#"+n.id,level:a}});return mt(t,e)}function ht(e){let t="";for(const n of e.childNodes)if(n.nodeType===1){if(ft.test(n.className))continue;t+=n.textContent}else n.nodeType===3&&(t+=n.textContent);return t.trim()}function mt(e,t){if(t===!1)return[];const n=(typeof t=="object"&&!Array.isArray(t)?t.level:t)||2,[a,o]=typeof n=="number"?[n,n]:n==="deep"?[2,6]:n;return kt(e,a,o)}function pt(e,t){const{isAsideEnabled:n}=vt(),a=Xe(r,100);let o=null;U(()=>{requestAnimationFrame(r),window.addEventListener("scroll",a)}),Fe(()=>{l(location.hash)}),ve(()=>{window.removeEventListener("scroll",a)});function r(){if(!n.value)return;const f=window.scrollY,h=window.innerHeight,y=document.body.offsetHeight,V=Math.abs(f+h-y)<1,b=ce.map(({element:T,link:I})=>({link:I,top:_t(T)})).filter(({top:T})=>!Number.isNaN(T)).sort((T,I)=>T.top-I.top);if(!b.length){l(null);return}if(f<1){l(null);return}if(V){l(b[b.length-1].link);return}let P=null;for(const{link:T,top:I}of b){if(I>f+Oe()+4)break;P=T}l(P)}function l(f){o&&o.classList.remove("active"),f==null?o=null:o=e.value.querySelector(`a[href="${decodeURIComponent(f)}"]`);const h=o;h?(h.classList.add("active"),t.value.style.top=h.offsetTop+39+"px",t.value.style.opacity="1"):(t.value.style.top="33px",t.value.style.opacity="0")}}function _t(e){let t=0;for(;e!==document.body;){if(e===null)return NaN;t+=e.offsetTop,e=e.offsetParent}return t}function kt(e,t,n){ce.length=0;const a=[],o=[];return e.forEach(r=>{const l={...r,children:[]};let f=o[o.length-1];for(;f&&f.level>=l.level;)o.pop(),f=o[o.length-1];if(l.element.classList.contains("ignore-header")||f&&"shouldIgnore"in f){o.push({level:l.level,shouldIgnore:!0});return}l.level>n||l.level{const o=j("VPDocOutlineItem",!0);return s(),u("ul",{class:N(["VPDocOutlineItem",e.root?"root":"nested"])},[(s(!0),u(x,null,A(e.headers,({children:r,link:l,title:f})=>(s(),u("li",null,[v("a",{class:"outline-link",href:l,onClick:t,title:f},w(f),9,bt),r!=null&&r.length?(s(),k(o,{key:0,headers:r},null,8,["headers"])):m("",!0)]))),256))],2)}}}),Ae=g(gt,[["__scopeId","data-v-eddc5f52"]]),$t={class:"content"},yt={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},Pt=p({__name:"VPDocAsideOutline",setup(e){const{frontmatter:t,theme:n}=L(),a=Ve([]);Q(()=>{a.value=pe(t.value.outline??n.value.outline)});const o=S(),r=S();return pt(o,r),(l,f)=>(s(),u("nav",{"aria-labelledby":"doc-outline-aria-label",class:N(["VPDocAsideOutline",{"has-outline":a.value.length>0}]),ref_key:"container",ref:o},[v("div",$t,[v("div",{class:"outline-marker",ref_key:"marker",ref:r},null,512),v("div",yt,w(i(Me)(i(n))),1),_(Ae,{headers:a.value,root:!0},null,8,["headers"])])],2))}}),Lt=g(Pt,[["__scopeId","data-v-d6b7086d"]]),Vt={class:"VPDocAsideCarbonAds"},St=p({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(e){const t=()=>null;return(n,a)=>(s(),u("div",Vt,[_(i(t),{"carbon-ads":e.carbonAds},null,8,["carbon-ads"])]))}}),Tt={class:"VPDocAside"},Nt=p({__name:"VPDocAside",setup(e){const{theme:t}=L();return(n,a)=>(s(),u("div",Tt,[c(n.$slots,"aside-top",{},void 0,!0),c(n.$slots,"aside-outline-before",{},void 0,!0),_(Lt),c(n.$slots,"aside-outline-after",{},void 0,!0),a[0]||(a[0]=v("div",{class:"spacer"},null,-1)),c(n.$slots,"aside-ads-before",{},void 0,!0),i(t).carbonAds?(s(),k(St,{key:0,"carbon-ads":i(t).carbonAds},null,8,["carbon-ads"])):m("",!0),c(n.$slots,"aside-ads-after",{},void 0,!0),c(n.$slots,"aside-bottom",{},void 0,!0)]))}}),wt=g(Nt,[["__scopeId","data-v-2c2e286f"]]);function xt(){const{theme:e,page:t}=L();return $(()=>{const{text:n="Edit this page",pattern:a=""}=e.value.editLink||{};let o;return typeof a=="function"?o=a(t.value):o=a.replace(/:path/g,t.value.filePath),{url:o,text:n}})}function It(){const{page:e,theme:t,frontmatter:n}=L();return $(()=>{var y,V,b,P,T,I,M,C;const a=Ie(t.value.sidebar,e.value.relativePath),o=ct(a),r=Mt(o,H=>H.link.replace(/[?#].*$/,"")),l=r.findIndex(H=>z(e.value.relativePath,H.link)),f=((y=t.value.docFooter)==null?void 0:y.prev)===!1&&!n.value.prev||n.value.prev===!1,h=((V=t.value.docFooter)==null?void 0:V.next)===!1&&!n.value.next||n.value.next===!1;return{prev:f?void 0:{text:(typeof n.value.prev=="string"?n.value.prev:typeof n.value.prev=="object"?n.value.prev.text:void 0)??((b=r[l-1])==null?void 0:b.docFooterText)??((P=r[l-1])==null?void 0:P.text),link:(typeof n.value.prev=="object"?n.value.prev.link:void 0)??((T=r[l-1])==null?void 0:T.link)},next:h?void 0:{text:(typeof n.value.next=="string"?n.value.next:typeof n.value.next=="object"?n.value.next.text:void 0)??((I=r[l+1])==null?void 0:I.docFooterText)??((M=r[l+1])==null?void 0:M.text),link:(typeof n.value.next=="object"?n.value.next.link:void 0)??((C=r[l+1])==null?void 0:C.link)}}})}function Mt(e,t){const n=new Set;return e.filter(a=>{const o=t(a);return n.has(o)?!1:n.add(o)})}const E=p({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(e){const t=e,n=$(()=>t.tag??(t.href?"a":"span")),a=$(()=>t.href&&Se.test(t.href)||t.target==="_blank");return(o,r)=>(s(),k(B(n.value),{class:N(["VPLink",{link:e.href,"vp-external-link-icon":a.value,"no-icon":e.noIcon}]),href:e.href?i(me)(e.href):void 0,target:e.target??(a.value?"_blank":void 0),rel:e.rel??(a.value?"noreferrer":void 0)},{default:d(()=>[c(o.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),At={class:"VPLastUpdated"},Ct=["datetime"],Ht=p({__name:"VPDocFooterLastUpdated",setup(e){const{theme:t,page:n,lang:a}=L(),o=$(()=>new Date(n.value.lastUpdated)),r=$(()=>o.value.toISOString()),l=S("");return U(()=>{Y(()=>{var f,h,y;l.value=new Intl.DateTimeFormat((h=(f=t.value.lastUpdated)==null?void 0:f.formatOptions)!=null&&h.forceLocale?a.value:void 0,((y=t.value.lastUpdated)==null?void 0:y.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(o.value)})}),(f,h)=>{var y;return s(),u("p",At,[W(w(((y=i(t).lastUpdated)==null?void 0:y.text)||i(t).lastUpdatedText||"Last updated")+": ",1),v("time",{datetime:r.value},w(l.value),9,Ct)])}}}),Bt=g(Ht,[["__scopeId","data-v-d786c806"]]),Et={key:0,class:"VPDocFooter"},Dt={key:0,class:"edit-info"},Ft={key:0,class:"edit-link"},Ot={key:1,class:"last-updated"},Gt={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},Ut={class:"pager"},jt=["innerHTML"],zt=["innerHTML"],Rt={class:"pager"},Wt=["innerHTML"],Kt=["innerHTML"],qt=p({__name:"VPDocFooter",setup(e){const{theme:t,page:n,frontmatter:a}=L(),o=xt(),r=It(),l=$(()=>t.value.editLink&&a.value.editLink!==!1),f=$(()=>n.value.lastUpdated),h=$(()=>l.value||f.value||r.value.prev||r.value.next);return(y,V)=>{var b,P,T,I;return h.value?(s(),u("footer",Et,[c(y.$slots,"doc-footer-before",{},void 0,!0),l.value||f.value?(s(),u("div",Dt,[l.value?(s(),u("div",Ft,[_(E,{class:"edit-link-button",href:i(o).url,"no-icon":!0},{default:d(()=>[V[0]||(V[0]=v("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),W(" "+w(i(o).text),1)]),_:1},8,["href"])])):m("",!0),f.value?(s(),u("div",Ot,[_(Bt)])):m("",!0)])):m("",!0),(b=i(r).prev)!=null&&b.link||(P=i(r).next)!=null&&P.link?(s(),u("nav",Gt,[V[1]||(V[1]=v("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),v("div",Ut,[(T=i(r).prev)!=null&&T.link?(s(),k(E,{key:0,class:"pager-link prev",href:i(r).prev.link},{default:d(()=>{var M;return[v("span",{class:"desc",innerHTML:((M=i(t).docFooter)==null?void 0:M.prev)||"Previous page"},null,8,jt),v("span",{class:"title",innerHTML:i(r).prev.text},null,8,zt)]}),_:1},8,["href"])):m("",!0)]),v("div",Rt,[(I=i(r).next)!=null&&I.link?(s(),k(E,{key:0,class:"pager-link next",href:i(r).next.link},{default:d(()=>{var M;return[v("span",{class:"desc",innerHTML:((M=i(t).docFooter)==null?void 0:M.next)||"Next page"},null,8,Wt),v("span",{class:"title",innerHTML:i(r).next.text},null,8,Kt)]}),_:1},8,["href"])):m("",!0)])])):m("",!0)])):m("",!0)}}}),Jt=g(qt,[["__scopeId","data-v-c66dcb28"]]),Yt={class:"container"},Qt={class:"aside-container"},Xt={class:"aside-content"},Zt={class:"content"},en={class:"content-container"},tn={class:"main"},nn=p({__name:"VPDoc",setup(e){const{theme:t}=L(),n=X(),{hasSidebar:a,hasAside:o,leftAside:r}=F(),l=$(()=>n.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(f,h)=>{const y=j("Content");return s(),u("div",{class:N(["VPDoc",{"has-sidebar":i(a),"has-aside":i(o)}])},[c(f.$slots,"doc-top",{},void 0,!0),v("div",Yt,[i(o)?(s(),u("div",{key:0,class:N(["aside",{"left-aside":i(r)}])},[h[0]||(h[0]=v("div",{class:"aside-curtain"},null,-1)),v("div",Qt,[v("div",Xt,[_(wt,null,{"aside-top":d(()=>[c(f.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":d(()=>[c(f.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":d(()=>[c(f.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[c(f.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[c(f.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[c(f.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):m("",!0),v("div",Zt,[v("div",en,[c(f.$slots,"doc-before",{},void 0,!0),v("main",tn,[_(y,{class:N(["vp-doc",[l.value,i(t).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),_(Jt,null,{"doc-footer-before":d(()=>[c(f.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),c(f.$slots,"doc-after",{},void 0,!0)])])]),c(f.$slots,"doc-bottom",{},void 0,!0)],2)}}}),an=g(nn,[["__scopeId","data-v-5d7ba33f"]]),on=p({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(e){const t=e,n=$(()=>t.href&&Se.test(t.href)),a=$(()=>t.tag||(t.href?"a":"button"));return(o,r)=>(s(),k(B(a.value),{class:N(["VPButton",[e.size,e.theme]]),href:e.href?i(me)(e.href):void 0,target:t.target??(n.value?"_blank":void 0),rel:t.rel??(n.value?"noreferrer":void 0)},{default:d(()=>[W(w(e.text),1)]),_:1},8,["class","href","target","rel"]))}}),sn=g(on,[["__scopeId","data-v-2b6f3841"]]),rn=["src","alt"],ln=p({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(e){return(t,n)=>{const a=j("VPImage",!0);return e.image?(s(),u(x,{key:0},[typeof e.image=="string"||"src"in e.image?(s(),u("img",G({key:0,class:"VPImage"},typeof e.image=="string"?t.$attrs:{...e.image,...t.$attrs},{src:i(de)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,rn)):(s(),u(x,{key:1},[_(a,G({class:"dark",image:e.image.dark,alt:e.image.alt},t.$attrs),null,16,["image","alt"]),_(a,G({class:"light",image:e.image.light,alt:e.image.alt},t.$attrs),null,16,["image","alt"])],64))],64)):m("",!0)}}}),J=g(ln,[["__scopeId","data-v-ab84a255"]]),cn={class:"container"},un={class:"main"},dn={class:"heading"},vn=["innerHTML"],fn=["innerHTML"],hn=["innerHTML"],mn={key:0,class:"actions"},pn={key:0,class:"image"},_n={class:"image-container"},kn=p({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(e){const t=Z("hero-image-slot-exists");return(n,a)=>(s(),u("div",{class:N(["VPHero",{"has-image":e.image||i(t)}])},[v("div",cn,[v("div",un,[c(n.$slots,"home-hero-info-before",{},void 0,!0),c(n.$slots,"home-hero-info",{},()=>[v("h1",dn,[e.name?(s(),u("span",{key:0,innerHTML:e.name,class:"name clip"},null,8,vn)):m("",!0),e.text?(s(),u("span",{key:1,innerHTML:e.text,class:"text"},null,8,fn)):m("",!0)]),e.tagline?(s(),u("p",{key:0,innerHTML:e.tagline,class:"tagline"},null,8,hn)):m("",!0)],!0),c(n.$slots,"home-hero-info-after",{},void 0,!0),e.actions?(s(),u("div",mn,[(s(!0),u(x,null,A(e.actions,o=>(s(),u("div",{key:o.link,class:"action"},[_(sn,{tag:"a",size:"medium",theme:o.theme,text:o.text,href:o.link,target:o.target,rel:o.rel},null,8,["theme","text","href","target","rel"])]))),128))])):m("",!0),c(n.$slots,"home-hero-actions-after",{},void 0,!0)]),e.image||i(t)?(s(),u("div",pn,[v("div",_n,[a[0]||(a[0]=v("div",{class:"image-bg"},null,-1)),c(n.$slots,"home-hero-image",{},()=>[e.image?(s(),k(J,{key:0,class:"image-src",image:e.image},null,8,["image"])):m("",!0)],!0)])])):m("",!0)])],2))}}),bn=g(kn,[["__scopeId","data-v-67559865"]]),gn=p({__name:"VPHomeHero",setup(e){const{frontmatter:t}=L();return(n,a)=>i(t).hero?(s(),k(bn,{key:0,class:"VPHomeHero",name:i(t).hero.name,text:i(t).hero.text,tagline:i(t).hero.tagline,image:i(t).hero.image,actions:i(t).hero.actions},{"home-hero-info-before":d(()=>[c(n.$slots,"home-hero-info-before")]),"home-hero-info":d(()=>[c(n.$slots,"home-hero-info")]),"home-hero-info-after":d(()=>[c(n.$slots,"home-hero-info-after")]),"home-hero-actions-after":d(()=>[c(n.$slots,"home-hero-actions-after")]),"home-hero-image":d(()=>[c(n.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):m("",!0)}}),$n={class:"box"},yn={key:0,class:"icon"},Pn=["innerHTML"],Ln=["innerHTML"],Vn=["innerHTML"],Sn={key:4,class:"link-text"},Tn={class:"link-text-value"},Nn=p({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(e){return(t,n)=>(s(),k(E,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:d(()=>[v("article",$n,[typeof e.icon=="object"&&e.icon.wrap?(s(),u("div",yn,[_(J,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(s(),k(J,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(s(),u("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Pn)):m("",!0),v("h2",{class:"title",innerHTML:e.title},null,8,Ln),e.details?(s(),u("p",{key:3,class:"details",innerHTML:e.details},null,8,Vn)):m("",!0),e.linkText?(s(),u("div",Sn,[v("p",Tn,[W(w(e.linkText)+" ",1),n[0]||(n[0]=v("span",{class:"vpi-arrow-right link-text-icon"},null,-1))])])):m("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),wn=g(Nn,[["__scopeId","data-v-b0e35b46"]]),xn={key:0,class:"VPFeatures"},In={class:"container"},Mn={class:"items"},An=p({__name:"VPFeatures",props:{features:{}},setup(e){const t=e,n=$(()=>{const a=t.features.length;if(a){if(a===2)return"grid-2";if(a===3)return"grid-3";if(a%3===0)return"grid-6";if(a>3)return"grid-4"}else return});return(a,o)=>e.features?(s(),u("div",xn,[v("div",In,[v("div",Mn,[(s(!0),u(x,null,A(e.features,r=>(s(),u("div",{key:r.title,class:N(["item",[n.value]])},[_(wn,{icon:r.icon,title:r.title,details:r.details,link:r.link,"link-text":r.linkText,rel:r.rel,target:r.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):m("",!0)}}),Cn=g(An,[["__scopeId","data-v-529620d4"]]),Hn=p({__name:"VPHomeFeatures",setup(e){const{frontmatter:t}=L();return(n,a)=>i(t).features?(s(),k(Cn,{key:0,class:"VPHomeFeatures",features:i(t).features},null,8,["features"])):m("",!0)}}),Bn=p({__name:"VPHomeContent",setup(e){const{width:t}=Ge({initialWidth:0,includeScrollbar:!1});return(n,a)=>(s(),u("div",{class:"vp-doc container",style:Te(i(t)?{"--vp-offset":`calc(50% - ${i(t)/2}px)`}:{})},[c(n.$slots,"default",{},void 0,!0)],4))}}),En=g(Bn,[["__scopeId","data-v-285b61bf"]]),Dn=p({__name:"VPHome",setup(e){const{frontmatter:t,theme:n}=L();return(a,o)=>{const r=j("Content");return s(),u("div",{class:N(["VPHome",{"external-link-icon-enabled":i(n).externalLinkIcon}])},[c(a.$slots,"home-hero-before",{},void 0,!0),_(gn,null,{"home-hero-info-before":d(()=>[c(a.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[c(a.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[c(a.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[c(a.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[c(a.$slots,"home-hero-image",{},void 0,!0)]),_:3}),c(a.$slots,"home-hero-after",{},void 0,!0),c(a.$slots,"home-features-before",{},void 0,!0),_(Hn),c(a.$slots,"home-features-after",{},void 0,!0),i(t).markdownStyles!==!1?(s(),k(En,{key:0},{default:d(()=>[_(r)]),_:1})):(s(),k(r,{key:1}))],2)}}}),Fn=g(Dn,[["__scopeId","data-v-fa531340"]]),On={},Gn={class:"VPPage"};function Un(e,t){const n=j("Content");return s(),u("div",Gn,[c(e.$slots,"page-top"),_(n),c(e.$slots,"page-bottom")])}const jn=g(On,[["render",Un]]),zn=p({__name:"VPContent",setup(e){const{page:t,frontmatter:n}=L(),{hasSidebar:a}=F();return(o,r)=>(s(),u("div",{class:N(["VPContent",{"has-sidebar":i(a),"is-home":i(n).layout==="home"}]),id:"VPContent"},[i(t).isNotFound?c(o.$slots,"not-found",{key:0},()=>[_(rt)],!0):i(n).layout==="page"?(s(),k(jn,{key:1},{"page-top":d(()=>[c(o.$slots,"page-top",{},void 0,!0)]),"page-bottom":d(()=>[c(o.$slots,"page-bottom",{},void 0,!0)]),_:3})):i(n).layout==="home"?(s(),k(Fn,{key:2},{"home-hero-before":d(()=>[c(o.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":d(()=>[c(o.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[c(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[c(o.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[c(o.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[c(o.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":d(()=>[c(o.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":d(()=>[c(o.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":d(()=>[c(o.$slots,"home-features-after",{},void 0,!0)]),_:3})):i(n).layout&&i(n).layout!=="doc"?(s(),k(B(i(n).layout),{key:3})):(s(),k(an,{key:4},{"doc-top":d(()=>[c(o.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":d(()=>[c(o.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":d(()=>[c(o.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":d(()=>[c(o.$slots,"doc-before",{},void 0,!0)]),"doc-after":d(()=>[c(o.$slots,"doc-after",{},void 0,!0)]),"aside-top":d(()=>[c(o.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":d(()=>[c(o.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[c(o.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[c(o.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[c(o.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":d(()=>[c(o.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),Rn=g(zn,[["__scopeId","data-v-c579e53f"]]),Wn={class:"container"},Kn=["innerHTML"],qn=["innerHTML"],Jn=p({__name:"VPFooter",setup(e){const{theme:t,frontmatter:n}=L(),{hasSidebar:a}=F();return(o,r)=>i(t).footer&&i(n).footer!==!1?(s(),u("footer",{key:0,class:N(["VPFooter",{"has-sidebar":i(a)}])},[v("div",Wn,[i(t).footer.message?(s(),u("p",{key:0,class:"message",innerHTML:i(t).footer.message},null,8,Kn)):m("",!0),i(t).footer.copyright?(s(),u("p",{key:1,class:"copyright",innerHTML:i(t).footer.copyright},null,8,qn)):m("",!0)])],2)):m("",!0)}}),Yn=g(Jn,[["__scopeId","data-v-68c1e039"]]);function Qn(){const{theme:e,frontmatter:t}=L(),n=Ve([]),a=$(()=>n.value.length>0);return Q(()=>{n.value=pe(t.value.outline??e.value.outline)}),{headers:n,hasLocalNav:a}}const Xn={class:"menu-text"},Zn={class:"header"},ea={class:"outline"},ta=p({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(e){const t=e,{theme:n}=L(),a=S(!1),o=S(0),r=S(),l=S();function f(b){var P;(P=r.value)!=null&&P.contains(b.target)||(a.value=!1)}D(a,b=>{if(b){document.addEventListener("click",f);return}document.removeEventListener("click",f)}),ie("Escape",()=>{a.value=!1}),Q(()=>{a.value=!1});function h(){a.value=!a.value,o.value=window.innerHeight+Math.min(window.scrollY-t.navHeight,0)}function y(b){b.target.classList.contains("outline-link")&&(l.value&&(l.value.style.transition="none"),he(()=>{a.value=!1}))}function V(){a.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(b,P)=>(s(),u("div",{class:"VPLocalNavOutlineDropdown",style:Te({"--vp-vh":o.value+"px"}),ref_key:"main",ref:r},[e.headers.length>0?(s(),u("button",{key:0,onClick:h,class:N({open:a.value})},[v("span",Xn,w(i(Me)(i(n))),1),P[0]||(P[0]=v("span",{class:"vpi-chevron-right icon"},null,-1))],2)):(s(),u("button",{key:1,onClick:V},w(i(n).returnToTopLabel||"Return to top"),1)),_(ue,{name:"flyout"},{default:d(()=>[a.value?(s(),u("div",{key:0,ref_key:"items",ref:l,class:"items",onClick:y},[v("div",Zn,[v("a",{class:"top-link",href:"#",onClick:V},w(i(n).returnToTopLabel||"Return to top"),1)]),v("div",ea,[_(Ae,{headers:e.headers},null,8,["headers"])])],512)):m("",!0)]),_:1})],4))}}),na=g(ta,[["__scopeId","data-v-738b57ed"]]),aa={class:"container"},oa=["aria-expanded"],sa={class:"menu-text"},ia=p({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(e){const{theme:t,frontmatter:n}=L(),{hasSidebar:a}=F(),{headers:o}=Qn(),{y:r}=Ne(),l=S(0);U(()=>{l.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),Q(()=>{o.value=pe(n.value.outline??t.value.outline)});const f=$(()=>o.value.length===0),h=$(()=>f.value&&!a.value),y=$(()=>({VPLocalNav:!0,"has-sidebar":a.value,empty:f.value,fixed:h.value}));return(V,b)=>i(n).layout!=="home"&&(!h.value||i(r)>=l.value)?(s(),u("div",{key:0,class:N(y.value)},[v("div",aa,[i(a)?(s(),u("button",{key:0,class:"menu","aria-expanded":e.open,"aria-controls":"VPSidebarNav",onClick:b[0]||(b[0]=P=>V.$emit("open-menu"))},[b[1]||(b[1]=v("span",{class:"vpi-align-left menu-icon"},null,-1)),v("span",sa,w(i(t).sidebarMenuLabel||"Menu"),1)],8,oa)):m("",!0),_(na,{headers:i(o),navHeight:l.value},null,8,["headers","navHeight"])])],2)):m("",!0)}}),ra=g(ia,[["__scopeId","data-v-4ce9bb74"]]);function la(){const e=S(!1);function t(){e.value=!0,window.addEventListener("resize",o)}function n(){e.value=!1,window.removeEventListener("resize",o)}function a(){e.value?n():t()}function o(){window.outerWidth>=768&&n()}const r=X();return D(()=>r.path,n),{isScreenOpen:e,openScreen:t,closeScreen:n,toggleScreen:a}}const ca={},ua={class:"VPSwitch",type:"button",role:"switch"},da={class:"check"},va={key:0,class:"icon"};function fa(e,t){return s(),u("button",ua,[v("span",da,[e.$slots.default?(s(),u("span",va,[c(e.$slots,"default",{},void 0,!0)])):m("",!0)])])}const ha=g(ca,[["render",fa],["__scopeId","data-v-af55b6f5"]]),ma=p({__name:"VPSwitchAppearance",setup(e){const{isDark:t,theme:n}=L(),a=Z("toggle-appearance",()=>{t.value=!t.value}),o=S("");return fe(()=>{o.value=t.value?n.value.lightModeSwitchTitle||"Switch to light theme":n.value.darkModeSwitchTitle||"Switch to dark theme"}),(r,l)=>(s(),k(ha,{title:o.value,class:"VPSwitchAppearance","aria-checked":i(t),onClick:i(a)},{default:d(()=>[...l[0]||(l[0]=[v("span",{class:"vpi-sun sun"},null,-1),v("span",{class:"vpi-moon moon"},null,-1)])]),_:1},8,["title","aria-checked","onClick"]))}}),_e=g(ma,[["__scopeId","data-v-96dc18b0"]]),pa={key:0,class:"VPNavBarAppearance"},_a=p({__name:"VPNavBarAppearance",setup(e){const{site:t}=L();return(n,a)=>i(t).appearance&&i(t).appearance!=="force-dark"&&i(t).appearance!=="force-auto"?(s(),u("div",pa,[_(_e)])):m("",!0)}}),ka=g(_a,[["__scopeId","data-v-91198fbd"]]),ke=S();let Ce=!1,oe=0;function ba(e){const t=S(!1);if(ee){!Ce&&ga(),oe++;const n=D(ke,a=>{var o,r,l;a===e.el.value||(o=e.el.value)!=null&&o.contains(a)?(t.value=!0,(r=e.onFocus)==null||r.call(e)):(t.value=!1,(l=e.onBlur)==null||l.call(e))});ve(()=>{n(),oe--,oe||$a()})}return Ue(t)}function ga(){document.addEventListener("focusin",He),Ce=!0,ke.value=document.activeElement}function $a(){document.removeEventListener("focusin",He)}function He(){ke.value=document.activeElement}const ya={class:"VPMenuLink"},Pa=["innerHTML"],La=p({__name:"VPMenuLink",props:{item:{}},setup(e){const{page:t}=L();return(n,a)=>(s(),u("div",ya,[_(E,{class:N({active:i(z)(i(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon},{default:d(()=>[v("span",{innerHTML:e.item.text},null,8,Pa)]),_:1},8,["class","href","target","rel","no-icon"])]))}}),te=g(La,[["__scopeId","data-v-ee8609e8"]]),Va={class:"VPMenuGroup"},Sa={key:0,class:"title"},Ta=p({__name:"VPMenuGroup",props:{text:{},items:{}},setup(e){return(t,n)=>(s(),u("div",Va,[e.text?(s(),u("p",Sa,w(e.text),1)):m("",!0),(s(!0),u(x,null,A(e.items,a=>(s(),u(x,null,["link"in a?(s(),k(te,{key:0,item:a},null,8,["item"])):m("",!0)],64))),256))]))}}),Na=g(Ta,[["__scopeId","data-v-955ba996"]]),wa={class:"VPMenu"},xa={key:0,class:"items"},Ia=p({__name:"VPMenu",props:{items:{}},setup(e){return(t,n)=>(s(),u("div",wa,[e.items?(s(),u("div",xa,[(s(!0),u(x,null,A(e.items,a=>(s(),u(x,{key:JSON.stringify(a)},["link"in a?(s(),k(te,{key:0,item:a},null,8,["item"])):"component"in a?(s(),k(B(a.component),G({key:1,ref_for:!0},a.props),null,16)):(s(),k(Na,{key:2,text:a.text,items:a.items},null,8,["text","items"]))],64))),128))])):m("",!0),c(t.$slots,"default",{},void 0,!0)]))}}),Ma=g(Ia,[["__scopeId","data-v-24f42a49"]]),Aa=["aria-expanded","aria-label"],Ca={key:0,class:"text"},Ha=["innerHTML"],Ba={key:1,class:"vpi-more-horizontal icon"},Ea={class:"menu"},Da=p({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(e){const t=S(!1),n=S();ba({el:n,onBlur:a});function a(){t.value=!1}return(o,r)=>(s(),u("div",{class:"VPFlyout",ref_key:"el",ref:n,onMouseenter:r[1]||(r[1]=l=>t.value=!0),onMouseleave:r[2]||(r[2]=l=>t.value=!1)},[v("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":t.value,"aria-label":e.label,onClick:r[0]||(r[0]=l=>t.value=!t.value)},[e.button||e.icon?(s(),u("span",Ca,[e.icon?(s(),u("span",{key:0,class:N([e.icon,"option-icon"])},null,2)):m("",!0),e.button?(s(),u("span",{key:1,innerHTML:e.button},null,8,Ha)):m("",!0),r[3]||(r[3]=v("span",{class:"vpi-chevron-down text-icon"},null,-1))])):(s(),u("span",Ba))],8,Aa),v("div",Ea,[_(Ma,{items:e.items},{default:d(()=>[c(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),be=g(Da,[["__scopeId","data-v-285b2faa"]]),Fa=["href","aria-label","innerHTML"],Oa=p({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(e){const t=e,n=S();U(async()=>{var r;await he();const o=(r=n.value)==null?void 0:r.children[0];o instanceof HTMLElement&&o.className.startsWith("vpi-social-")&&(getComputedStyle(o).maskImage||getComputedStyle(o).webkitMaskImage)==="none"&&o.style.setProperty("--icon",`url('https://api.iconify.design/simple-icons/${t.icon}.svg')`)});const a=$(()=>typeof t.icon=="object"?t.icon.svg:``);return(o,r)=>(s(),u("a",{ref_key:"el",ref:n,class:"VPSocialLink no-icon",href:e.link,"aria-label":e.ariaLabel??(typeof e.icon=="string"?e.icon:""),target:"_blank",rel:"noopener",innerHTML:a.value},null,8,Fa))}}),Ga=g(Oa,[["__scopeId","data-v-23724425"]]),Ua={class:"VPSocialLinks"},ja=p({__name:"VPSocialLinks",props:{links:{}},setup(e){return(t,n)=>(s(),u("div",Ua,[(s(!0),u(x,null,A(e.links,({link:a,icon:o,ariaLabel:r})=>(s(),k(Ga,{key:a,icon:o,link:a,ariaLabel:r},null,8,["icon","link","ariaLabel"]))),128))]))}}),ge=g(ja,[["__scopeId","data-v-6b729219"]]),za={key:0,class:"group translations"},Ra={class:"trans-title"},Wa={key:1,class:"group"},Ka={class:"item appearance"},qa={class:"label"},Ja={class:"appearance-action"},Ya={key:2,class:"group"},Qa={class:"item social-links"},Xa=p({__name:"VPNavBarExtra",setup(e){const{site:t,theme:n}=L(),{localeLinks:a,currentLang:o}=K({correspondingLink:!0}),r=$(()=>a.value.length&&o.value.label||t.value.appearance||n.value.socialLinks);return(l,f)=>r.value?(s(),k(be,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:d(()=>[i(a).length&&i(o).label?(s(),u("div",za,[v("p",Ra,w(i(o).label),1),(s(!0),u(x,null,A(i(a),h=>(s(),k(te,{key:h.link,item:h},null,8,["item"]))),128))])):m("",!0),i(t).appearance&&i(t).appearance!=="force-dark"&&i(t).appearance!=="force-auto"?(s(),u("div",Wa,[v("div",Ka,[v("p",qa,w(i(n).darkModeSwitchLabel||"Appearance"),1),v("div",Ja,[_(_e)])])])):m("",!0),i(n).socialLinks?(s(),u("div",Ya,[v("div",Qa,[_(ge,{class:"social-links-list",links:i(n).socialLinks},null,8,["links"])])])):m("",!0)]),_:1})):m("",!0)}}),Za=g(Xa,[["__scopeId","data-v-004eb55a"]]),eo=["aria-expanded"],to=p({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(e){return(t,n)=>(s(),u("button",{type:"button",class:N(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:n[0]||(n[0]=a=>t.$emit("click"))},[...n[1]||(n[1]=[v("span",{class:"container"},[v("span",{class:"top"}),v("span",{class:"middle"}),v("span",{class:"bottom"})],-1)])],10,eo))}}),no=g(to,[["__scopeId","data-v-6cb56071"]]),ao=["innerHTML"],oo=p({__name:"VPNavBarMenuLink",props:{item:{}},setup(e){const{page:t}=L();return(n,a)=>(s(),k(E,{class:N({VPNavBarMenuLink:!0,active:i(z)(i(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,tabindex:"0"},{default:d(()=>[v("span",{innerHTML:e.item.text},null,8,ao)]),_:1},8,["class","href","target","rel","no-icon"]))}}),so=g(oo,[["__scopeId","data-v-9e40fde3"]]),io=p({__name:"VPNavBarMenuGroup",props:{item:{}},setup(e){const t=e,{page:n}=L(),a=r=>"component"in r?!1:"link"in r?z(n.value.relativePath,r.link,!!t.item.activeMatch):r.items.some(a),o=$(()=>a(t.item));return(r,l)=>(s(),k(be,{class:N({VPNavBarMenuGroup:!0,active:i(z)(i(n).relativePath,e.item.activeMatch,!!e.item.activeMatch)||o.value}),button:e.item.text,items:e.item.items},null,8,["class","button","items"]))}}),ro={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},lo=p({__name:"VPNavBarMenu",setup(e){const{theme:t}=L();return(n,a)=>i(t).nav?(s(),u("nav",ro,[a[0]||(a[0]=v("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),(s(!0),u(x,null,A(i(t).nav,o=>(s(),u(x,{key:JSON.stringify(o)},["link"in o?(s(),k(so,{key:0,item:o},null,8,["item"])):"component"in o?(s(),k(B(o.component),G({key:1,ref_for:!0},o.props),null,16)):(s(),k(io,{key:2,item:o},null,8,["item"]))],64))),128))])):m("",!0)}}),co=g(lo,[["__scopeId","data-v-99746fcc"]]);function uo(e){const{localeIndex:t,theme:n}=L();function a(o){var I,M,C;const r=o.split("."),l=(I=n.value.search)==null?void 0:I.options,f=l&&typeof l=="object",h=f&&((C=(M=l.locales)==null?void 0:M[t.value])==null?void 0:C.translations)||null,y=f&&l.translations||null;let V=h,b=y,P=e;const T=r.pop();for(const H of r){let O=null;const R=P==null?void 0:P[H];R&&(O=P=R);const ne=b==null?void 0:b[H];ne&&(O=b=ne);const ae=V==null?void 0:V[H];ae&&(O=V=ae),R||(P=O),ne||(b=O),ae||(V=O)}return(V==null?void 0:V[T])??(b==null?void 0:b[T])??(P==null?void 0:P[T])??""}return a}const vo=["aria-label"],fo={class:"DocSearch-Button-Container"},ho={class:"DocSearch-Button-Placeholder"},ye=p({__name:"VPNavBarSearchButton",setup(e){const n=uo({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(a,o)=>(s(),u("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":i(n)("button.buttonAriaLabel")},[v("span",fo,[o[0]||(o[0]=v("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1)),v("span",ho,w(i(n)("button.buttonText")),1)]),o[1]||(o[1]=v("span",{class:"DocSearch-Button-Keys"},[v("kbd",{class:"DocSearch-Button-Key"}),v("kbd",{class:"DocSearch-Button-Key"},"K")],-1))],8,vo))}}),mo={class:"VPNavBarSearch"},po={id:"local-search"},_o={key:1,id:"docsearch"},ko=p({__name:"VPNavBarSearch",setup(e){const t=je(()=>Pe(()=>import("./VPLocalSearchBox.Bqzt4G3A.js"),__vite__mapDeps([0,1]))),n=()=>null,{theme:a}=L(),o=S(!1),r=S(!1);U(()=>{});function l(){o.value||(o.value=!0,setTimeout(f,16))}function f(){const b=new Event("keydown");b.key="k",b.metaKey=!0,window.dispatchEvent(b),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||f()},16)}function h(b){const P=b.target,T=P.tagName;return P.isContentEditable||T==="INPUT"||T==="SELECT"||T==="TEXTAREA"}const y=S(!1);ie("k",b=>{(b.ctrlKey||b.metaKey)&&(b.preventDefault(),y.value=!0)}),ie("/",b=>{h(b)||(b.preventDefault(),y.value=!0)});const V="local";return(b,P)=>{var T;return s(),u("div",mo,[i(V)==="local"?(s(),u(x,{key:0},[y.value?(s(),k(i(t),{key:0,onClose:P[0]||(P[0]=I=>y.value=!1)})):m("",!0),v("div",po,[_(ye,{onClick:P[1]||(P[1]=I=>y.value=!0)})])],64)):i(V)==="algolia"?(s(),u(x,{key:1},[o.value?(s(),k(i(n),{key:0,algolia:((T=i(a).search)==null?void 0:T.options)??i(a).algolia,onVnodeBeforeMount:P[2]||(P[2]=I=>r.value=!0)},null,8,["algolia"])):m("",!0),r.value?m("",!0):(s(),u("div",_o,[_(ye,{onClick:l})]))],64)):m("",!0)])}}}),bo=p({__name:"VPNavBarSocialLinks",setup(e){const{theme:t}=L();return(n,a)=>i(t).socialLinks?(s(),k(ge,{key:0,class:"VPNavBarSocialLinks",links:i(t).socialLinks},null,8,["links"])):m("",!0)}}),go=g(bo,[["__scopeId","data-v-c400217c"]]),$o=["href","rel","target"],yo=["innerHTML"],Po={key:2},Lo=p({__name:"VPNavBarTitle",setup(e){const{site:t,theme:n}=L(),{hasSidebar:a}=F(),{currentLang:o}=K(),r=$(()=>{var h;return typeof n.value.logoLink=="string"?n.value.logoLink:(h=n.value.logoLink)==null?void 0:h.link}),l=$(()=>{var h;return typeof n.value.logoLink=="string"||(h=n.value.logoLink)==null?void 0:h.rel}),f=$(()=>{var h;return typeof n.value.logoLink=="string"||(h=n.value.logoLink)==null?void 0:h.target});return(h,y)=>(s(),u("div",{class:N(["VPNavBarTitle",{"has-sidebar":i(a)}])},[v("a",{class:"title",href:r.value??i(me)(i(o).link),rel:l.value,target:f.value},[c(h.$slots,"nav-bar-title-before",{},void 0,!0),i(n).logo?(s(),k(J,{key:0,class:"logo",image:i(n).logo},null,8,["image"])):m("",!0),i(n).siteTitle?(s(),u("span",{key:1,innerHTML:i(n).siteTitle},null,8,yo)):i(n).siteTitle===void 0?(s(),u("span",Po,w(i(t).title),1)):m("",!0),c(h.$slots,"nav-bar-title-after",{},void 0,!0)],8,$o)],2))}}),Vo=g(Lo,[["__scopeId","data-v-a2fbc7ad"]]),So={class:"items"},To={class:"title"},No=p({__name:"VPNavBarTranslations",setup(e){const{theme:t}=L(),{localeLinks:n,currentLang:a}=K({correspondingLink:!0});return(o,r)=>i(n).length&&i(a).label?(s(),k(be,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:i(t).langMenuLabel||"Change language"},{default:d(()=>[v("div",So,[v("p",To,w(i(a).label),1),(s(!0),u(x,null,A(i(n),l=>(s(),k(te,{key:l.link,item:l},null,8,["item"]))),128))])]),_:1},8,["label"])):m("",!0)}}),wo=g(No,[["__scopeId","data-v-e9189691"]]),xo={class:"wrapper"},Io={class:"container"},Mo={class:"title"},Ao={class:"content"},Co={class:"content-body"},Ho=p({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(e){const t=e,{y:n}=Ne(),{hasSidebar:a}=F(),{frontmatter:o}=L(),r=S({});return fe(()=>{r.value={"has-sidebar":a.value,home:o.value.layout==="home",top:n.value===0,"screen-open":t.isScreenOpen}}),(l,f)=>(s(),u("div",{class:N(["VPNavBar",r.value])},[v("div",xo,[v("div",Io,[v("div",Mo,[_(Vo,null,{"nav-bar-title-before":d(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),v("div",Ao,[v("div",Co,[c(l.$slots,"nav-bar-content-before",{},void 0,!0),_(ko,{class:"search"}),_(co,{class:"menu"}),_(wo,{class:"translations"}),_(ka,{class:"appearance"}),_(go,{class:"social-links"}),_(Za,{class:"extra"}),c(l.$slots,"nav-bar-content-after",{},void 0,!0),_(no,{class:"hamburger",active:e.isScreenOpen,onClick:f[0]||(f[0]=h=>l.$emit("toggle-screen"))},null,8,["active"])])])])]),f[1]||(f[1]=v("div",{class:"divider"},[v("div",{class:"divider-line"})],-1))],2))}}),Bo=g(Ho,[["__scopeId","data-v-15561152"]]),Eo={key:0,class:"VPNavScreenAppearance"},Do={class:"text"},Fo=p({__name:"VPNavScreenAppearance",setup(e){const{site:t,theme:n}=L();return(a,o)=>i(t).appearance&&i(t).appearance!=="force-dark"&&i(t).appearance!=="force-auto"?(s(),u("div",Eo,[v("p",Do,w(i(n).darkModeSwitchLabel||"Appearance"),1),_(_e)])):m("",!0)}}),Oo=g(Fo,[["__scopeId","data-v-7b920a6d"]]),Go=["innerHTML"],Uo=p({__name:"VPNavScreenMenuLink",props:{item:{}},setup(e){const t=Z("close-screen");return(n,a)=>(s(),k(E,{class:"VPNavScreenMenuLink",href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,onClick:i(t)},{default:d(()=>[v("span",{innerHTML:e.item.text},null,8,Go)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),jo=g(Uo,[["__scopeId","data-v-6971ce83"]]),zo=["innerHTML"],Ro=p({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(e){const t=Z("close-screen");return(n,a)=>(s(),k(E,{class:"VPNavScreenMenuGroupLink",href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,onClick:i(t)},{default:d(()=>[v("span",{innerHTML:e.item.text},null,8,zo)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),Be=g(Ro,[["__scopeId","data-v-d1561e89"]]),Wo={class:"VPNavScreenMenuGroupSection"},Ko={key:0,class:"title"},qo=p({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(e){return(t,n)=>(s(),u("div",Wo,[e.text?(s(),u("p",Ko,w(e.text),1)):m("",!0),(s(!0),u(x,null,A(e.items,a=>(s(),k(Be,{key:a.text,item:a},null,8,["item"]))),128))]))}}),Jo=g(qo,[["__scopeId","data-v-275bc6cf"]]),Yo=["aria-controls","aria-expanded"],Qo=["innerHTML"],Xo=["id"],Zo={key:0,class:"item"},es={key:1,class:"item"},ts={key:2,class:"group"},ns=p({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(e){const t=e,n=S(!1),a=$(()=>`NavScreenGroup-${t.text.replace(" ","-").toLowerCase()}`);function o(){n.value=!n.value}return(r,l)=>(s(),u("div",{class:N(["VPNavScreenMenuGroup",{open:n.value}])},[v("button",{class:"button","aria-controls":a.value,"aria-expanded":n.value,onClick:o},[v("span",{class:"button-text",innerHTML:e.text},null,8,Qo),l[0]||(l[0]=v("span",{class:"vpi-plus button-icon"},null,-1))],8,Yo),v("div",{id:a.value,class:"items"},[(s(!0),u(x,null,A(e.items,f=>(s(),u(x,{key:JSON.stringify(f)},["link"in f?(s(),u("div",Zo,[_(Be,{item:f},null,8,["item"])])):"component"in f?(s(),u("div",es,[(s(),k(B(f.component),G({ref_for:!0},f.props,{"screen-menu":""}),null,16))])):(s(),u("div",ts,[_(Jo,{text:f.text,items:f.items},null,8,["text","items"])]))],64))),128))],8,Xo)],2))}}),as=g(ns,[["__scopeId","data-v-b98b6afe"]]),os={key:0,class:"VPNavScreenMenu"},ss=p({__name:"VPNavScreenMenu",setup(e){const{theme:t}=L();return(n,a)=>i(t).nav?(s(),u("nav",os,[(s(!0),u(x,null,A(i(t).nav,o=>(s(),u(x,{key:JSON.stringify(o)},["link"in o?(s(),k(jo,{key:0,item:o},null,8,["item"])):"component"in o?(s(),k(B(o.component),G({key:1,ref_for:!0},o.props,{"screen-menu":""}),null,16)):(s(),k(as,{key:2,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):m("",!0)}}),is=p({__name:"VPNavScreenSocialLinks",setup(e){const{theme:t}=L();return(n,a)=>i(t).socialLinks?(s(),k(ge,{key:0,class:"VPNavScreenSocialLinks",links:i(t).socialLinks},null,8,["links"])):m("",!0)}}),rs={class:"list"},ls=p({__name:"VPNavScreenTranslations",setup(e){const{localeLinks:t,currentLang:n}=K({correspondingLink:!0}),a=S(!1);function o(){a.value=!a.value}return(r,l)=>i(t).length&&i(n).label?(s(),u("div",{key:0,class:N(["VPNavScreenTranslations",{open:a.value}])},[v("button",{class:"title",onClick:o},[l[0]||(l[0]=v("span",{class:"vpi-languages icon lang"},null,-1)),W(" "+w(i(n).label)+" ",1),l[1]||(l[1]=v("span",{class:"vpi-chevron-down icon chevron"},null,-1))]),v("ul",rs,[(s(!0),u(x,null,A(i(t),f=>(s(),u("li",{key:f.link,class:"item"},[_(E,{class:"link",href:f.link},{default:d(()=>[W(w(f.text),1)]),_:2},1032,["href"])]))),128))])],2)):m("",!0)}}),cs=g(ls,[["__scopeId","data-v-6d2879d8"]]),us={class:"container"},ds=p({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(e){const t=S(null),n=we(ee?document.body:null);return(a,o)=>(s(),k(ue,{name:"fade",onEnter:o[0]||(o[0]=r=>n.value=!0),onAfterLeave:o[1]||(o[1]=r=>n.value=!1)},{default:d(()=>[e.open?(s(),u("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:t,id:"VPNavScreen"},[v("div",us,[c(a.$slots,"nav-screen-content-before",{},void 0,!0),_(ss,{class:"menu"}),_(cs,{class:"translations"}),_(Oo,{class:"appearance"}),_(is,{class:"social-links"}),c(a.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):m("",!0)]),_:3}))}}),vs=g(ds,[["__scopeId","data-v-0ae9092a"]]),fs={key:0,class:"VPNav"},hs=p({__name:"VPNav",setup(e){const{isScreenOpen:t,closeScreen:n,toggleScreen:a}=la(),{frontmatter:o}=L(),r=$(()=>o.value.navbar!==!1);return xe("close-screen",n),Y(()=>{ee&&document.documentElement.classList.toggle("hide-nav",!r.value)}),(l,f)=>r.value?(s(),u("header",fs,[_(Bo,{"is-screen-open":i(t),onToggleScreen:i(a)},{"nav-bar-title-before":d(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":d(()=>[c(l.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":d(()=>[c(l.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),_(vs,{open:i(t)},{"nav-screen-content-before":d(()=>[c(l.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":d(()=>[c(l.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):m("",!0)}}),ms=g(hs,[["__scopeId","data-v-9360ad77"]]),ps=["role","tabindex"],_s={key:1,class:"items"},ks=p({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(e){const t=e,{collapsed:n,collapsible:a,isLink:o,isActiveLink:r,hasActiveLink:l,hasChildren:f,toggle:h}=dt($(()=>t.item)),y=$(()=>f.value?"section":"div"),V=$(()=>o.value?"a":"div"),b=$(()=>f.value?t.depth+2===7?"p":`h${t.depth+2}`:"p"),P=$(()=>o.value?void 0:"button"),T=$(()=>[[`level-${t.depth}`],{collapsible:a.value},{collapsed:n.value},{"is-link":o.value},{"is-active":r.value},{"has-active":l.value}]);function I(C){"key"in C&&C.key!=="Enter"||!t.item.link&&h()}function M(){t.item.link&&h()}return(C,H)=>{const O=j("VPSidebarItem",!0);return s(),k(B(y.value),{class:N(["VPSidebarItem",T.value])},{default:d(()=>[e.item.text?(s(),u("div",G({key:0,class:"item",role:P.value},ze(e.item.items?{click:I,keydown:I}:{},!0),{tabindex:e.item.items&&0}),[H[1]||(H[1]=v("div",{class:"indicator"},null,-1)),e.item.link?(s(),k(E,{key:0,tag:V.value,class:"link",href:e.item.link,rel:e.item.rel,target:e.item.target},{default:d(()=>[(s(),k(B(b.value),{class:"text",innerHTML:e.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(s(),k(B(b.value),{key:1,class:"text",innerHTML:e.item.text},null,8,["innerHTML"])),e.item.collapsed!=null&&e.item.items&&e.item.items.length?(s(),u("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:M,onKeydown:Re(M,["enter"]),tabindex:"0"},[...H[0]||(H[0]=[v("span",{class:"vpi-chevron-right caret-icon"},null,-1)])],32)):m("",!0)],16,ps)):m("",!0),e.item.items&&e.item.items.length?(s(),u("div",_s,[e.depth<5?(s(!0),u(x,{key:0},A(e.item.items,R=>(s(),k(O,{key:R.text,item:R,depth:e.depth+1},null,8,["item","depth"]))),128)):m("",!0)])):m("",!0)]),_:1},8,["class"])}}}),bs=g(ks,[["__scopeId","data-v-1b943b56"]]),gs=p({__name:"VPSidebarGroup",props:{items:{}},setup(e){const t=S(!0);let n=null;return U(()=>{n=setTimeout(()=>{n=null,t.value=!1},300)}),We(()=>{n!=null&&(clearTimeout(n),n=null)}),(a,o)=>(s(!0),u(x,null,A(e.items,r=>(s(),u("div",{key:r.text,class:N(["group",{"no-transition":t.value}])},[_(bs,{item:r,depth:0},null,8,["item"])],2))),128))}}),$s=g(gs,[["__scopeId","data-v-a5751e5d"]]),ys={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Ps=p({__name:"VPSidebar",props:{open:{type:Boolean}},setup(e){const{sidebarGroups:t,hasSidebar:n}=F(),a=e,o=S(null),r=we(ee?document.body:null);D([a,o],()=>{var f;a.open?(r.value=!0,(f=o.value)==null||f.focus()):r.value=!1},{immediate:!0,flush:"post"});const l=S(0);return D(t,()=>{l.value+=1},{deep:!0}),(f,h)=>i(n)?(s(),u("aside",{key:0,class:N(["VPSidebar",{open:e.open}]),ref_key:"navEl",ref:o,onClick:h[0]||(h[0]=Ke(()=>{},["stop"]))},[h[2]||(h[2]=v("div",{class:"curtain"},null,-1)),v("nav",ys,[h[1]||(h[1]=v("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),c(f.$slots,"sidebar-nav-before",{},void 0,!0),(s(),k($s,{items:i(t),key:l.value},null,8,["items"])),c(f.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):m("",!0)}}),Ls=g(Ps,[["__scopeId","data-v-6b2e73dd"]]),Vs=p({__name:"VPSkipLink",setup(e){const{theme:t}=L(),n=X(),a=S();D(()=>n.path,()=>a.value.focus());function o({target:r}){const l=document.getElementById(decodeURIComponent(r.hash).slice(1));if(l){const f=()=>{l.removeAttribute("tabindex"),l.removeEventListener("blur",f)};l.setAttribute("tabindex","-1"),l.addEventListener("blur",f),l.focus(),window.scrollTo(0,0)}}return(r,l)=>(s(),u(x,null,[v("span",{ref_key:"backToTop",ref:a,tabindex:"-1"},null,512),v("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:o},w(i(t).skipToContentLabel||"Skip to content"),1)],64))}}),Ss=g(Vs,[["__scopeId","data-v-24a4436d"]]),Ts=p({__name:"Layout",setup(e){const{isOpen:t,open:n,close:a}=F(),o=X();D(()=>o.path,a),ut(t,a);const{frontmatter:r}=L(),l=qe(),f=$(()=>!!l["home-hero-image"]);return xe("hero-image-slot-exists",f),(h,y)=>{const V=j("Content");return i(r).layout!==!1?(s(),u("div",{key:0,class:N(["Layout",i(r).pageClass])},[c(h.$slots,"layout-top",{},void 0,!0),_(Ss),_(Qe,{class:"backdrop",show:i(t),onClick:i(a)},null,8,["show","onClick"]),_(ms,null,{"nav-bar-title-before":d(()=>[c(h.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[c(h.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":d(()=>[c(h.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":d(()=>[c(h.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":d(()=>[c(h.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":d(()=>[c(h.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),_(ra,{open:i(t),onOpenMenu:i(n)},null,8,["open","onOpenMenu"]),_(Ls,{open:i(t)},{"sidebar-nav-before":d(()=>[c(h.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":d(()=>[c(h.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),_(Rn,null,{"page-top":d(()=>[c(h.$slots,"page-top",{},void 0,!0)]),"page-bottom":d(()=>[c(h.$slots,"page-bottom",{},void 0,!0)]),"not-found":d(()=>[c(h.$slots,"not-found",{},void 0,!0)]),"home-hero-before":d(()=>[c(h.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":d(()=>[c(h.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[c(h.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[c(h.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[c(h.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[c(h.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":d(()=>[c(h.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":d(()=>[c(h.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":d(()=>[c(h.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":d(()=>[c(h.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":d(()=>[c(h.$slots,"doc-before",{},void 0,!0)]),"doc-after":d(()=>[c(h.$slots,"doc-after",{},void 0,!0)]),"doc-top":d(()=>[c(h.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":d(()=>[c(h.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":d(()=>[c(h.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":d(()=>[c(h.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":d(()=>[c(h.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[c(h.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[c(h.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[c(h.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),_(Yn),c(h.$slots,"layout-bottom",{},void 0,!0)],2)):(s(),k(V,{key:1}))}}}),Ns=g(Ts,[["__scopeId","data-v-76254180"]]),ws={Layout:Ns},xs={style:{"margin-top":"72px"}},Is={__name:"index",setup(e){const{page:t}=Le(),n=$(()=>t.value.relativePath);D(n,a,{immediate:!0});async function a(){await he();try{(window.adsbygoogle=window.adsbygoogle||[]).push({}),console.log("adsbygoogle loaded")}catch(o){console.warn("adsbygoogle error:",o)}}return(o,r)=>(s(),u("div",xs,[(s(),u("ins",{key:n.value,class:"adsbygoogle",style:{display:"block"},"data-ad-client":"ca-pub-5328953201873088","data-ad-slot":"9903011682","data-ad-format":"auto","data-full-width-responsive":"true"}))]))}},Ms={__name:"Layout",setup(e){const{Layout:t}=ws;return(n,a)=>{const o=j("ClientOnly");return s(),k(i(t),{class:""},{"aside-ads-before":d(()=>[_(o,null,{default:d(()=>[_(Is)]),_:1})]),_:1})}}},Cs={Layout:Ms,enhanceApp({app:e,router:t,siteData:n}){}};export{Cs as R,uo as c,L as u}; diff --git a/assets/contact.md.KkYa3uax.js b/assets/contact.md.CdNfNi2K.js similarity index 90% rename from assets/contact.md.KkYa3uax.js rename to assets/contact.md.CdNfNi2K.js index 7edbc71b7..5fd181072 100644 --- a/assets/contact.md.KkYa3uax.js +++ b/assets/contact.md.CdNfNi2K.js @@ -1 +1 @@ -import{e as l,o as n,a as o,h as t,J as e}from"./chunks/framework.DCs21iJA.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"contact.md","filePath":"en/contact.md","lastUpdated":1772158243000}'),r={name:"contact.md"};function s(c,a,i,d,m,u){return n(),o("div",null,[...a[0]||(a[0]=[t("ul",null,[t("li",null,[e("Email: "),t("strong",null,[t("a",{href:"mailto:viarotel@qq.com",target:"_blank",rel:"noreferrer"},"viarotel@qq.com")])]),t("li",null,[e("WeChat: "),t("strong",null,"viarotel")]),t("li",null,[e("QQ: "),t("strong",null,"523469508")])],-1)])])}const _=l(r,[["render",s]]);export{f as __pageData,_ as default}; +import{e as l,o as n,a as o,h as t,J as e}from"./chunks/framework.DCs21iJA.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"contact.md","filePath":"en/contact.md","lastUpdated":1772158834000}'),r={name:"contact.md"};function s(c,a,i,d,m,u){return n(),o("div",null,[...a[0]||(a[0]=[t("ul",null,[t("li",null,[e("Email: "),t("strong",null,[t("a",{href:"mailto:viarotel@qq.com",target:"_blank",rel:"noreferrer"},"viarotel@qq.com")])]),t("li",null,[e("WeChat: "),t("strong",null,"viarotel")]),t("li",null,[e("QQ: "),t("strong",null,"523469508")])],-1)])])}const _=l(r,[["render",s]]);export{f as __pageData,_ as default}; diff --git a/assets/contact.md.KkYa3uax.lean.js b/assets/contact.md.CdNfNi2K.lean.js similarity index 90% rename from assets/contact.md.KkYa3uax.lean.js rename to assets/contact.md.CdNfNi2K.lean.js index 7edbc71b7..5fd181072 100644 --- a/assets/contact.md.KkYa3uax.lean.js +++ b/assets/contact.md.CdNfNi2K.lean.js @@ -1 +1 @@ -import{e as l,o as n,a as o,h as t,J as e}from"./chunks/framework.DCs21iJA.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"contact.md","filePath":"en/contact.md","lastUpdated":1772158243000}'),r={name:"contact.md"};function s(c,a,i,d,m,u){return n(),o("div",null,[...a[0]||(a[0]=[t("ul",null,[t("li",null,[e("Email: "),t("strong",null,[t("a",{href:"mailto:viarotel@qq.com",target:"_blank",rel:"noreferrer"},"viarotel@qq.com")])]),t("li",null,[e("WeChat: "),t("strong",null,"viarotel")]),t("li",null,[e("QQ: "),t("strong",null,"523469508")])],-1)])])}const _=l(r,[["render",s]]);export{f as __pageData,_ as default}; +import{e as l,o as n,a as o,h as t,J as e}from"./chunks/framework.DCs21iJA.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"contact.md","filePath":"en/contact.md","lastUpdated":1772158834000}'),r={name:"contact.md"};function s(c,a,i,d,m,u){return n(),o("div",null,[...a[0]||(a[0]=[t("ul",null,[t("li",null,[e("Email: "),t("strong",null,[t("a",{href:"mailto:viarotel@qq.com",target:"_blank",rel:"noreferrer"},"viarotel@qq.com")])]),t("li",null,[e("WeChat: "),t("strong",null,"viarotel")]),t("li",null,[e("QQ: "),t("strong",null,"523469508")])],-1)])])}const _=l(r,[["render",s]]);export{f as __pageData,_ as default}; diff --git a/assets/donate.md.BBx_C-dc.js b/assets/donate.md.CCPIfTmG.js similarity index 95% rename from assets/donate.md.BBx_C-dc.js rename to assets/donate.md.CCPIfTmG.js index c80d9c0fa..834214430 100644 --- a/assets/donate.md.BBx_C-dc.js +++ b/assets/donate.md.CCPIfTmG.js @@ -1 +1 @@ -import{e as t,o as a,a as r,ag as o}from"./chunks/framework.DCs21iJA.js";const _=JSON.parse('{"title":"Donate Project ♥️","description":"","frontmatter":{},"headers":[],"relativePath":"donate.md","filePath":"en/donate.md","lastUpdated":1772158243000}'),l={name:"donate.md"};function n(s,e,i,p,d,c){return a(),r("div",null,[...e[0]||(e[0]=[o('

Donate Project ♥️

If this project has helped you, you can buy me a coffee to keep me energized and improving the project! 😛

viarotel-wepayviarotel-alipayviarotel-paypal
',3)])])}const f=t(l,[["render",n]]);export{_ as __pageData,f as default}; +import{e as t,o as a,a as r,ag as o}from"./chunks/framework.DCs21iJA.js";const _=JSON.parse('{"title":"Donate Project ♥️","description":"","frontmatter":{},"headers":[],"relativePath":"donate.md","filePath":"en/donate.md","lastUpdated":1772158834000}'),l={name:"donate.md"};function n(s,e,i,p,d,c){return a(),r("div",null,[...e[0]||(e[0]=[o('

Donate Project ♥️

If this project has helped you, you can buy me a coffee to keep me energized and improving the project! 😛

viarotel-wepayviarotel-alipayviarotel-paypal
',3)])])}const f=t(l,[["render",n]]);export{_ as __pageData,f as default}; diff --git a/assets/donate.md.BBx_C-dc.lean.js b/assets/donate.md.CCPIfTmG.lean.js similarity index 84% rename from assets/donate.md.BBx_C-dc.lean.js rename to assets/donate.md.CCPIfTmG.lean.js index dd4b887d3..d573a196e 100644 --- a/assets/donate.md.BBx_C-dc.lean.js +++ b/assets/donate.md.CCPIfTmG.lean.js @@ -1 +1 @@ -import{e as t,o as a,a as r,ag as o}from"./chunks/framework.DCs21iJA.js";const _=JSON.parse('{"title":"Donate Project ♥️","description":"","frontmatter":{},"headers":[],"relativePath":"donate.md","filePath":"en/donate.md","lastUpdated":1772158243000}'),l={name:"donate.md"};function n(s,e,i,p,d,c){return a(),r("div",null,[...e[0]||(e[0]=[o("",3)])])}const f=t(l,[["render",n]]);export{_ as __pageData,f as default}; +import{e as t,o as a,a as r,ag as o}from"./chunks/framework.DCs21iJA.js";const _=JSON.parse('{"title":"Donate Project ♥️","description":"","frontmatter":{},"headers":[],"relativePath":"donate.md","filePath":"en/donate.md","lastUpdated":1772158834000}'),l={name:"donate.md"};function n(s,e,i,p,d,c){return a(),r("div",null,[...e[0]||(e[0]=[o("",3)])])}const f=t(l,[["render",n]]);export{_ as __pageData,f as default}; diff --git a/assets/guide_index.md.jY287bOo.js b/assets/guide_index.md.wdofpXIV.js similarity index 98% rename from assets/guide_index.md.jY287bOo.js rename to assets/guide_index.md.wdofpXIV.js index dd2e587be..312b877e4 100644 --- a/assets/guide_index.md.jY287bOo.js +++ b/assets/guide_index.md.wdofpXIV.js @@ -1 +1 @@ -import{e as i,o as a,a as r,ag as o}from"./chunks/framework.DCs21iJA.js";const h=JSON.parse('{"title":"Guide","description":"","frontmatter":{"title":"Guide"},"headers":[],"relativePath":"guide/index.md","filePath":"en/guide/index.md","lastUpdated":1772158243000}'),t={name:"guide/index.md"};function n(l,e,s,c,d,p){return a(),r("div",null,[...e[0]||(e[0]=[o('

Escrcpy: A Graphical Android Device Control Tool Based on Electron

What is Escrcpy?

Escrcpy is a graphical Android device control tool developed based on Electron. Built upon the renowned open-source project Scrcpy, it provides users with a more user-friendly and feature-rich graphical interface. With Escrcpy, users can easily display and control Android devices on their computers, enjoying a high-definition, low-latency screen mirroring experience.

Core Features

Efficient and Stable Screen Mirroring

  • ⚡️ High Performance: Supports 30-120 fps (depending on device capability)
  • 🌟 High Quality: Supports 1920×1080 or higher resolution display
  • 🕒 Low Latency: Only 35~70 milliseconds of delay
  • 🚀 Fast Startup: Displays the first frame in about 1 second

Rich Functional Features

  • 📡 Wireless Connection: Supports quick device connection via QR code scanning
  • 🤖 Automation: Auto-connect devices, auto-execute mirroring, custom scripts, and scheduled tasks
  • 💡 Highly Customizable: Multi-device management, independent configurations, custom notes, config import/export
  • 🖥️ Window Arrangement: Visual multi-device window layout management with drag-and-drop position and size adjustment
  • 🔗 Reverse Tethering: Built-in Gnirehtet reverse tethering functionality
  • 🎨 Theme Switching: Supports light/dark modes, automatically switches with the system

Optimized User Experience

  • 😎 Lightweight: Native support, displays only the device screen
  • 🙅‍♂️ No Residue: Leaves no traces on Android devices
  • 🤩 Pure Experience: No account required, no ads, no internet needed
  • 🗽 Completely Free and Open Source

Use Cases

Escrcpy is ideal for the following scenarios:

  1. Developers debugging Android apps on their computers
  2. Gamers playing mobile games on larger screens
  3. Users needing to record mobile screen content
  4. Situations requiring phone operation on a computer for work
  5. Demonstrating phone operations during teaching sessions

Cross-Platform Support

Escrcpy supports major operating systems:

  • Windows
  • macOS
  • Linux

Technical Advantages

As the graphical interface version of Scrcpy, Escrcpy retains all the advantages of Scrcpy while adding:

  • A more intuitive device management interface
  • More convenient connection methods
  • Richer customization options
  • More comprehensive batch operation features

Future Development

The project team continues to improve Escrcpy, with future plans including:

  • Enhancing the way mirror window position and size are set
  • Optimizing the batch device connection experience
  • Developing a graphical script editing tool

How to use

Escrcpy is a completely free and open-source project. Please refer to the specific usage:

Get Started 👉

Conclusion

Escrcpy brings a modern graphical interface and enhanced features to Scrcpy, making Android device control simpler and more efficient. Whether you're a developer or an average user, Escrcpy can provide an outstanding device control experience. Its open-source and free nature also allows more people to use this excellent tool without hesitation.

If you're looking for a powerful, user-friendly Android device control tool, Escrcpy is definitely worth trying!

',28)])])}const m=i(t,[["render",n]]);export{h as __pageData,m as default}; +import{e as i,o as a,a as r,ag as o}from"./chunks/framework.DCs21iJA.js";const h=JSON.parse('{"title":"Guide","description":"","frontmatter":{"title":"Guide"},"headers":[],"relativePath":"guide/index.md","filePath":"en/guide/index.md","lastUpdated":1772158834000}'),t={name:"guide/index.md"};function n(l,e,s,c,d,p){return a(),r("div",null,[...e[0]||(e[0]=[o('

Escrcpy: A Graphical Android Device Control Tool Based on Electron

What is Escrcpy?

Escrcpy is a graphical Android device control tool developed based on Electron. Built upon the renowned open-source project Scrcpy, it provides users with a more user-friendly and feature-rich graphical interface. With Escrcpy, users can easily display and control Android devices on their computers, enjoying a high-definition, low-latency screen mirroring experience.

Core Features

Efficient and Stable Screen Mirroring

  • ⚡️ High Performance: Supports 30-120 fps (depending on device capability)
  • 🌟 High Quality: Supports 1920×1080 or higher resolution display
  • 🕒 Low Latency: Only 35~70 milliseconds of delay
  • 🚀 Fast Startup: Displays the first frame in about 1 second

Rich Functional Features

  • 📡 Wireless Connection: Supports quick device connection via QR code scanning
  • 🤖 Automation: Auto-connect devices, auto-execute mirroring, custom scripts, and scheduled tasks
  • 💡 Highly Customizable: Multi-device management, independent configurations, custom notes, config import/export
  • 🖥️ Window Arrangement: Visual multi-device window layout management with drag-and-drop position and size adjustment
  • 🔗 Reverse Tethering: Built-in Gnirehtet reverse tethering functionality
  • 🎨 Theme Switching: Supports light/dark modes, automatically switches with the system

Optimized User Experience

  • 😎 Lightweight: Native support, displays only the device screen
  • 🙅‍♂️ No Residue: Leaves no traces on Android devices
  • 🤩 Pure Experience: No account required, no ads, no internet needed
  • 🗽 Completely Free and Open Source

Use Cases

Escrcpy is ideal for the following scenarios:

  1. Developers debugging Android apps on their computers
  2. Gamers playing mobile games on larger screens
  3. Users needing to record mobile screen content
  4. Situations requiring phone operation on a computer for work
  5. Demonstrating phone operations during teaching sessions

Cross-Platform Support

Escrcpy supports major operating systems:

  • Windows
  • macOS
  • Linux

Technical Advantages

As the graphical interface version of Scrcpy, Escrcpy retains all the advantages of Scrcpy while adding:

  • A more intuitive device management interface
  • More convenient connection methods
  • Richer customization options
  • More comprehensive batch operation features

Future Development

The project team continues to improve Escrcpy, with future plans including:

  • Enhancing the way mirror window position and size are set
  • Optimizing the batch device connection experience
  • Developing a graphical script editing tool

How to use

Escrcpy is a completely free and open-source project. Please refer to the specific usage:

Get Started 👉

Conclusion

Escrcpy brings a modern graphical interface and enhanced features to Scrcpy, making Android device control simpler and more efficient. Whether you're a developer or an average user, Escrcpy can provide an outstanding device control experience. Its open-source and free nature also allows more people to use this excellent tool without hesitation.

If you're looking for a powerful, user-friendly Android device control tool, Escrcpy is definitely worth trying!

',28)])])}const m=i(t,[["render",n]]);export{h as __pageData,m as default}; diff --git a/assets/guide_index.md.jY287bOo.lean.js b/assets/guide_index.md.wdofpXIV.lean.js similarity index 85% rename from assets/guide_index.md.jY287bOo.lean.js rename to assets/guide_index.md.wdofpXIV.lean.js index f9b908ffe..63d01180e 100644 --- a/assets/guide_index.md.jY287bOo.lean.js +++ b/assets/guide_index.md.wdofpXIV.lean.js @@ -1 +1 @@ -import{e as i,o as a,a as r,ag as o}from"./chunks/framework.DCs21iJA.js";const h=JSON.parse('{"title":"Guide","description":"","frontmatter":{"title":"Guide"},"headers":[],"relativePath":"guide/index.md","filePath":"en/guide/index.md","lastUpdated":1772158243000}'),t={name:"guide/index.md"};function n(l,e,s,c,d,p){return a(),r("div",null,[...e[0]||(e[0]=[o("",28)])])}const m=i(t,[["render",n]]);export{h as __pageData,m as default}; +import{e as i,o as a,a as r,ag as o}from"./chunks/framework.DCs21iJA.js";const h=JSON.parse('{"title":"Guide","description":"","frontmatter":{"title":"Guide"},"headers":[],"relativePath":"guide/index.md","filePath":"en/guide/index.md","lastUpdated":1772158834000}'),t={name:"guide/index.md"};function n(l,e,s,c,d,p){return a(),r("div",null,[...e[0]||(e[0]=[o("",28)])])}const m=i(t,[["render",n]]);export{h as __pageData,m as default}; diff --git a/assets/guide_milestones.md.DRlHQIKt.js b/assets/guide_milestones.md.Dbvc78C7.js similarity index 97% rename from assets/guide_milestones.md.DRlHQIKt.js rename to assets/guide_milestones.md.Dbvc78C7.js index b04524726..a9ce03db0 100644 --- a/assets/guide_milestones.md.DRlHQIKt.js +++ b/assets/guide_milestones.md.Dbvc78C7.js @@ -1 +1 @@ -import{e,o as t,a as l,ag as o}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"Milestones","description":"","frontmatter":{"title":"Milestones"},"headers":[],"relativePath":"guide/milestones.md","filePath":"en/guide/milestones.md","lastUpdated":1772158243000}'),r={name:"guide/milestones.md"};function n(a,i,s,c,d,u){return t(),l("div",null,[...i[0]||(i[0]=[o('

Milestones

Priority from high to low:

  • Improved logo ✅
  • Software update feature ✅
  • Record and save audio/video ✅
  • Device quick interaction control bar ✅
  • Custom Adb and Scrcpy dependencies ✅
  • Custom device names ✅
  • Export and import preferences ✅
  • Individual device configuration ✅
  • macOS and Linux support ✅
  • Internationalization ✅
  • Dark mode ✅
  • Reverse tethering (Gnirehtet) ✅
  • Camera mirroring ✅
  • Multi-screen collaboration ✅
  • File push, screen rotation, audio control ✅
  • Batch connect historical devices ✅
  • Built-in terminal ✅
  • Auto-execute mirroring ✅
  • Flexible mirroring launch ✅
  • Batch processing ✅
  • Scheduled tasks ✅
  • Graphical file manager ✅
  • Floating control bar ✅
  • Enhanced recording ✅
  • Start APP(Multi-threaded) ✅
  • Main window edge hidden ✅
  • Group devices (by filtering remarks) ✅
  • Improved history device connection experience ✅
  • File management supports uploading directories ✅
  • Support adding open APP to desktop shortcut (Windows only) ✅
  • Support batch startup of devices ✅
  • Supports controlling the window layout of each device through visual orchestration tools ✅
  • Integrate different connection methods and configurations of the same device to improve user experience ✅
  • Enhanced device file manager ✅
  • Integrate AutoGLM to control your Android device using natural language without scripting ✅
  • Refactor main process architecture to improve performance and stability ✅
  • Support script automation through visual orchestration tools 🚧
',3)])])}const h=e(r,[["render",n]]);export{m as __pageData,h as default}; +import{e,o as t,a as l,ag as o}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"Milestones","description":"","frontmatter":{"title":"Milestones"},"headers":[],"relativePath":"guide/milestones.md","filePath":"en/guide/milestones.md","lastUpdated":1772158834000}'),r={name:"guide/milestones.md"};function n(a,i,s,c,d,u){return t(),l("div",null,[...i[0]||(i[0]=[o('

Milestones

Priority from high to low:

  • Improved logo ✅
  • Software update feature ✅
  • Record and save audio/video ✅
  • Device quick interaction control bar ✅
  • Custom Adb and Scrcpy dependencies ✅
  • Custom device names ✅
  • Export and import preferences ✅
  • Individual device configuration ✅
  • macOS and Linux support ✅
  • Internationalization ✅
  • Dark mode ✅
  • Reverse tethering (Gnirehtet) ✅
  • Camera mirroring ✅
  • Multi-screen collaboration ✅
  • File push, screen rotation, audio control ✅
  • Batch connect historical devices ✅
  • Built-in terminal ✅
  • Auto-execute mirroring ✅
  • Flexible mirroring launch ✅
  • Batch processing ✅
  • Scheduled tasks ✅
  • Graphical file manager ✅
  • Floating control bar ✅
  • Enhanced recording ✅
  • Start APP(Multi-threaded) ✅
  • Main window edge hidden ✅
  • Group devices (by filtering remarks) ✅
  • Improved history device connection experience ✅
  • File management supports uploading directories ✅
  • Support adding open APP to desktop shortcut (Windows only) ✅
  • Support batch startup of devices ✅
  • Supports controlling the window layout of each device through visual orchestration tools ✅
  • Integrate different connection methods and configurations of the same device to improve user experience ✅
  • Enhanced device file manager ✅
  • Integrate AutoGLM to control your Android device using natural language without scripting ✅
  • Refactor main process architecture to improve performance and stability ✅
  • Support script automation through visual orchestration tools 🚧
',3)])])}const h=e(r,[["render",n]]);export{m as __pageData,h as default}; diff --git a/assets/guide_milestones.md.DRlHQIKt.lean.js b/assets/guide_milestones.md.Dbvc78C7.lean.js similarity index 85% rename from assets/guide_milestones.md.DRlHQIKt.lean.js rename to assets/guide_milestones.md.Dbvc78C7.lean.js index 4b71c255d..a504b0cee 100644 --- a/assets/guide_milestones.md.DRlHQIKt.lean.js +++ b/assets/guide_milestones.md.Dbvc78C7.lean.js @@ -1 +1 @@ -import{e,o as t,a as l,ag as o}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"Milestones","description":"","frontmatter":{"title":"Milestones"},"headers":[],"relativePath":"guide/milestones.md","filePath":"en/guide/milestones.md","lastUpdated":1772158243000}'),r={name:"guide/milestones.md"};function n(a,i,s,c,d,u){return t(),l("div",null,[...i[0]||(i[0]=[o("",3)])])}const h=e(r,[["render",n]]);export{m as __pageData,h as default}; +import{e,o as t,a as l,ag as o}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"Milestones","description":"","frontmatter":{"title":"Milestones"},"headers":[],"relativePath":"guide/milestones.md","filePath":"en/guide/milestones.md","lastUpdated":1772158834000}'),r={name:"guide/milestones.md"};function n(a,i,s,c,d,u){return t(),l("div",null,[...i[0]||(i[0]=[o("",3)])])}const h=e(r,[["render",n]]);export{m as __pageData,h as default}; diff --git a/assets/guide_operation.md._VmuwrbO.js b/assets/guide_operation.md.DRz_ByYk.js similarity index 96% rename from assets/guide_operation.md._VmuwrbO.js rename to assets/guide_operation.md.DRz_ByYk.js index 3a7a67479..8d36ac8cf 100644 --- a/assets/guide_operation.md._VmuwrbO.js +++ b/assets/guide_operation.md.DRz_ByYk.js @@ -1 +1 @@ -import{e,o as a,a as l,ag as t}from"./chunks/framework.DCs21iJA.js";const p=JSON.parse('{"title":"Operation","description":"","frontmatter":{"title":"Operation"},"headers":[],"relativePath":"guide/operation.md","filePath":"en/guide/operation.md","lastUpdated":1772158243000}'),o={name:"guide/operation.md"};function r(n,i,c,d,s,h){return a(),l("div",null,[...i[0]||(i[0]=[t('

Device Operation

Batch Processing

  • Batch mirroring
  • Batch Interception Screen
  • Batch Installation Application
  • Batch File Management
  • Batch Execution Script
  • Batch Scheduled Task

Control Model

  • Mirror
  • Recording
  • Recording Camera
  • Recording Audio
  • Camera
  • Custom
  • OTG

Device Interaction Bar

  • Automatic Control (AutoGLM)
  • Switch
  • Home
  • Back
  • Start APP (Mirror Group)
  • Turn off screen (experimental)
  • Notification
  • Power
  • Rotation
  • Volume
  • Screenshot
  • Reboot
  • Install APP
  • File Manager
  • Execution Script
  • Scheduled Task
  • Gnirehtet
',7)])])}const m=e(o,[["render",r]]);export{p as __pageData,m as default}; +import{e,o as a,a as l,ag as t}from"./chunks/framework.DCs21iJA.js";const p=JSON.parse('{"title":"Operation","description":"","frontmatter":{"title":"Operation"},"headers":[],"relativePath":"guide/operation.md","filePath":"en/guide/operation.md","lastUpdated":1772158834000}'),o={name:"guide/operation.md"};function r(n,i,c,d,s,h){return a(),l("div",null,[...i[0]||(i[0]=[t('

Device Operation

Batch Processing

  • Batch mirroring
  • Batch Interception Screen
  • Batch Installation Application
  • Batch File Management
  • Batch Execution Script
  • Batch Scheduled Task

Control Model

  • Mirror
  • Recording
  • Recording Camera
  • Recording Audio
  • Camera
  • Custom
  • OTG

Device Interaction Bar

  • Automatic Control (AutoGLM)
  • Switch
  • Home
  • Back
  • Start APP (Mirror Group)
  • Turn off screen (experimental)
  • Notification
  • Power
  • Rotation
  • Volume
  • Screenshot
  • Reboot
  • Install APP
  • File Manager
  • Execution Script
  • Scheduled Task
  • Gnirehtet
',7)])])}const m=e(o,[["render",r]]);export{p as __pageData,m as default}; diff --git a/assets/guide_operation.md._VmuwrbO.lean.js b/assets/guide_operation.md.DRz_ByYk.lean.js similarity index 85% rename from assets/guide_operation.md._VmuwrbO.lean.js rename to assets/guide_operation.md.DRz_ByYk.lean.js index 888847ee1..c08d2c945 100644 --- a/assets/guide_operation.md._VmuwrbO.lean.js +++ b/assets/guide_operation.md.DRz_ByYk.lean.js @@ -1 +1 @@ -import{e,o as a,a as l,ag as t}from"./chunks/framework.DCs21iJA.js";const p=JSON.parse('{"title":"Operation","description":"","frontmatter":{"title":"Operation"},"headers":[],"relativePath":"guide/operation.md","filePath":"en/guide/operation.md","lastUpdated":1772158243000}'),o={name:"guide/operation.md"};function r(n,i,c,d,s,h){return a(),l("div",null,[...i[0]||(i[0]=[t("",7)])])}const m=e(o,[["render",r]]);export{p as __pageData,m as default}; +import{e,o as a,a as l,ag as t}from"./chunks/framework.DCs21iJA.js";const p=JSON.parse('{"title":"Operation","description":"","frontmatter":{"title":"Operation"},"headers":[],"relativePath":"guide/operation.md","filePath":"en/guide/operation.md","lastUpdated":1772158834000}'),o={name:"guide/operation.md"};function r(n,i,c,d,s,h){return a(),l("div",null,[...i[0]||(i[0]=[t("",7)])])}const m=e(o,[["render",r]]);export{p as __pageData,m as default}; diff --git a/assets/guide_preferences.md.D8ZD2Zwp.js b/assets/guide_preferences.md.DwWXgvxO.js similarity index 98% rename from assets/guide_preferences.md.D8ZD2Zwp.js rename to assets/guide_preferences.md.DwWXgvxO.js index 3c328fa6d..651615c24 100644 --- a/assets/guide_preferences.md.D8ZD2Zwp.js +++ b/assets/guide_preferences.md.DwWXgvxO.js @@ -1 +1 @@ -import{e,o as l,a as o,ag as r}from"./chunks/framework.DCs21iJA.js";const f=JSON.parse('{"title":"Preferences","description":"","frontmatter":{"title":"Preferences"},"headers":[],"relativePath":"guide/preferences.md","filePath":"en/guide/preferences.md","lastUpdated":1772158243000}'),a={name:"guide/preferences.md"};function t(n,i,d,c,u,s){return l(),o("div",null,[...i[0]||(i[0]=[r('

Preferences

Continuously improving. Currently supports the following common configurations

General

  • Theme
  • Language
  • File storage path
  • Adb path
  • Scrcpy path
  • Gnirehtet path
  • Scrcpy parameters
  • Gnirehtet parameters
  • Auto-connect device
  • Auto-execute mirroring
  • Gnirehtet fix
  • Debug
  • Floating control bar
  • Use system terminal
  • Preferred terminal
  • Concurrency limit

Video Control

  • Disable video forwarding
  • Maximum size
  • Video bitrate
  • Refresh rate
  • Video codec
  • Display orientation
  • Rotation angle
  • Screen cropping
  • Monitor
  • Video buffer
  • Receiver (v4l2) buffer

Device Control

  • Show touch points
  • Keep awake
  • Turn off screen during control
  • Turn off screen after control
  • Disable auto screen on during control
  • Simulate auxiliary display

Window Control

  • Window width
  • Window height
  • Window X-coordinate
  • Window Y-coordinate
  • Borderless mode
  • Fullscreen mode
  • Always on top
  • Disable screensaver

Audio Control

  • Disable audio forwarding
  • Keep device audio
  • Audio source
  • Audio codec
  • Audio bitrate
  • Audio buffer
  • Audio output buffer

Audio/Video Recording

  • Record video format
  • Record video orientation
  • Recording duration
  • Disable video playback
  • Disable audio playback

Input Control

  • Mouse mode
  • Mouse binding
  • Keyboard mode
  • Keyboard injection method
  • Gamepad

Camera Control

  • Camera source
  • Camera size
  • Camera ratio
  • Camera frame rate
',18)])])}const m=e(a,[["render",t]]);export{f as __pageData,m as default}; +import{e,o as l,a as o,ag as r}from"./chunks/framework.DCs21iJA.js";const f=JSON.parse('{"title":"Preferences","description":"","frontmatter":{"title":"Preferences"},"headers":[],"relativePath":"guide/preferences.md","filePath":"en/guide/preferences.md","lastUpdated":1772158834000}'),a={name:"guide/preferences.md"};function t(n,i,d,c,u,s){return l(),o("div",null,[...i[0]||(i[0]=[r('

Preferences

Continuously improving. Currently supports the following common configurations

General

  • Theme
  • Language
  • File storage path
  • Adb path
  • Scrcpy path
  • Gnirehtet path
  • Scrcpy parameters
  • Gnirehtet parameters
  • Auto-connect device
  • Auto-execute mirroring
  • Gnirehtet fix
  • Debug
  • Floating control bar
  • Use system terminal
  • Preferred terminal
  • Concurrency limit

Video Control

  • Disable video forwarding
  • Maximum size
  • Video bitrate
  • Refresh rate
  • Video codec
  • Display orientation
  • Rotation angle
  • Screen cropping
  • Monitor
  • Video buffer
  • Receiver (v4l2) buffer

Device Control

  • Show touch points
  • Keep awake
  • Turn off screen during control
  • Turn off screen after control
  • Disable auto screen on during control
  • Simulate auxiliary display

Window Control

  • Window width
  • Window height
  • Window X-coordinate
  • Window Y-coordinate
  • Borderless mode
  • Fullscreen mode
  • Always on top
  • Disable screensaver

Audio Control

  • Disable audio forwarding
  • Keep device audio
  • Audio source
  • Audio codec
  • Audio bitrate
  • Audio buffer
  • Audio output buffer

Audio/Video Recording

  • Record video format
  • Record video orientation
  • Recording duration
  • Disable video playback
  • Disable audio playback

Input Control

  • Mouse mode
  • Mouse binding
  • Keyboard mode
  • Keyboard injection method
  • Gamepad

Camera Control

  • Camera source
  • Camera size
  • Camera ratio
  • Camera frame rate
',18)])])}const m=e(a,[["render",t]]);export{f as __pageData,m as default}; diff --git a/assets/guide_preferences.md.D8ZD2Zwp.lean.js b/assets/guide_preferences.md.DwWXgvxO.lean.js similarity index 86% rename from assets/guide_preferences.md.D8ZD2Zwp.lean.js rename to assets/guide_preferences.md.DwWXgvxO.lean.js index 57afe373f..158ef9fcf 100644 --- a/assets/guide_preferences.md.D8ZD2Zwp.lean.js +++ b/assets/guide_preferences.md.DwWXgvxO.lean.js @@ -1 +1 @@ -import{e,o as l,a as o,ag as r}from"./chunks/framework.DCs21iJA.js";const f=JSON.parse('{"title":"Preferences","description":"","frontmatter":{"title":"Preferences"},"headers":[],"relativePath":"guide/preferences.md","filePath":"en/guide/preferences.md","lastUpdated":1772158243000}'),a={name:"guide/preferences.md"};function t(n,i,d,c,u,s){return l(),o("div",null,[...i[0]||(i[0]=[r("",18)])])}const m=e(a,[["render",t]]);export{f as __pageData,m as default}; +import{e,o as l,a as o,ag as r}from"./chunks/framework.DCs21iJA.js";const f=JSON.parse('{"title":"Preferences","description":"","frontmatter":{"title":"Preferences"},"headers":[],"relativePath":"guide/preferences.md","filePath":"en/guide/preferences.md","lastUpdated":1772158834000}'),a={name:"guide/preferences.md"};function t(n,i,d,c,u,s){return l(),o("div",null,[...i[0]||(i[0]=[r("",18)])])}const m=e(a,[["render",t]]);export{f as __pageData,m as default}; diff --git a/assets/guide_started.md.EEjE48z7.js b/assets/guide_started.md.Cw7Y_wcV.js similarity index 98% rename from assets/guide_started.md.EEjE48z7.js rename to assets/guide_started.md.Cw7Y_wcV.js index 3938db701..bd93cb8ce 100644 --- a/assets/guide_started.md.EEjE48z7.js +++ b/assets/guide_started.md.Cw7Y_wcV.js @@ -1 +1 @@ -import{e as a,o as t,a as n,ag as r}from"./chunks/framework.DCs21iJA.js";const p=JSON.parse('{"title":"Quick Start","description":"","frontmatter":{"title":"Quick Start"},"headers":[],"relativePath":"guide/started.md","filePath":"en/guide/started.md","lastUpdated":1772158243000}'),o={name:"guide/started.md"};function i(l,e,c,s,d,h){return t(),n("div",null,[...e[0]||(e[0]=[r('

Quick Start

Installation

Manual installation via released packages

macOS can be installed via Homebrew

See homebrew-escrcpy

USB Connection

Note: If the phone prompts for debugging authorization, click allow

  1. Enable developer mode and USB debugging on your Android phone
  2. Open Escrcpy and connect your Android phone to your computer
  3. The device list in Escrcpy should have detected your phone, click start mirroring
  4. Enjoy!

WIFI Connection

Scan QR Code to Connect

  1. Follow steps 1-2 from USB connection
  2. Enable and enter wireless debugging in developer mode
  3. Click "Pair device using QR code"
  4. Start enjoying!

Connect via IP Address

Note: If initial wireless connection fails, you may need wireless pairing. Please refer to FAQ

Note: You need to enable wireless debugging and obtain your device's wireless address (usually the IP address assigned when connecting to WiFi) and port number (default is 5555) from the wireless debugging page

  1. Follow steps 1-2 from USB connection
  2. Enter the obtained device IP address and port number in Escrcpy, then click connect device
  3. At this point, Escrcpy device list should detect your phone, click start mirroring
  4. Start enjoying!

macOS && Linux

Note: These platforms do not come with integrated Scrcpy, you need to install them manually

In Escrcpy@1.27.1+ scrcpy binary files are preliminarily integrated, eliminating the need for manual scrcpy installation.

  1. Refer to the installation document for Linux
  2. Refer to the installation document for macOS
  3. Follow steps in USB Connection and WIFI Connection after dependencies are installed successfully

Gnirehtet Reverse Tethering

Gnirehtet is built into the Windows and Linux apps to provide reverse tethering from PC to Android devices.

After connecting the device through the above steps, enable the reverse network function through Devices -> Device Control Bar -> Gnirehtet.

Note: macOS does not have Gnirehtet built-in. You need to manually install it to use this feature Installation Guide.

',23)])])}const g=a(o,[["render",i]]);export{p as __pageData,g as default}; +import{e as a,o as t,a as n,ag as r}from"./chunks/framework.DCs21iJA.js";const p=JSON.parse('{"title":"Quick Start","description":"","frontmatter":{"title":"Quick Start"},"headers":[],"relativePath":"guide/started.md","filePath":"en/guide/started.md","lastUpdated":1772158834000}'),o={name:"guide/started.md"};function i(l,e,c,s,d,h){return t(),n("div",null,[...e[0]||(e[0]=[r('

Quick Start

Installation

Manual installation via released packages

macOS can be installed via Homebrew

See homebrew-escrcpy

USB Connection

Note: If the phone prompts for debugging authorization, click allow

  1. Enable developer mode and USB debugging on your Android phone
  2. Open Escrcpy and connect your Android phone to your computer
  3. The device list in Escrcpy should have detected your phone, click start mirroring
  4. Enjoy!

WIFI Connection

Scan QR Code to Connect

  1. Follow steps 1-2 from USB connection
  2. Enable and enter wireless debugging in developer mode
  3. Click "Pair device using QR code"
  4. Start enjoying!

Connect via IP Address

Note: If initial wireless connection fails, you may need wireless pairing. Please refer to FAQ

Note: You need to enable wireless debugging and obtain your device's wireless address (usually the IP address assigned when connecting to WiFi) and port number (default is 5555) from the wireless debugging page

  1. Follow steps 1-2 from USB connection
  2. Enter the obtained device IP address and port number in Escrcpy, then click connect device
  3. At this point, Escrcpy device list should detect your phone, click start mirroring
  4. Start enjoying!

macOS && Linux

Note: These platforms do not come with integrated Scrcpy, you need to install them manually

In Escrcpy@1.27.1+ scrcpy binary files are preliminarily integrated, eliminating the need for manual scrcpy installation.

  1. Refer to the installation document for Linux
  2. Refer to the installation document for macOS
  3. Follow steps in USB Connection and WIFI Connection after dependencies are installed successfully

Gnirehtet Reverse Tethering

Gnirehtet is built into the Windows and Linux apps to provide reverse tethering from PC to Android devices.

After connecting the device through the above steps, enable the reverse network function through Devices -> Device Control Bar -> Gnirehtet.

Note: macOS does not have Gnirehtet built-in. You need to manually install it to use this feature Installation Guide.

',23)])])}const g=a(o,[["render",i]]);export{p as __pageData,g as default}; diff --git a/assets/guide_started.md.EEjE48z7.lean.js b/assets/guide_started.md.Cw7Y_wcV.lean.js similarity index 85% rename from assets/guide_started.md.EEjE48z7.lean.js rename to assets/guide_started.md.Cw7Y_wcV.lean.js index a4aa7eb88..7a1f69601 100644 --- a/assets/guide_started.md.EEjE48z7.lean.js +++ b/assets/guide_started.md.Cw7Y_wcV.lean.js @@ -1 +1 @@ -import{e as a,o as t,a as n,ag as r}from"./chunks/framework.DCs21iJA.js";const p=JSON.parse('{"title":"Quick Start","description":"","frontmatter":{"title":"Quick Start"},"headers":[],"relativePath":"guide/started.md","filePath":"en/guide/started.md","lastUpdated":1772158243000}'),o={name:"guide/started.md"};function i(l,e,c,s,d,h){return t(),n("div",null,[...e[0]||(e[0]=[r("",23)])])}const g=a(o,[["render",i]]);export{p as __pageData,g as default}; +import{e as a,o as t,a as n,ag as r}from"./chunks/framework.DCs21iJA.js";const p=JSON.parse('{"title":"Quick Start","description":"","frontmatter":{"title":"Quick Start"},"headers":[],"relativePath":"guide/started.md","filePath":"en/guide/started.md","lastUpdated":1772158834000}'),o={name:"guide/started.md"};function i(l,e,c,s,d,h){return t(),n("div",null,[...e[0]||(e[0]=[r("",23)])])}const g=a(o,[["render",i]]);export{p as __pageData,g as default}; diff --git a/assets/guide_window-arrangement.md.BzgeKK4Z.js b/assets/guide_window-arrangement.md.k3ig0Dl5.js similarity index 99% rename from assets/guide_window-arrangement.md.BzgeKK4Z.js rename to assets/guide_window-arrangement.md.k3ig0Dl5.js index ef0d44046..e5ee2a022 100644 --- a/assets/guide_window-arrangement.md.BzgeKK4Z.js +++ b/assets/guide_window-arrangement.md.k3ig0Dl5.js @@ -1 +1 @@ -import{e as i,o,a as n,ag as a}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"Window Arrangement","description":"","frontmatter":{"title":"Window Arrangement"},"headers":[],"relativePath":"guide/window-arrangement.md","filePath":"en/guide/window-arrangement.md","lastUpdated":1772158243000}'),t={name:"guide/window-arrangement.md"};function r(l,e,d,s,c,u){return o(),n("div",null,[...e[0]||(e[0]=[a('

Device Window Arrangement Feature Guide

Device Window Arrangement is one of Escrcpy's advanced features, designed specifically for multi-device management and screen space optimization. Through a visual drag-and-drop interface, you can precisely control the position, size, and layout of each device window, enabling efficient multi-device collaborative operations.

Feature Overview

The Window Arrangement feature provides a fullscreen visual editing interface that allows you to:

  • Simultaneously manage the layout of multiple device windows
  • Adjust window positions and sizes through drag-and-drop
  • Set global default configurations and device-specific configurations
  • Preview window layout effects in real-time
  • Save and load custom layout schemes

Core Components

Global Configuration Component

The global configuration component is used to set default window parameters for all devices, including:

  • Default window width and height
  • Default window position coordinates
  • Other common window properties

Device Window Component

Each connected device can be added as an independent window component, supporting:

  • Independent position and size settings
  • Device-specific window configurations
  • Inheritance or override of global configurations

Detailed Operation Guide

Starting Window Arrangement

  1. Launch from Main Interface
    • Find the "Arrange" button in the top-right corner of the main interface
    • Click the button to enter window arrangement interface
    • The system will open a fullscreen window arrangement interface

Adding and Managing Components

Adding Global Configuration Component

  1. Click the "Add Widget" dropdown button
  2. Select "Global Configuration" option
  3. The global configuration component will appear in the arrangement area
  4. This component is used to set default parameters for all devices

Note: Each arrangement scheme can only have one global configuration component.

Adding Device Window Components

  1. Click the "Add Widget" dropdown button
  2. Select the device you want to add from the device list
  3. The device window component will be added to the arrangement area
  4. Each device can only be added once

Device Display Rules:

  • Only currently connected devices are displayed
  • Already added devices will not appear repeatedly in the dropdown list
  • Device names prioritize custom names, followed by device models

Window Layout Adjustment

Moving Window Position

  1. Select Target Window: Click the window component you want to move
  2. Drag to Move: Hold down the left mouse button and drag the window to the target position
  3. Real-time Feedback: You can see real-time position changes during dragging
  4. Release to Position: Release the mouse to complete position adjustment

Adjusting Window Size

  1. Locate Adjustment Point: Move the mouse to the corner position of the window
  2. Drag to Adjust: Hold down the left mouse button and drag to change window size
  3. Proportion Constraints: The system automatically maintains reasonable window proportions
  4. Minimum Size Limit: Windows cannot be smaller than the preset minimum size

Size Limitation Description

  • Minimum Width: 1/6 of container width
  • Minimum Height: 1/4 of container height
  • Boundary Constraints: Windows cannot be dragged outside the arrangement area
  • Overlap Handling: Windows are allowed to overlap, but complete occlusion should be avoided

Layout Management Operations

Reset Layout

  1. Click the "Reset Layout" button in the control panel
  2. The system will clear all current components
  3. Reload saved layout configurations
  4. If no saved configuration exists, an empty arrangement area will be displayed

Clear All Components

  1. Click the "Clear All" button
  2. The system will display a confirmation dialog
  3. After confirmation, all window components will be removed
  4. The arrangement area will become blank

Delete Individual Component

  1. Hover the mouse over the target window component
  2. Click the delete button (×) in the top-right corner of the window
  3. The component will be immediately removed from the arrangement area
  4. The corresponding device will reappear in the addable list

Configuration Saving and Application

Saving Layout Configuration

  1. Complete Layout Adjustment: Ensure all window components are adjusted to satisfactory positions and sizes
  2. Click Save Button: Click the "Save Layout" button at the bottom of the interface
  3. Configuration Writing: The system will write current layout information to configuration files
  4. Success Feedback: Display a successful save message prompt

Configuration Storage Mechanism

  • Global Configuration: Stored in scrcpy.global configuration node
  • Device Configuration: Stored in scrcpy.[DeviceID] configuration node
  • Parameter Format:
    • --window-width: Window width
    • --window-height: Window height
    • --window-x: Window X coordinate
    • --window-y: Window Y coordinate

Configuration Application Timing

  • When Starting Mirroring: Automatically apply corresponding window configuration when device starts mirroring
  • Configuration Inheritance: Device-specific configuration takes priority, unset parameters inherit global configuration
  • Dynamic Updates: Configuration takes effect immediately after saving, no application restart required

Troubleshooting

Common Issues

Issue 1: Device not showing in add list

  • Confirm device is properly connected
  • Check if device is already added to arrangement
  • Try refreshing device list

Issue 2: Window dragging not responsive

  • Confirm mouse click is in draggable area of window
  • Check if other programs are occupying mouse events
  • Try reopening arrangement interface

Issue 3: Saved layout not taking effect

  • Confirm "Save Layout" button was clicked
  • Check if configuration file has write permissions
  • Try restarting application and testing again

Issue 4: Abnormal window size

  • Check if minimum size limits are exceeded
  • Confirm monitor resolution settings are correct
  • Try resetting layout and reconfiguring

By properly using the Window Arrangement feature, you can significantly improve multi-device management efficiency and create a personalized operating environment suitable for your workflow.

',55)])])}const h=i(t,[["render",r]]);export{m as __pageData,h as default}; +import{e as i,o,a as n,ag as a}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"Window Arrangement","description":"","frontmatter":{"title":"Window Arrangement"},"headers":[],"relativePath":"guide/window-arrangement.md","filePath":"en/guide/window-arrangement.md","lastUpdated":1772158834000}'),t={name:"guide/window-arrangement.md"};function r(l,e,d,s,c,u){return o(),n("div",null,[...e[0]||(e[0]=[a('

Device Window Arrangement Feature Guide

Device Window Arrangement is one of Escrcpy's advanced features, designed specifically for multi-device management and screen space optimization. Through a visual drag-and-drop interface, you can precisely control the position, size, and layout of each device window, enabling efficient multi-device collaborative operations.

Feature Overview

The Window Arrangement feature provides a fullscreen visual editing interface that allows you to:

  • Simultaneously manage the layout of multiple device windows
  • Adjust window positions and sizes through drag-and-drop
  • Set global default configurations and device-specific configurations
  • Preview window layout effects in real-time
  • Save and load custom layout schemes

Core Components

Global Configuration Component

The global configuration component is used to set default window parameters for all devices, including:

  • Default window width and height
  • Default window position coordinates
  • Other common window properties

Device Window Component

Each connected device can be added as an independent window component, supporting:

  • Independent position and size settings
  • Device-specific window configurations
  • Inheritance or override of global configurations

Detailed Operation Guide

Starting Window Arrangement

  1. Launch from Main Interface
    • Find the "Arrange" button in the top-right corner of the main interface
    • Click the button to enter window arrangement interface
    • The system will open a fullscreen window arrangement interface

Adding and Managing Components

Adding Global Configuration Component

  1. Click the "Add Widget" dropdown button
  2. Select "Global Configuration" option
  3. The global configuration component will appear in the arrangement area
  4. This component is used to set default parameters for all devices

Note: Each arrangement scheme can only have one global configuration component.

Adding Device Window Components

  1. Click the "Add Widget" dropdown button
  2. Select the device you want to add from the device list
  3. The device window component will be added to the arrangement area
  4. Each device can only be added once

Device Display Rules:

  • Only currently connected devices are displayed
  • Already added devices will not appear repeatedly in the dropdown list
  • Device names prioritize custom names, followed by device models

Window Layout Adjustment

Moving Window Position

  1. Select Target Window: Click the window component you want to move
  2. Drag to Move: Hold down the left mouse button and drag the window to the target position
  3. Real-time Feedback: You can see real-time position changes during dragging
  4. Release to Position: Release the mouse to complete position adjustment

Adjusting Window Size

  1. Locate Adjustment Point: Move the mouse to the corner position of the window
  2. Drag to Adjust: Hold down the left mouse button and drag to change window size
  3. Proportion Constraints: The system automatically maintains reasonable window proportions
  4. Minimum Size Limit: Windows cannot be smaller than the preset minimum size

Size Limitation Description

  • Minimum Width: 1/6 of container width
  • Minimum Height: 1/4 of container height
  • Boundary Constraints: Windows cannot be dragged outside the arrangement area
  • Overlap Handling: Windows are allowed to overlap, but complete occlusion should be avoided

Layout Management Operations

Reset Layout

  1. Click the "Reset Layout" button in the control panel
  2. The system will clear all current components
  3. Reload saved layout configurations
  4. If no saved configuration exists, an empty arrangement area will be displayed

Clear All Components

  1. Click the "Clear All" button
  2. The system will display a confirmation dialog
  3. After confirmation, all window components will be removed
  4. The arrangement area will become blank

Delete Individual Component

  1. Hover the mouse over the target window component
  2. Click the delete button (×) in the top-right corner of the window
  3. The component will be immediately removed from the arrangement area
  4. The corresponding device will reappear in the addable list

Configuration Saving and Application

Saving Layout Configuration

  1. Complete Layout Adjustment: Ensure all window components are adjusted to satisfactory positions and sizes
  2. Click Save Button: Click the "Save Layout" button at the bottom of the interface
  3. Configuration Writing: The system will write current layout information to configuration files
  4. Success Feedback: Display a successful save message prompt

Configuration Storage Mechanism

  • Global Configuration: Stored in scrcpy.global configuration node
  • Device Configuration: Stored in scrcpy.[DeviceID] configuration node
  • Parameter Format:
    • --window-width: Window width
    • --window-height: Window height
    • --window-x: Window X coordinate
    • --window-y: Window Y coordinate

Configuration Application Timing

  • When Starting Mirroring: Automatically apply corresponding window configuration when device starts mirroring
  • Configuration Inheritance: Device-specific configuration takes priority, unset parameters inherit global configuration
  • Dynamic Updates: Configuration takes effect immediately after saving, no application restart required

Troubleshooting

Common Issues

Issue 1: Device not showing in add list

  • Confirm device is properly connected
  • Check if device is already added to arrangement
  • Try refreshing device list

Issue 2: Window dragging not responsive

  • Confirm mouse click is in draggable area of window
  • Check if other programs are occupying mouse events
  • Try reopening arrangement interface

Issue 3: Saved layout not taking effect

  • Confirm "Save Layout" button was clicked
  • Check if configuration file has write permissions
  • Try restarting application and testing again

Issue 4: Abnormal window size

  • Check if minimum size limits are exceeded
  • Confirm monitor resolution settings are correct
  • Try resetting layout and reconfiguring

By properly using the Window Arrangement feature, you can significantly improve multi-device management efficiency and create a personalized operating environment suitable for your workflow.

',55)])])}const h=i(t,[["render",r]]);export{m as __pageData,h as default}; diff --git a/assets/guide_window-arrangement.md.BzgeKK4Z.lean.js b/assets/guide_window-arrangement.md.k3ig0Dl5.lean.js similarity index 87% rename from assets/guide_window-arrangement.md.BzgeKK4Z.lean.js rename to assets/guide_window-arrangement.md.k3ig0Dl5.lean.js index bdce49f5c..dcf7a21e4 100644 --- a/assets/guide_window-arrangement.md.BzgeKK4Z.lean.js +++ b/assets/guide_window-arrangement.md.k3ig0Dl5.lean.js @@ -1 +1 @@ -import{e as i,o,a as n,ag as a}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"Window Arrangement","description":"","frontmatter":{"title":"Window Arrangement"},"headers":[],"relativePath":"guide/window-arrangement.md","filePath":"en/guide/window-arrangement.md","lastUpdated":1772158243000}'),t={name:"guide/window-arrangement.md"};function r(l,e,d,s,c,u){return o(),n("div",null,[...e[0]||(e[0]=[a("",55)])])}const h=i(t,[["render",r]]);export{m as __pageData,h as default}; +import{e as i,o,a as n,ag as a}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"Window Arrangement","description":"","frontmatter":{"title":"Window Arrangement"},"headers":[],"relativePath":"guide/window-arrangement.md","filePath":"en/guide/window-arrangement.md","lastUpdated":1772158834000}'),t={name:"guide/window-arrangement.md"};function r(l,e,d,s,c,u){return o(),n("div",null,[...e[0]||(e[0]=[a("",55)])])}const h=i(t,[["render",r]]);export{m as __pageData,h as default}; diff --git a/assets/help_escrcpy.md.3eFsSxBG.js b/assets/help_escrcpy.md.DYv8jMH0.js similarity index 99% rename from assets/help_escrcpy.md.3eFsSxBG.js rename to assets/help_escrcpy.md.DYv8jMH0.js index 6af1b0be4..0351d311e 100644 --- a/assets/help_escrcpy.md.3eFsSxBG.js +++ b/assets/help_escrcpy.md.DYv8jMH0.js @@ -1 +1 @@ -import{e as t,o,a,ag as i}from"./chunks/framework.DCs21iJA.js";const p=JSON.parse('{"title":"Escrcpy","description":"","frontmatter":{"title":"Escrcpy"},"headers":[],"relativePath":"help/escrcpy.md","filePath":"en/help/escrcpy.md","lastUpdated":1772158243000}'),n={name:"help/escrcpy.md"};function r(s,e,c,l,d,h){return o(),a("div",null,[...e[0]||(e[0]=[i('

Escrcpy

Computer cannot detect device after connecting

  1. Please unplug and reconnect your device, and make sure the device has granted USB debugging authorization.
  2. If it still doesn't work, your computer may be missing necessary drivers. Please install drivers using third-party tools such as DriverWizard and try again.

Unable to enter Chinese

In Scrcpy@2.4+ and above, the solution is as follows:

  1. Escrcpy Settings: Go to PreferencesInput ControlKeyboard Mode and select uhid mode.
  2. Device Input Method Preparation: Install an input method that supports physical keyboards (WeChat Input Method is recommended) and complete the setup.
  3. Start Mirroring: Click Start Mirroring in Escrcpy. Verification: The device’s SettingsSystemLanguage & Input should display options for Physical Keyboard and On-screen Keyboard.
  4. Device Input Settings: Enable WeChat Input Method in the On-screen Keyboard settings. Configure the keyboard layout in the Physical Keyboard settings to match the computer keyboard (only needs to be done once).
  5. Computer Input Preparation: Set the input mode to English (important).
  6. Switch Input Language: Use Ctrl + Shift to switch between English and Chinese.
  7. Start Using.

Download WeChat Input Method

Wireless connection prompts: The target computer actively refuses access

The first wireless connection may require pairing. Alternatively, insert USB to ensure connection establishment and authorization success before using wireless.

Clicking wireless mode after connecting via data cable has no response

Please click again, or click refresh devices. Generally it will not exceed two clicks. If still not working, please provide device model and Android version to Issues

Why is the device interaction control bar not designed as an automatically sticking floating menu?

It is important to note that, in principle, Escrcpy is just a GUI version based on Scrcpy, although it does extend some functionality. However, these extensions do not affect the core of Scrcpy. To implement this particular feature, I would have to modify the underlying Scrcpy code, which would make it more difficult for Escrcpy to stay in sync with Scrcpy's updates, and the drawbacks would outweigh the benefits.

Therefore, after careful consideration, we have decided to adopt the existing solution and look forward to Scrcpy adding native support for an interactive control bar in the future.

Some devices can see screenshots after connecting but cannot operate

Note: For Xiaomi phones in particular, it requires not only enabling USB debugging but also enabling USB debugging (Security Settings), which is to allow modifying permissions or simulating clicks via USB debugging.

Please refer to the detailed instructions under Reasons why mouse and keyboard do not work

Downloading prompts antivirus detection causing unable to download normally

After feedback, Windows Defender may occasionally block the software packages from being downloaded due to lack of certificate signing. You can try the following solutions:

  1. Open Windows Security Center.
  2. Select Virus & threat protection.
  3. In the Virus & threat protection settings, click Manage settings.
  4. Find Real-time protection, you can try clicking Disable if permission allows. If unable to disable real-time protection, please skip this step.
  5. Scroll down the page, find Exclusions, click Add or remove exclusions.
  6. Add the folder path where you download the software packages as an exclusion item, i.e. add the folder to the Excluded list.

Failed to get device list or error when starting mirroring/recording

This is generally caused by an incorrect path for Adb or Scrcpy, you can try the following solutions:

  1. In the menu, select Preferences and then click the reset configuration button in the top right corner of Global Mode.
  2. Go to the Device List page and try enabling mirroring again.
  3. Make sure you have downloaded and installed the latest version of Escrcpy.
  4. Press Ctrl + Shift + I to open the developer tools and check for any error messages.
  5. If there are errors, take a screenshot and submit your issue with the screenshot on the Feedback Issues page.

macOS window minimized to system tray icon not found

This is generally caused by too many icons in the system tray overflowing and hiding the Escrcpy icon. Try using the following tools:

After a successful installation of macOS, when I try to open it, I receive a prompt saying the file is damaged.

This is usually due to the software package not being signed. You can try the following solutions:

  1. Open Terminal and execute sudo spctl --master-disable to allow software from any source.
  2. Open Terminal and execute sudo xattr -r -d com.apple.quarantine /Applications/Escrcpy.app to attempt fixing the damaged software package prompt.

Only support Windows 10 and above versions.

Audio capture exception causing mirroring failure.

This usually happens because your computer lacks audio output or you have a low Android version (Android 11+).

Please try disabling audio forwarding feature through the preferences settings to resolve this issue.

Microsoft Store version mirror startup error

This is caused by files in the installation directory lacking executable permissions.

You need to customize the file paths for scrcpy and adb (ensuring they have executable permissions). If using reverse tethering, configure gnirehtet similarly.

Could not execute "adb start-server"

This might be due to Chinese or special characters in the installation path. Please try changing the installation path.

Unable to Open After Installation in Linux System

New restrictions have been implemented for AppImage applications in some popular distributions, such as Ubuntu 24.04, limiting the use of sandboxes. A temporary workaround is as follows:

shell
sudo chmod 4755 /opt/Escrcpy/chrome-sandbox

Black edges appear after resizing the casting window

If black edges appear after resizing the casting window, simply double-click the black edge area and it will automatically hide.

',44)])])}const g=t(n,[["render",r]]);export{p as __pageData,g as default}; +import{e as t,o,a,ag as i}from"./chunks/framework.DCs21iJA.js";const p=JSON.parse('{"title":"Escrcpy","description":"","frontmatter":{"title":"Escrcpy"},"headers":[],"relativePath":"help/escrcpy.md","filePath":"en/help/escrcpy.md","lastUpdated":1772158834000}'),n={name:"help/escrcpy.md"};function r(s,e,c,l,d,h){return o(),a("div",null,[...e[0]||(e[0]=[i('

Escrcpy

Computer cannot detect device after connecting

  1. Please unplug and reconnect your device, and make sure the device has granted USB debugging authorization.
  2. If it still doesn't work, your computer may be missing necessary drivers. Please install drivers using third-party tools such as DriverWizard and try again.

Unable to enter Chinese

In Scrcpy@2.4+ and above, the solution is as follows:

  1. Escrcpy Settings: Go to PreferencesInput ControlKeyboard Mode and select uhid mode.
  2. Device Input Method Preparation: Install an input method that supports physical keyboards (WeChat Input Method is recommended) and complete the setup.
  3. Start Mirroring: Click Start Mirroring in Escrcpy. Verification: The device’s SettingsSystemLanguage & Input should display options for Physical Keyboard and On-screen Keyboard.
  4. Device Input Settings: Enable WeChat Input Method in the On-screen Keyboard settings. Configure the keyboard layout in the Physical Keyboard settings to match the computer keyboard (only needs to be done once).
  5. Computer Input Preparation: Set the input mode to English (important).
  6. Switch Input Language: Use Ctrl + Shift to switch between English and Chinese.
  7. Start Using.

Download WeChat Input Method

Wireless connection prompts: The target computer actively refuses access

The first wireless connection may require pairing. Alternatively, insert USB to ensure connection establishment and authorization success before using wireless.

Clicking wireless mode after connecting via data cable has no response

Please click again, or click refresh devices. Generally it will not exceed two clicks. If still not working, please provide device model and Android version to Issues

Why is the device interaction control bar not designed as an automatically sticking floating menu?

It is important to note that, in principle, Escrcpy is just a GUI version based on Scrcpy, although it does extend some functionality. However, these extensions do not affect the core of Scrcpy. To implement this particular feature, I would have to modify the underlying Scrcpy code, which would make it more difficult for Escrcpy to stay in sync with Scrcpy's updates, and the drawbacks would outweigh the benefits.

Therefore, after careful consideration, we have decided to adopt the existing solution and look forward to Scrcpy adding native support for an interactive control bar in the future.

Some devices can see screenshots after connecting but cannot operate

Note: For Xiaomi phones in particular, it requires not only enabling USB debugging but also enabling USB debugging (Security Settings), which is to allow modifying permissions or simulating clicks via USB debugging.

Please refer to the detailed instructions under Reasons why mouse and keyboard do not work

Downloading prompts antivirus detection causing unable to download normally

After feedback, Windows Defender may occasionally block the software packages from being downloaded due to lack of certificate signing. You can try the following solutions:

  1. Open Windows Security Center.
  2. Select Virus & threat protection.
  3. In the Virus & threat protection settings, click Manage settings.
  4. Find Real-time protection, you can try clicking Disable if permission allows. If unable to disable real-time protection, please skip this step.
  5. Scroll down the page, find Exclusions, click Add or remove exclusions.
  6. Add the folder path where you download the software packages as an exclusion item, i.e. add the folder to the Excluded list.

Failed to get device list or error when starting mirroring/recording

This is generally caused by an incorrect path for Adb or Scrcpy, you can try the following solutions:

  1. In the menu, select Preferences and then click the reset configuration button in the top right corner of Global Mode.
  2. Go to the Device List page and try enabling mirroring again.
  3. Make sure you have downloaded and installed the latest version of Escrcpy.
  4. Press Ctrl + Shift + I to open the developer tools and check for any error messages.
  5. If there are errors, take a screenshot and submit your issue with the screenshot on the Feedback Issues page.

macOS window minimized to system tray icon not found

This is generally caused by too many icons in the system tray overflowing and hiding the Escrcpy icon. Try using the following tools:

After a successful installation of macOS, when I try to open it, I receive a prompt saying the file is damaged.

This is usually due to the software package not being signed. You can try the following solutions:

  1. Open Terminal and execute sudo spctl --master-disable to allow software from any source.
  2. Open Terminal and execute sudo xattr -r -d com.apple.quarantine /Applications/Escrcpy.app to attempt fixing the damaged software package prompt.

Only support Windows 10 and above versions.

Audio capture exception causing mirroring failure.

This usually happens because your computer lacks audio output or you have a low Android version (Android 11+).

Please try disabling audio forwarding feature through the preferences settings to resolve this issue.

Microsoft Store version mirror startup error

This is caused by files in the installation directory lacking executable permissions.

You need to customize the file paths for scrcpy and adb (ensuring they have executable permissions). If using reverse tethering, configure gnirehtet similarly.

Could not execute "adb start-server"

This might be due to Chinese or special characters in the installation path. Please try changing the installation path.

Unable to Open After Installation in Linux System

New restrictions have been implemented for AppImage applications in some popular distributions, such as Ubuntu 24.04, limiting the use of sandboxes. A temporary workaround is as follows:

shell
sudo chmod 4755 /opt/Escrcpy/chrome-sandbox

Black edges appear after resizing the casting window

If black edges appear after resizing the casting window, simply double-click the black edge area and it will automatically hide.

',44)])])}const g=t(n,[["render",r]]);export{p as __pageData,g as default}; diff --git a/assets/help_escrcpy.md.3eFsSxBG.lean.js b/assets/help_escrcpy.md.DYv8jMH0.lean.js similarity index 85% rename from assets/help_escrcpy.md.3eFsSxBG.lean.js rename to assets/help_escrcpy.md.DYv8jMH0.lean.js index 8f175935f..99da59321 100644 --- a/assets/help_escrcpy.md.3eFsSxBG.lean.js +++ b/assets/help_escrcpy.md.DYv8jMH0.lean.js @@ -1 +1 @@ -import{e as t,o,a,ag as i}from"./chunks/framework.DCs21iJA.js";const p=JSON.parse('{"title":"Escrcpy","description":"","frontmatter":{"title":"Escrcpy"},"headers":[],"relativePath":"help/escrcpy.md","filePath":"en/help/escrcpy.md","lastUpdated":1772158243000}'),n={name:"help/escrcpy.md"};function r(s,e,c,l,d,h){return o(),a("div",null,[...e[0]||(e[0]=[i("",44)])])}const g=t(n,[["render",r]]);export{p as __pageData,g as default}; +import{e as t,o,a,ag as i}from"./chunks/framework.DCs21iJA.js";const p=JSON.parse('{"title":"Escrcpy","description":"","frontmatter":{"title":"Escrcpy"},"headers":[],"relativePath":"help/escrcpy.md","filePath":"en/help/escrcpy.md","lastUpdated":1772158834000}'),n={name:"help/escrcpy.md"};function r(s,e,c,l,d,h){return o(),a("div",null,[...e[0]||(e[0]=[i("",44)])])}const g=t(n,[["render",r]]);export{p as __pageData,g as default}; diff --git a/assets/help_index.md.CRX3uZ_O.js b/assets/help_index.md.D-y1cCRw.js similarity index 92% rename from assets/help_index.md.CRX3uZ_O.js rename to assets/help_index.md.D-y1cCRw.js index 22db24148..764a73930 100644 --- a/assets/help_index.md.CRX3uZ_O.js +++ b/assets/help_index.md.D-y1cCRw.js @@ -1 +1 @@ -import{e as t,o as l,a,h as e,J as n}from"./chunks/framework.DCs21iJA.js";const f=JSON.parse('{"title":"Help","description":"","frontmatter":{"title":"Help"},"headers":[],"relativePath":"help/index.md","filePath":"en/help/index.md","lastUpdated":1772158243000}'),s={name:"help/index.md"};function p(c,r,o,i,d,h){return l(),a("div",null,[...r[0]||(r[0]=[e("h1",{id:"help-center",tabindex:"-1"},[n("Help Center "),e("a",{class:"header-anchor",href:"#help-center","aria-label":'Permalink to "Help Center"'},"​")],-1),e("p",null,"This section provides solutions to common problems for Escrcpy and Scrcpy users.",-1),e("ul",null,[e("li",null,[e("a",{href:"/help/escrcpy"},"Escrcpy")]),e("li",null,[e("a",{href:"/help/scrcpy"},"Scrcpy")])],-1)])])}const u=t(s,[["render",p]]);export{f as __pageData,u as default}; +import{e as t,o as l,a,h as e,J as n}from"./chunks/framework.DCs21iJA.js";const f=JSON.parse('{"title":"Help","description":"","frontmatter":{"title":"Help"},"headers":[],"relativePath":"help/index.md","filePath":"en/help/index.md","lastUpdated":1772158834000}'),s={name:"help/index.md"};function p(c,r,o,i,d,h){return l(),a("div",null,[...r[0]||(r[0]=[e("h1",{id:"help-center",tabindex:"-1"},[n("Help Center "),e("a",{class:"header-anchor",href:"#help-center","aria-label":'Permalink to "Help Center"'},"​")],-1),e("p",null,"This section provides solutions to common problems for Escrcpy and Scrcpy users.",-1),e("ul",null,[e("li",null,[e("a",{href:"/help/escrcpy"},"Escrcpy")]),e("li",null,[e("a",{href:"/help/scrcpy"},"Scrcpy")])],-1)])])}const u=t(s,[["render",p]]);export{f as __pageData,u as default}; diff --git a/assets/help_index.md.CRX3uZ_O.lean.js b/assets/help_index.md.D-y1cCRw.lean.js similarity index 92% rename from assets/help_index.md.CRX3uZ_O.lean.js rename to assets/help_index.md.D-y1cCRw.lean.js index 22db24148..764a73930 100644 --- a/assets/help_index.md.CRX3uZ_O.lean.js +++ b/assets/help_index.md.D-y1cCRw.lean.js @@ -1 +1 @@ -import{e as t,o as l,a,h as e,J as n}from"./chunks/framework.DCs21iJA.js";const f=JSON.parse('{"title":"Help","description":"","frontmatter":{"title":"Help"},"headers":[],"relativePath":"help/index.md","filePath":"en/help/index.md","lastUpdated":1772158243000}'),s={name:"help/index.md"};function p(c,r,o,i,d,h){return l(),a("div",null,[...r[0]||(r[0]=[e("h1",{id:"help-center",tabindex:"-1"},[n("Help Center "),e("a",{class:"header-anchor",href:"#help-center","aria-label":'Permalink to "Help Center"'},"​")],-1),e("p",null,"This section provides solutions to common problems for Escrcpy and Scrcpy users.",-1),e("ul",null,[e("li",null,[e("a",{href:"/help/escrcpy"},"Escrcpy")]),e("li",null,[e("a",{href:"/help/scrcpy"},"Scrcpy")])],-1)])])}const u=t(s,[["render",p]]);export{f as __pageData,u as default}; +import{e as t,o as l,a,h as e,J as n}from"./chunks/framework.DCs21iJA.js";const f=JSON.parse('{"title":"Help","description":"","frontmatter":{"title":"Help"},"headers":[],"relativePath":"help/index.md","filePath":"en/help/index.md","lastUpdated":1772158834000}'),s={name:"help/index.md"};function p(c,r,o,i,d,h){return l(),a("div",null,[...r[0]||(r[0]=[e("h1",{id:"help-center",tabindex:"-1"},[n("Help Center "),e("a",{class:"header-anchor",href:"#help-center","aria-label":'Permalink to "Help Center"'},"​")],-1),e("p",null,"This section provides solutions to common problems for Escrcpy and Scrcpy users.",-1),e("ul",null,[e("li",null,[e("a",{href:"/help/escrcpy"},"Escrcpy")]),e("li",null,[e("a",{href:"/help/scrcpy"},"Scrcpy")])],-1)])])}const u=t(s,[["render",p]]);export{f as __pageData,u as default}; diff --git a/assets/help_scrcpy.md.BDVfhDua.js b/assets/help_scrcpy.md.DzrekZnR.js similarity index 99% rename from assets/help_scrcpy.md.BDVfhDua.js rename to assets/help_scrcpy.md.DzrekZnR.js index bb3d8c976..750fa5cdf 100644 --- a/assets/help_scrcpy.md.BDVfhDua.js +++ b/assets/help_scrcpy.md.DzrekZnR.js @@ -1,4 +1,4 @@ -import{e as a,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const u=JSON.parse('{"title":"Scrcpy","description":"","frontmatter":{"title":"Scrcpy"},"headers":[],"relativePath":"help/scrcpy.md","filePath":"en/help/scrcpy.md","lastUpdated":1772158243000}'),o={name:"help/scrcpy.md"};function n(r,e,c,d,l,h){return s(),i("div",null,[...e[0]||(e[0]=[t(`

Scrcpy

Here are the common reported problems and their status.

If you encounter any error, the first step is to upgrade to the latest version.

adb and USB issues

scrcpy execute adb commands to initialize the connection with the device. If adb fails, then scrcpy will not work.

This is typically not a bug in scrcpy, but a problem in your environment.

adb not found

You need adb accessible from your PATH.

On Windows, the current directory is in your PATH, and adb.exe is included in the release, so it should work out-of-the-box.

Device not detected

ERROR: Could not find any ADB device
+import{e as a,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const u=JSON.parse('{"title":"Scrcpy","description":"","frontmatter":{"title":"Scrcpy"},"headers":[],"relativePath":"help/scrcpy.md","filePath":"en/help/scrcpy.md","lastUpdated":1772158834000}'),o={name:"help/scrcpy.md"};function n(r,e,c,d,l,h){return s(),i("div",null,[...e[0]||(e[0]=[t(`

Scrcpy

Here are the common reported problems and their status.

If you encounter any error, the first step is to upgrade to the latest version.

adb and USB issues

scrcpy execute adb commands to initialize the connection with the device. If adb fails, then scrcpy will not work.

This is typically not a bug in scrcpy, but a problem in your environment.

adb not found

You need adb accessible from your PATH.

On Windows, the current directory is in your PATH, and adb.exe is included in the release, so it should work out-of-the-box.

Device not detected

ERROR: Could not find any ADB device
 

Check that you correctly enabled adb debugging.

Your device must be detected by adb:

adb devices

If your device is not detected, you may need some drivers (on Windows). There is a separate USB driver for Google devices.

Device unauthorized

ERROR: Device is unauthorized:
 ERROR:     -->   (usb)  0123456789abcdef          unauthorized
 ERROR: A popup should open on the device to request authorization.
diff --git a/assets/help_scrcpy.md.BDVfhDua.lean.js b/assets/help_scrcpy.md.DzrekZnR.lean.js
similarity index 85%
rename from assets/help_scrcpy.md.BDVfhDua.lean.js
rename to assets/help_scrcpy.md.DzrekZnR.lean.js
index bd1e33d7b..e9f07068d 100644
--- a/assets/help_scrcpy.md.BDVfhDua.lean.js
+++ b/assets/help_scrcpy.md.DzrekZnR.lean.js
@@ -1 +1 @@
-import{e as a,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const u=JSON.parse('{"title":"Scrcpy","description":"","frontmatter":{"title":"Scrcpy"},"headers":[],"relativePath":"help/scrcpy.md","filePath":"en/help/scrcpy.md","lastUpdated":1772158243000}'),o={name:"help/scrcpy.md"};function n(r,e,c,d,l,h){return s(),i("div",null,[...e[0]||(e[0]=[t("",66)])])}const b=a(o,[["render",n]]);export{u as __pageData,b as default};
+import{e as a,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const u=JSON.parse('{"title":"Scrcpy","description":"","frontmatter":{"title":"Scrcpy"},"headers":[],"relativePath":"help/scrcpy.md","filePath":"en/help/scrcpy.md","lastUpdated":1772158834000}'),o={name:"help/scrcpy.md"};function n(r,e,c,d,l,h){return s(),i("div",null,[...e[0]||(e[0]=[t("",66)])])}const b=a(o,[["render",n]]);export{u as __pageData,b as default};
diff --git a/assets/index.md.D2nHulPk.js b/assets/index.md.BH3rmAi9.js
similarity index 95%
rename from assets/index.md.D2nHulPk.js
rename to assets/index.md.BH3rmAi9.js
index 2cb6524c0..b8a3dcc09 100644
--- a/assets/index.md.D2nHulPk.js
+++ b/assets/index.md.BH3rmAi9.js
@@ -1 +1 @@
-import{e,o as t,a as i}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Escrcpy","text":"Display and control your Android device graphically with scrcpy","tagline":"Powered by electron.","image":{"src":"/images/logo@1024x1024.png","alt":"Escrcpy"},"actions":[{"theme":"brand","text":"Get Started 👉","link":"/guide/started"},{"theme":"alt","text":"Help","link":"/help/escrcpy"},{"theme":"alt","text":"Github","link":"https://github.com/viarotel-org/escrcpy"}]},"features":[{"icon":"🤖","title":"Intelligent Control","details":"Natural-language commands powered by AutoGLM for smart control of Android devices"},{"icon":"🏃","title":"Automation & Efficiency","details":"Automated workflow execution with support for parallel operations across multiple devices"},{"icon":"🪟","title":"Multi-Device Management","details":"Visual window orchestration for centralized management of multiple devices"},{"icon":"📡","title":"Connectivity & Networking","details":"Wireless connections with Gnirehtet reverse tethering support"},{"icon":"⚡️","title":"Scrcpy Core","details":"High-performance, low-latency screen mirroring based on Scrcpy"}]},"headers":[],"relativePath":"index.md","filePath":"en/index.md","lastUpdated":1772158243000}'),o={name:"index.md"};function r(a,n,c,l,s,d){return t(),i("div")}const u=e(o,[["render",r]]);export{m as __pageData,u as default};
+import{e,o as t,a as i}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Escrcpy","text":"Display and control your Android device graphically with scrcpy","tagline":"Powered by electron.","image":{"src":"/images/logo@1024x1024.png","alt":"Escrcpy"},"actions":[{"theme":"brand","text":"Get Started 👉","link":"/guide/started"},{"theme":"alt","text":"Help","link":"/help/escrcpy"},{"theme":"alt","text":"Github","link":"https://github.com/viarotel-org/escrcpy"}]},"features":[{"icon":"🤖","title":"Intelligent Control","details":"Natural-language commands powered by AutoGLM for smart control of Android devices"},{"icon":"🏃","title":"Automation & Efficiency","details":"Automated workflow execution with support for parallel operations across multiple devices"},{"icon":"🪟","title":"Multi-Device Management","details":"Visual window orchestration for centralized management of multiple devices"},{"icon":"📡","title":"Connectivity & Networking","details":"Wireless connections with Gnirehtet reverse tethering support"},{"icon":"⚡️","title":"Scrcpy Core","details":"High-performance, low-latency screen mirroring based on Scrcpy"}]},"headers":[],"relativePath":"index.md","filePath":"en/index.md","lastUpdated":1772158834000}'),o={name:"index.md"};function r(a,n,c,l,s,d){return t(),i("div")}const u=e(o,[["render",r]]);export{m as __pageData,u as default};
diff --git a/assets/index.md.D2nHulPk.lean.js b/assets/index.md.BH3rmAi9.lean.js
similarity index 95%
rename from assets/index.md.D2nHulPk.lean.js
rename to assets/index.md.BH3rmAi9.lean.js
index 2cb6524c0..b8a3dcc09 100644
--- a/assets/index.md.D2nHulPk.lean.js
+++ b/assets/index.md.BH3rmAi9.lean.js
@@ -1 +1 @@
-import{e,o as t,a as i}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Escrcpy","text":"Display and control your Android device graphically with scrcpy","tagline":"Powered by electron.","image":{"src":"/images/logo@1024x1024.png","alt":"Escrcpy"},"actions":[{"theme":"brand","text":"Get Started 👉","link":"/guide/started"},{"theme":"alt","text":"Help","link":"/help/escrcpy"},{"theme":"alt","text":"Github","link":"https://github.com/viarotel-org/escrcpy"}]},"features":[{"icon":"🤖","title":"Intelligent Control","details":"Natural-language commands powered by AutoGLM for smart control of Android devices"},{"icon":"🏃","title":"Automation & Efficiency","details":"Automated workflow execution with support for parallel operations across multiple devices"},{"icon":"🪟","title":"Multi-Device Management","details":"Visual window orchestration for centralized management of multiple devices"},{"icon":"📡","title":"Connectivity & Networking","details":"Wireless connections with Gnirehtet reverse tethering support"},{"icon":"⚡️","title":"Scrcpy Core","details":"High-performance, low-latency screen mirroring based on Scrcpy"}]},"headers":[],"relativePath":"index.md","filePath":"en/index.md","lastUpdated":1772158243000}'),o={name:"index.md"};function r(a,n,c,l,s,d){return t(),i("div")}const u=e(o,[["render",r]]);export{m as __pageData,u as default};
+import{e,o as t,a as i}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Escrcpy","text":"Display and control your Android device graphically with scrcpy","tagline":"Powered by electron.","image":{"src":"/images/logo@1024x1024.png","alt":"Escrcpy"},"actions":[{"theme":"brand","text":"Get Started 👉","link":"/guide/started"},{"theme":"alt","text":"Help","link":"/help/escrcpy"},{"theme":"alt","text":"Github","link":"https://github.com/viarotel-org/escrcpy"}]},"features":[{"icon":"🤖","title":"Intelligent Control","details":"Natural-language commands powered by AutoGLM for smart control of Android devices"},{"icon":"🏃","title":"Automation & Efficiency","details":"Automated workflow execution with support for parallel operations across multiple devices"},{"icon":"🪟","title":"Multi-Device Management","details":"Visual window orchestration for centralized management of multiple devices"},{"icon":"📡","title":"Connectivity & Networking","details":"Wireless connections with Gnirehtet reverse tethering support"},{"icon":"⚡️","title":"Scrcpy Core","details":"High-performance, low-latency screen mirroring based on Scrcpy"}]},"headers":[],"relativePath":"index.md","filePath":"en/index.md","lastUpdated":1772158834000}'),o={name:"index.md"};function r(a,n,c,l,s,d){return t(),i("div")}const u=e(o,[["render",r]]);export{m as __pageData,u as default};
diff --git a/assets/reference_gnirehtet_api.md.DyNKNgJ9.js b/assets/reference_gnirehtet_api.md.BiDxvT1O.js
similarity index 99%
rename from assets/reference_gnirehtet_api.md.DyNKNgJ9.js
rename to assets/reference_gnirehtet_api.md.BiDxvT1O.js
index 1a79d847f..7b2f90cd3 100644
--- a/assets/reference_gnirehtet_api.md.DyNKNgJ9.js
+++ b/assets/reference_gnirehtet_api.md.BiDxvT1O.js
@@ -1 +1 @@
-import{e as i,o as e,a,ag as t}from"./chunks/framework.DCs21iJA.js";const g=JSON.parse('{"title":"API","description":"","frontmatter":{"title":"API"},"headers":[],"relativePath":"reference/gnirehtet/api.md","filePath":"en/reference/gnirehtet/api.md","lastUpdated":1772158243000}'),n={name:"reference/gnirehtet/api.md"};function p(h,s,l,r,d,o){return e(),a("div",null,[...s[0]||(s[0]=[t('

Gnirehtet API

gnirehtet is a tool used to enable reverse tethering on Android devices, allowing the device to share the computer's internet connection via USB. Below is the detailed usage of each command along with examples.

gnirehtet install [serial]

Description: Install the client on the specified Android device and exit. If multiple devices are connected, the serial parameter must be provided.

Example Usage:

bash
gnirehtet install

If multiple devices are connected, specify the device:

bash
gnirehtet install 1234567890ABCDEF

gnirehtet uninstall [serial]

Description: Uninstall the client from the specified Android device and exit. If multiple devices are connected, the serial parameter must be provided.

Example Usage:

bash
gnirehtet uninstall

If multiple devices are connected, specify the device:

bash
gnirehtet uninstall 1234567890ABCDEF

gnirehtet reinstall [serial]

Description: Uninstall then install the client.

Example Usage:

bash
gnirehtet reinstall

If multiple devices are connected, specify the device:

bash
gnirehtet reinstall 1234567890ABCDEF

gnirehtet run [serial] [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]

Description: Enable reverse tethering for exactly one device:

  • Install the client if necessary.
  • Start the client.
  • Start the relay server.
  • On Ctrl+C, stop both the relay server and the client.

Example Usage:

bash
gnirehtet run

Specify DNS:

bash
gnirehtet run -d 8.8.8.8,8.8.4.4

Specify port:

bash
gnirehtet run -p 8080

Specify route:

bash
gnirehtet run -r 192.168.1.0/24

gnirehtet autorun [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]

Description: Enable reverse tethering for all devices:

  • Monitor devices and start clients (autostart).
  • Start the relay server.

Example Usage:

bash
gnirehtet autorun

Specify DNS:

bash
gnirehtet autorun -d 8.8.8.8,8.8.4.4

Specify port:

bash
gnirehtet autorun -p 8080

Specify route:

bash
gnirehtet autorun -r 192.168.1.0/24

gnirehtet start [serial] [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]

Description: Start a client on the Android device and exit.

  • If -d is specified, the device will use the specified DNS servers.
  • If -r is specified, only reverse tether the specified routes.
  • If -p is specified, the relay server will listen on the specified port.

Example Usage:

bash
gnirehtet start

Specify device serial:

bash
gnirehtet start 1234567890ABCDEF

Specify DNS:

bash
gnirehtet start -d 8.8.8.8,8.8.4.4

Specify port:

bash
gnirehtet start -p 8080

Specify route:

bash
gnirehtet start -r 192.168.1.0/24

gnirehtet autostart [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]

Description: Listen for device connections and start a client on each detected device.

  • Accepts the same parameters as the start command (excluding the serial, which will be taken from the detected device).

Example Usage:

bash
gnirehtet autostart

Specify DNS:

bash
gnirehtet autostart -d 8.8.8.8,8.8.4.4

Specify port:

bash
gnirehtet autostart -p 8080

Specify route:

bash
gnirehtet autostart -r 192.168.1.0/24

gnirehtet stop [serial]

Description: Stop the client on the specified Android device and exit.

Example Usage:

bash
gnirehtet stop

Specify device serial:

bash
gnirehtet stop 1234567890ABCDEF

gnirehtet restart [serial] [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]

Description: Stop the current client and restart it.

Example Usage:

bash
gnirehtet restart

Specify device serial:

bash
gnirehtet restart 1234567890ABCDEF

Specify DNS:

bash
gnirehtet restart -d 8.8.8.8,8.8.4.4

Specify port:

bash
gnirehtet restart -p 8080

Specify route:

bash
gnirehtet restart -r 192.168.1.0/24

gnirehtet tunnel [serial] [-p PORT]

Description: Set up the adb reverse tunnel. If a device is unplugged and plugged back in while gnirehtet is active, resetting the tunnel will restore the connection.

Example Usage:

bash
gnirehtet tunnel

Specify device serial:

bash
gnirehtet tunnel 1234567890ABCDEF

Specify port:

bash
gnirehtet tunnel -p 8080

gnirehtet relay [-p PORT]

Description: Start the relay server in the current terminal.

Example Usage:

bash
gnirehtet relay

Specify port:

bash
gnirehtet relay -p 8080
',98)])])}const k=i(n,[["render",p]]);export{g as __pageData,k as default}; +import{e as i,o as e,a,ag as t}from"./chunks/framework.DCs21iJA.js";const g=JSON.parse('{"title":"API","description":"","frontmatter":{"title":"API"},"headers":[],"relativePath":"reference/gnirehtet/api.md","filePath":"en/reference/gnirehtet/api.md","lastUpdated":1772158834000}'),n={name:"reference/gnirehtet/api.md"};function p(h,s,l,r,d,o){return e(),a("div",null,[...s[0]||(s[0]=[t('

Gnirehtet API

gnirehtet is a tool used to enable reverse tethering on Android devices, allowing the device to share the computer's internet connection via USB. Below is the detailed usage of each command along with examples.

gnirehtet install [serial]

Description: Install the client on the specified Android device and exit. If multiple devices are connected, the serial parameter must be provided.

Example Usage:

bash
gnirehtet install

If multiple devices are connected, specify the device:

bash
gnirehtet install 1234567890ABCDEF

gnirehtet uninstall [serial]

Description: Uninstall the client from the specified Android device and exit. If multiple devices are connected, the serial parameter must be provided.

Example Usage:

bash
gnirehtet uninstall

If multiple devices are connected, specify the device:

bash
gnirehtet uninstall 1234567890ABCDEF

gnirehtet reinstall [serial]

Description: Uninstall then install the client.

Example Usage:

bash
gnirehtet reinstall

If multiple devices are connected, specify the device:

bash
gnirehtet reinstall 1234567890ABCDEF

gnirehtet run [serial] [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]

Description: Enable reverse tethering for exactly one device:

  • Install the client if necessary.
  • Start the client.
  • Start the relay server.
  • On Ctrl+C, stop both the relay server and the client.

Example Usage:

bash
gnirehtet run

Specify DNS:

bash
gnirehtet run -d 8.8.8.8,8.8.4.4

Specify port:

bash
gnirehtet run -p 8080

Specify route:

bash
gnirehtet run -r 192.168.1.0/24

gnirehtet autorun [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]

Description: Enable reverse tethering for all devices:

  • Monitor devices and start clients (autostart).
  • Start the relay server.

Example Usage:

bash
gnirehtet autorun

Specify DNS:

bash
gnirehtet autorun -d 8.8.8.8,8.8.4.4

Specify port:

bash
gnirehtet autorun -p 8080

Specify route:

bash
gnirehtet autorun -r 192.168.1.0/24

gnirehtet start [serial] [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]

Description: Start a client on the Android device and exit.

  • If -d is specified, the device will use the specified DNS servers.
  • If -r is specified, only reverse tether the specified routes.
  • If -p is specified, the relay server will listen on the specified port.

Example Usage:

bash
gnirehtet start

Specify device serial:

bash
gnirehtet start 1234567890ABCDEF

Specify DNS:

bash
gnirehtet start -d 8.8.8.8,8.8.4.4

Specify port:

bash
gnirehtet start -p 8080

Specify route:

bash
gnirehtet start -r 192.168.1.0/24

gnirehtet autostart [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]

Description: Listen for device connections and start a client on each detected device.

  • Accepts the same parameters as the start command (excluding the serial, which will be taken from the detected device).

Example Usage:

bash
gnirehtet autostart

Specify DNS:

bash
gnirehtet autostart -d 8.8.8.8,8.8.4.4

Specify port:

bash
gnirehtet autostart -p 8080

Specify route:

bash
gnirehtet autostart -r 192.168.1.0/24

gnirehtet stop [serial]

Description: Stop the client on the specified Android device and exit.

Example Usage:

bash
gnirehtet stop

Specify device serial:

bash
gnirehtet stop 1234567890ABCDEF

gnirehtet restart [serial] [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]

Description: Stop the current client and restart it.

Example Usage:

bash
gnirehtet restart

Specify device serial:

bash
gnirehtet restart 1234567890ABCDEF

Specify DNS:

bash
gnirehtet restart -d 8.8.8.8,8.8.4.4

Specify port:

bash
gnirehtet restart -p 8080

Specify route:

bash
gnirehtet restart -r 192.168.1.0/24

gnirehtet tunnel [serial] [-p PORT]

Description: Set up the adb reverse tunnel. If a device is unplugged and plugged back in while gnirehtet is active, resetting the tunnel will restore the connection.

Example Usage:

bash
gnirehtet tunnel

Specify device serial:

bash
gnirehtet tunnel 1234567890ABCDEF

Specify port:

bash
gnirehtet tunnel -p 8080

gnirehtet relay [-p PORT]

Description: Start the relay server in the current terminal.

Example Usage:

bash
gnirehtet relay

Specify port:

bash
gnirehtet relay -p 8080
',98)])])}const k=i(n,[["render",p]]);export{g as __pageData,k as default}; diff --git a/assets/reference_gnirehtet_api.md.DyNKNgJ9.lean.js b/assets/reference_gnirehtet_api.md.BiDxvT1O.lean.js similarity index 86% rename from assets/reference_gnirehtet_api.md.DyNKNgJ9.lean.js rename to assets/reference_gnirehtet_api.md.BiDxvT1O.lean.js index 8afd69fa0..a5545f34b 100644 --- a/assets/reference_gnirehtet_api.md.DyNKNgJ9.lean.js +++ b/assets/reference_gnirehtet_api.md.BiDxvT1O.lean.js @@ -1 +1 @@ -import{e as i,o as e,a,ag as t}from"./chunks/framework.DCs21iJA.js";const g=JSON.parse('{"title":"API","description":"","frontmatter":{"title":"API"},"headers":[],"relativePath":"reference/gnirehtet/api.md","filePath":"en/reference/gnirehtet/api.md","lastUpdated":1772158243000}'),n={name:"reference/gnirehtet/api.md"};function p(h,s,l,r,d,o){return e(),a("div",null,[...s[0]||(s[0]=[t("",98)])])}const k=i(n,[["render",p]]);export{g as __pageData,k as default}; +import{e as i,o as e,a,ag as t}from"./chunks/framework.DCs21iJA.js";const g=JSON.parse('{"title":"API","description":"","frontmatter":{"title":"API"},"headers":[],"relativePath":"reference/gnirehtet/api.md","filePath":"en/reference/gnirehtet/api.md","lastUpdated":1772158834000}'),n={name:"reference/gnirehtet/api.md"};function p(h,s,l,r,d,o){return e(),a("div",null,[...s[0]||(s[0]=[t("",98)])])}const k=i(n,[["render",p]]);export{g as __pageData,k as default}; diff --git a/assets/reference_gnirehtet_index.md.nxOhXl82.js b/assets/reference_gnirehtet_index.md.D8k-_T6B.js similarity index 99% rename from assets/reference_gnirehtet_index.md.nxOhXl82.js rename to assets/reference_gnirehtet_index.md.D8k-_T6B.js index 9b32d16f7..db4b9bf86 100644 --- a/assets/reference_gnirehtet_index.md.nxOhXl82.js +++ b/assets/reference_gnirehtet_index.md.D8k-_T6B.js @@ -1,4 +1,4 @@ -import{e as a,o as i,a as t,ag as s}from"./chunks/framework.DCs21iJA.js";const g=JSON.parse('{"title":"Gnirehtet","description":"","frontmatter":{"title":"Gnirehtet"},"headers":[],"relativePath":"reference/gnirehtet/index.md","filePath":"en/reference/gnirehtet/index.md","lastUpdated":1772158243000}'),n={name:"reference/gnirehtet/index.md"};function l(r,e,o,h,p,d){return i(),t("div",null,[...e[0]||(e[0]=[s(`

IMPORTANT

Escrcpy is built on the following open-source projects. The relevant content is provided as is for user reference and will be updated periodically.

Gnirehtet (v2.5.1)

This project provides reverse tethering over adb for Android: it allows devices to use the internet connection of the computer they are plugged on. It does not require any root access (neither on the device nor on the computer). It works on GNU/Linux, Windows and Mac OS.

Currently, it relays TCP and UDP over IPv4 traffic, but it does not support IPv6 (yet?).

This project is not actively maintained anymore, only major blockers (like build issues) are fixed. It should still work, though.

Flavors

Two implementations of Gnirehtet are available:

  • one in Java;
  • one in Rust.

Which one to choose?

Use the Rust implementation. The native binary consumes less CPU and memory, and does not require a Java runtime environment.

The relay server of Gnirehtet was initially only implemented in Java. As a benefit, the same "binary" runs on every platform having Java 8 runtime installed. It is still maintained to provide a working alternative in case of problems with the Rust version.

Requirements

The Android application requires at least API 21 (Android 5.0).

For the Java version only, Java 8 (JRE) is required on your computer. On Debian-based distros, install the package openjdk-8-jre.

adb

You need a recent version of adb (where adb reverse is implemented, it works with 1.0.36).

It is available in the Android SDK platform tools.

On Debian-based distros, you can alternatively install the package android-tools-adb.

On Windows, if you need adb only for this application, just download the platform-tools and extract the following files to the gnirehtet directory:

  • adb.exe
  • AdbWinApi.dll
  • AdbWinUsbApi.dll

Make sure you enabled adb debugging on your device(s).

Get the app

Homebrew

If you use Homebrew, getting up and running is very quick. To install the Rust version:

brew install gnirehtet

Download

Download the latest release in the flavor you want.

Rust

Then extract it.

The Linux and MacOS archives contain:

  • gnirehtet.apk
  • gnirehtet

The Windows archive contains:

  • gnirehtet.apk
  • gnirehtet.exe
  • gnirehtet-run.cmd

Java

Then extract it. The archive contains:

  • gnirehtet.apk
  • gnirehtet.jar
  • gnirehtet
  • gnirehtet.cmd
  • gnirehtet-run.cmd

Run (simple)

Note: On Windows, replace ./gnirehtet by gnirehtet in the following commands.

The application has no UI, and is intended to be controlled from the computer only.

If you want to activate reverse tethering for exactly one device, just execute:

shell
./gnirehtet run

Reverse tethering remains active until you press Ctrl+C.

On Windows, for convenience, you can double-click on gnirehtet-run.cmd instead (it just executes gnirehtet run, without requiring to open a terminal).

The very first start should open a popup to request permission:

request

A "key" logo appears in the status bar whenever Gnirehtet is active:

key

Alternatively, you can enable reverse tethering for all connected devices (present and future) by calling:

shell
./gnirehtet autorun

Run

You can execute the actions separately (it may be useful if you want to reverse tether several devices simultaneously).

Start the relay server and keep it open:

shell
./gnirehtet relay

Install the apk on your Android device:

shell
./gnirehtet install [serial]

In another terminal, for each client, execute:

shell
./gnirehtet start [serial]

To stop a client:

shell
./gnirehtet stop [serial]

To reset the tunnel (useful to get the connection back when a device is unplugged and plugged back while gnirehtet is active):

shell
./gnirehtet tunnel [serial]

The serial parameter is required only if adb devices outputs more than one device.

For advanced options, call ./gnirehtet without arguments to get more details.

Run manually

The gnirehtet program exposes a simple command-line interface that executes lower-level commands. You can call them manually instead.

To start the relay server:

shell
./gnirehtet relay

To install the apk:

shell
adb install -r gnirehtet.apk

To start a client:

shell
adb reverse localabstract:gnirehtet tcp:31416
+import{e as a,o as i,a as t,ag as s}from"./chunks/framework.DCs21iJA.js";const g=JSON.parse('{"title":"Gnirehtet","description":"","frontmatter":{"title":"Gnirehtet"},"headers":[],"relativePath":"reference/gnirehtet/index.md","filePath":"en/reference/gnirehtet/index.md","lastUpdated":1772158834000}'),n={name:"reference/gnirehtet/index.md"};function l(r,e,o,h,p,d){return i(),t("div",null,[...e[0]||(e[0]=[s(`

IMPORTANT

Escrcpy is built on the following open-source projects. The relevant content is provided as is for user reference and will be updated periodically.

Gnirehtet (v2.5.1)

This project provides reverse tethering over adb for Android: it allows devices to use the internet connection of the computer they are plugged on. It does not require any root access (neither on the device nor on the computer). It works on GNU/Linux, Windows and Mac OS.

Currently, it relays TCP and UDP over IPv4 traffic, but it does not support IPv6 (yet?).

This project is not actively maintained anymore, only major blockers (like build issues) are fixed. It should still work, though.

Flavors

Two implementations of Gnirehtet are available:

  • one in Java;
  • one in Rust.

Which one to choose?

Use the Rust implementation. The native binary consumes less CPU and memory, and does not require a Java runtime environment.

The relay server of Gnirehtet was initially only implemented in Java. As a benefit, the same "binary" runs on every platform having Java 8 runtime installed. It is still maintained to provide a working alternative in case of problems with the Rust version.

Requirements

The Android application requires at least API 21 (Android 5.0).

For the Java version only, Java 8 (JRE) is required on your computer. On Debian-based distros, install the package openjdk-8-jre.

adb

You need a recent version of adb (where adb reverse is implemented, it works with 1.0.36).

It is available in the Android SDK platform tools.

On Debian-based distros, you can alternatively install the package android-tools-adb.

On Windows, if you need adb only for this application, just download the platform-tools and extract the following files to the gnirehtet directory:

  • adb.exe
  • AdbWinApi.dll
  • AdbWinUsbApi.dll

Make sure you enabled adb debugging on your device(s).

Get the app

Homebrew

If you use Homebrew, getting up and running is very quick. To install the Rust version:

brew install gnirehtet

Download

Download the latest release in the flavor you want.

Rust

Then extract it.

The Linux and MacOS archives contain:

  • gnirehtet.apk
  • gnirehtet

The Windows archive contains:

  • gnirehtet.apk
  • gnirehtet.exe
  • gnirehtet-run.cmd

Java

Then extract it. The archive contains:

  • gnirehtet.apk
  • gnirehtet.jar
  • gnirehtet
  • gnirehtet.cmd
  • gnirehtet-run.cmd

Run (simple)

Note: On Windows, replace ./gnirehtet by gnirehtet in the following commands.

The application has no UI, and is intended to be controlled from the computer only.

If you want to activate reverse tethering for exactly one device, just execute:

shell
./gnirehtet run

Reverse tethering remains active until you press Ctrl+C.

On Windows, for convenience, you can double-click on gnirehtet-run.cmd instead (it just executes gnirehtet run, without requiring to open a terminal).

The very first start should open a popup to request permission:

request

A "key" logo appears in the status bar whenever Gnirehtet is active:

key

Alternatively, you can enable reverse tethering for all connected devices (present and future) by calling:

shell
./gnirehtet autorun

Run

You can execute the actions separately (it may be useful if you want to reverse tether several devices simultaneously).

Start the relay server and keep it open:

shell
./gnirehtet relay

Install the apk on your Android device:

shell
./gnirehtet install [serial]

In another terminal, for each client, execute:

shell
./gnirehtet start [serial]

To stop a client:

shell
./gnirehtet stop [serial]

To reset the tunnel (useful to get the connection back when a device is unplugged and plugged back while gnirehtet is active):

shell
./gnirehtet tunnel [serial]

The serial parameter is required only if adb devices outputs more than one device.

For advanced options, call ./gnirehtet without arguments to get more details.

Run manually

The gnirehtet program exposes a simple command-line interface that executes lower-level commands. You can call them manually instead.

To start the relay server:

shell
./gnirehtet relay

To install the apk:

shell
adb install -r gnirehtet.apk

To start a client:

shell
adb reverse localabstract:gnirehtet tcp:31416
 adb shell am start -a com.genymobile.gnirehtet.START \\
     -n com.genymobile.gnirehtet/.GnirehtetActivity

To stop a client:

shell
adb shell am start -a com.genymobile.gnirehtet.STOP \\
     -n com.genymobile.gnirehtet/.GnirehtetActivity

Environment variables

ADB defines a custom path to the adb executable:

shell
ADB=/path/to/my/adb ./gnirehtet run

GNIREHTET_APK defines a custom path to gnirehtet.apk:

shell
GNIREHTET_APK=/usr/share/gnirehtet/gnirehtet.apk ./gnirehtet run

Why gnirehtet?

rev <<< tethering
diff --git a/assets/reference_gnirehtet_index.md.nxOhXl82.lean.js b/assets/reference_gnirehtet_index.md.D8k-_T6B.lean.js
similarity index 86%
rename from assets/reference_gnirehtet_index.md.nxOhXl82.lean.js
rename to assets/reference_gnirehtet_index.md.D8k-_T6B.lean.js
index 2d7cf65e5..f2bdab6d0 100644
--- a/assets/reference_gnirehtet_index.md.nxOhXl82.lean.js
+++ b/assets/reference_gnirehtet_index.md.D8k-_T6B.lean.js
@@ -1 +1 @@
-import{e as a,o as i,a as t,ag as s}from"./chunks/framework.DCs21iJA.js";const g=JSON.parse('{"title":"Gnirehtet","description":"","frontmatter":{"title":"Gnirehtet"},"headers":[],"relativePath":"reference/gnirehtet/index.md","filePath":"en/reference/gnirehtet/index.md","lastUpdated":1772158243000}'),n={name:"reference/gnirehtet/index.md"};function l(r,e,o,h,p,d){return i(),t("div",null,[...e[0]||(e[0]=[s("",89)])])}const u=a(n,[["render",l]]);export{g as __pageData,u as default};
+import{e as a,o as i,a as t,ag as s}from"./chunks/framework.DCs21iJA.js";const g=JSON.parse('{"title":"Gnirehtet","description":"","frontmatter":{"title":"Gnirehtet"},"headers":[],"relativePath":"reference/gnirehtet/index.md","filePath":"en/reference/gnirehtet/index.md","lastUpdated":1772158834000}'),n={name:"reference/gnirehtet/index.md"};function l(r,e,o,h,p,d){return i(),t("div",null,[...e[0]||(e[0]=[s("",89)])])}const u=a(n,[["render",l]]);export{g as __pageData,u as default};
diff --git a/assets/reference_index.md.Djt-uVAo.js b/assets/reference_index.md.B4Nq_fy8.js
similarity index 92%
rename from assets/reference_index.md.Djt-uVAo.js
rename to assets/reference_index.md.B4Nq_fy8.js
index 92076fec8..b2d210cb4 100644
--- a/assets/reference_index.md.Djt-uVAo.js
+++ b/assets/reference_index.md.B4Nq_fy8.js
@@ -1 +1 @@
-import{e as n,o as t,a,h as e,J as c}from"./chunks/framework.DCs21iJA.js";const h=JSON.parse('{"title":"Reference","description":"","frontmatter":{"title":"Reference"},"headers":[],"relativePath":"reference/index.md","filePath":"en/reference/index.md","lastUpdated":1772158243000}'),l={name:"reference/index.md"};function i(o,r,s,d,f,p){return t(),a("div",null,[...r[0]||(r[0]=[e("h1",{id:"reference",tabindex:"-1"},[c("Reference "),e("a",{class:"header-anchor",href:"#reference","aria-label":'Permalink to "Reference"'},"​")],-1),e("p",null,"Escrcpy is built on the following open-source projects. The relevant content is provided as is for user reference and will be updated periodically.",-1),e("ul",null,[e("li",null,[e("a",{href:"/reference/scrcpy/"},"Scrcpy")]),e("li",null,[e("a",{href:"/reference/gnirehtet/"},"Gnirehtet")])],-1)])])}const m=n(l,[["render",i]]);export{h as __pageData,m as default};
+import{e as n,o as t,a,h as e,J as c}from"./chunks/framework.DCs21iJA.js";const h=JSON.parse('{"title":"Reference","description":"","frontmatter":{"title":"Reference"},"headers":[],"relativePath":"reference/index.md","filePath":"en/reference/index.md","lastUpdated":1772158834000}'),l={name:"reference/index.md"};function i(o,r,s,d,f,p){return t(),a("div",null,[...r[0]||(r[0]=[e("h1",{id:"reference",tabindex:"-1"},[c("Reference "),e("a",{class:"header-anchor",href:"#reference","aria-label":'Permalink to "Reference"'},"​")],-1),e("p",null,"Escrcpy is built on the following open-source projects. The relevant content is provided as is for user reference and will be updated periodically.",-1),e("ul",null,[e("li",null,[e("a",{href:"/reference/scrcpy/"},"Scrcpy")]),e("li",null,[e("a",{href:"/reference/gnirehtet/"},"Gnirehtet")])],-1)])])}const m=n(l,[["render",i]]);export{h as __pageData,m as default};
diff --git a/assets/reference_index.md.Djt-uVAo.lean.js b/assets/reference_index.md.B4Nq_fy8.lean.js
similarity index 92%
rename from assets/reference_index.md.Djt-uVAo.lean.js
rename to assets/reference_index.md.B4Nq_fy8.lean.js
index 92076fec8..b2d210cb4 100644
--- a/assets/reference_index.md.Djt-uVAo.lean.js
+++ b/assets/reference_index.md.B4Nq_fy8.lean.js
@@ -1 +1 @@
-import{e as n,o as t,a,h as e,J as c}from"./chunks/framework.DCs21iJA.js";const h=JSON.parse('{"title":"Reference","description":"","frontmatter":{"title":"Reference"},"headers":[],"relativePath":"reference/index.md","filePath":"en/reference/index.md","lastUpdated":1772158243000}'),l={name:"reference/index.md"};function i(o,r,s,d,f,p){return t(),a("div",null,[...r[0]||(r[0]=[e("h1",{id:"reference",tabindex:"-1"},[c("Reference "),e("a",{class:"header-anchor",href:"#reference","aria-label":'Permalink to "Reference"'},"​")],-1),e("p",null,"Escrcpy is built on the following open-source projects. The relevant content is provided as is for user reference and will be updated periodically.",-1),e("ul",null,[e("li",null,[e("a",{href:"/reference/scrcpy/"},"Scrcpy")]),e("li",null,[e("a",{href:"/reference/gnirehtet/"},"Gnirehtet")])],-1)])])}const m=n(l,[["render",i]]);export{h as __pageData,m as default};
+import{e as n,o as t,a,h as e,J as c}from"./chunks/framework.DCs21iJA.js";const h=JSON.parse('{"title":"Reference","description":"","frontmatter":{"title":"Reference"},"headers":[],"relativePath":"reference/index.md","filePath":"en/reference/index.md","lastUpdated":1772158834000}'),l={name:"reference/index.md"};function i(o,r,s,d,f,p){return t(),a("div",null,[...r[0]||(r[0]=[e("h1",{id:"reference",tabindex:"-1"},[c("Reference "),e("a",{class:"header-anchor",href:"#reference","aria-label":'Permalink to "Reference"'},"​")],-1),e("p",null,"Escrcpy is built on the following open-source projects. The relevant content is provided as is for user reference and will be updated periodically.",-1),e("ul",null,[e("li",null,[e("a",{href:"/reference/scrcpy/"},"Scrcpy")]),e("li",null,[e("a",{href:"/reference/gnirehtet/"},"Gnirehtet")])],-1)])])}const m=n(l,[["render",i]]);export{h as __pageData,m as default};
diff --git a/assets/reference_scrcpy_audio.md.Da28Zcw4.js b/assets/reference_scrcpy_audio.md.DkJRMmOs.js
similarity index 99%
rename from assets/reference_scrcpy_audio.md.Da28Zcw4.js
rename to assets/reference_scrcpy_audio.md.DkJRMmOs.js
index 31923f9c5..1845c21a9 100644
--- a/assets/reference_scrcpy_audio.md.Da28Zcw4.js
+++ b/assets/reference_scrcpy_audio.md.DkJRMmOs.js
@@ -1,4 +1,4 @@
-import{e as a,o as i,a as s,ag as o}from"./chunks/framework.DCs21iJA.js";const u=JSON.parse('{"title":"Audio","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/audio.md","filePath":"en/reference/scrcpy/audio.md","lastUpdated":1772158243000}'),t={name:"reference/scrcpy/audio.md"};function d(n,e,r,c,p,l){return i(),s("div",null,[...e[0]||(e[0]=[o(`

Audio

Audio forwarding is supported for devices with Android 11 or higher, and it is enabled by default:

  • For Android 12 or newer, it works out-of-the-box.
  • For Android 11, you'll need to ensure that the device screen is unlocked when starting scrcpy. A fake popup will briefly appear to make the system think that the shell app is in the foreground. Without this, audio capture will fail.
  • For Android 10 or earlier, audio cannot be captured and is automatically disabled.

If audio capture fails, then mirroring continues with video only (since audio is enabled by default, it is not acceptable to make scrcpy fail if it is not available), unless --require-audio is set.

No audio

To disable audio:

scrcpy --no-audio

To disable only the audio playback, see no playback.

Audio only

To play audio only, disable video and control:

bash
scrcpy --no-video --no-control

To play audio without a window:

bash
# --no-video and --no-control are implied by --no-window
+import{e as a,o as i,a as s,ag as o}from"./chunks/framework.DCs21iJA.js";const u=JSON.parse('{"title":"Audio","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/audio.md","filePath":"en/reference/scrcpy/audio.md","lastUpdated":1772158834000}'),t={name:"reference/scrcpy/audio.md"};function d(n,e,r,c,p,l){return i(),s("div",null,[...e[0]||(e[0]=[o(`

Audio

Audio forwarding is supported for devices with Android 11 or higher, and it is enabled by default:

  • For Android 12 or newer, it works out-of-the-box.
  • For Android 11, you'll need to ensure that the device screen is unlocked when starting scrcpy. A fake popup will briefly appear to make the system think that the shell app is in the foreground. Without this, audio capture will fail.
  • For Android 10 or earlier, audio cannot be captured and is automatically disabled.

If audio capture fails, then mirroring continues with video only (since audio is enabled by default, it is not acceptable to make scrcpy fail if it is not available), unless --require-audio is set.

No audio

To disable audio:

scrcpy --no-audio

To disable only the audio playback, see no playback.

Audio only

To play audio only, disable video and control:

bash
scrcpy --no-video --no-control

To play audio without a window:

bash
# --no-video and --no-control are implied by --no-window
 scrcpy --no-window
 # interrupt with Ctrl+C

Without video, the audio latency is typically not critical, so it might be interesting to add buffering to minimize glitches:

scrcpy --no-video --audio-buffer=200

Source

By default, the device audio output is forwarded.

It is possible to capture the device microphone instead:

scrcpy --audio-source=mic

For example, to use the device as a dictaphone and record a capture directly on the computer:

scrcpy --audio-source=mic --no-video --no-playback --record=file.opus

Many sources are available:

  • output (default): forwards the whole audio output, and disables playback on the device (mapped to REMOTE_SUBMIX).
  • playback: captures the audio playback (Android apps can opt-out, so the whole output is not necessarily captured).
  • mic: captures the microphone (mapped to MIC).
  • mic-unprocessed: captures the microphone unprocessed (raw) sound (mapped to UNPROCESSED).
  • mic-camcorder: captures the microphone tuned for video recording, with the same orientation as the camera if available (mapped to CAMCORDER).
  • mic-voice-recognition: captures the microphone tuned for voice recognition (mapped to VOICE_RECOGNITION).
  • mic-voice-communication: captures the microphone tuned for voice communications (it will for instance take advantage of echo cancellation or automatic gain control if available) (mapped to VOICE_COMMUNICATION).
  • voice-call: captures voice call (mapped to VOICE_CALL).
  • voice-call-uplink: captures voice call uplink only (mapped to VOICE_UPLINK).
  • voice-call-downlink: captures voice call downlink only (mapped to VOICE_DOWNLINK).
  • voice-performance: captures audio meant to be processed for live performance (karaoke), includes both the microphone and the device playback (mapped to VOICE_PERFORMANCE).

Duplication

An alternative device audio capture method is also available (only for Android 13 and above):

scrcpy --audio-source=playback

This audio source supports keeping the audio playing on the device while mirroring, with --audio-dup:

bash
scrcpy --audio-source=playback --audio-dup
 # or simply:
diff --git a/assets/reference_scrcpy_audio.md.Da28Zcw4.lean.js b/assets/reference_scrcpy_audio.md.DkJRMmOs.lean.js
similarity index 85%
rename from assets/reference_scrcpy_audio.md.Da28Zcw4.lean.js
rename to assets/reference_scrcpy_audio.md.DkJRMmOs.lean.js
index 2e68dee88..947ad40de 100644
--- a/assets/reference_scrcpy_audio.md.Da28Zcw4.lean.js
+++ b/assets/reference_scrcpy_audio.md.DkJRMmOs.lean.js
@@ -1 +1 @@
-import{e as a,o as i,a as s,ag as o}from"./chunks/framework.DCs21iJA.js";const u=JSON.parse('{"title":"Audio","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/audio.md","filePath":"en/reference/scrcpy/audio.md","lastUpdated":1772158243000}'),t={name:"reference/scrcpy/audio.md"};function d(n,e,r,c,p,l){return i(),s("div",null,[...e[0]||(e[0]=[o("",57)])])}const k=a(t,[["render",d]]);export{u as __pageData,k as default};
+import{e as a,o as i,a as s,ag as o}from"./chunks/framework.DCs21iJA.js";const u=JSON.parse('{"title":"Audio","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/audio.md","filePath":"en/reference/scrcpy/audio.md","lastUpdated":1772158834000}'),t={name:"reference/scrcpy/audio.md"};function d(n,e,r,c,p,l){return i(),s("div",null,[...e[0]||(e[0]=[o("",57)])])}const k=a(t,[["render",d]]);export{u as __pageData,k as default};
diff --git a/assets/reference_scrcpy_build.md.fIiiXNuy.js b/assets/reference_scrcpy_build.md.BH-tiFND.js
similarity index 99%
rename from assets/reference_scrcpy_build.md.fIiiXNuy.js
rename to assets/reference_scrcpy_build.md.BH-tiFND.js
index e9bbe33ad..c5ec876cc 100644
--- a/assets/reference_scrcpy_build.md.fIiiXNuy.js
+++ b/assets/reference_scrcpy_build.md.BH-tiFND.js
@@ -1,4 +1,4 @@
-import{e as i,o as a,a as e,ag as n}from"./chunks/framework.DCs21iJA.js";const c=JSON.parse('{"title":"Build scrcpy","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/build.md","filePath":"en/reference/scrcpy/build.md","lastUpdated":1772158243000}'),l={name:"reference/scrcpy/build.md"};function t(h,s,p,r,k,d){return a(),e("div",null,[...s[0]||(s[0]=[n(`

Build scrcpy

Here are the instructions to build scrcpy (client and server).

If you just want to build and install the latest release, follow the simplified process described in doc/linux.md.

Branches

There are two main branches:

  • master: contains the latest release. It is the home page of the project on GitHub.
  • dev: the current development branch. Every commit present in dev will be in the next release.

If you want to contribute code, please base your commits on the latest dev branch.

Requirements

You need adb. It is available in the Android SDK platform tools, or packaged in your distribution (adb).

On Windows, download the platform-tools and extract the following files to a directory accessible from your PATH:

  • adb.exe
  • AdbWinApi.dll
  • AdbWinUsbApi.dll

It is also available in scrcpy releases.

The client requires FFmpeg and LibSDL2. Just follow the instructions.

System-specific steps

Linux

Install the required packages from your package manager.

Debian/Ubuntu

bash
# runtime dependencies
+import{e as i,o as a,a as e,ag as n}from"./chunks/framework.DCs21iJA.js";const c=JSON.parse('{"title":"Build scrcpy","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/build.md","filePath":"en/reference/scrcpy/build.md","lastUpdated":1772158834000}'),l={name:"reference/scrcpy/build.md"};function t(h,s,p,r,k,d){return a(),e("div",null,[...s[0]||(s[0]=[n(`

Build scrcpy

Here are the instructions to build scrcpy (client and server).

If you just want to build and install the latest release, follow the simplified process described in doc/linux.md.

Branches

There are two main branches:

  • master: contains the latest release. It is the home page of the project on GitHub.
  • dev: the current development branch. Every commit present in dev will be in the next release.

If you want to contribute code, please base your commits on the latest dev branch.

Requirements

You need adb. It is available in the Android SDK platform tools, or packaged in your distribution (adb).

On Windows, download the platform-tools and extract the following files to a directory accessible from your PATH:

  • adb.exe
  • AdbWinApi.dll
  • AdbWinUsbApi.dll

It is also available in scrcpy releases.

The client requires FFmpeg and LibSDL2. Just follow the instructions.

System-specific steps

Linux

Install the required packages from your package manager.

Debian/Ubuntu

bash
# runtime dependencies
 sudo apt install ffmpeg libsdl2-2.0-0 adb libusb-1.0-0
 
 # client build dependencies
diff --git a/assets/reference_scrcpy_build.md.fIiiXNuy.lean.js b/assets/reference_scrcpy_build.md.BH-tiFND.lean.js
similarity index 86%
rename from assets/reference_scrcpy_build.md.fIiiXNuy.lean.js
rename to assets/reference_scrcpy_build.md.BH-tiFND.lean.js
index 6df2e5205..d333f38f5 100644
--- a/assets/reference_scrcpy_build.md.fIiiXNuy.lean.js
+++ b/assets/reference_scrcpy_build.md.BH-tiFND.lean.js
@@ -1 +1 @@
-import{e as i,o as a,a as e,ag as n}from"./chunks/framework.DCs21iJA.js";const c=JSON.parse('{"title":"Build scrcpy","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/build.md","filePath":"en/reference/scrcpy/build.md","lastUpdated":1772158243000}'),l={name:"reference/scrcpy/build.md"};function t(h,s,p,r,k,d){return a(),e("div",null,[...s[0]||(s[0]=[n("",72)])])}const F=i(l,[["render",t]]);export{c as __pageData,F as default};
+import{e as i,o as a,a as e,ag as n}from"./chunks/framework.DCs21iJA.js";const c=JSON.parse('{"title":"Build scrcpy","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/build.md","filePath":"en/reference/scrcpy/build.md","lastUpdated":1772158834000}'),l={name:"reference/scrcpy/build.md"};function t(h,s,p,r,k,d){return a(),e("div",null,[...s[0]||(s[0]=[n("",72)])])}const F=i(l,[["render",t]]);export{c as __pageData,F as default};
diff --git a/assets/reference_scrcpy_camera.md.C4z6IhIb.js b/assets/reference_scrcpy_camera.md.BE4EYS1u.js
similarity index 99%
rename from assets/reference_scrcpy_camera.md.C4z6IhIb.js
rename to assets/reference_scrcpy_camera.md.BE4EYS1u.js
index a58730994..e12de3177 100644
--- a/assets/reference_scrcpy_camera.md.C4z6IhIb.js
+++ b/assets/reference_scrcpy_camera.md.BE4EYS1u.js
@@ -1,4 +1,4 @@
-import{e as a,o as e,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Camera","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/camera.md","filePath":"en/reference/scrcpy/camera.md","lastUpdated":1772158243000}'),n={name:"reference/scrcpy/camera.md"};function p(r,s,h,l,c,d){return e(),i("div",null,[...s[0]||(s[0]=[t(`

Camera

Camera mirroring is supported for devices with Android 12 or higher.

To capture the camera instead of the device screen:

scrcpy --video-source=camera

By default, it automatically switches audio source to microphone (as if --audio-source=mic were also passed).

bash
scrcpy --video-source=display  # default is --audio-source=output
+import{e as a,o as e,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Camera","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/camera.md","filePath":"en/reference/scrcpy/camera.md","lastUpdated":1772158834000}'),n={name:"reference/scrcpy/camera.md"};function p(r,s,h,l,c,d){return e(),i("div",null,[...s[0]||(s[0]=[t(`

Camera

Camera mirroring is supported for devices with Android 12 or higher.

To capture the camera instead of the device screen:

scrcpy --video-source=camera

By default, it automatically switches audio source to microphone (as if --audio-source=mic were also passed).

bash
scrcpy --video-source=display  # default is --audio-source=output
 scrcpy --video-source=camera   # default is --audio-source=mic
 scrcpy --video-source=display --audio-source=mic    # force display AND microphone
 scrcpy --video-source=camera --audio-source=output  # force camera AND device audio output

Audio can be disabled:

bash
# audio not captured at all
diff --git a/assets/reference_scrcpy_camera.md.C4z6IhIb.lean.js b/assets/reference_scrcpy_camera.md.BE4EYS1u.lean.js
similarity index 86%
rename from assets/reference_scrcpy_camera.md.C4z6IhIb.lean.js
rename to assets/reference_scrcpy_camera.md.BE4EYS1u.lean.js
index ba9028ed0..ee9b411df 100644
--- a/assets/reference_scrcpy_camera.md.C4z6IhIb.lean.js
+++ b/assets/reference_scrcpy_camera.md.BE4EYS1u.lean.js
@@ -1 +1 @@
-import{e as a,o as e,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Camera","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/camera.md","filePath":"en/reference/scrcpy/camera.md","lastUpdated":1772158243000}'),n={name:"reference/scrcpy/camera.md"};function p(r,s,h,l,c,d){return e(),i("div",null,[...s[0]||(s[0]=[t("",49)])])}const g=a(n,[["render",p]]);export{k as __pageData,g as default};
+import{e as a,o as e,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Camera","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/camera.md","filePath":"en/reference/scrcpy/camera.md","lastUpdated":1772158834000}'),n={name:"reference/scrcpy/camera.md"};function p(r,s,h,l,c,d){return e(),i("div",null,[...s[0]||(s[0]=[t("",49)])])}const g=a(n,[["render",p]]);export{k as __pageData,g as default};
diff --git a/assets/reference_scrcpy_connection.md.DSIXHGnp.js b/assets/reference_scrcpy_connection.md.BXMCOubz.js
similarity index 99%
rename from assets/reference_scrcpy_connection.md.DSIXHGnp.js
rename to assets/reference_scrcpy_connection.md.BXMCOubz.js
index 73845186d..7c8f966fc 100644
--- a/assets/reference_scrcpy_connection.md.DSIXHGnp.js
+++ b/assets/reference_scrcpy_connection.md.BXMCOubz.js
@@ -1,4 +1,4 @@
-import{e as i,o as a,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Connection","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/connection.md","filePath":"en/reference/scrcpy/connection.md","lastUpdated":1772158243000}'),n={name:"reference/scrcpy/connection.md"};function l(p,s,h,c,o,d){return a(),e("div",null,[...s[0]||(s[0]=[t(`

Connection

Selection

If exactly one device is connected (i.e. listed by adb devices), then it is automatically selected.

However, if there are multiple devices connected, you must specify the one to use in one of 4 ways:

  • by its serial:

    bash
    scrcpy --serial=0123456789abcdef
    +import{e as i,o as a,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Connection","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/connection.md","filePath":"en/reference/scrcpy/connection.md","lastUpdated":1772158834000}'),n={name:"reference/scrcpy/connection.md"};function l(p,s,h,c,o,d){return a(),e("div",null,[...s[0]||(s[0]=[t(`

    Connection

    Selection

    If exactly one device is connected (i.e. listed by adb devices), then it is automatically selected.

    However, if there are multiple devices connected, you must specify the one to use in one of 4 ways:

    • by its serial:

      bash
      scrcpy --serial=0123456789abcdef
       scrcpy -s 0123456789abcdef   # short version
       
       # the serial is the ip:port if connected over TCP/IP (same behavior as adb)
      diff --git a/assets/reference_scrcpy_connection.md.DSIXHGnp.lean.js b/assets/reference_scrcpy_connection.md.BXMCOubz.lean.js
      similarity index 86%
      rename from assets/reference_scrcpy_connection.md.DSIXHGnp.lean.js
      rename to assets/reference_scrcpy_connection.md.BXMCOubz.lean.js
      index 15e6094ad..9f8a7c4f4 100644
      --- a/assets/reference_scrcpy_connection.md.DSIXHGnp.lean.js
      +++ b/assets/reference_scrcpy_connection.md.BXMCOubz.lean.js
      @@ -1 +1 @@
      -import{e as i,o as a,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Connection","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/connection.md","filePath":"en/reference/scrcpy/connection.md","lastUpdated":1772158243000}'),n={name:"reference/scrcpy/connection.md"};function l(p,s,h,c,o,d){return a(),e("div",null,[...s[0]||(s[0]=[t("",27)])])}const g=i(n,[["render",l]]);export{k as __pageData,g as default};
      +import{e as i,o as a,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Connection","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/connection.md","filePath":"en/reference/scrcpy/connection.md","lastUpdated":1772158834000}'),n={name:"reference/scrcpy/connection.md"};function l(p,s,h,c,o,d){return a(),e("div",null,[...s[0]||(s[0]=[t("",27)])])}const g=i(n,[["render",l]]);export{k as __pageData,g as default};
      diff --git a/assets/reference_scrcpy_control.md.DzZ9Zij4.js b/assets/reference_scrcpy_control.md.CBXgBm5L.js
      similarity index 99%
      rename from assets/reference_scrcpy_control.md.DzZ9Zij4.js
      rename to assets/reference_scrcpy_control.md.CBXgBm5L.js
      index 64ad6858d..3abcb0412 100644
      --- a/assets/reference_scrcpy_control.md.DzZ9Zij4.js
      +++ b/assets/reference_scrcpy_control.md.CBXgBm5L.js
      @@ -1,4 +1,4 @@
      -import{e as a,o as i,a as s,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Control","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/control.md","filePath":"en/reference/scrcpy/control.md","lastUpdated":1772158243000}'),o={name:"reference/scrcpy/control.md"};function n(d,e,l,r,p,h){return i(),s("div",null,[...e[0]||(e[0]=[t(`

      Control

      Read-only

      To disable controls (everything which can interact with the device: input keys, mouse events, drag&drop files):

      bash
      scrcpy --no-control
      +import{e as a,o as i,a as s,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Control","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/control.md","filePath":"en/reference/scrcpy/control.md","lastUpdated":1772158834000}'),o={name:"reference/scrcpy/control.md"};function n(d,e,l,r,p,h){return i(),s("div",null,[...e[0]||(e[0]=[t(`

      Control

      Read-only

      To disable controls (everything which can interact with the device: input keys, mouse events, drag&drop files):

      bash
      scrcpy --no-control
       scrcpy -n   # short version

      Keyboard and mouse

      Read keyboard and mouse.

      Control only

      To control the device without mirroring:

      bash
      scrcpy --no-video --no-audio

      By default, the mouse is disabled when video playback is turned off.

      To control the device using a relative mouse, enable UHID mouse mode:

      bash
      scrcpy --no-video --no-audio --mouse=uhid
       scrcpy --no-video --no-audio -M  # short version

      To also use a UHID keyboard, set it explicitly:

      bash
      scrcpy --no-video --no-audio --mouse=uhid --keyboard=uhid
       scrcpy --no-video --no-audio -MK  # short version

      To use AOA instead (over USB only):

      bash
      scrcpy --no-video --no-audio --keyboard=aoa --mouse=aoa

      Copy-paste

      Any time the Android clipboard changes, it is automatically synchronized to the computer clipboard.

      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)

      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 injects 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 Android clipboard. As a consequence, any Android application could read its content. You should avoid pasting sensitive content (like passwords) that way.

      Some Android devices do not behave as expected when setting the device clipboard programmatically. An option --legacy-paste is provided to change the behavior of Ctrl+v and MOD+v so that they also inject the computer clipboard text as a sequence of key events (the same way as MOD+Shift+v).

      To disable automatic clipboard synchronization, use --no-clipboard-autosync.

      Pinch-to-zoom, rotate and tilt simulation

      To simulate "pinch-to-zoom": Ctrl+click-and-move.

      More precisely, hold down Ctrl while pressing the left-click button. Until the left-click button is released, all mouse movements scale and rotate the content (if supported by the app) relative to the center of the screen.

      https://github.com/Genymobile/scrcpy/assets/543275/26c4a920-9805-43f1-8d4c-608752d04767

      To simulate a vertical tilt gesture: Shift+click-and-move-up-or-down.

      https://github.com/Genymobile/scrcpy/assets/543275/1e252341-4a90-4b29-9d11-9153b324669f

      Similarly, to simulate a horizontal tilt gesture: Ctrl+Shift+click-and-move-left-or-right.

      Technically, scrcpy generates additional touch events from a "virtual finger" at a location inverted through the center of the screen. When pressing Ctrl the x and y coordinates are inverted. Using Shift only inverts x, whereas using Ctrl+Shift only inverts y.

      This only works for the default mouse mode (--mouse=sdk).

      File drop

      Install APK

      To install an APK, drag & drop an APK file (ending with .apk) to the scrcpy window.

      There is no visual feedback, a log is printed to the console.

      Push file to device

      To push a file to /sdcard/Download/ on the device, drag & drop a (non-APK) file to the scrcpy window.

      There is no visual feedback, a log is printed to the console.

      The target directory can be changed on start:

      bash
      scrcpy --push-target=/sdcard/Movies/
      `,46)])])}const b=a(o,[["render",n]]);export{k as __pageData,b as default}; diff --git a/assets/reference_scrcpy_control.md.DzZ9Zij4.lean.js b/assets/reference_scrcpy_control.md.CBXgBm5L.lean.js similarity index 86% rename from assets/reference_scrcpy_control.md.DzZ9Zij4.lean.js rename to assets/reference_scrcpy_control.md.CBXgBm5L.lean.js index a87f3c7cd..3350c1bf8 100644 --- a/assets/reference_scrcpy_control.md.DzZ9Zij4.lean.js +++ b/assets/reference_scrcpy_control.md.CBXgBm5L.lean.js @@ -1 +1 @@ -import{e as a,o as i,a as s,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Control","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/control.md","filePath":"en/reference/scrcpy/control.md","lastUpdated":1772158243000}'),o={name:"reference/scrcpy/control.md"};function n(d,e,l,r,p,h){return i(),s("div",null,[...e[0]||(e[0]=[t("",46)])])}const b=a(o,[["render",n]]);export{k as __pageData,b as default}; +import{e as a,o as i,a as s,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Control","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/control.md","filePath":"en/reference/scrcpy/control.md","lastUpdated":1772158834000}'),o={name:"reference/scrcpy/control.md"};function n(d,e,l,r,p,h){return i(),s("div",null,[...e[0]||(e[0]=[t("",46)])])}const b=a(o,[["render",n]]);export{k as __pageData,b as default}; diff --git a/assets/reference_scrcpy_develop.md.CUpmArhg.js b/assets/reference_scrcpy_develop.md.DeaiXHKE.js similarity index 99% rename from assets/reference_scrcpy_develop.md.CUpmArhg.js rename to assets/reference_scrcpy_develop.md.DeaiXHKE.js index 8a12fbfd6..2e74344fb 100644 --- a/assets/reference_scrcpy_develop.md.CUpmArhg.js +++ b/assets/reference_scrcpy_develop.md.DeaiXHKE.js @@ -1,4 +1,4 @@ -import{e as a,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"scrcpy for developers","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/develop.md","filePath":"en/reference/scrcpy/develop.md","lastUpdated":1772158243000}'),n={name:"reference/scrcpy/develop.md"};function r(o,e,c,l,d,h){return s(),i("div",null,[...e[0]||(e[0]=[t(`

      scrcpy for developers

      Overview

      This application is composed of two parts:

      • the server (scrcpy-server), to be executed on the device,
      • the client (the scrcpy binary), executed on the host computer.

      The client is responsible to push the server to the device and start its execution.

      The client and the server establish communication using separate sockets for video, audio and controls. Any of them may be disabled (but not all), so there are 1, 2 or 3 socket(s).

      The server initially sends the device name on the first socket (it is used for the scrcpy window title), then each socket is used for its own purpose. All reads and writes are performed from a dedicated thread for each socket, both on the client and on the server.

      If video is enabled, then the server sends a raw video stream (H.264 by default) of the device screen, with some additional headers for each packet. The client decodes the video frames, and displays them as soon as possible, without buffering (unless --video-buffer=delay is specified) to minimize latency. The client is not aware of the device rotation (which is handled by the server), it just knows the dimensions of the video frames it receives.

      Similarly, if audio is enabled, then the server sends a raw audio stream (OPUS by default) of the device audio output (or the microphone if --audio-source=mic is specified), with some additional headers for each packet. The client decodes the stream, attempts to keep a minimal latency by maintaining an average buffering. The blog post of the scrcpy v2.0 release gives more details about the audio feature.

      If control is enabled, then the client captures relevant keyboard and mouse events, that it transmits to the server, which injects them to the device. This is the only socket which is used in both direction: input events are sent from the client to the device, and when the device clipboard changes, the new content is sent from the device to the client to support seamless copy-paste.

      Note that the client-server roles are expressed at the application level:

      • the server serves video and audio streams, and handle requests from the client,
      • the client controls the device through the server.

      However, by default (when --force-adb-forward is not set), the roles are reversed at the network level:

      • the client opens a server socket and listen on a port before starting the server,
      • the server connects to the client.

      This role inversion guarantees that the connection will not fail due to race conditions without polling.

      Server

      Privileges

      Capturing the screen requires some privileges, which are granted to shell.

      The server is a Java application (with a public static void main(String... args) method), compiled against the Android framework, and executed as shell on the Android device.

      To run such a Java application, the classes must be dexed (typically, to classes.dex). If my.package.MainClass is the main class, compiled to classes.dex, pushed to the device in /data/local/tmp, then it can be run with:

      adb shell CLASSPATH=/data/local/tmp/classes.dex app_process / my.package.MainClass
      +import{e as a,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"scrcpy for developers","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/develop.md","filePath":"en/reference/scrcpy/develop.md","lastUpdated":1772158834000}'),n={name:"reference/scrcpy/develop.md"};function r(o,e,c,l,d,h){return s(),i("div",null,[...e[0]||(e[0]=[t(`

      scrcpy for developers

      Overview

      This application is composed of two parts:

      • the server (scrcpy-server), to be executed on the device,
      • the client (the scrcpy binary), executed on the host computer.

      The client is responsible to push the server to the device and start its execution.

      The client and the server establish communication using separate sockets for video, audio and controls. Any of them may be disabled (but not all), so there are 1, 2 or 3 socket(s).

      The server initially sends the device name on the first socket (it is used for the scrcpy window title), then each socket is used for its own purpose. All reads and writes are performed from a dedicated thread for each socket, both on the client and on the server.

      If video is enabled, then the server sends a raw video stream (H.264 by default) of the device screen, with some additional headers for each packet. The client decodes the video frames, and displays them as soon as possible, without buffering (unless --video-buffer=delay is specified) to minimize latency. The client is not aware of the device rotation (which is handled by the server), it just knows the dimensions of the video frames it receives.

      Similarly, if audio is enabled, then the server sends a raw audio stream (OPUS by default) of the device audio output (or the microphone if --audio-source=mic is specified), with some additional headers for each packet. The client decodes the stream, attempts to keep a minimal latency by maintaining an average buffering. The blog post of the scrcpy v2.0 release gives more details about the audio feature.

      If control is enabled, then the client captures relevant keyboard and mouse events, that it transmits to the server, which injects them to the device. This is the only socket which is used in both direction: input events are sent from the client to the device, and when the device clipboard changes, the new content is sent from the device to the client to support seamless copy-paste.

      Note that the client-server roles are expressed at the application level:

      • the server serves video and audio streams, and handle requests from the client,
      • the client controls the device through the server.

      However, by default (when --force-adb-forward is not set), the roles are reversed at the network level:

      • the client opens a server socket and listen on a port before starting the server,
      • the server connects to the client.

      This role inversion guarantees that the connection will not fail due to race conditions without polling.

      Server

      Privileges

      Capturing the screen requires some privileges, which are granted to shell.

      The server is a Java application (with a public static void main(String... args) method), compiled against the Android framework, and executed as shell on the Android device.

      To run such a Java application, the classes must be dexed (typically, to classes.dex). If my.package.MainClass is the main class, compiled to classes.dex, pushed to the device in /data/local/tmp, then it can be run with:

      adb shell CLASSPATH=/data/local/tmp/classes.dex app_process / my.package.MainClass
       

      The path /data/local/tmp is a good candidate to push the server, since it's readable and writable by shell, but not world-writable, so a malicious application may not replace the server just before the client executes it.

      Instead of a raw dex file, app_process accepts a jar containing classes.dex (e.g. an APK). For simplicity, and to benefit from the gradle build system, the server is built to an (unsigned) APK (renamed to scrcpy-server.jar).

      Hidden methods

      Although compiled against the Android framework, hidden methods and classes are not directly accessible (and they may differ from one Android version to another).

      They can be called using reflection though. The communication with hidden components is provided by wrappers classes and aidl.

      Execution

      The server is started by the client basically by executing the following commands:

      bash
      adb push scrcpy-server /data/local/tmp/scrcpy-server.jar
       adb forward tcp:27183 localabstract:scrcpy
       adb shell CLASSPATH=/data/local/tmp/scrcpy-server.jar app_process / com.genymobile.scrcpy.Server 2.1

      The first argument (2.1 in the example) is the client scrcpy version. The server fails if the client and the server do not have the exact same version. The protocol between the client and the server may change from version to version (see protocol below), and there is no backward or forward compatibility (there is no point to use different client and server versions). This check allows to detect misconfiguration (running an older or newer server by mistake).

      It is followed by any number of arguments, in the form of key=value pairs. Their order is irrelevant. The possible keys and associated value types can be found in the server and client code.

      For example, if we execute scrcpy -m1920 --no-audio, then the server execution will look like this:

      bash
      # scid is a random number to identify different clients running on the same device
      diff --git a/assets/reference_scrcpy_develop.md.CUpmArhg.lean.js b/assets/reference_scrcpy_develop.md.DeaiXHKE.lean.js
      similarity index 86%
      rename from assets/reference_scrcpy_develop.md.CUpmArhg.lean.js
      rename to assets/reference_scrcpy_develop.md.DeaiXHKE.lean.js
      index aba8bec0d..8e54dff30 100644
      --- a/assets/reference_scrcpy_develop.md.CUpmArhg.lean.js
      +++ b/assets/reference_scrcpy_develop.md.DeaiXHKE.lean.js
      @@ -1 +1 @@
      -import{e as a,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"scrcpy for developers","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/develop.md","filePath":"en/reference/scrcpy/develop.md","lastUpdated":1772158243000}'),n={name:"reference/scrcpy/develop.md"};function r(o,e,c,l,d,h){return s(),i("div",null,[...e[0]||(e[0]=[t("",119)])])}const b=a(n,[["render",r]]);export{m as __pageData,b as default};
      +import{e as a,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"scrcpy for developers","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/develop.md","filePath":"en/reference/scrcpy/develop.md","lastUpdated":1772158834000}'),n={name:"reference/scrcpy/develop.md"};function r(o,e,c,l,d,h){return s(),i("div",null,[...e[0]||(e[0]=[t("",119)])])}const b=a(n,[["render",r]]);export{m as __pageData,b as default};
      diff --git a/assets/reference_scrcpy_device.md.B-kEBKUa.js b/assets/reference_scrcpy_device.md.BzdxXuhs.js
      similarity index 99%
      rename from assets/reference_scrcpy_device.md.B-kEBKUa.js
      rename to assets/reference_scrcpy_device.md.BzdxXuhs.js
      index 840b41841..ccf093438 100644
      --- a/assets/reference_scrcpy_device.md.B-kEBKUa.js
      +++ b/assets/reference_scrcpy_device.md.BzdxXuhs.js
      @@ -1,4 +1,4 @@
      -import{e as a,o as i,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Device","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/device.md","filePath":"en/reference/scrcpy/device.md","lastUpdated":1772158243000}'),n={name:"reference/scrcpy/device.md"};function p(l,s,h,o,d,r){return i(),e("div",null,[...s[0]||(s[0]=[t(`

      Device

      Some command line arguments perform actions on the device itself while scrcpy is running.

      Stay awake

      To prevent the device from sleeping after a delay when the device is plugged in:

      bash
      scrcpy --stay-awake
      +import{e as a,o as i,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Device","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/device.md","filePath":"en/reference/scrcpy/device.md","lastUpdated":1772158834000}'),n={name:"reference/scrcpy/device.md"};function p(l,s,h,o,d,r){return i(),e("div",null,[...s[0]||(s[0]=[t(`

      Device

      Some command line arguments perform actions on the device itself while scrcpy is running.

      Stay awake

      To prevent the device from sleeping after a delay when the device is plugged in:

      bash
      scrcpy --stay-awake
       scrcpy -w

      The initial state is restored when scrcpy is closed.

      If the device is not plugged in (i.e. only connected over TCP/IP), --stay-awake has no effect (this is the Android behavior).

      This changes the value of stay_on_while_plugged_in, setting which can be changed manually:

      bash
      # get the current show_touches value
       adb shell settings get global stay_on_while_plugged_in
       # enable for AC/USB/wireless chargers
      diff --git a/assets/reference_scrcpy_device.md.B-kEBKUa.lean.js b/assets/reference_scrcpy_device.md.BzdxXuhs.lean.js
      similarity index 86%
      rename from assets/reference_scrcpy_device.md.B-kEBKUa.lean.js
      rename to assets/reference_scrcpy_device.md.BzdxXuhs.lean.js
      index 47f415f9b..de0604c4d 100644
      --- a/assets/reference_scrcpy_device.md.B-kEBKUa.lean.js
      +++ b/assets/reference_scrcpy_device.md.BzdxXuhs.lean.js
      @@ -1 +1 @@
      -import{e as a,o as i,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Device","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/device.md","filePath":"en/reference/scrcpy/device.md","lastUpdated":1772158243000}'),n={name:"reference/scrcpy/device.md"};function p(l,s,h,o,d,r){return i(),e("div",null,[...s[0]||(s[0]=[t("",54)])])}const g=a(n,[["render",p]]);export{k as __pageData,g as default};
      +import{e as a,o as i,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Device","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/device.md","filePath":"en/reference/scrcpy/device.md","lastUpdated":1772158834000}'),n={name:"reference/scrcpy/device.md"};function p(l,s,h,o,d,r){return i(),e("div",null,[...s[0]||(s[0]=[t("",54)])])}const g=a(n,[["render",p]]);export{k as __pageData,g as default};
      diff --git a/assets/reference_scrcpy_gamepad.md.BYQSzNQ6.js b/assets/reference_scrcpy_gamepad.md.B8k122qs.js
      similarity index 98%
      rename from assets/reference_scrcpy_gamepad.md.BYQSzNQ6.js
      rename to assets/reference_scrcpy_gamepad.md.B8k122qs.js
      index 2ff898a99..ada8cb484 100644
      --- a/assets/reference_scrcpy_gamepad.md.BYQSzNQ6.js
      +++ b/assets/reference_scrcpy_gamepad.md.B8k122qs.js
      @@ -1,2 +1,2 @@
      -import{e as a,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"Gamepad","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/gamepad.md","filePath":"en/reference/scrcpy/gamepad.md","lastUpdated":1772158243000}'),o={name:"reference/scrcpy/gamepad.md"};function d(r,e,p,n,l,h){return s(),i("div",null,[...e[0]||(e[0]=[t(`

      Gamepad

      Several gamepad input modes are available:

      • --gamepad=disabled (default)
      • --gamepad=uhid (or -G): simulates physical HID gamepads using the UHID kernel module on the device
      • --gamepad=aoa: simulates physical HID gamepads using the AOAv2 protocol

      Physical gamepad simulation

      Two modes allow to simulate physical HID gamepads on the device, one for each physical gamepad plugged into the computer.

      UHID

      This mode simulates physical HID gamepads using the UHID kernel module on the device.

      To enable UHID gamepads, use:

      bash
      scrcpy --gamepad=uhid
      +import{e as a,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"Gamepad","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/gamepad.md","filePath":"en/reference/scrcpy/gamepad.md","lastUpdated":1772158834000}'),o={name:"reference/scrcpy/gamepad.md"};function d(r,e,p,n,l,h){return s(),i("div",null,[...e[0]||(e[0]=[t(`

      Gamepad

      Several gamepad input modes are available:

      • --gamepad=disabled (default)
      • --gamepad=uhid (or -G): simulates physical HID gamepads using the UHID kernel module on the device
      • --gamepad=aoa: simulates physical HID gamepads using the AOAv2 protocol

      Physical gamepad simulation

      Two modes allow to simulate physical HID gamepads on the device, one for each physical gamepad plugged into the computer.

      UHID

      This mode simulates physical HID gamepads using the UHID kernel module on the device.

      To enable UHID gamepads, use:

      bash
      scrcpy --gamepad=uhid
       scrcpy -G  # short version

      Note: UHID may not work on old Android versions due to permission errors.

      AOA

      This mode simulates physical HID gamepads using the AOAv2 protocol.

      To enable AOA gamepads, use:

      bash
      scrcpy --gamepad=aoa

      Contrary to the other mode, it works at the USB level directly (so it only works over USB).

      It does not use the scrcpy server, and does not require adb (USB debugging). Therefore, it is possible to control the device (but not mirror) even with USB debugging disabled (see OTG).

      Note: For some reason, in this mode, Android detects multiple physical gamepads as a single misbehaving one. Use UHID if you need multiple gamepads.

      Note: On Windows, it may only work in OTG mode, not while mirroring (it is not possible to open a USB device if it is already open by another process like the adb daemon).

      `,18)])])}const g=a(o,[["render",d]]);export{m as __pageData,g as default}; diff --git a/assets/reference_scrcpy_gamepad.md.BYQSzNQ6.lean.js b/assets/reference_scrcpy_gamepad.md.B8k122qs.lean.js similarity index 86% rename from assets/reference_scrcpy_gamepad.md.BYQSzNQ6.lean.js rename to assets/reference_scrcpy_gamepad.md.B8k122qs.lean.js index 6e7159a23..ebc3bbcfc 100644 --- a/assets/reference_scrcpy_gamepad.md.BYQSzNQ6.lean.js +++ b/assets/reference_scrcpy_gamepad.md.B8k122qs.lean.js @@ -1 +1 @@ -import{e as a,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"Gamepad","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/gamepad.md","filePath":"en/reference/scrcpy/gamepad.md","lastUpdated":1772158243000}'),o={name:"reference/scrcpy/gamepad.md"};function d(r,e,p,n,l,h){return s(),i("div",null,[...e[0]||(e[0]=[t("",18)])])}const g=a(o,[["render",d]]);export{m as __pageData,g as default}; +import{e as a,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"Gamepad","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/gamepad.md","filePath":"en/reference/scrcpy/gamepad.md","lastUpdated":1772158834000}'),o={name:"reference/scrcpy/gamepad.md"};function d(r,e,p,n,l,h){return s(),i("div",null,[...e[0]||(e[0]=[t("",18)])])}const g=a(o,[["render",d]]);export{m as __pageData,g as default}; diff --git a/assets/reference_scrcpy_index.md.BqkGg6js.js b/assets/reference_scrcpy_index.md.DC6Em73X.js similarity index 99% rename from assets/reference_scrcpy_index.md.BqkGg6js.js rename to assets/reference_scrcpy_index.md.DC6Em73X.js index f97184606..648e3945c 100644 --- a/assets/reference_scrcpy_index.md.BqkGg6js.js +++ b/assets/reference_scrcpy_index.md.DC6Em73X.js @@ -1,4 +1,4 @@ -import{e as a,o as s,a as i,ag as r}from"./chunks/framework.DCs21iJA.js";const u=JSON.parse('{"title":"Scrcpy","description":"","frontmatter":{"title":"Scrcpy"},"headers":[],"relativePath":"reference/scrcpy/index.md","filePath":"en/reference/scrcpy/index.md","lastUpdated":1772158243000}'),n={name:"reference/scrcpy/index.md"};function t(o,e,l,c,p,h){return s(),i("div",null,[...e[0]||(e[0]=[r(`

      IMPORTANT

      Escrcpy is built on the following open-source projects. The relevant content is provided as is for user reference and will be updated periodically.

      scrcpy (v3.2)

      scrcpy

      pronounced "screen copy"

      This application mirrors Android devices (video and audio) connected via USB or TCP/IP and allows control using the computer's keyboard and mouse. It does not require root access or an app installed on the device. It works on Linux, Windows, and macOS.

      screenshot

      It focuses on:

      • lightness: native, displays only the device screen
      • performance: 30~120fps, depending on the device
      • quality: 1920×1080 or above
      • low latency: 35~70ms
      • low startup time: ~1 second to display the first image
      • non-intrusiveness: nothing is left installed on the Android device
      • user benefits: no account, no ads, no internet required
      • freedom: free and open source software

      Its features include:

      Prerequisites

      The Android device requires at least API 21 (Android 5.0).

      Audio forwarding is supported for API >= 30 (Android 11+).

      Make sure you enabled USB debugging on your device(s).

      On some devices (especially Xiaomi), you might get the following error:

      java.lang.SecurityException: Injecting input events requires the caller (or the source of the instrumentation, if any) to have the INJECT_EVENTS permission.

      In that case, you need to enable an additional option USB debugging (Security Settings) (this is an item different from USB debugging) to control it using a keyboard and mouse. Rebooting the device is necessary once this option is set.

      Note that USB debugging is not required to run scrcpy in OTG mode.

      Get the app

      Must-know tips

      Usage examples

      There are a lot of options, documented in separate pages. Here are just some common examples.

      • Capture the screen in H.265 (better quality), limit the size to 1920, limit the frame rate to 60fps, disable audio, and control the device by simulating a physical keyboard:

        bash
        scrcpy --video-codec=h265 --max-size=1920 --max-fps=60 --no-audio --keyboard=uhid
        +import{e as a,o as s,a as i,ag as r}from"./chunks/framework.DCs21iJA.js";const u=JSON.parse('{"title":"Scrcpy","description":"","frontmatter":{"title":"Scrcpy"},"headers":[],"relativePath":"reference/scrcpy/index.md","filePath":"en/reference/scrcpy/index.md","lastUpdated":1772158834000}'),n={name:"reference/scrcpy/index.md"};function t(o,e,l,c,p,h){return s(),i("div",null,[...e[0]||(e[0]=[r(`

        IMPORTANT

        Escrcpy is built on the following open-source projects. The relevant content is provided as is for user reference and will be updated periodically.

        scrcpy (v3.2)

        scrcpy

        pronounced "screen copy"

        This application mirrors Android devices (video and audio) connected via USB or TCP/IP and allows control using the computer's keyboard and mouse. It does not require root access or an app installed on the device. It works on Linux, Windows, and macOS.

        screenshot

        It focuses on:

        • lightness: native, displays only the device screen
        • performance: 30~120fps, depending on the device
        • quality: 1920×1080 or above
        • low latency: 35~70ms
        • low startup time: ~1 second to display the first image
        • non-intrusiveness: nothing is left installed on the Android device
        • user benefits: no account, no ads, no internet required
        • freedom: free and open source software

        Its features include:

        Prerequisites

        The Android device requires at least API 21 (Android 5.0).

        Audio forwarding is supported for API >= 30 (Android 11+).

        Make sure you enabled USB debugging on your device(s).

        On some devices (especially Xiaomi), you might get the following error:

        java.lang.SecurityException: Injecting input events requires the caller (or the source of the instrumentation, if any) to have the INJECT_EVENTS permission.

        In that case, you need to enable an additional option USB debugging (Security Settings) (this is an item different from USB debugging) to control it using a keyboard and mouse. Rebooting the device is necessary once this option is set.

        Note that USB debugging is not required to run scrcpy in OTG mode.

        Get the app

        Must-know tips

        Usage examples

        There are a lot of options, documented in separate pages. Here are just some common examples.

        • Capture the screen in H.265 (better quality), limit the size to 1920, limit the frame rate to 60fps, disable audio, and control the device by simulating a physical keyboard:

          bash
          scrcpy --video-codec=h265 --max-size=1920 --max-fps=60 --no-audio --keyboard=uhid
           scrcpy --video-codec=h265 -m1920 --max-fps=60 --no-audio -K  # short version
        • Start VLC in a new virtual display (separate from the device display):

          bash
          scrcpy --new-display=1920x1080 --start-app=org.videolan.vlc
        • Record the device camera in H.265 at 1920x1080 (and microphone) to an MP4 file:

          bash
          scrcpy --video-source=camera --video-codec=h265 --camera-size=1920x1080 --record=file.mp4
        • Capture the device front camera and expose it as a webcam on the computer (on Linux):

          bash
          scrcpy --video-source=camera --camera-size=1920x1080 --camera-facing=front --v4l2-sink=/dev/video2 --no-playback
        • Control the device without mirroring by simulating a physical keyboard and mouse (USB debugging not required):

          bash
          scrcpy --otg
        • Control the device using gamepad controllers plugged into the computer:

          bash
          scrcpy --gamepad=uhid
           scrcpy -G  # short version

        User documentation

        The application provides a lot of features and configuration options. They are documented in the following pages:

        Resources

        Articles

        Contact

        You can open an issue for bug reports, feature requests or general questions.

        For bug reports, please read the FAQ first, you might find a solution to your problem immediately.

        You can also use:

        I'm @rom1v, the author and maintainer of scrcpy.

        If you appreciate this application, you can support my open source work:

        Licence

        Copyright (C) 2018 Genymobile
         Copyright (C) 2018-2025 Romain Vimont
        diff --git a/assets/reference_scrcpy_index.md.BqkGg6js.lean.js b/assets/reference_scrcpy_index.md.DC6Em73X.lean.js
        similarity index 86%
        rename from assets/reference_scrcpy_index.md.BqkGg6js.lean.js
        rename to assets/reference_scrcpy_index.md.DC6Em73X.lean.js
        index 880c8247a..6c942b407 100644
        --- a/assets/reference_scrcpy_index.md.BqkGg6js.lean.js
        +++ b/assets/reference_scrcpy_index.md.DC6Em73X.lean.js
        @@ -1 +1 @@
        -import{e as a,o as s,a as i,ag as r}from"./chunks/framework.DCs21iJA.js";const u=JSON.parse('{"title":"Scrcpy","description":"","frontmatter":{"title":"Scrcpy"},"headers":[],"relativePath":"reference/scrcpy/index.md","filePath":"en/reference/scrcpy/index.md","lastUpdated":1772158243000}'),n={name:"reference/scrcpy/index.md"};function t(o,e,l,c,p,h){return s(),i("div",null,[...e[0]||(e[0]=[r("",43)])])}const g=a(n,[["render",t]]);export{u as __pageData,g as default};
        +import{e as a,o as s,a as i,ag as r}from"./chunks/framework.DCs21iJA.js";const u=JSON.parse('{"title":"Scrcpy","description":"","frontmatter":{"title":"Scrcpy"},"headers":[],"relativePath":"reference/scrcpy/index.md","filePath":"en/reference/scrcpy/index.md","lastUpdated":1772158834000}'),n={name:"reference/scrcpy/index.md"};function t(o,e,l,c,p,h){return s(),i("div",null,[...e[0]||(e[0]=[r("",43)])])}const g=a(n,[["render",t]]);export{u as __pageData,g as default};
        diff --git a/assets/reference_scrcpy_keyboard.md.BvhQojnm.js b/assets/reference_scrcpy_keyboard.md.CqSjDaQd.js
        similarity index 99%
        rename from assets/reference_scrcpy_keyboard.md.BvhQojnm.js
        rename to assets/reference_scrcpy_keyboard.md.CqSjDaQd.js
        index 52dc666a8..4c2a0ac46 100644
        --- a/assets/reference_scrcpy_keyboard.md.BvhQojnm.js
        +++ b/assets/reference_scrcpy_keyboard.md.CqSjDaQd.js
        @@ -1,2 +1,2 @@
        -import{e as a,o as s,a as t,ag as i}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Keyboard","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/keyboard.md","filePath":"en/reference/scrcpy/keyboard.md","lastUpdated":1772158243000}'),o={name:"reference/scrcpy/keyboard.md"};function r(n,e,d,l,c,h){return s(),t("div",null,[...e[0]||(e[0]=[i(`

        Keyboard

        Several keyboard input modes are available:

        • --keyboard=sdk (default)
        • --keyboard=uhid (or -K): simulates a physical HID keyboard using the UHID kernel module on the device
        • --keyboard=aoa: simulates a physical HID keyboard using the AOAv2 protocol
        • --keyboard=disabled

        By default, sdk is used, but if you use scrcpy regularly, it is recommended to use uhid and configure the keyboard layout once and for all.

        SDK keyboard

        In this mode (--keyboard=sdk, or if the parameter is omitted), keyboard input events are injected at the Android API level. It works everywhere, but it is limited to ASCII and some other characters.

        Note that on some devices, an additional option must be enabled in developer options for this keyboard mode to work. See prerequisites.

        Additional parameters (specific to --keyboard=sdk) described below allow to customize the behavior.

        Text injection preference

        Two kinds of events are generated when typing text:

        • key events, signaling that a key is pressed or released;
        • text events, signaling that a text has been entered.

        By default, numbers and "special characters" are inserted using text events, but letters are injected using key events, so that the keyboard behaves as expected in games (typically for WASD keys).

        But this may cause issues. If you encounter such a problem, you can inject letters as text (or just switch to UHID):

        bash
        scrcpy --prefer-text

        (but this will break keyboard behavior in games)

        On the contrary, you could force to always inject raw key events:

        bash
        scrcpy --raw-key-events

        Key repeat

        By default, holding a key down generates repeated key events. Ths can cause performance problems in some games, where these events are useless anyway.

        To avoid forwarding repeated key events:

        bash
        scrcpy --no-key-repeat

        Physical keyboard simulation

        Two modes allow to simulate a physical HID keyboard on the device.

        To work properly, it is necessary to configure (once and for all) the keyboard layout on the device to match that of the computer.

        The configuration page can be opened in one of the following ways:

        • from the scrcpy window (when uhid or aoa is used), by pressing MOD+k (see shortcuts)
        • from the device, in Settings → System → Languages and input → Physical devices
        • from a terminal on the computer, by executing adb shell am start -a android.settings.HARD_KEYBOARD_SETTINGS

        From this configuration page, it is also possible to enable or disable on-screen keyboard.

        UHID

        This mode simulates a physical HID keyboard using the UHID kernel module on the device.

        To enable UHID keyboard, use:

        bash
        scrcpy --keyboard=uhid
        +import{e as a,o as s,a as t,ag as i}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Keyboard","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/keyboard.md","filePath":"en/reference/scrcpy/keyboard.md","lastUpdated":1772158834000}'),o={name:"reference/scrcpy/keyboard.md"};function r(n,e,d,l,c,h){return s(),t("div",null,[...e[0]||(e[0]=[i(`

        Keyboard

        Several keyboard input modes are available:

        • --keyboard=sdk (default)
        • --keyboard=uhid (or -K): simulates a physical HID keyboard using the UHID kernel module on the device
        • --keyboard=aoa: simulates a physical HID keyboard using the AOAv2 protocol
        • --keyboard=disabled

        By default, sdk is used, but if you use scrcpy regularly, it is recommended to use uhid and configure the keyboard layout once and for all.

        SDK keyboard

        In this mode (--keyboard=sdk, or if the parameter is omitted), keyboard input events are injected at the Android API level. It works everywhere, but it is limited to ASCII and some other characters.

        Note that on some devices, an additional option must be enabled in developer options for this keyboard mode to work. See prerequisites.

        Additional parameters (specific to --keyboard=sdk) described below allow to customize the behavior.

        Text injection preference

        Two kinds of events are generated when typing text:

        • key events, signaling that a key is pressed or released;
        • text events, signaling that a text has been entered.

        By default, numbers and "special characters" are inserted using text events, but letters are injected using key events, so that the keyboard behaves as expected in games (typically for WASD keys).

        But this may cause issues. If you encounter such a problem, you can inject letters as text (or just switch to UHID):

        bash
        scrcpy --prefer-text

        (but this will break keyboard behavior in games)

        On the contrary, you could force to always inject raw key events:

        bash
        scrcpy --raw-key-events

        Key repeat

        By default, holding a key down generates repeated key events. Ths can cause performance problems in some games, where these events are useless anyway.

        To avoid forwarding repeated key events:

        bash
        scrcpy --no-key-repeat

        Physical keyboard simulation

        Two modes allow to simulate a physical HID keyboard on the device.

        To work properly, it is necessary to configure (once and for all) the keyboard layout on the device to match that of the computer.

        The configuration page can be opened in one of the following ways:

        • from the scrcpy window (when uhid or aoa is used), by pressing MOD+k (see shortcuts)
        • from the device, in Settings → System → Languages and input → Physical devices
        • from a terminal on the computer, by executing adb shell am start -a android.settings.HARD_KEYBOARD_SETTINGS

        From this configuration page, it is also possible to enable or disable on-screen keyboard.

        UHID

        This mode simulates a physical HID keyboard using the UHID kernel module on the device.

        To enable UHID keyboard, use:

        bash
        scrcpy --keyboard=uhid
         scrcpy -K  # short version

        Once the keyboard layout is configured (see above), it is the best mode for using the keyboard while mirroring:

        • it works for all characters and IME (contrary to --keyboard=sdk)
        • the on-screen keyboard can be disabled (contrary to --keyboard=sdk)
        • it works over TCP/IP (wirelessly) (contrary to --keyboard=aoa)
        • there are no issues on Windows (contrary to --keyboard=aoa)

        One drawback is that it may not work on old Android versions due to permission errors.

        AOA

        This mode simulates a physical HID keyboard using the AOAv2 protocol.

        To enable AOA keyboard, use:

        bash
        scrcpy --keyboard=aoa

        Contrary to the other modes, it works at the USB level directly (so it only works over USB).

        It does not use the scrcpy server, and does not require adb (USB debugging). Therefore, it is possible to control the device (but not mirror) even with USB debugging disabled (see OTG).

        Note: On Windows, it may only work in OTG mode, not while mirroring (it is not possible to open a USB device if it is already open by another process like the adb daemon).

        `,41)])])}const y=a(o,[["render",r]]);export{k as __pageData,y as default}; diff --git a/assets/reference_scrcpy_keyboard.md.BvhQojnm.lean.js b/assets/reference_scrcpy_keyboard.md.CqSjDaQd.lean.js similarity index 86% rename from assets/reference_scrcpy_keyboard.md.BvhQojnm.lean.js rename to assets/reference_scrcpy_keyboard.md.CqSjDaQd.lean.js index 8b06dd281..dee0b43c8 100644 --- a/assets/reference_scrcpy_keyboard.md.BvhQojnm.lean.js +++ b/assets/reference_scrcpy_keyboard.md.CqSjDaQd.lean.js @@ -1 +1 @@ -import{e as a,o as s,a as t,ag as i}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Keyboard","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/keyboard.md","filePath":"en/reference/scrcpy/keyboard.md","lastUpdated":1772158243000}'),o={name:"reference/scrcpy/keyboard.md"};function r(n,e,d,l,c,h){return s(),t("div",null,[...e[0]||(e[0]=[i("",41)])])}const y=a(o,[["render",r]]);export{k as __pageData,y as default}; +import{e as a,o as s,a as t,ag as i}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Keyboard","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/keyboard.md","filePath":"en/reference/scrcpy/keyboard.md","lastUpdated":1772158834000}'),o={name:"reference/scrcpy/keyboard.md"};function r(n,e,d,l,c,h){return s(),t("div",null,[...e[0]||(e[0]=[i("",41)])])}const y=a(o,[["render",r]]);export{k as __pageData,y as default}; diff --git a/assets/reference_scrcpy_linux.md.D1WLNUCR.js b/assets/reference_scrcpy_linux.md.Ck831qaX.js similarity index 99% rename from assets/reference_scrcpy_linux.md.D1WLNUCR.js rename to assets/reference_scrcpy_linux.md.Ck831qaX.js index 70fce3c6d..34d0f2011 100644 --- a/assets/reference_scrcpy_linux.md.D1WLNUCR.js +++ b/assets/reference_scrcpy_linux.md.Ck831qaX.js @@ -1,4 +1,4 @@ -import{e as a,o as e,a as i,ag as l}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"On Linux","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/linux.md","filePath":"en/reference/scrcpy/linux.md","lastUpdated":1772158243000}'),t={name:"reference/scrcpy/linux.md"};function n(r,s,p,h,o,c){return e(),i("div",null,[...s[0]||(s[0]=[l(`

        On Linux

        Install

        From the official release

        Download a static build of the latest release:

        and extract it.

        Static builds of scrcpy for Linux are still experimental.

        From your package manager

        Packaging status

        Scrcpy is packaged in several distributions and package managers:

        • Debian/Ubuntu: apt install scrcpy (obsolete version)
        • Arch Linux: pacman -S scrcpy
        • Fedora: dnf copr enable zeno/scrcpy && dnf install scrcpy
        • Gentoo: emerge scrcpy
        • Snap: snap install scrcpy
        • … (see repology)

        From an install script

        To install the latest release from master, follow this simplified process.

        First, you need to install the required packages:

        bash
        # for Debian/Ubuntu
        +import{e as a,o as e,a as i,ag as l}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"On Linux","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/linux.md","filePath":"en/reference/scrcpy/linux.md","lastUpdated":1772158834000}'),t={name:"reference/scrcpy/linux.md"};function n(r,s,p,h,o,c){return e(),i("div",null,[...s[0]||(s[0]=[l(`

        On Linux

        Install

        From the official release

        Download a static build of the latest release:

        and extract it.

        Static builds of scrcpy for Linux are still experimental.

        From your package manager

        Packaging status

        Scrcpy is packaged in several distributions and package managers:

        • Debian/Ubuntu: apt install scrcpy (obsolete version)
        • Arch Linux: pacman -S scrcpy
        • Fedora: dnf copr enable zeno/scrcpy && dnf install scrcpy
        • Gentoo: emerge scrcpy
        • Snap: snap install scrcpy
        • … (see repology)

        From an install script

        To install the latest release from master, follow this simplified process.

        First, you need to install the required packages:

        bash
        # for Debian/Ubuntu
         sudo apt install ffmpeg libsdl2-2.0-0 adb wget \\
                          gcc git pkg-config meson ninja-build libsdl2-dev \\
                          libavcodec-dev libavdevice-dev libavformat-dev libavutil-dev \\
        diff --git a/assets/reference_scrcpy_linux.md.D1WLNUCR.lean.js b/assets/reference_scrcpy_linux.md.Ck831qaX.lean.js
        similarity index 85%
        rename from assets/reference_scrcpy_linux.md.D1WLNUCR.lean.js
        rename to assets/reference_scrcpy_linux.md.Ck831qaX.lean.js
        index 0182ece26..27e0f42fa 100644
        --- a/assets/reference_scrcpy_linux.md.D1WLNUCR.lean.js
        +++ b/assets/reference_scrcpy_linux.md.Ck831qaX.lean.js
        @@ -1 +1 @@
        -import{e as a,o as e,a as i,ag as l}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"On Linux","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/linux.md","filePath":"en/reference/scrcpy/linux.md","lastUpdated":1772158243000}'),t={name:"reference/scrcpy/linux.md"};function n(r,s,p,h,o,c){return e(),i("div",null,[...s[0]||(s[0]=[l("",31)])])}const g=a(t,[["render",n]]);export{k as __pageData,g as default};
        +import{e as a,o as e,a as i,ag as l}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"On Linux","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/linux.md","filePath":"en/reference/scrcpy/linux.md","lastUpdated":1772158834000}'),t={name:"reference/scrcpy/linux.md"};function n(r,s,p,h,o,c){return e(),i("div",null,[...s[0]||(s[0]=[l("",31)])])}const g=a(t,[["render",n]]);export{k as __pageData,g as default};
        diff --git a/assets/reference_scrcpy_macos.md.yUVgKjlM.js b/assets/reference_scrcpy_macos.md.DJ4S5Uoa.js
        similarity index 98%
        rename from assets/reference_scrcpy_macos.md.yUVgKjlM.js
        rename to assets/reference_scrcpy_macos.md.DJ4S5Uoa.js
        index d75d8b73b..1b20b2a91 100644
        --- a/assets/reference_scrcpy_macos.md.yUVgKjlM.js
        +++ b/assets/reference_scrcpy_macos.md.DJ4S5Uoa.js
        @@ -1 +1 @@
        -import{e,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const b=JSON.parse('{"title":"On macOS","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/macos.md","filePath":"en/reference/scrcpy/macos.md","lastUpdated":1772158243000}'),r={name:"reference/scrcpy/macos.md"};function l(c,a,n,o,p,h){return s(),i("div",null,[...a[0]||(a[0]=[t('

        On macOS

        Install

        From the official release

        Download a static build of the latest release:

        and extract it.

        Static builds of scrcpy for macOS are still experimental.

        From a package manager

        Scrcpy is available in Homebrew:

        bash
        brew install scrcpy

        You need adb, accessible from your PATH. If you don't have it yet:

        bash
        brew install --cask android-platform-tools

        Alternatively, Scrcpy is also available in MacPorts, which sets up adb for you:

        bash
        sudo port install scrcpy

        See build.md to build and install the app manually.

        Run

        Make sure that your device meets the prerequisites.

        Once installed, run from a terminal:

        bash
        scrcpy

        or with arguments (here to disable audio and record to file.mkv):

        bash
        scrcpy --no-audio --record=file.mkv

        Documentation for command line arguments is available:

        • man scrcpy
        • scrcpy --help
        • on github
        ',23)])])}const k=e(r,[["render",l]]);export{b as __pageData,k as default}; +import{e,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const b=JSON.parse('{"title":"On macOS","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/macos.md","filePath":"en/reference/scrcpy/macos.md","lastUpdated":1772158834000}'),r={name:"reference/scrcpy/macos.md"};function l(c,a,n,o,p,h){return s(),i("div",null,[...a[0]||(a[0]=[t('

        On macOS

        Install

        From the official release

        Download a static build of the latest release:

        and extract it.

        Static builds of scrcpy for macOS are still experimental.

        From a package manager

        Scrcpy is available in Homebrew:

        bash
        brew install scrcpy

        You need adb, accessible from your PATH. If you don't have it yet:

        bash
        brew install --cask android-platform-tools

        Alternatively, Scrcpy is also available in MacPorts, which sets up adb for you:

        bash
        sudo port install scrcpy

        See build.md to build and install the app manually.

        Run

        Make sure that your device meets the prerequisites.

        Once installed, run from a terminal:

        bash
        scrcpy

        or with arguments (here to disable audio and record to file.mkv):

        bash
        scrcpy --no-audio --record=file.mkv

        Documentation for command line arguments is available:

        • man scrcpy
        • scrcpy --help
        • on github
        ',23)])])}const k=e(r,[["render",l]]);export{b as __pageData,k as default}; diff --git a/assets/reference_scrcpy_macos.md.yUVgKjlM.lean.js b/assets/reference_scrcpy_macos.md.DJ4S5Uoa.lean.js similarity index 85% rename from assets/reference_scrcpy_macos.md.yUVgKjlM.lean.js rename to assets/reference_scrcpy_macos.md.DJ4S5Uoa.lean.js index 8558e0757..07c22b9be 100644 --- a/assets/reference_scrcpy_macos.md.yUVgKjlM.lean.js +++ b/assets/reference_scrcpy_macos.md.DJ4S5Uoa.lean.js @@ -1 +1 @@ -import{e,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const b=JSON.parse('{"title":"On macOS","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/macos.md","filePath":"en/reference/scrcpy/macos.md","lastUpdated":1772158243000}'),r={name:"reference/scrcpy/macos.md"};function l(c,a,n,o,p,h){return s(),i("div",null,[...a[0]||(a[0]=[t("",23)])])}const k=e(r,[["render",l]]);export{b as __pageData,k as default}; +import{e,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const b=JSON.parse('{"title":"On macOS","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/macos.md","filePath":"en/reference/scrcpy/macos.md","lastUpdated":1772158834000}'),r={name:"reference/scrcpy/macos.md"};function l(c,a,n,o,p,h){return s(),i("div",null,[...a[0]||(a[0]=[t("",23)])])}const k=e(r,[["render",l]]);export{b as __pageData,k as default}; diff --git a/assets/reference_scrcpy_mouse.md.BjDJcNrK.js b/assets/reference_scrcpy_mouse.md.DgIUOc3q.js similarity index 99% rename from assets/reference_scrcpy_mouse.md.BjDJcNrK.js rename to assets/reference_scrcpy_mouse.md.DgIUOc3q.js index 476d047f3..d3c931a65 100644 --- a/assets/reference_scrcpy_mouse.md.BjDJcNrK.js +++ b/assets/reference_scrcpy_mouse.md.DgIUOc3q.js @@ -1,4 +1,4 @@ -import{e as s,o as a,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const u=JSON.parse('{"title":"Mouse","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/mouse.md","filePath":"en/reference/scrcpy/mouse.md","lastUpdated":1772158243000}'),n={name:"reference/scrcpy/mouse.md"};function o(l,e,d,c,h,p){return a(),i("div",null,[...e[0]||(e[0]=[t(`

        Mouse

        Several mouse input modes are available:

        • --mouse=sdk (default)
        • --mouse=uhid (or -M): simulates a physical HID mouse using the UHID kernel module on the device
        • --mouse=aoa: simulates a physical HID mouse using the AOAv2 protocol
        • --mouse=disabled

        SDK mouse

        In this mode (--mouse=sdk, or if the parameter is omitted), mouse input events are injected at the Android API level with absolute coordinates.

        Note that on some devices, an additional option must be enabled in developer options for this mouse mode to work. See prerequisites.

        Mouse hover

        By default, mouse hover (mouse motion without any clicks) events are forwarded to the device. This can be disabled with:

        scrcpy --no-mouse-hover

        Physical mouse simulation

        Two modes allow to simulate a physical HID mouse on the device.

        In these modes, the computer mouse is "captured": the mouse pointer disappears from the computer and appears on the Android device instead.

        The shortcut mod (either Alt or Super by default) toggle (disable or enable) the mouse capture. Use one of them to give the control of the mouse back to the computer.

        UHID

        This mode simulates a physical HID mouse using the UHID kernel module on the device.

        To enable UHID mouse, use:

        bash
        scrcpy --mouse=uhid
        +import{e as s,o as a,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const u=JSON.parse('{"title":"Mouse","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/mouse.md","filePath":"en/reference/scrcpy/mouse.md","lastUpdated":1772158834000}'),n={name:"reference/scrcpy/mouse.md"};function o(l,e,d,c,h,p){return a(),i("div",null,[...e[0]||(e[0]=[t(`

        Mouse

        Several mouse input modes are available:

        • --mouse=sdk (default)
        • --mouse=uhid (or -M): simulates a physical HID mouse using the UHID kernel module on the device
        • --mouse=aoa: simulates a physical HID mouse using the AOAv2 protocol
        • --mouse=disabled

        SDK mouse

        In this mode (--mouse=sdk, or if the parameter is omitted), mouse input events are injected at the Android API level with absolute coordinates.

        Note that on some devices, an additional option must be enabled in developer options for this mouse mode to work. See prerequisites.

        Mouse hover

        By default, mouse hover (mouse motion without any clicks) events are forwarded to the device. This can be disabled with:

        scrcpy --no-mouse-hover

        Physical mouse simulation

        Two modes allow to simulate a physical HID mouse on the device.

        In these modes, the computer mouse is "captured": the mouse pointer disappears from the computer and appears on the Android device instead.

        The shortcut mod (either Alt or Super by default) toggle (disable or enable) the mouse capture. Use one of them to give the control of the mouse back to the computer.

        UHID

        This mode simulates a physical HID mouse using the UHID kernel module on the device.

        To enable UHID mouse, use:

        bash
        scrcpy --mouse=uhid
         scrcpy -M  # short version

        Note: UHID may not work on old Android versions due to permission errors.

        AOA

        This mode simulates a physical HID mouse using the AOAv2 protocol.

        To enable AOA mouse, use:

        bash
        scrcpy --mouse=aoa

        Contrary to the other modes, it works at the USB level directly (so it only works over USB).

        It does not use the scrcpy server, and does not require adb (USB debugging). Therefore, it is possible to control the device (but not mirror) even with USB debugging disabled (see OTG).

        Note: On Windows, it may only work in OTG mode, not while mirroring (it is not possible to open a USB device if it is already open by another process like the adb daemon).

        Mouse bindings

        By default, with SDK mouse:

        • right-click triggers BACK (or POWER on)
        • middle-click triggers HOME
        • the 4th click triggers APP_SWITCH
        • the 5th click expands the notification panel

        The secondary clicks may be forwarded to the device instead by pressing the Shift key (e.g. Shift+right-click injects a right click to the device).

        In AOA and UHID mouse modes, the default bindings are reversed: all clicks are forwarded by default, and pressing Shift gives access to the shortcuts (since the cursor is handled on the device side, it makes more sense to forward all mouse buttons by default in these modes).

        The shortcuts can be configured using --mouse-bind=xxxx:xxxx for any mouse mode. The argument must be one or two sequences (separated by :) of exactly 4 characters, one for each secondary click:

                          .---- Shift + right click
                SECONDARY  |.--- Shift + middle click
                 BINDINGS  ||.-- Shift + 4th click
        diff --git a/assets/reference_scrcpy_mouse.md.BjDJcNrK.lean.js b/assets/reference_scrcpy_mouse.md.DgIUOc3q.lean.js
        similarity index 85%
        rename from assets/reference_scrcpy_mouse.md.BjDJcNrK.lean.js
        rename to assets/reference_scrcpy_mouse.md.DgIUOc3q.lean.js
        index 3f669377f..a941b6089 100644
        --- a/assets/reference_scrcpy_mouse.md.BjDJcNrK.lean.js
        +++ b/assets/reference_scrcpy_mouse.md.DgIUOc3q.lean.js
        @@ -1 +1 @@
        -import{e as s,o as a,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const u=JSON.parse('{"title":"Mouse","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/mouse.md","filePath":"en/reference/scrcpy/mouse.md","lastUpdated":1772158243000}'),n={name:"reference/scrcpy/mouse.md"};function o(l,e,d,c,h,p){return a(),i("div",null,[...e[0]||(e[0]=[t("",38)])])}const k=s(n,[["render",o]]);export{u as __pageData,k as default};
        +import{e as s,o as a,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const u=JSON.parse('{"title":"Mouse","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/mouse.md","filePath":"en/reference/scrcpy/mouse.md","lastUpdated":1772158834000}'),n={name:"reference/scrcpy/mouse.md"};function o(l,e,d,c,h,p){return a(),i("div",null,[...e[0]||(e[0]=[t("",38)])])}const k=s(n,[["render",o]]);export{u as __pageData,k as default};
        diff --git a/assets/reference_scrcpy_otg.md.OXNgJGrL.js b/assets/reference_scrcpy_otg.md.C0kPRAWk.js
        similarity index 99%
        rename from assets/reference_scrcpy_otg.md.OXNgJGrL.js
        rename to assets/reference_scrcpy_otg.md.C0kPRAWk.js
        index 487686de2..26475a3af 100644
        --- a/assets/reference_scrcpy_otg.md.OXNgJGrL.js
        +++ b/assets/reference_scrcpy_otg.md.C0kPRAWk.js
        @@ -1,4 +1,4 @@
        -import{e as a,o as e,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"OTG","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/otg.md","filePath":"en/reference/scrcpy/otg.md","lastUpdated":1772158243000}'),n={name:"reference/scrcpy/otg.md"};function o(p,s,l,h,d,r){return e(),i("div",null,[...s[0]||(s[0]=[t(`

        OTG

        By default, scrcpy injects input events at the Android API level. As an alternative, it is possible to send HID events, so that scrcpy behaves as if it was a physical keyboard and/or a physical mouse connected to the Android device (see keyboard and mouse).

        A special mode (OTG) allows to control the device using AOA keyboard, mouse and gamepad, without using adb at all (so USB debugging is not necessary). In this mode, video and audio are disabled, and --keyboard=aoa and --mouse=aoa are implicitly set. However, gamepads are disabled by default, so --gamepad=aoa (or -G in OTG mode) must be explicitly set.

        Therefore, it is possible to run scrcpy with only physical keyboard, mouse and gamepad simulation, as if the computer keyboard, mouse and gamepads were plugged directly to the device via an OTG cable.

        To enable OTG mode:

        bash
        scrcpy --otg
        +import{e as a,o as e,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"OTG","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/otg.md","filePath":"en/reference/scrcpy/otg.md","lastUpdated":1772158834000}'),n={name:"reference/scrcpy/otg.md"};function o(p,s,l,h,d,r){return e(),i("div",null,[...s[0]||(s[0]=[t(`

        OTG

        By default, scrcpy injects input events at the Android API level. As an alternative, it is possible to send HID events, so that scrcpy behaves as if it was a physical keyboard and/or a physical mouse connected to the Android device (see keyboard and mouse).

        A special mode (OTG) allows to control the device using AOA keyboard, mouse and gamepad, without using adb at all (so USB debugging is not necessary). In this mode, video and audio are disabled, and --keyboard=aoa and --mouse=aoa are implicitly set. However, gamepads are disabled by default, so --gamepad=aoa (or -G in OTG mode) must be explicitly set.

        Therefore, it is possible to run scrcpy with only physical keyboard, mouse and gamepad simulation, as if the computer keyboard, mouse and gamepads were plugged directly to the device via an OTG cable.

        To enable OTG mode:

        bash
        scrcpy --otg
         # Pass the serial if several USB devices are available
         scrcpy --otg -s 0123456789abcdef

        It is possible to disable keyboard or mouse:

        bash
        scrcpy --otg --keyboard=disabled
         scrcpy --otg --mouse=disabled

        and to enable gamepads:

        bash
        scrcpy --otg --gamepad=aoa
        diff --git a/assets/reference_scrcpy_otg.md.OXNgJGrL.lean.js b/assets/reference_scrcpy_otg.md.C0kPRAWk.lean.js
        similarity index 85%
        rename from assets/reference_scrcpy_otg.md.OXNgJGrL.lean.js
        rename to assets/reference_scrcpy_otg.md.C0kPRAWk.lean.js
        index 880d938a1..a61e12925 100644
        --- a/assets/reference_scrcpy_otg.md.OXNgJGrL.lean.js
        +++ b/assets/reference_scrcpy_otg.md.C0kPRAWk.lean.js
        @@ -1 +1 @@
        -import{e as a,o as e,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"OTG","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/otg.md","filePath":"en/reference/scrcpy/otg.md","lastUpdated":1772158243000}'),n={name:"reference/scrcpy/otg.md"};function o(p,s,l,h,d,r){return e(),i("div",null,[...s[0]||(s[0]=[t("",19)])])}const y=a(n,[["render",o]]);export{k as __pageData,y as default};
        +import{e as a,o as e,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"OTG","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/otg.md","filePath":"en/reference/scrcpy/otg.md","lastUpdated":1772158834000}'),n={name:"reference/scrcpy/otg.md"};function o(p,s,l,h,d,r){return e(),i("div",null,[...s[0]||(s[0]=[t("",19)])])}const y=a(n,[["render",o]]);export{k as __pageData,y as default};
        diff --git a/assets/reference_scrcpy_recording.md.WkzLmA5x.js b/assets/reference_scrcpy_recording.md.B4MoSv_K.js
        similarity index 99%
        rename from assets/reference_scrcpy_recording.md.WkzLmA5x.js
        rename to assets/reference_scrcpy_recording.md.B4MoSv_K.js
        index 934c60e5b..dd78bc5cd 100644
        --- a/assets/reference_scrcpy_recording.md.WkzLmA5x.js
        +++ b/assets/reference_scrcpy_recording.md.B4MoSv_K.js
        @@ -1,4 +1,4 @@
        -import{e as a,o as s,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Recording","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/recording.md","filePath":"en/reference/scrcpy/recording.md","lastUpdated":1772158243000}'),n={name:"reference/scrcpy/recording.md"};function l(p,i,o,d,r,h){return s(),e("div",null,[...i[0]||(i[0]=[t(`

        Recording

        To record video and audio streams while mirroring:

        bash
        scrcpy --record=file.mp4
        +import{e as a,o as s,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Recording","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/recording.md","filePath":"en/reference/scrcpy/recording.md","lastUpdated":1772158834000}'),n={name:"reference/scrcpy/recording.md"};function l(p,i,o,d,r,h){return s(),e("div",null,[...i[0]||(i[0]=[t(`

        Recording

        To record video and audio streams while mirroring:

        bash
        scrcpy --record=file.mp4
         scrcpy -r file.mkv

        To record only the video:

        bash
        scrcpy --no-audio --record=file.mp4

        To record only the audio:

        bash
        scrcpy --no-video --record=file.opus
         scrcpy --no-video --audio-codec=aac --record=file.aac
         scrcpy --no-video --audio-codec=flac --record=file.flac
        diff --git a/assets/reference_scrcpy_recording.md.WkzLmA5x.lean.js b/assets/reference_scrcpy_recording.md.B4MoSv_K.lean.js
        similarity index 86%
        rename from assets/reference_scrcpy_recording.md.WkzLmA5x.lean.js
        rename to assets/reference_scrcpy_recording.md.B4MoSv_K.lean.js
        index ffda5620c..fffa543df 100644
        --- a/assets/reference_scrcpy_recording.md.WkzLmA5x.lean.js
        +++ b/assets/reference_scrcpy_recording.md.B4MoSv_K.lean.js
        @@ -1 +1 @@
        -import{e as a,o as s,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Recording","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/recording.md","filePath":"en/reference/scrcpy/recording.md","lastUpdated":1772158243000}'),n={name:"reference/scrcpy/recording.md"};function l(p,i,o,d,r,h){return s(),e("div",null,[...i[0]||(i[0]=[t("",28)])])}const g=a(n,[["render",l]]);export{k as __pageData,g as default};
        +import{e as a,o as s,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Recording","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/recording.md","filePath":"en/reference/scrcpy/recording.md","lastUpdated":1772158834000}'),n={name:"reference/scrcpy/recording.md"};function l(p,i,o,d,r,h){return s(),e("div",null,[...i[0]||(i[0]=[t("",28)])])}const g=a(n,[["render",l]]);export{k as __pageData,g as default};
        diff --git a/assets/reference_scrcpy_shortcuts.md.SQbbPtdC.js b/assets/reference_scrcpy_shortcuts.md.Bhh6gprT.js
        similarity index 99%
        rename from assets/reference_scrcpy_shortcuts.md.SQbbPtdC.js
        rename to assets/reference_scrcpy_shortcuts.md.Bhh6gprT.js
        index 78b98bb1f..dfcc6b15b 100644
        --- a/assets/reference_scrcpy_shortcuts.md.SQbbPtdC.js
        +++ b/assets/reference_scrcpy_shortcuts.md.Bhh6gprT.js
        @@ -1,4 +1,4 @@
        -import{e,o as d,a as l,ag as r}from"./chunks/framework.DCs21iJA.js";const p=JSON.parse('{"title":"Shortcuts","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/shortcuts.md","filePath":"en/reference/scrcpy/shortcuts.md","lastUpdated":1772158243000}'),s={name:"reference/scrcpy/shortcuts.md"};function k(i,t,b,a,o,n){return d(),l("div",null,[...t[0]||(t[0]=[r(`

        Shortcuts

        Actions can be performed on the scrcpy window using keyboard and mouse shortcuts.

        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
        +import{e,o as d,a as l,ag as r}from"./chunks/framework.DCs21iJA.js";const p=JSON.parse('{"title":"Shortcuts","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/shortcuts.md","filePath":"en/reference/scrcpy/shortcuts.md","lastUpdated":1772158834000}'),s={name:"reference/scrcpy/shortcuts.md"};function k(i,t,b,a,o,n){return d(),l("div",null,[...t[0]||(t[0]=[r(`

        Shortcuts

        Actions can be performed on the scrcpy window using keyboard and mouse shortcuts.

        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 or LSuper for shortcuts
        diff --git a/assets/reference_scrcpy_shortcuts.md.SQbbPtdC.lean.js b/assets/reference_scrcpy_shortcuts.md.Bhh6gprT.lean.js
        similarity index 86%
        rename from assets/reference_scrcpy_shortcuts.md.SQbbPtdC.lean.js
        rename to assets/reference_scrcpy_shortcuts.md.Bhh6gprT.lean.js
        index 35371b9c3..e859fd203 100644
        --- a/assets/reference_scrcpy_shortcuts.md.SQbbPtdC.lean.js
        +++ b/assets/reference_scrcpy_shortcuts.md.Bhh6gprT.lean.js
        @@ -1 +1 @@
        -import{e,o as d,a as l,ag as r}from"./chunks/framework.DCs21iJA.js";const p=JSON.parse('{"title":"Shortcuts","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/shortcuts.md","filePath":"en/reference/scrcpy/shortcuts.md","lastUpdated":1772158243000}'),s={name:"reference/scrcpy/shortcuts.md"};function k(i,t,b,a,o,n){return d(),l("div",null,[...t[0]||(t[0]=[r("",11)])])}const h=e(s,[["render",k]]);export{p as __pageData,h as default};
        +import{e,o as d,a as l,ag as r}from"./chunks/framework.DCs21iJA.js";const p=JSON.parse('{"title":"Shortcuts","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/shortcuts.md","filePath":"en/reference/scrcpy/shortcuts.md","lastUpdated":1772158834000}'),s={name:"reference/scrcpy/shortcuts.md"};function k(i,t,b,a,o,n){return d(),l("div",null,[...t[0]||(t[0]=[r("",11)])])}const h=e(s,[["render",k]]);export{p as __pageData,h as default};
        diff --git a/assets/reference_scrcpy_tunnels.md.dJuyHgkx.js b/assets/reference_scrcpy_tunnels.md.JZnpQxVq.js
        similarity index 99%
        rename from assets/reference_scrcpy_tunnels.md.dJuyHgkx.js
        rename to assets/reference_scrcpy_tunnels.md.JZnpQxVq.js
        index a66b7b226..d2a42c9f1 100644
        --- a/assets/reference_scrcpy_tunnels.md.dJuyHgkx.js
        +++ b/assets/reference_scrcpy_tunnels.md.JZnpQxVq.js
        @@ -1,4 +1,4 @@
        -import{e as i,o as a,a as e,ag as n}from"./chunks/framework.DCs21iJA.js";const c=JSON.parse('{"title":"Tunnels","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/tunnels.md","filePath":"en/reference/scrcpy/tunnels.md","lastUpdated":1772158243000}'),t={name:"reference/scrcpy/tunnels.md"};function l(h,s,p,k,r,d){return a(),e("div",null,[...s[0]||(s[0]=[n(`

        Tunnels

        Scrcpy is designed to mirror local Android devices. Tunnels allow to connect to a remote device (e.g. over the Internet).

        To connect to a remote device, it is possible to connect a local adb client to a remote adb server (provided they use the same version of the adb protocol).

        Remote ADB server

        To connect to a remote adb server, make the server listen on all interfaces:

        bash
        adb kill-server
        +import{e as i,o as a,a as e,ag as n}from"./chunks/framework.DCs21iJA.js";const c=JSON.parse('{"title":"Tunnels","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/tunnels.md","filePath":"en/reference/scrcpy/tunnels.md","lastUpdated":1772158834000}'),t={name:"reference/scrcpy/tunnels.md"};function l(h,s,p,k,r,d){return a(),e("div",null,[...s[0]||(s[0]=[n(`

        Tunnels

        Scrcpy is designed to mirror local Android devices. Tunnels allow to connect to a remote device (e.g. over the Internet).

        To connect to a remote device, it is possible to connect a local adb client to a remote adb server (provided they use the same version of the adb protocol).

        Remote ADB server

        To connect to a remote adb server, make the server listen on all interfaces:

        bash
        adb kill-server
         adb -a nodaemon server start
         # keep this open

        Warning: all communications between clients and the adb server are unencrypted.

        Suppose that this server is accessible at 192.168.1.2. Then, from another terminal, run scrcpy:

        bash
        # in bash
         export ADB_SERVER_SOCKET=tcp:192.168.1.2:5037
        diff --git a/assets/reference_scrcpy_tunnels.md.dJuyHgkx.lean.js b/assets/reference_scrcpy_tunnels.md.JZnpQxVq.lean.js
        similarity index 86%
        rename from assets/reference_scrcpy_tunnels.md.dJuyHgkx.lean.js
        rename to assets/reference_scrcpy_tunnels.md.JZnpQxVq.lean.js
        index 68564843b..b239ee884 100644
        --- a/assets/reference_scrcpy_tunnels.md.dJuyHgkx.lean.js
        +++ b/assets/reference_scrcpy_tunnels.md.JZnpQxVq.lean.js
        @@ -1 +1 @@
        -import{e as i,o as a,a as e,ag as n}from"./chunks/framework.DCs21iJA.js";const c=JSON.parse('{"title":"Tunnels","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/tunnels.md","filePath":"en/reference/scrcpy/tunnels.md","lastUpdated":1772158243000}'),t={name:"reference/scrcpy/tunnels.md"};function l(h,s,p,k,r,d){return a(),e("div",null,[...s[0]||(s[0]=[n("",29)])])}const g=i(t,[["render",l]]);export{c as __pageData,g as default};
        +import{e as i,o as a,a as e,ag as n}from"./chunks/framework.DCs21iJA.js";const c=JSON.parse('{"title":"Tunnels","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/tunnels.md","filePath":"en/reference/scrcpy/tunnels.md","lastUpdated":1772158834000}'),t={name:"reference/scrcpy/tunnels.md"};function l(h,s,p,k,r,d){return a(),e("div",null,[...s[0]||(s[0]=[n("",29)])])}const g=i(t,[["render",l]]);export{c as __pageData,g as default};
        diff --git a/assets/reference_scrcpy_v4l2.md.BDosYMTE.js b/assets/reference_scrcpy_v4l2.md.DcxrlHeM.js
        similarity index 99%
        rename from assets/reference_scrcpy_v4l2.md.BDosYMTE.js
        rename to assets/reference_scrcpy_v4l2.md.DcxrlHeM.js
        index 7aa5abf36..3a60521ff 100644
        --- a/assets/reference_scrcpy_v4l2.md.BDosYMTE.js
        +++ b/assets/reference_scrcpy_v4l2.md.DcxrlHeM.js
        @@ -1,4 +1,4 @@
        -import{e,o as i,a,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Video4Linux","description":"","frontmatter":{"title":"Video4Linux"},"headers":[],"relativePath":"reference/scrcpy/v4l2.md","filePath":"en/reference/scrcpy/v4l2.md","lastUpdated":1772158243000}'),n={name:"reference/scrcpy/v4l2.md"};function l(p,s,o,d,h,c){return i(),a("div",null,[...s[0]||(s[0]=[t(`

        Video4Linux

        On Linux, it is possible to send the video stream to a v4l2 loopback device, so that the Android device can be opened like a webcam by any v4l2-capable tool.

        The module v4l2loopback must be installed:

        bash
        sudo apt install v4l2loopback-dkms

        To create a v4l2 device:

        bash
        sudo modprobe v4l2loopback

        This will create a new video device in /dev/videoN, where N is an integer (more options are available to create several devices or devices with specific IDs).

        If you encounter problems detecting your device with Chrome/WebRTC, you can try exclusive_caps mode:

        sudo modprobe v4l2loopback exclusive_caps=1

        To list the enabled devices:

        bash
        # requires v4l-utils package
        +import{e,o as i,a,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Video4Linux","description":"","frontmatter":{"title":"Video4Linux"},"headers":[],"relativePath":"reference/scrcpy/v4l2.md","filePath":"en/reference/scrcpy/v4l2.md","lastUpdated":1772158834000}'),n={name:"reference/scrcpy/v4l2.md"};function l(p,s,o,d,h,c){return i(),a("div",null,[...s[0]||(s[0]=[t(`

        Video4Linux

        On Linux, it is possible to send the video stream to a v4l2 loopback device, so that the Android device can be opened like a webcam by any v4l2-capable tool.

        The module v4l2loopback must be installed:

        bash
        sudo apt install v4l2loopback-dkms

        To create a v4l2 device:

        bash
        sudo modprobe v4l2loopback

        This will create a new video device in /dev/videoN, where N is an integer (more options are available to create several devices or devices with specific IDs).

        If you encounter problems detecting your device with Chrome/WebRTC, you can try exclusive_caps mode:

        sudo modprobe v4l2loopback exclusive_caps=1

        To list the enabled devices:

        bash
        # requires v4l-utils package
         v4l2-ctl --list-devices
         
         # simple but might be sufficient
        diff --git a/assets/reference_scrcpy_v4l2.md.BDosYMTE.lean.js b/assets/reference_scrcpy_v4l2.md.DcxrlHeM.lean.js
        similarity index 86%
        rename from assets/reference_scrcpy_v4l2.md.BDosYMTE.lean.js
        rename to assets/reference_scrcpy_v4l2.md.DcxrlHeM.lean.js
        index 9ccf13325..01329f7d9 100644
        --- a/assets/reference_scrcpy_v4l2.md.BDosYMTE.lean.js
        +++ b/assets/reference_scrcpy_v4l2.md.DcxrlHeM.lean.js
        @@ -1 +1 @@
        -import{e,o as i,a,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Video4Linux","description":"","frontmatter":{"title":"Video4Linux"},"headers":[],"relativePath":"reference/scrcpy/v4l2.md","filePath":"en/reference/scrcpy/v4l2.md","lastUpdated":1772158243000}'),n={name:"reference/scrcpy/v4l2.md"};function l(p,s,o,d,h,c){return i(),a("div",null,[...s[0]||(s[0]=[t("",21)])])}const v=e(n,[["render",l]]);export{k as __pageData,v as default};
        +import{e,o as i,a,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Video4Linux","description":"","frontmatter":{"title":"Video4Linux"},"headers":[],"relativePath":"reference/scrcpy/v4l2.md","filePath":"en/reference/scrcpy/v4l2.md","lastUpdated":1772158834000}'),n={name:"reference/scrcpy/v4l2.md"};function l(p,s,o,d,h,c){return i(),a("div",null,[...s[0]||(s[0]=[t("",21)])])}const v=e(n,[["render",l]]);export{k as __pageData,v as default};
        diff --git a/assets/reference_scrcpy_video.md.BYLBijtG.js b/assets/reference_scrcpy_video.md.CRUdwGgm.js
        similarity index 99%
        rename from assets/reference_scrcpy_video.md.BYLBijtG.js
        rename to assets/reference_scrcpy_video.md.CRUdwGgm.js
        index c990c107b..e2ef03897 100644
        --- a/assets/reference_scrcpy_video.md.BYLBijtG.js
        +++ b/assets/reference_scrcpy_video.md.CRUdwGgm.js
        @@ -1,4 +1,4 @@
        -import{e as i,o as a,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Video","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/video.md","filePath":"en/reference/scrcpy/video.md","lastUpdated":1772158243000}'),n={name:"reference/scrcpy/video.md"};function p(l,s,h,r,o,d){return a(),e("div",null,[...s[0]||(s[0]=[t(`

        Video

        Source

        By default, scrcpy mirrors the device screen.

        It is possible to capture the device camera instead.

        See the dedicated camera page.

        Size

        By default, scrcpy attempts to mirror at the Android device resolution.

        It might be useful to mirror at a lower definition to increase performance. To limit both width and height to some maximum value (here 1024):

        bash
        scrcpy --max-size=1024
        +import{e as i,o as a,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Video","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/video.md","filePath":"en/reference/scrcpy/video.md","lastUpdated":1772158834000}'),n={name:"reference/scrcpy/video.md"};function p(l,s,h,r,o,d){return a(),e("div",null,[...s[0]||(s[0]=[t(`

        Video

        Source

        By default, scrcpy mirrors the device screen.

        It is possible to capture the device camera instead.

        See the dedicated camera page.

        Size

        By default, scrcpy attempts to mirror at the Android device resolution.

        It might be useful to mirror at a lower definition to increase performance. To limit both width and height to some maximum value (here 1024):

        bash
        scrcpy --max-size=1024
         scrcpy -m 1024   # short version

        The other dimension is computed so that the Android device aspect ratio is preserved. That way, a device in 1920×1080 will be mirrored at 1024×576.

        If encoding fails, scrcpy automatically tries again with a lower definition (unless --no-downsize-on-error is enabled).

        For camera mirroring, the --max-size value is used to select the camera source size instead (among the available resolutions).

        Bit rate

        The default video bit rate is 8 Mbps. To change it:

        bash
        scrcpy --video-bit-rate=2M
         scrcpy --video-bit-rate=2000000  # equivalent
         scrcpy -b 2M                     # short version

        Frame rate

        The capture frame rate can be limited:

        bash
        scrcpy --max-fps=15

        The actual capture frame rate may be printed to the console:

        scrcpy --print-fps

        It may also be enabled or disabled at anytime with MOD+i (see shortcuts).

        The frame rate is intrinsically variable: a new frame is produced only when the screen content changes. For example, if you play a fullscreen video at 24fps on your device, you should not get more than 24 frames per second in scrcpy.

        Codec

        The video codec can be selected. The possible values are h264 (default), h265 and av1:

        bash
        scrcpy --video-codec=h264  # default
        diff --git a/assets/reference_scrcpy_video.md.BYLBijtG.lean.js b/assets/reference_scrcpy_video.md.CRUdwGgm.lean.js
        similarity index 85%
        rename from assets/reference_scrcpy_video.md.BYLBijtG.lean.js
        rename to assets/reference_scrcpy_video.md.CRUdwGgm.lean.js
        index 1e148b27f..41bebbbf8 100644
        --- a/assets/reference_scrcpy_video.md.BYLBijtG.lean.js
        +++ b/assets/reference_scrcpy_video.md.CRUdwGgm.lean.js
        @@ -1 +1 @@
        -import{e as i,o as a,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Video","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/video.md","filePath":"en/reference/scrcpy/video.md","lastUpdated":1772158243000}'),n={name:"reference/scrcpy/video.md"};function p(l,s,h,r,o,d){return a(),e("div",null,[...s[0]||(s[0]=[t("",80)])])}const y=i(n,[["render",p]]);export{k as __pageData,y as default};
        +import{e as i,o as a,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Video","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/video.md","filePath":"en/reference/scrcpy/video.md","lastUpdated":1772158834000}'),n={name:"reference/scrcpy/video.md"};function p(l,s,h,r,o,d){return a(),e("div",null,[...s[0]||(s[0]=[t("",80)])])}const y=i(n,[["render",p]]);export{k as __pageData,y as default};
        diff --git a/assets/reference_scrcpy_virtual_display.md.BtNi7opT.js b/assets/reference_scrcpy_virtual_display.md.CfyHWD-A.js
        similarity index 99%
        rename from assets/reference_scrcpy_virtual_display.md.BtNi7opT.js
        rename to assets/reference_scrcpy_virtual_display.md.CfyHWD-A.js
        index 33c828f13..7999b7c5c 100644
        --- a/assets/reference_scrcpy_virtual_display.md.BtNi7opT.js
        +++ b/assets/reference_scrcpy_virtual_display.md.CfyHWD-A.js
        @@ -1,4 +1,4 @@
        -import{e as s,o as i,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const y=JSON.parse('{"title":"Virtual display","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/virtual_display.md","filePath":"en/reference/scrcpy/virtual_display.md","lastUpdated":1772158243000}'),l={name:"reference/scrcpy/virtual_display.md"};function p(n,a,d,r,o,h){return i(),e("div",null,[...a[0]||(a[0]=[t(`

        Virtual display

        New display

        To mirror a new virtual display instead of the device screen:

        bash
        scrcpy --new-display=1920x1080
        +import{e as s,o as i,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const y=JSON.parse('{"title":"Virtual display","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/virtual_display.md","filePath":"en/reference/scrcpy/virtual_display.md","lastUpdated":1772158834000}'),l={name:"reference/scrcpy/virtual_display.md"};function p(n,a,d,r,o,h){return i(),e("div",null,[...a[0]||(a[0]=[t(`

        Virtual display

        New display

        To mirror a new virtual display instead of the device screen:

        bash
        scrcpy --new-display=1920x1080
         scrcpy --new-display=1920x1080/420  # force 420 dpi
         scrcpy --new-display         # use the main display size and density
         scrcpy --new-display=/240    # use the main display size and 240 dpi

        The new virtual display is destroyed on exit.

        Start app

        On some devices, a launcher is available in the virtual display.

        When no launcher is available (or if is explicitly disabled by --no-vd-system-decorations), the virtual display is empty. In that case, you must start an Android app.

        For example:

        bash
        scrcpy --new-display=1920x1080 --start-app=org.videolan.vlc

        The app may itself be a launcher. For example, to run the open source Fossify Launcher:

        bash
        scrcpy --new-display=1920x1080 --no-vd-system-decorations --start-app=org.fossify.home

        System decorations

        By default, virtual display system decorations are enabled. To disable them, use --no-vd-system-decorations:

        scrcpy --new-display --no-vd-system-decorations

        This is useful for some devices which might display a broken UI, or to disable any default launcher UI available in virtual displays.

        Note that if no app is started, no content will be rendered, so no video frame will be produced at all.

        Destroy on close

        By default, when the virtual display is closed, the running apps are destroyed.

        To move them to the main display instead, use:

        scrcpy --new-display --no-vd-destroy-content

        Display IME policy

        By default, the virtual display IME appears on the default display.

        To make it appear on the local display, use --display-ime-policy=local:

        bash
        scrcpy --display-id=1 --display-ime-policy=local
        diff --git a/assets/reference_scrcpy_virtual_display.md.BtNi7opT.lean.js b/assets/reference_scrcpy_virtual_display.md.CfyHWD-A.lean.js
        similarity index 87%
        rename from assets/reference_scrcpy_virtual_display.md.BtNi7opT.lean.js
        rename to assets/reference_scrcpy_virtual_display.md.CfyHWD-A.lean.js
        index 9bf104910..11a08f4c6 100644
        --- a/assets/reference_scrcpy_virtual_display.md.BtNi7opT.lean.js
        +++ b/assets/reference_scrcpy_virtual_display.md.CfyHWD-A.lean.js
        @@ -1 +1 @@
        -import{e as s,o as i,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const y=JSON.parse('{"title":"Virtual display","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/virtual_display.md","filePath":"en/reference/scrcpy/virtual_display.md","lastUpdated":1772158243000}'),l={name:"reference/scrcpy/virtual_display.md"};function p(n,a,d,r,o,h){return i(),e("div",null,[...a[0]||(a[0]=[t("",25)])])}const k=s(l,[["render",p]]);export{y as __pageData,k as default};
        +import{e as s,o as i,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const y=JSON.parse('{"title":"Virtual display","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/virtual_display.md","filePath":"en/reference/scrcpy/virtual_display.md","lastUpdated":1772158834000}'),l={name:"reference/scrcpy/virtual_display.md"};function p(n,a,d,r,o,h){return i(),e("div",null,[...a[0]||(a[0]=[t("",25)])])}const k=s(l,[["render",p]]);export{y as __pageData,k as default};
        diff --git a/assets/reference_scrcpy_window.md.CHSan9MF.js b/assets/reference_scrcpy_window.md.Dck_fkSr.js
        similarity index 98%
        rename from assets/reference_scrcpy_window.md.CHSan9MF.js
        rename to assets/reference_scrcpy_window.md.Dck_fkSr.js
        index a35756f45..21cb94d9e 100644
        --- a/assets/reference_scrcpy_window.md.CHSan9MF.js
        +++ b/assets/reference_scrcpy_window.md.Dck_fkSr.js
        @@ -1,3 +1,3 @@
        -import{e as a,o as e,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Window","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/window.md","filePath":"en/reference/scrcpy/window.md","lastUpdated":1772158243000}'),n={name:"reference/scrcpy/window.md"};function l(h,s,d,p,o,r){return e(),i("div",null,[...s[0]||(s[0]=[t(`

        Window

        Disable window

        To disable window (may be useful for recording or for playing audio only):

        bash
        scrcpy --no-window --record=file.mp4
        +import{e as a,o as e,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Window","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/window.md","filePath":"en/reference/scrcpy/window.md","lastUpdated":1772158834000}'),n={name:"reference/scrcpy/window.md"};function l(h,s,d,p,o,r){return e(),i("div",null,[...s[0]||(s[0]=[t(`

        Window

        Disable window

        To disable window (may be useful for recording or for playing audio only):

        bash
        scrcpy --no-window --record=file.mp4
         # Ctrl+C to interrupt

        Title

        By default, the window title is the device model. It can be changed:

        bash
        scrcpy --window-title='My device'

        Position and size

        The initial window position and size may be specified:

        bash
        scrcpy --window-x=100 --window-y=100 --window-width=800 --window-height=600

        Borderless

        To disable window decorations:

        bash
        scrcpy --window-borderless

        Always on top

        To keep the window always on top:

        bash
        scrcpy --always-on-top

        Fullscreen

        The app may be started directly in fullscreen:

        bash
        scrcpy --fullscreen
         scrcpy -f   # short version

        Fullscreen mode can then be toggled dynamically with MOD+f (see shortcuts).

        Disable screensaver

        By default, scrcpy does not prevent the screensaver from running on the computer. To disable it:

        bash
        scrcpy --disable-screensaver
        `,23)])])}const b=a(n,[["render",l]]);export{k as __pageData,b as default}; diff --git a/assets/reference_scrcpy_window.md.CHSan9MF.lean.js b/assets/reference_scrcpy_window.md.Dck_fkSr.lean.js similarity index 86% rename from assets/reference_scrcpy_window.md.CHSan9MF.lean.js rename to assets/reference_scrcpy_window.md.Dck_fkSr.lean.js index 77c095823..c1f734d30 100644 --- a/assets/reference_scrcpy_window.md.CHSan9MF.lean.js +++ b/assets/reference_scrcpy_window.md.Dck_fkSr.lean.js @@ -1 +1 @@ -import{e as a,o as e,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Window","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/window.md","filePath":"en/reference/scrcpy/window.md","lastUpdated":1772158243000}'),n={name:"reference/scrcpy/window.md"};function l(h,s,d,p,o,r){return e(),i("div",null,[...s[0]||(s[0]=[t("",23)])])}const b=a(n,[["render",l]]);export{k as __pageData,b as default}; +import{e as a,o as e,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Window","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/window.md","filePath":"en/reference/scrcpy/window.md","lastUpdated":1772158834000}'),n={name:"reference/scrcpy/window.md"};function l(h,s,d,p,o,r){return e(),i("div",null,[...s[0]||(s[0]=[t("",23)])])}const b=a(n,[["render",l]]);export{k as __pageData,b as default}; diff --git a/assets/reference_scrcpy_windows.md.Cw0zCoK1.js b/assets/reference_scrcpy_windows.md.Cmfuo7a_.js similarity index 99% rename from assets/reference_scrcpy_windows.md.Cw0zCoK1.js rename to assets/reference_scrcpy_windows.md.Cmfuo7a_.js index 87f6f56d3..17fef8495 100644 --- a/assets/reference_scrcpy_windows.md.Cw0zCoK1.js +++ b/assets/reference_scrcpy_windows.md.Cmfuo7a_.js @@ -1,3 +1,3 @@ -import{e as a,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"On Windows","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/windows.md","filePath":"en/reference/scrcpy/windows.md","lastUpdated":1772158243000}'),n={name:"reference/scrcpy/windows.md"};function o(l,e,r,c,p,h){return s(),i("div",null,[...e[0]||(e[0]=[t(`

        On Windows

        Install

        From the official release

        Download the latest release:

        and extract it.

        From a package manager

        From WinGet (ADB and other dependencies will be installed alongside scrcpy):

        bash
        winget install --exact Genymobile.scrcpy

        From Chocolatey:

        bash
        choco install scrcpy
        +import{e as a,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"On Windows","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/windows.md","filePath":"en/reference/scrcpy/windows.md","lastUpdated":1772158834000}'),n={name:"reference/scrcpy/windows.md"};function o(l,e,r,c,p,h){return s(),i("div",null,[...e[0]||(e[0]=[t(`

        On Windows

        Install

        From the official release

        Download the latest release:

        and extract it.

        From a package manager

        From WinGet (ADB and other dependencies will be installed alongside scrcpy):

        bash
        winget install --exact Genymobile.scrcpy

        From Chocolatey:

        bash
        choco install scrcpy
         choco install adb    # if you don't have it yet

        From Scoop:

        bash
        scoop install scrcpy
         scoop install adb    # if you don't have it yet

        See build.md to build and install the app manually.

        Run

        Make sure that your device meets the prerequisites.

        Scrcpy is a command line application: it is mainly intended to be executed from a terminal with command line arguments.

        To open a terminal at the expected location, double-click on open_a_terminal_here.bat in your scrcpy directory, then type your command. For example, without arguments:

        bash
        scrcpy

        or with arguments (here to disable audio and record to file.mkv):

        scrcpy --no-audio --record=file.mkv

        Documentation for command line arguments is available:

        To start scrcpy directly without opening a terminal, double-click on one of these files:

        • scrcpy-console.bat: start with a terminal open (it will close when scrcpy terminates, unless an error occurs);
        • scrcpy-noconsole.vbs: start without a terminal (but you won't see any error message).

        Avoid double-clicking on scrcpy.exe directly: on error, the terminal would close immediately and you won't have time to read any error message (this executable is intended to be run from the terminal). Use scrcpy-console.bat instead.

        If you plan to always use the same arguments, create a file myscrcpy.bat (enable show file extensions to avoid confusion) containing your command, For example:

        bash
        scrcpy --prefer-text --turn-screen-off --stay-awake

        Then just double-click on that file.

        You could also edit (a copy of) scrcpy-console.bat or scrcpy-noconsole.vbs to add some arguments.

        `,30)])])}const u=a(n,[["render",o]]);export{k as __pageData,u as default}; diff --git a/assets/reference_scrcpy_windows.md.Cw0zCoK1.lean.js b/assets/reference_scrcpy_windows.md.Cmfuo7a_.lean.js similarity index 86% rename from assets/reference_scrcpy_windows.md.Cw0zCoK1.lean.js rename to assets/reference_scrcpy_windows.md.Cmfuo7a_.lean.js index d6500d3ad..bb2531dc7 100644 --- a/assets/reference_scrcpy_windows.md.Cw0zCoK1.lean.js +++ b/assets/reference_scrcpy_windows.md.Cmfuo7a_.lean.js @@ -1 +1 @@ -import{e as a,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"On Windows","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/windows.md","filePath":"en/reference/scrcpy/windows.md","lastUpdated":1772158243000}'),n={name:"reference/scrcpy/windows.md"};function o(l,e,r,c,p,h){return s(),i("div",null,[...e[0]||(e[0]=[t("",30)])])}const u=a(n,[["render",o]]);export{k as __pageData,u as default}; +import{e as a,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"On Windows","description":"","frontmatter":{},"headers":[],"relativePath":"reference/scrcpy/windows.md","filePath":"en/reference/scrcpy/windows.md","lastUpdated":1772158834000}'),n={name:"reference/scrcpy/windows.md"};function o(l,e,r,c,p,h){return s(),i("div",null,[...e[0]||(e[0]=[t("",30)])])}const u=a(n,[["render",o]]);export{k as __pageData,u as default}; diff --git a/assets/zhHans_changelog.md.2Zc7Jgcc.js b/assets/zhHans_changelog.md.D2vktLT2.js similarity index 99% rename from assets/zhHans_changelog.md.2Zc7Jgcc.js rename to assets/zhHans_changelog.md.D2vktLT2.js index 2f0f58b35..2f56fa967 100644 --- a/assets/zhHans_changelog.md.2Zc7Jgcc.js +++ b/assets/zhHans_changelog.md.D2vktLT2.js @@ -1 +1 @@ -import{e as r,o as a,a as t,ag as o}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"更新日志","description":"","frontmatter":{"title":"更新日志"},"headers":[],"relativePath":"zhHans/changelog.md","filePath":"zhHans/changelog.md","lastUpdated":1772158243000}'),i={name:"zhHans/changelog.md"};function c(l,e,h,n,f,b){return a(),t("div",null,[...e[0]||(e[0]=[o('

        Changelog

        2.1.4 (2026-01-14)

        Miscellaneous Chores

        • add release name format to config (6db1b51)
        • update release workflow and build commands (8f5345b)

        2.1.3 (2026-01-14)

        Miscellaneous Chores

        • add linked-versions plugin to release config (415e4ae)

        2.1.2 (2026-01-14)

        Bug Fixes

        • 🐛 Fix automatic build issues (aba8f27)

        Miscellaneous Chores

        • add GH_TOKEN env to release workflow (078bf18)
        • release 2.1.1 (d1c04ce)
        • release 2.1.2 (91d9bbd)
        • release 2.1.2 (c7c8616)
        • remove release creation step from workflow (b73c179)
        • remove unnecessary comments in App.vue (22e331d)
        • remove unnecessary comments in App.vue (5ae8fbe)
        • update electron-builder config path and publish options (d3b4914)
        • update pull request title pattern (060ad4a)
        • update release configuration and patterns (0054fd4)

        2.1.0 (2026-01-14)

        Features

        • ✨ Add auto launch functionality and preference option (69c75cc)
        • ✨ Add hidden launch option for auto-start (dd1c2e1)
        • ✨ Add subscribe configuration hook and update UI (80b3534)
        • ✨ Add system tray support and Linux auto-launch (df414b9)
        • 🔖 Copilot adds thinking_stream event support (22623c4)
        • 🚑️ The portable version now supports automatically generating configuration files in the running directory (ba551b7)
        • add custom empty state icon for device list (65b028f)
        • add zip target for macOS builds (f52d3a5)

        Bug Fixes

        • 🐛 Fix delete message and config initialization (82a77ea)
        • 🐛 Fixed the issue of failed export and export configuration files (fd32c36)
        • 🐛 Update dependencies and add sharp override in workspace configuration (dbf366a)
        • 💰 Update payment amount handling in subscription (422950c)
        • add background color and improve window initialization (498fc90)
        • adjust empty state icon styling in device list (363bf3d)
        • ensure concurrency limit is numeric (d2c977c)
        • types: allow typed payload handlers by using any[] for handle listener rest params (b4e8058)

        Performance Improvements

        • 🚀 Use an external library instead of the built-in autoglm.js (d1f8176)

        Code Refactoring

        • ⚡️ Refactor code structure for improved readability and maintainability (f211924)
        • 🌐 Update language labels to native text (cb7ac96)
        • 🌐 Update subscription translations for multiple locales (b4e5780)
        • 🎨 Redesign task dialog with card layout (cd06d3b)
        • 🎨 Simplify config UI layout and update maxSteps (af18241)
        • 🔄 Auto configure Copilot after payment (c00ac1e)
        • 🔄 Move ESLint config to root and clean up dependencies (f2bd345)
        • 🔄 Optimize session callbacks and event handling (ae19570)
        • 🔄 Rename ipc to services for better structure (8212872)
        • 🔄 Rename start module to launch for clarity (5d44ebf)
        • 🔧 Optimize copilot config change detection (2776e8a)
        • 🔧 Replace quick prompts with PromptBar component (9b0c4df)
        • improve theme switching and background handling (b3203af)
        • migrate copilot config to store (e323611)
        • replace rotation icon with outline version (95ad30d)
        • replace send icon with rocket icon (ef9e7d3)
        • replace svg icons with font icons (9eca902)
        • replace trash icon with Delete icon (c59994e)

        2.0.1 (2026-01-06)

        Bug Fixes

        • 🐛 Fix the problem of abnormal subscription recharge fee (b32043c)

        2.0.0 (2026-01-05)

        Features

        • ✨ Add system terminal support (e5c157e)
        • ✨ Device lists will now intelligently merge duplicate device entries and share device configurations (52cc4b1)
        • ✨ Integrate scrcpy binaries for macos (85bf096)
        • ✨ Introducing a new file icon display component and enhancing the File Explorer dialog. (11be6f1)
        • ✨ Now supports copying device screenshots and recording files to the clipboard (bdb3644)
        • ✨ Now you can arrange your device windows through a graphical interface (91ad249)
        • ✨ Support edge hiding function (14a81de)
        • ✨ Support floating control bar (8807e50)
        • ✨ Support pairing and connecting to devices via QR code (14306b2)
        • ✨ Support to close the device screen when controlling (a84c775)
        • ✨ Supports starting applications for mirroring (d19e781)
        • ✨ Use the new interface design (b08021b)
        • 💥[Release-As: 2.0.0] major copilot overhaul with AutoGLM and multi-device automation (7ad5ecd)
        • 📸 Enhanced recording (7f10161)
        • 🔍️ Optimize the search function of the app (94ccb7b)
        • 🚀 Split the file manager into independent windows and support multiple instances in parallel (f41d853)
        • 🚀 Support adding the open application action to the desktop shortcut. (Not supported on macOS) (add251f)
        • 🚀 Supports connecting historical devices via device list (e0687e8)
        • 🚀 Supports dragging the device control bar to sort (64a98b2)
        • 🚀 Update to scrcpy v3.3.2 (462536c)
        • 🚚 Support batch startup mirroring (fcfd78e)
        • 🚚 The file manager has been refactored and improved, and more useful features have been added. (5cd5992)

        Bug Fixes

        • ♻️ Fixed repeated dependency issues (9777622)
        • 🐛 Fix automatic release (c2254aa)
        • 🐛 Fix device support audio and video encoding cannot be parsed (9b7f6a9)
        • 🐛 Fix for built-in scrcpy not supporting x64 macos (0d60655)
        • 🐛 Fix issue with incorrect address bar path when returning to the previous level in file management (0222675)
        • 🐛 Fix linux build errors (9b43dc0)
        • 🐛 Fix the display ID value type error (2b7ee79)
        • 🐛 Fix the mirror group bug (cd7d9cd)
        • 🐛 Fix the problem of build failure caused by missing dependencies (e34e1c2)
        • 🐛 Fix the problem of Windows calling system terminal failure (194689e)
        • 🐛 Fix the problem of Windows terminal injection command failure (fbf88d0)
        • 🐛 Fix typos (a7a3a17)
        • 🐛 Fixed an issue where macos built-in updates failed (432eceb)
        • 🐛 Fixed an issue where some options in preferences could not be turned off (269bd29)
        • 🐛 Fixed possible sandbox issues on Linux (ff9f9bd)
        • 🐛 Fixed the conflict between device control bar sorting and click events (18a57b9)
        • 🐛 Fixed the issue of abnormal path display in the file manager address bar (2f63f6f)
        • 🐛 Fixed the issue of duplicate filter conditions in the device list (6c4242c)
        • 🐛 Fixed the issue of layout flickering when refreshing the device list page (608b8f3)
        • 🐛 Fixed the issue of saving exceptions after adjusting parameters in preference settings (4a18f61)
        • 🐛 Fixed the issue where activating the program on macOS in certain situations would cause the tray to be created repeatedly (cf8e183)
        • 🐛 Fixed the issue where all configurations would be cleared when resetting the category configuration in preferences (6ee9a92)
        • 🐛 Fixed the issue where Chinese text cannot be saved in file management read and write text (34785dd)
        • 🐛 Fixed the issue where PowerShell failed to call the system terminal (7beb027)
        • 🐛 Fixed the issue where recorded files could not be copied to the clipboard under Windows (119b518)
        • 🐛 Fixed the issue where there is a chance of an error when closing the floating control bar on macOS (5c2c711)
        • 🐛 Fixed the problem of minimizing the visibility of tray icons (b0f42aa)
        • 🐛 Issue not taking effect after restarting the application after switching themes (857c480)
        • 🐛 Make StartApp compatible with scrcpy v3.0 (1082e0d)
        • 🐛 Rename --display-buffer to --video-buffer (b2bb0ae)
        • 🐛 Repair ADB timeout problems (b5bffc5)
        • 🐛 Repair floating action bar start application error (487e7e2)
        • 🐛 Repair part of internationalization Lost dynamics (d18444f)
        • 🐛 Resolve default recording error (358064e)
        • 🐛 Resolved the issue where the device list could not be displayed due to compatibility issues with certain devices (2c53b77)
        • 🐛 Resolving build errors (d21fa29)
        • 🐛 Restore the --display-buffer parameter to solve the mirroring problem (0f3d869)
        • 🐛 Solve the conflict between floating navigation bar and quick APP launch (460aca1)
        • 🐛 Solve the problem of abnormal display timing when recording related functions are successful (67d279e)
        • 🐛 Solve the problem of IPV6 address connection failure (1a95325)
        • 🐛 Solve the problem of startup error of development mode under Linux (5c4f65e)
        • 🐛 Solve the problem of Windows disabling video forwarding and crashing (10b902a)
        • 🐛 Solved the problem that the main window could not be restored after being moved off the screen in some cases (d054f8d)
        • 🐛 Start app to adapt to dark mode (ae13fde)
        • 🐛 Temporarily disable scrcpy integration in macOS (9bf4d5c)
        • 🐛 Update scrcpy-server file to solve the problem of not being able to obtain device APP list (63f7135)
        • 📝 Fixed the issue that special characters in Windows prevented the creation of app shortcut launch (301dac5)
        • 🔧 Camera recording and screen off configuration conflict (4508758)
        • 🔧 Fixed button loading prompt conflict issue (c323ad6)
        • 🩹 Restore the windows build configuration (9491069)
        • 🚀 Fix the issue of abnormal program exit behavior under windows (705f8be)

        Performance Improvements

        • ♻️ Adjust the position of the start application button (9833932)
        • ♻️ Code structure optimization (595216b)
        • ♻️ Enhance recording stability (3dd7525)
        • ♻️ Improve ADB connection stability (7655ba6)
        • ♻️ Improve the stability of window arrangement function (7ae3f21)
        • ♻️ Improve wireless connection stability (85be898)
        • ♻️ Improved device connection stability (1d603ab)
        • ♻️ No longer building universal packages for macOS (db5deb4)
        • ♻️ Optimize camera recording (4be2cf4)
        • ♻️ Optimize camera recording stability (952b2a7)
        • ♻️ Optimize device details performance (38d1433)
        • ♻️ Optimize device list interaction logic (3812061)
        • ♻️ Optimize file manager interaction (b168cc3)
        • ♻️ Optimize QR code connection experience (86f5e69)
        • ♻️ Optimize the Russian presentation effect (0d8a8ee)
        • ♻️ Optimized contextBridge related improvements for stability (0e098c3)
        • ♻️ Optimized the adb daemon startup failure detection mechanism (ca6be85)
        • ♻️ Reduce build package size by removing redundant dependencies (7b61b25)
        • ♻️ Refactor configuration related code to improve stability (37bf438)
        • ♻️ Script and directory structure optimization (68378ef)
        • ♻️ Simplify sandbox automatic configuration manager code to improve performance (1b82336)
        • ♻️ Support interruption during waiting for wireless connection (344b385)
        • ♻️ Supports retrieving a list of applications (b1a6ba7)
        • ♻️ Update mirror icon (c214e5a)
        • ♻️ When the application fails to start, display the error message (dbc34d6)
        • ♿️ Supports adjusting the closing method of the application in preferences (e643f8e)
        • ⚗️ Experimental support for turning off screen controls (9555f58)
        • ⚡️ Improve the start APP experience (29e5e1b)
        • ⚡️ Optimize scrcpy parameter conversion performance (18dcd24)
        • ⚡️ Optimize startup application performance (8e94494)
        • ⚡️ Optimize the method of obtaining the available displays of the device (9e31c84)
        • ⚡️ Optimize the stability of options that need to dynamically obtain parameters in preference settings (39bbc98)
        • ✅ A new method is adopted to solve the problem of IP type configuration storage (5488a1e)
        • ✅ File management supports selecting directories for uploading (fd2e639)
        • ✅ Provides the function of detecting and migrating configurations when deleting a device (39e0533)
        • ✅ Support switching devices on the floating control bar (50440f5)
        • ✨ Adjust the position of the wireless connection screen (3e3fc34)
        • ✨ Enable new icon (695e35d)
        • ✨ The floating control bar supports transparent display when inactive (34f27c5)
        • ✨ Update to scrcpy@2.7 to support the gamepad (0053e87)
        • ➖ Remove redundant console (9a67142)
        • ⬆️ Improve QR code connection performance (b413889)
        • ⬆️ Improved performance of automated mirroring (33a03c3)
        • ⬆️ Optimize edge hiding performance (74a91a4)
        • ⬆️ Optimize the performance of the floating control bar (a1c60ec)
        • 🌱 Optimize app icon background color and corner radius. (bc4f492)
        • 🌱 Optimize application icon details (55800be)
        • 🌱 UI details and documentation optimization (5b5bbf7)
        • 🍻 Improve file manager reliability (9063243)
        • 🐛 Improve wireless connection verification method (69fecc3)
        • 👥 Control bar sorting supports state synchronization (88abe95)
        • 👷 Added edge hiding function switch (d25714a)
        • 👷 Explicitly clean up unnecessary child processes on exit (0549dda)
        • 👷 Optimize the edge hiding function (d5caaa9)
        • 👷 Remove redundant code comments (ca4e826)
        • 👽️ Experimental support for adding open application actions to linux desktop shortcuts (6897c0e)
        • 👽️ Experimentally add linux arm64 support (5b033fd)
        • 💄 Improve space utilization of device window layout tools (939a2d2)
        • 💄 Improved Russian display (ca79e1b)
        • 💄 Normalize control window titles and generated file names (ccc7f0e)
        • 💄 Optimization of display effect of device list page (305187d)
        • 💄 Optimize device refresh mode (ea75615)
        • 💄 Optimize dialog display (1813718)
        • 💄 Optimize pairing interface display (df4103b)
        • 💄 Optimize preference setting button layout (47ae53d)
        • 💄 Optimize Russian display effect (5ca39ae)
        • 💄 Optimize the display effect of horizontal screen screenshots (90c7163)
        • 💄 Optimize the interface display effect (c7a5cd4)
        • 💄 Window layout adapted to dark mode theme (eab402b)
        • 💫 Adjust gnirehtet configuration behavior to make it consistent with user operation habits (7507915)
        • 💫 Support appending gnirehtet custom parameters in configuration (206a030)
        • 📌 Standardize the device list lifecycle processing flow. IPv6 addresses must be enclosed in [] and the port number cannot be omitted for wireless connections. (93c059d)
        • 📌 Support saving the main panel window size status (cef022f)
        • 📝 Add docs entry to the program (db5d157)
        • 📝 Add Japanese language support (969378f)
        • 📝 Added Arabic language support (f6c9fa4)
        • 📝 Optimize the scheduled task list (c666709)
        • 📝 Optimize the title of the control interface to solve the problem of duplicate device names (06a151d)
        • 📝 Optimized startup app package name display (22eb718)
        • 📝 Simplified partial translation (7411487)
        • 📦️ Update the upload function to support file and directory selection, and optimize the interface layout (7f5bd35)
        • 📸 Recording camera support (10d0370)
        • 📸 Support viewing real-time images and power information of the device (d262adf)
        • 🔀 Optimize the storage policy configured in preferences (b9faabf)
        • 🔊 Expanded audio source options (fc91f07)
        • 🔍️ Optimize QR code style to avoid scanning problems on some devices (dd3ad6c)
        • 🔖 Adjust the order of quick entry functions (ccb59e1)
        • 🔖 Optimize interaction of preferred terminal options (900dc69)
        • 🔧 Optimized startup APP function interaction (468af22)
        • 🔧 Temporarily disable scheduled tasks that are too far away (be5e639)
        • 🔨 Fixed the problem that some models could not reversely supply the network due to the blocking of installation detection when using Gnirehtet (c5369af)
        • 🔨 Improve the reliability of the linux sandbox configuration tool (6de2538)
        • 🧑‍💻 Improve application performance with VueRouter (6a8c190)
        • 🧑‍💻 Improve device-based terminal experience (88a0356)
        • 🧑‍💻 Optimize application icon size under macOS (066d81f)
        • 🧑‍💻 Optimize the interactive experience of the device control bar (8388646)
        • 🩹 Add an option to enable keyboard fix on app startup to be compatible with older versions of scrcpy (be89b36)
        • 🩹 Closing a screen via the control bar no longer requires creating a help window (84c7be7)
        • 🚀 Adjust options to support scrcpy v3.0 (0602676)
        • 🚀 After getting the device list, query and save the SerialNo of each device in preparation for subsequent integration (4464e7e)
        • 🚀 Clean output when closing built-in terminal (c976d4c)
        • 🚀 Extended floating control bar function (790e703)
        • 🚀 File management supports returning to the root directory (2e27443)
        • 🚀 Improve app icon quality (8a6f4c7)
        • 🚀 Improve performance by asynchronously storing main interface boundary information (d230c15)
        • 🚀 Modify the adb connection method to be compatible with scan connection (e6e8a09)
        • 🚀 Optimization of window arrangement function (33786ab)
        • 🚀 Optimize device connection experience (0690f2d)
        • 🚀 Optimize device list connection behavior and configuration migration strategy (8237058)
        • 🚀 Optimize program performance (9af3988)
        • 🚀 Optimize system terminal stability (2ffc588)
        • 🚀 Optimize the built-in terminal interaction experience (bb56d5b)
        • 🚀 Optimize the default behavior when adding new widgets to the device window arrangement (1be470a)
        • 🚀 Optimize the details of the new version of the icon (db9b19a)
        • 🚀 Optimize the display effect of application icons under windows (e0c221f)
        • 🚀 Optimize the display effect of new icons in smaller sizes (7d91d71)
        • 🚀 Optimize the layout effect of the task list (044cfcd)
        • 🚀 Optimize the menu trigger method for the upload function (8d39f5b)
        • 🚀 Optimize the storage strategy for preference Settings (359b9b9)
        • 🚀 Provide feedback on the application shortcut addition (d7eca8d)
        • 🚀 Supports display of offline devices (dcf817f)
        • 🚀 Supports opening using the main monitor when starting the APP (aec9b78)
        • 🚀 The main panel supports single instance startup (c49d22c)
        • 🚀 Update to scrcpy v3.3.1 (a2bb039)
        • 🚀 Update to scrcpy v3.0 (bf06382)
        • 🚀 Update to scrcpy v3.0.2 (7510548)
        • 🚀 Update to scrcpy v3.1 (7c74c71)
        • 🚀 Update to scrcpy v3.2 (57c11af)
        • 🚀 Update to scrcpy v3.3 (bbf2335)
        • 🚀 Update to scrcpy v3.3.3 (8566644)
        • 🚚 Reduce some unnecessary verifications and increase the speed at which equipment starts reverse network supply (c17aaba)

        Miscellaneous Chores

        Code Refactoring

        • ♻️ Reconstruct the multi-device batch upload function (dbdaa35)
        • 🔨 Optimize code (f61d820)

        1.34.2 (2025-12-08)

        Performance Improvements

        • 📦️ Update the upload function to support file and directory selection, and optimize the interface layout (7f5bd35)
        • 🚀 Optimize the menu trigger method for the upload function (8d39f5b)

        1.34.1 (2025-12-07)

        Performance Improvements

        • 🍻 Improve file manager reliability (9063243)

        1.34.0 (2025-12-07)

        Features

        • ✨ Introducing a new file icon display component and enhancing the File Explorer dialog. (11be6f1)
        • 🚀 Split the file manager into independent windows and support multiple instances in parallel (f41d853)
        • 🚚 The file manager has been refactored and improved, and more useful features have been added. (5cd5992)

        Bug Fixes

        • 🐛 Fixed the conflict between device control bar sorting and click events (18a57b9)
        • 🐛 Fixed the issue of abnormal path display in the file manager address bar (2f63f6f)
        • 🐛 Fixed the issue where Chinese text cannot be saved in file management read and write text (34785dd)

        Performance Improvements

        • ♻️ Optimize file manager interaction (b168cc3)
        • ✨ Enable new icon (695e35d)
        • 🌱 Optimize app icon background color and corner radius. (bc4f492)
        • 🌱 Optimize application icon details (55800be)
        • 📝 Optimize the scheduled task list (c666709)
        • 🧑‍💻 Optimize application icon size under macOS (066d81f)
        • 🧑‍💻 Optimize the interactive experience of the device control bar (8388646)
        • 🚀 Improve app icon quality (8a6f4c7)
        • 🚀 Optimize program performance (9af3988)
        • 🚀 Optimize the details of the new version of the icon (db9b19a)
        • 🚀 Optimize the display effect of application icons under windows (e0c221f)
        • 🚀 Optimize the display effect of new icons in smaller sizes (7d91d71)

        1.33.0 (2025-11-20)

        Features

        • ✨ Add system terminal support (e5c157e)

        Bug Fixes

        • 🐛 Fix issue with incorrect address bar path when returning to the previous level in file management (0222675)
        • 🐛 Fix the problem of Windows calling system terminal failure (194689e)
        • 🐛 Fix the problem of Windows terminal injection command failure (fbf88d0)
        • 🐛 Fixed the issue where PowerShell failed to call the system terminal (7beb027)

        Performance Improvements

        • 🔖 Optimize interaction of preferred terminal options (900dc69)
        • 🚀 Clean output when closing built-in terminal (c976d4c)
        • 🚀 Optimize system terminal stability (2ffc588)
        • 🚀 Optimize the built-in terminal interaction experience (bb56d5b)

        1.32.2 (2025-09-29)

        Performance Improvements

        • 🚀 Update to scrcpy v3.3.3 (8566644)

        1.32.1 (2025-09-10)

        Performance Improvements

        • 🌱 UI details and documentation optimization (5b5bbf7)

        1.32.0 (2025-09-08)

        Features

        • ✨ Now supports copying device screenshots and recording files to the clipboard (bdb3644)
        • 🚀 Update to scrcpy v3.3.2 (462536c)

        Bug Fixes

        • 🐛 Fixed the issue where recorded files could not be copied to the clipboard under Windows (119b518)
        • 🔧 Fixed button loading prompt conflict issue (c323ad6)

        Performance Improvements

        • ✅ Provides the function of detecting and migrating configurations when deleting a device (39e0533)
        • 📌 Standardize the device list lifecycle processing flow. IPv6 addresses must be enclosed in [] and the port number cannot be omitted for wireless connections. (93c059d)
        • 🚀 Modify the adb connection method to be compatible with scan connection (e6e8a09)
        • 🚀 Optimize device list connection behavior and configuration migration strategy (8237058)

        1.31.3 (2025-09-01)

        Performance Improvements

        • 💄 Window layout adapted to dark mode theme (eab402b)

        1.31.2 (2025-09-01)

        Bug Fixes

        • 🐛 Resolved the issue where the device list could not be displayed due to compatibility issues with certain devices (2c53b77)

        Performance Improvements

        • 🚀 Optimization of window arrangement function (33786ab)

        1.31.1 (2025-08-29)

        Performance Improvements

        • 👷 Remove redundant code comments (ca4e826)

        1.31.0 (2025-08-29)

        Features

        • ✨ Device lists will now intelligently merge duplicate device entries and share device configurations (52cc4b1)
        • ✨ Now you can arrange your device windows through a graphical interface (91ad249)

        Bug Fixes

        • 🐛 Fix typos (a7a3a17)
        • 🐛 Fixed possible sandbox issues on Linux (ff9f9bd)
        • 🐛 Fixed the issue of saving exceptions after adjusting parameters in preference settings (4a18f61)
        • 🐛 Issue not taking effect after restarting the application after switching themes (857c480)

        Performance Improvements

        • ♻️ Improve the stability of window arrangement function (7ae3f21)
        • ♻️ Simplify sandbox automatic configuration manager code to improve performance (1b82336)
        • 💄 Improve space utilization of device window layout tools (939a2d2)
        • 🔖 Adjust the order of quick entry functions (ccb59e1)
        • 🔨 Improve the reliability of the linux sandbox configuration tool (6de2538)
        • 🚀 After getting the device list, query and save the SerialNo of each device in preparation for subsequent integration (4464e7e)
        • 🚀 Improve performance by asynchronously storing main interface boundary information (d230c15)
        • 🚀 Optimize the default behavior when adding new widgets to the device window arrangement (1be470a)
        • 🚀 Optimize the layout effect of the task list (044cfcd)
        • 🚀 Optimize the storage strategy for preference Settings (359b9b9)

        1.30.2 (2025-07-15)

        Performance Improvements

        • ♻️ Optimize device list interaction logic (3812061)
        • 📝 Add Japanese language support (969378f)

        1.30.1 (2025-07-14)

        Bug Fixes

        • 🐛 Fixed the issue where all configurations would be cleared when resetting the category configuration in preferences (6ee9a92)
        • 🐛 Solve the problem of abnormal display timing when recording related functions are successful (67d279e)
        • 📝 Fixed the issue that special characters in Windows prevented the creation of app shortcut launch (301dac5)

        Performance Improvements

        • 📝 Optimized startup app package name display (22eb718)
        • 🔧 Optimized startup APP function interaction (468af22)

        1.30.0 (2025-07-14)

        Features

        • 🔍️ Optimize the search function of the app (94ccb7b)
        • 🚀 Supports dragging the device control bar to sort (64a98b2)

        Bug Fixes

        • 🐛 Fixed the issue of layout flickering when refreshing the device list page (608b8f3)
        • 🐛 Fixed the issue where activating the program on macOS in certain situations would cause the tray to be created repeatedly (cf8e183)
        • 🐛 Fixed the issue where there is a chance of an error when closing the floating control bar on macOS (5c2c711)
        • 🚀 Fix the issue of abnormal program exit behavior under windows (705f8be)

        Performance Improvements

        • ♻️ Code structure optimization (595216b)
        • 👥 Control bar sorting supports state synchronization (88abe95)
        • 📝 Optimize the title of the control interface to solve the problem of duplicate device names (06a151d)
        • 🔀 Optimize the storage policy configured in preferences (b9faabf)
        • 🚀 Supports opening using the main monitor when starting the APP (aec9b78)

        1.29.9 (2025-06-27)

        Performance Improvements

        • 🚀 Update to scrcpy v3.3.1 (a2bb039)

        1.29.8 (2025-06-20)

        Bug Fixes

        • 🐛 Update scrcpy-server file to solve the problem of not being able to obtain device APP list (63f7135)

        1.29.7 (2025-06-16)

        Performance Improvements

        • 🚀 Update to scrcpy v3.3 (bbf2335)

        1.29.6 (2025-04-27)

        Performance Improvements

        • 📝 Added Arabic language support (f6c9fa4)
        • 🚀 File management supports returning to the root directory (2e27443)

        1.29.5 (2025-04-17)

        Bug Fixes

        • 🐛 Fix the problem of build failure caused by missing dependencies (e34e1c2)

        1.29.4 (2025-04-17)

        Bug Fixes

        • 🐛 Fixed an issue where some options in preferences could not be turned off (269bd29)

        Performance Improvements

        • 💫 Adjust gnirehtet configuration behavior to make it consistent with user operation habits (7507915)
        • 🔍️ Optimize QR code style to avoid scanning problems on some devices (dd3ad6c)
        • 🩹 Add an option to enable keyboard fix on app startup to be compatible with older versions of scrcpy (be89b36)

        1.29.3 (2025-04-02)

        Performance Improvements

        • 📝 Add docs entry to the program (db5d157)
        • 🚚 Reduce some unnecessary verifications and increase the speed at which equipment starts reverse network supply (c17aaba)

        1.29.2 (2025-03-31)

        Performance Improvements

        • 🔨 Fixed the problem that some models could not reversely supply the network due to the blocking of installation detection when using Gnirehtet (c5369af)

        1.29.1 (2025-03-31)

        Performance Improvements

        • 🔊 Expanded audio source options (fc91f07)
        • 🩹 Closing a screen via the control bar no longer requires creating a help window (84c7be7)
        • 🚀 Update to scrcpy v3.2 (57c11af)

        1.29.0 (2025-03-27)

        Features

        • 🚀 Support adding the open application action to the desktop shortcut. (Not supported on macOS) (add251f)
        • 🚚 Support batch startup mirroring (fcfd78e)

        Bug Fixes

        • 🐛 Solve the conflict between floating navigation bar and quick APP launch (460aca1)
        • 🐛 Solve the problem of startup error of development mode under Linux (5c4f65e)

        Performance Improvements

        • ✨ The floating control bar supports transparent display when inactive (34f27c5)
        • 👷 Explicitly clean up unnecessary child processes on exit (0549dda)
        • 👽️ Experimental support for adding open application actions to linux desktop shortcuts (6897c0e)
        • 👽️ Experimentally add linux arm64 support (5b033fd)
        • 💄 Optimization of display effect of device list page (305187d)
        • 💫 Support appending gnirehtet custom parameters in configuration (206a030)
        • 🚀 Provide feedback on the application shortcut addition (d7eca8d)

        1.28.7 (2025-02-17)

        Bug Fixes

        • 🐛 Fixed the issue of duplicate filter conditions in the device list (6c4242c)
        • 🐛 Solved the problem that the main window could not be restored after being moved off the screen in some cases (d054f8d)

        Performance Improvements

        • ⬆️ Improved performance of automated mirroring (33a03c3)
        • 💄 Optimize the display effect of horizontal screen screenshots (90c7163)
        • 🚀 The main panel supports single instance startup (c49d22c)

        1.28.6 (2025-02-05)

        Bug Fixes

        • 🐛 Resolving build errors (d21fa29)

        1.28.5 (2025-02-05)

        Performance Improvements

        • ✅ File management supports selecting directories for uploading (fd2e639)
        • ⬆️ Improve QR code connection performance (b413889)

        1.28.4 (2025-01-13)

        Bug Fixes

        • 🐛 Fix the display ID value type error (2b7ee79)
        • 🐛 Solve the problem of IPV6 address connection failure (1a95325)

        Performance Improvements

        • ♻️ Improve wireless connection stability (85be898)
        • ⚡️ Optimize the method of obtaining the available displays of the device (9e31c84)
        • 🐛 Improve wireless connection verification method (69fecc3)
        • 👷 Added edge hiding function switch (d25714a)

        1.28.3 (2024-12-28)

        Performance Improvements

        • ♻️ Optimize device details performance (38d1433)

        1.28.2 (2024-12-27)

        Performance Improvements

        • 👷 Optimize the edge hiding function (d5caaa9)
        • 📸 Support viewing real-time images and power information of the device (d262adf)

        1.28.1 (2024-12-20)

        Performance Improvements

        • ♻️ Optimize QR code connection experience (86f5e69)

        1.28.0 (2024-12-20)

        Features

        • ✨ Support pairing and connecting to devices via QR code (14306b2)
        • 🚀 Supports connecting historical devices via device list (e0687e8)

        Bug Fixes

        • 🐛 Solve the problem of Windows disabling video forwarding and crashing (10b902a)

        Performance Improvements

        • ♻️ Update mirror icon (c214e5a)
        • ✅ A new method is adopted to solve the problem of IP type configuration storage (5488a1e)
        • 🚀 Optimize device connection experience (0690f2d)
        • 🚀 Supports display of offline devices (dcf817f)

        1.27.7 (2024-12-10)

        Performance Improvements

        • 🚀 Update to scrcpy v3.1 (7c74c71)

        1.27.6 (2024-12-05)

        Bug Fixes

        • ♻️ Fixed repeated dependency issues (9777622)

        Performance Improvements

        • ♻️ Optimized contextBridge related improvements for stability (0e098c3)
        • ♻️ Reduce build package size by removing redundant dependencies (7b61b25)
        • 🚀 Update to scrcpy v3.0.2 (7510548)

        1.27.5 (2024-11-29)

        Performance Improvements

        • ➖ Remove redundant console (9a67142)

        1.27.4 (2024-11-29)

        Bug Fixes

        • 🐛 Fix automatic release (c2254aa)
        • 🐛 Fixed an issue where macos built-in updates failed (432eceb)

        1.27.3 (2024-11-28)

        Bug Fixes

        • 🐛 Fix for built-in scrcpy not supporting x64 macos (0d60655)

        Performance Improvements

        • ♻️ Improved device connection stability (1d603ab)
        • ♻️ Optimized the adb daemon startup failure detection mechanism (ca6be85)
        • 🧑‍💻 Improve device-based terminal experience (88a0356)

        1.27.2 (2024-11-26)

        Bug Fixes

        • 🐛 Start app to adapt to dark mode (ae13fde)

        1.27.1 (2024-11-25)

        Bug Fixes

        • 🐛 Make StartApp compatible with scrcpy v3.0 (1082e0d)

        Performance Improvements

        • 🚀 Adjust options to support scrcpy v3.0 (0602676)
        • 🚀 Update to scrcpy v3.0 (bf06382)

        1.27.0 (2024-11-21)

        Features

        • ✨ Support edge hiding function (14a81de)

        Performance Improvements

        • ⬆️ Optimize edge hiding performance (74a91a4)

        1.26.4 (2024-11-14)

        Bug Fixes

        • 🐛 Temporarily disable scrcpy integration in macOS (9bf4d5c)

        1.26.3 (2024-11-08)

        Bug Fixes

        • 🐛 Fix device support audio and video encoding cannot be parsed (9b7f6a9)
        • 🐛 Restore the --display-buffer parameter to solve the mirroring problem (0f3d869)

        Performance Improvements

        • ♻️ Support interruption during waiting for wireless connection (344b385)
        • ♻️ Supports retrieving a list of applications (b1a6ba7)
        • ⚡️ Optimize startup application performance (8e94494)

        1.26.2 (2024-11-06)

        Bug Fixes

        • 🐛 Fix linux build errors (9b43dc0)

        1.26.1 (2024-11-06)

        Performance Improvements

        • ♻️ No longer building universal packages for macOS (db5deb4)

        1.26.0 (2024-11-06)

        Features

        • ✨ Integrate scrcpy binaries for macos (85bf096)
        • ✨ Supports starting applications for mirroring (d19e781)

        Bug Fixes

        • 🐛 Rename --display-buffer to --video-buffer (b2bb0ae)
        • 🐛 Repair floating action bar start application error (487e7e2)
        • 🩹 Restore the windows build configuration (9491069)

        Performance Improvements

        • ♻️ Adjust the position of the start application button (9833932)
        • ♻️ When the application fails to start, display the error message (dbc34d6)
        • ⚡️ Improve the start APP experience (29e5e1b)

        1.25.5 (2024-11-05)

        Performance Improvements

        • ⚡️ Optimize the stability of options that need to dynamically obtain parameters in preference settings (39bbc98)

        1.25.4 (2024-10-31)

        Performance Improvements

        • ♻️ Enhance recording stability (3dd7525)
        • ♻️ Optimize camera recording stability (952b2a7)
        • 💄 Normalize control window titles and generated file names (ccc7f0e)

        1.25.3 (2024-10-29)

        Bug Fixes

        • 🔧 Camera recording and screen off configuration conflict (4508758)

        Performance Improvements

        • 🔧 Temporarily disable scheduled tasks that are too far away (be5e639)

        1.25.2 (2024-10-29)

        Bug Fixes

        • 🐛 Resolve default recording error (358064e)

        1.25.1 (2024-10-28)

        Miscellaneous Chores

        1.25.0 (2024-10-28)

        Features

        • ✨ Support to close the device screen when controlling (a84c775)
        • 📸 Enhanced recording (7f10161)

        Performance Improvements

        • ♻️ Optimize camera recording (4be2cf4)
        • ♻️ Script and directory structure optimization (68378ef)
        • ⚗️ Experimental support for turning off screen controls (9555f58)
        • ⚡️ Optimize scrcpy parameter conversion performance (18dcd24)
        • 💄 Improved Russian display (ca79e1b)
        • 📸 Recording camera support (10d0370)

        1.24.3 (2024-10-21)

        Performance Improvements

        • 💄 Optimize Russian display effect (5ca39ae)

        1.24.2 (2024-09-16)

        Bug Fixes

        • 🐛 Fix the mirror group bug (cd7d9cd)

        1.24.1 (2024-09-16)

        Performance Improvements

        • ✨ Update to scrcpy@2.7 to support the gamepad (0053e87)
        • ⬆️ Optimize the performance of the floating control bar (a1c60ec)
        • 🚀 Extended floating control bar function (790e703)

        1.24.0 (2024-09-12)

        Features

        • ✨ Support floating control bar (8807e50)

        Performance Improvements

        • ✅ Support switching devices on the floating control bar (50440f5)
        • 💄 Optimize preference setting button layout (47ae53d)

        1.23.6 (2024-09-09)

        Bug Fixes

        • 🐛 Fixed the problem of minimizing the visibility of tray icons (b0f42aa)
        • 🐛 Repair ADB timeout problems (b5bffc5)

        1.23.5 (2024-09-09)

        Performance Improvements

        • ♻️ Improve ADB connection stability (7655ba6)

        1.23.4 (2024-09-08)

        Bug Fixes

        • 🐛 Repair part of internationalization Lost dynamics (d18444f)

        1.23.3 (2024-09-08)

        Performance Improvements

        • ♻️ Optimize the performance of equipment interaction column and file manager (41ffcf5)

        1.23.2 (2024-09-07)

        Performance Improvements

        • 🚀 Support file manager upload to the current directory (737c2a3)

        1.23.1 (2024-09-07)

        Performance Improvements

        • ⬆️ Update dependencies (8b03862)

        1.23.0 (2024-09-07)

        Features

        • ✨ Support graphic file manager (8155723)
        • 🚀 Initially add a new file manager (94ee007)

        Performance Improvements

        1.22.4 (2024-08-03)

        Bug Fixes

        • 🐛 plan task Remove operation bug (5205935)

        Performance Improvements

        1.22.3 (2024-08-03)

        Performance Improvements

        • ♻️ Update scrcpy to 2.6.1 (1eef9d2)

        1.22.2 (2024-07-25)

        Performance Improvements

        • 💄 Optimize the display effect of the dark mode (38f854b)
        • 💄 Optimize the display effect of the quick operation bar (7b3c4db)
        • 💄 Optimize the display effect of the tabs bar (5b2d41c)

        1.22.1 (2024-07-25)

        Bug Fixes

        • 🐛 Fixed asset publishing issues (222f626)

        1.22.0 (2024-07-25)

        Features

        • 🚀 Add a scheduled task list (d72202b)
        • 🚀 Add basic timing task function (04a7608)
        • 🚀 Add timing task entrance (8393c85)
        • 🚀 添加定时任务入口 (6ce66d4)

        Bug Fixes

        • 🐛 The internationalization problem of repairing path selector (8e6af20)
        • 💄 Optimize wireless connection user interface (50ae742)

        Performance Improvements

        • 💄 Optimization of the operation bar at the top of the equipment list (81bd3d9)
        • 💄 Optimized operation button layout (16f9535)

        1.21.4 (2024-07-14)

        Performance Improvements

        • ♻️ Optimize custom startup performance (abd468b)
        • ♻️ Perfect allSettledWrapper method (5b7d0af)

        1.21.3 (2024-07-13)

        Bug Fixes

        • Fix the width problem of custom startup pop-up windows (9a7e56b)

        1.21.2 (2024-07-13)

        Bug Fixes

        • 🐛 Fix terminal style abnormalities in dark theme (3d4dc7c)

        Performance Improvements

        • ♻️ Improve code robustness (2f389af)
        • 🚀 Optimize batch operation interaction (343eab2)

        1.21.1 (2024-07-13)

        Bug Fixes

        • 🐛 Fix dependency build errors (5b02621)

        1.21.0 (2024-07-13)

        Features

        • 🎉 Support batch execution script function (8097022)
        • 🚀 Support execution script function (2013413)

        Bug Fixes

        • 🐛 Repair the problem of equipment width in the English state (25c42d9)
        • 📝 Update Translation (33b0181)

        Performance Improvements

        • ✅ Support batch screenshot and other performance optimization (db9e3e7)
        • ✨ Support for custom startup mirroring (677f30c)
        • 🐛 Fix the problem of frequently trigger preservation of preferences (8261916)

        1.20.1 (2024-07-04)

        Bug Fixes

        • 🐛 Fix batch text spelling errors (062c689)

        1.20.0 (2024-07-04)

        Features

        • ✨ Add batch installation application function (37ce245)

        Performance Improvements

        • 🚀 Add mouse binding options (7ee4ba4)

        1.19.4 (2024-07-02)

        Bug Fixes

        • 🐛 Fix terminal style problems (9fc1ded)
        • Update Chinese language translations (b8d77e3)

        Performance Improvements

        • 🚀 Update to scrcpy v2.5 (22cc5a3)

        1.19.3 (2024-06-13)

        Bug Fixes

        • 🐛 Abnormal operations cause the program that cannot be closed (b989140)

        1.19.2 (2024-06-03)

        Bug Fixes

        • 🐛 Automatically apply local languages (0cc8208)

        1.19.1 (2024-05-26)

        Bug Fixes

        • 🐛 In some cases, the light mode is abnormal (ea227e0)
        • 🐛 Search for shortcut key conflicts (c70e6ca)

        Performance Improvements

        1.19.0 (2024-05-15)

        Features

        • 🚀 Add page search function (6dd8244)
        • 🚀 Update dependencies to support ESM (9f1696f)

        Bug Fixes

        • 🐛 Resolving build failures (8460945)
        • 🐛 Tips unavailable (603e4e9)

        Performance Improvements

        • ♻️ FindInPage API (fcf8269)
        • ♻️ Optimize dark mode (2f2e1cf)
        • ♻️ Search interaction (a195b7e)
        • ♻️ Search variable name (7c55e50)
        • 🐛 Global search error (091d503)
        • 🚀 优化页面查找工具性能 (8587977)

        1.18.4 (2024-05-04)

        Bug Fixes

        • 🐛 Wireless adb does not support Spaces (1f27597)

        1.18.3 (2024-04-12)

        Performance Improvements

        • ♻️ i18n configuration (1ca0469)

        1.18.2 (2024-04-11)

        Bug Fixes

        • 🐛 zh_TW Language support (885af3a)

        1.18.1 (2024-04-11)

        Bug Fixes

        • 🔧 Repair merge zh-TW failed (81ff63f)

        Performance Improvements

        1.18.0 (2024-04-11)

        Features

        • Add a simple zh_TW Traditional Chinese locale (cec6539)

        1.17.8 (2024-03-29)

        Bug Fixes

        • 🐛 Camera configuration conflict (07cc5f3)
        • 🐛 OTG configuration conflict (576d287)
        • 🐛 OTG mode: could not turn screen off (c5bed0e)

        1.17.7 (2024-03-27)

        Bug Fixes

        • ♻️ Remove the redundant imports (a06708f)

        Performance Improvements

        • ♻️ Optimize delete history logic (780e3b9)
        • ♻️ Support delete historical connection (c82560f)
        • 💄 Wireless style optimization (ba51fe3)

        1.17.6 (2024-03-21)

        Performance Improvements

        • ♻️ Supports automatic execution of mirrors on devices (11e0884)

        1.17.5 (2024-03-17)

        Performance Improvements

        1.17.4 (2024-03-14)

        Performance Improvements

        • ♻️ Options in the preference settings (dc711cb)

        1.17.3 (2024-03-13)

        Performance Improvements

        • ♻️ Remove console log (6e25eb7)

        1.17.2 (2024-03-10)

        Bug Fixes

        • 🐛 Abnormal built-in terminal adb command (368551a)

        Performance Improvements

        • ♻️ Update eslint config (bf2d2b4)

        1.17.1 (2024-03-05)

        Performance Improvements

        • ♻️ Interactive logic optimization (193f80a)
        • ♻️ Optimize design and code (d507c2d)
        • ♻️ Optimize equipment operation (389ac33)
        • ➖ Remove redundant packages (f9e4a0e)
        • 💄 Optimize dark mode styles (1cac054)

        1.17.0 (2024-03-04)

        Features

        • 🎉 Update to scrcpy v2.4 (02a4d39)

        1.16.8 (2023-12-27)

        Bug Fixes

        • 🐛 The maximum size description error (01fd926)

        1.16.7 (2023-12-19)

        Performance Improvements

        1.16.6 (2023-12-19)

        Miscellaneous Chores

        1.16.5 (2023-12-19)

        Performance Improvements

        • 📝 Control in stop charging (8707eb5)

        1.16.4 (2023-12-19)

        Bug Fixes

        • 🐛 Pairing code type issue (889fe8c)

        1.16.3 (2023-12-03)

        Performance Improvements

        • 🚀 Update scrcpy v2.3.1 (3566655)

        1.16.2 (2023-12-02)

        Bug Fixes

        1.16.1 (2023-11-26)

        Bug Fixes

        1.16.0 (2023-11-26)

        Performance Improvements

        Miscellaneous Chores

        1.15.0 (2023-11-18)

        Features

        • 添加投屏窗口大小控制 (97d7868)

        Performance Improvements

        • 🚀 Add window position option (866aa2c)

        1.14.3 (2023-11-17)

        Performance Improvements

        • ♻️ Add context menu (f0f25a7)
        • ♻️ Optimize extended menu bar interaction (de9352c)
        • 📝 Optimization preferences description (30eca50)

        1.14.2 (2023-11-16)

        Performance Improvements

        • ♻️ Optimize autoConnect historical devices (755a130)
        • 💡 Add autoConnect option (a57b847)

        1.14.1 (2023-11-14)

        Bug Fixes

        • 🐛 Abnormal terminal theme (20d37c1)

        1.14.0 (2023-11-14)

        Features

        • 🎉 Add Terminal Debugging (fdf40c7)

        Performance Improvements

        • ♻️ Optimize terminal performance (d3afc4b)
        • 💄 Update terminal style (5b6b8d1)
        • 🚨 Optimization error prompt (b759502)

        1.13.5 (2023-11-11)

        Performance Improvements

        • ♻️ Mirror group shutdown logic (296e21d)
        • ♻️ Optimize mirror group (5793c24)

        1.13.4 (2023-11-10)

        Performance Improvements

        • ♻️ Optimization updater (61ccd4a)
        • ♻️ Optimize mirror group (81c007f)

        1.13.3 (2023-11-10)

        Bug Fixes

        • 🐛 Recording prompt and file format errors (bfdad9e)

        Performance Improvements

        • ♻️ Optimize Batch connection performance (36de67b)
        • ♻️ Optimize file push prompts (4a3575f)
        • ♻️ Optimize historical device connections (83f8c04)
        • ✨ Support bulk connecting to historical devices (b7eb1dd)

        1.13.2 (2023-11-09)

        Bug Fixes

        Performance Improvements

        • ♻️ Configure Incompatible Handling Mechanism (c0e6a01)
        • ♻️ Optimize gnirehtet (de3555b)
        • 💄 Optimize volume control and gnirehtet (b40bdcf)
        • 🚀 Add File push function (70f8b46)
        • 🚀 Add screen rotation shortcut menu (dd601df)

        1.13.1 (2023-11-08)

        Performance Improvements

        • ♻️ Adjust volume control position (1b3f49e)
        • ♻️ Optimize configuration file logic (5f8cc5a)
        • 🚀 Add volume control (1505518)

        1.13.0 (2023-11-07)

        Features

        • 🎉 Add mirror group function (0c9d36f)

        Bug Fixes

        Performance Improvements

        • ♻️ Optimize mirror group (cf9c82d)
        • ♻️ optimize mirror group tips (46defbf)
        • ♻️ Optimize preferences (7a6417e)
        • ♻️ Optimize window control (0530ed3)
        • 💄 Update styles (37da97b)
        • 🚀 Add camera options (5a04b4c)

        1.12.4 (2023-11-03)

        Bug Fixes

        • 🐛 MacOS reduced to the tray to evoke failure (d7bf83b)

        1.12.3 (2023-11-03)

        Bug Fixes

        • 🐛 MacOS reduced to the tray to evoke failure (6153bc4)

        1.12.2 (2023-11-03)

        Bug Fixes

        1.12.1 (2023-11-03)

        Bug Fixes

        • 🐛 Add gnirehtet fix option (f9c6c32)
        • 🐛 Display options cannot be changed (3046746)
        • 🐛 Preference style (0f72090)
        • 🐛 Reset preferences language not restored (d691780)
        • 🐛 Unable to update path selector (3279c34)
        • 🐛 Video codec preset error (1af9abd)

        Performance Improvements

        • ♻️ optimize Codec (6154ffc)
        • ♻️ Optimize recording (f4dfb2c)
        • 🎨 Update preferences style (e9befea)

        1.12.0 (2023-11-02)

        Features

        • 🎉 Update Scrcpy to v2.2 (5c401a8)

        Bug Fixes

        Performance Improvements

        1.11.9 (2023-10-31)

        Performance Improvements

        • ♻️ Optimization gnirehtet and scrcpy (9cf800c)
        • ♻️ Optimize Gnirehtet interaction (a90e570)

        1.11.8 (2023-10-31)

        Bug Fixes

        • 🎨 修复 macOS 设置主题跟随系统后 某些情况下循环触发导致死循环的问题 (1d7b188)

        1.11.7 (2023-10-31)

        Bug Fixes

        • 🐛 macOS x64ArchFiles Errors (151cb29)

        1.11.6 (2023-10-31)

        Bug Fixes

        • 🐛 macOS x64ArchFiles Errors (7dbca01)

        1.11.5 (2023-10-31)

        Bug Fixes

        • 🐛 macOS x64ArchFiles Errors (ad3f77f)

        1.11.4 (2023-10-31)

        Bug Fixes

        • 🐛 macOS x64ArchFiles Errors (4b4e116)

        1.11.3 (2023-10-31)

        Bug Fixes

        • 🐛 Unix permission issues (1279994)
        • 🐛 Unix permission issues (dc9a3c4)
        • 🐛 x64ArchFiles Error (82a99d9)

        1.11.2 (2023-10-30)

        Bug Fixes

        • 🐛 修复 macOS 打包失败的问题 (1b2236c)

        1.11.1 (2023-10-30)

        Bug Fixes

        • 🐛 修复 macOS 打包失败的问题 (37e2837)

        1.11.0 (2023-10-30)

        Features

        • 🎉 Add gnirehtet reverse tethering function (2c97189)

        Bug Fixes

        • 🐛 gnirehtet custom dependent paths error (cfd0e1d)

        Performance Improvements

        • ♻️ Optimize Gnirehtet interaction (e1237cd)
        • ♻️ 拆分依赖文件禁用冗余的警告信息 (93ad836)
        • ♻️ 目录结构及描述调整 (f9a32d6)
        • ♻️ 补充依赖及目录结构调整 (b18256b)

        1.10.2 (2023-10-28)

        Bug Fixes

        • 🐛 修复设置主题跟随系统后没有生效的问题 (95a83f4)

        1.10.1 (2023-10-28)

        Bug Fixes

        • 🐛 修复 linux 无法启动镜像或录制服务以及修改自定义依赖目录的问题 (d815643)

        1.10.0 (2023-10-27)

        Features

        • 🚀 新增支持 深色模式、国际化语言、运行日志等功能 (4b13f58)

        Bug Fixes

        • 🐛 修复 linux 打包后图标丢失的问题 (217d82d)
        • 🐛 修复安装路径包含空格会导致无法启动服务的问题 (29ae786)
        • 🐛 修复录制结束点击取消异常弹窗以及点击重启服务没有反应的问题 (054c55b)
        • 🔧 修复自定义路径功能没有生效的问题 (894b581)

        Performance Improvements

        1.9.1 (2023-10-24)

        Performance Improvements

        • 💄 窗口控制及交互逻辑优化 (52514e2)

        1.9.0 (2023-10-24)

        Features

        • 🚀 添加 i18n 初步支持 (18d490f)

        Bug Fixes

        • 🐛 修复 macOS 最小化到托盘后状态栏图标不显示的问题 (a789826)

        1.8.17 (2023-10-23)

        Bug Fixes

        • 🐛 尝试修复构建失败 (daeb9e5)

        1.8.16 (2023-10-23)

        Performance Improvements

        • ✨ 采用新的 Logo 设计 (3bf79d3)

        1.8.15 (2023-10-22)

        Bug Fixes

        • 🐛 修复 Linux 平台启动白屏无法正常使用的问题 (54e713b)

        1.8.14 (2023-10-21)

        Bug Fixes

        • 🐛 修复 linux 打包配置错误的问题 (a9668d9)

        1.8.13 (2023-10-21)

        Performance Improvements

        • 🚀 为 windows 添加 ARM64 软件包编译 (368e8ee)
        • 🚀 支持所有平台在点击关闭按钮时选择是否保存到托盘中的功能 (8360198)

        1.8.12 (2023-10-21)

        Bug Fixes

        • 🐛 修复 macOS 或 linux 下自定义依赖选项描述错误的问题 (0d4b1ce)

        1.8.11 (2023-10-21)

        Performance Improvements

        • 🔨 优化窗口默认大小 (393e899)

        1.8.10 (2023-10-20)

        Bug Fixes

        • 🐛 修复 macOS 窗口问题 (f768566)

        1.8.9 (2023-10-20)

        Bug Fixes

        • 🐛 修复 macOS 窗口过小导致出现横向滚动条的问题 (8ee34ca)

        1.8.8 (2023-10-20)

        Bug Fixes

        • 🚀 修复 macOS 简单关闭应用重新打开时报错的问题 (4b259c3)

        1.8.7 (2023-10-20)

        Bug Fixes

        • 🐛 修复打包多个平台时可能生成重复文件导致发布软件包失败的问题 (e89a7a5)

        1.8.6 (2023-10-20)

        Bug Fixes

        • 🔧 修复 macOS 无法正确获取系统依赖路径的问题 (2352593)

        1.8.5 (2023-10-20)

        Bug Fixes

        • 🚑️ 修复 Linux maintainer 问题 (4e1542a)

        1.8.4 (2023-10-20)

        Bug Fixes

        • 🚑️ 修复 Linux 打包失败的问题 (96f85d8)

        1.8.3 (2023-10-20)

        Bug Fixes

        • 🚀 修复 MacOS 软件包安装后无线显示 Logo 的问题 (77dd81b)

        1.8.2 (2023-10-20)

        Bug Fixes

        • 🔧 修复 Linux 及 MacOS 获取默认依赖路径异常的问题 (87b533f)
        • 🔧 修复 MacOS ARM64 版本打包失败的问题 (e9a8fc2)

        1.8.1 (2023-10-20)

        Performance Improvements

        • 🚀 支持创建更多架构的 MacOS 软件包格式 (4780e7c)

        1.8.0 (2023-10-20)

        Features

        • 🚀 初步添加对 Linux 以及 MacOS 的支持 (569ed2e)

        Bug Fixes

        • 📝 偏好设置描述信息修改 (23d68d4)
        • 🔧 设备列表标签显示细节调整 (4f2f00e)

        Performance Improvements

        • 📝 设备备注文本框描述信息调整 (379b325)

        1.7.1 (2023-10-20)

        Bug Fixes

        • 🚀 修复对设备进行独立配置时的一些问题 (6ccd6d0)

        Performance Improvements

        • 🎉 初步支持设置偏好设置的作用域范围 (5dd328c)

        1.7.0 (2023-10-19)

        Features

        • 🚀 新增支持导入及导出配置 (326a133)
        • 🚀 新增支持添加设备备注 (43f15be)

        Performance Improvements

        • ➕ 设备交互栏添加重启设备及打开通知栏功能 (1341fb8)

        1.6.10 (2023-10-18)

        Performance Improvements

        • 🚀 采用新的方法实现所有进程共享 isPackaged (8a5f7d9)

        1.6.9 (2023-10-17)

        Bug Fixes

        • 🔧 优化 isPackaged 判断条件解决某些情况下资源路径解析异常的问题 (fbd1885)

        1.6.8 (2023-10-17)

        Performance Improvements

        • 🚀 支持通过操作栏安装应用并提供相应安装反馈 (3bd2075)

        1.6.7 (2023-10-17)

        Performance Improvements

        • 📝 去除冗余的依赖项 (a6744dc)

        1.6.6 (2023-10-17)

        Bug Fixes

        • 🐛 build fix (09c8dee)
        • 🐛 修复 electron 资源路径问题 (955756e)

        1.6.5 (2023-10-16)

        Bug Fixes

        • 🐛 修复 App NextTick 错误 (79d85eb)

        1.6.4 (2023-10-16)

        Bug Fixes

        • 🐛 修复 electron-builder 配置异常导致打包的文件无法发布的问题 (9a4efa5)
        • 🚀 修复设备列表按钮状态变更影响布局变化的问题 (83a8043)

        1.6.3 (2023-10-16)

        Bug Fixes

        • 🐛 修复打包后图标丢失的问题 (58a66f1)

        1.6.2 (2023-10-13)

        Bug Fixes

        • 🐛 修复USB未授权设备导致无线连接地址变为假值的问题 (9c25325)

        1.6.1 (2023-10-13)

        Performance Improvements

        • 🔨 自定义通用的文件存储路径相关逻辑完善 (8455e86)

        1.6.0 (2023-10-13)

        Features

        • 🚀 增加了对设备交互控制栏的支持 (fd20736)

        1.5.3 (2023-10-13)

        Bug Fixes

        • 🔧 修复点击无线模式没有反应的问题 (9d55ef9)

        1.5.2 (2023-10-13)

        Bug Fixes

        • 📝 修复高级配置标题语义不明的问题 (218de1c)

        Performance Improvements

        • 🚀 添加更多的高级配置并更新文档 (922abd2)

        1.5.1 (2023-10-12)

        Bug Fixes

        • 🐛 去除页面组件冗余参数 (8e5df15)

        1.5.0 (2023-10-12)

        Features

        • 🚀 添加音视频录制功能以及更多的高级选项 (b6986d1)

        1.4.1 (2023-10-12)

        Bug Fixes

        • 🐛 修复检查更新失败没有提示的问题 (6f733ea)

        1.4.0 (2023-10-11)

        Features

        • 🚀 添加在线检查更新功能 (8de04e0)

        Bug Fixes

        • 🔨 修复无线配对时表单验证错误 (7cd9ea3)
        • 🔨 修复直接进行无线连接时没有处理配对设备的问题 (4263d07)

        1.3.3 (2023-09-26)

        Bug Fixes

        • 🐛 修复触摸点配置描述错误的问题 (4e2be23)

        1.3.2 (2023-09-19)

        Bug Fixes

        • 🔧 修复旋转屏幕配置异常的问题 (af7a319)

        1.3.1 (2023-09-19)

        Bug Fixes

        • 🔧 修复图标不透明的问题 (24c011f)

        1.3.0 (2023-09-19)

        Features

        • ✨ 用户界面进行优化,制作了合适的 Logo (1b96ffc)

        1.2.0 (2023-09-19)

        Features

        • 🎉 优化设备界面视图并添加虚拟控制栏配置 (3be0682)

        1.1.0 (2023-09-18)

        Features

        • 🚀 增加了常用的 Scrcpy 高级配置 (ac52df2)

        1.0.2 (2023-09-18)

        Performance Improvements

        • 🚀 合并无线连接及有线连接到设备列表 (e84f24e)

        1.0.1 (2023-09-16)

        Bug Fixes

        • 🔧 去除未测试环境的打包以修复构建失败的问题 (d6ec7fd)

        1.0.0 (2023-09-16)

        Features

        • 📝 添加基本的有线连接支持 (647a0c5)
        • 🚀 添加 Electron 基本支持 (a46a5e1)
        • 🚀 添加初步的构建及发布支持 (c85f8fb)
        • 🚀 添加基本的无线连接功能 (6dd2db9)

        Bug Fixes

        • 🔧 修复 ADB 环境变量配置错误导致无法连接的问题 (9ef7203)
        ',704)])])}const d=r(i,[["render",c]]);export{m as __pageData,d as default}; +import{e as r,o as a,a as t,ag as o}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"更新日志","description":"","frontmatter":{"title":"更新日志"},"headers":[],"relativePath":"zhHans/changelog.md","filePath":"zhHans/changelog.md","lastUpdated":1772158834000}'),i={name:"zhHans/changelog.md"};function c(l,e,h,n,f,b){return a(),t("div",null,[...e[0]||(e[0]=[o('

        Changelog

        2.1.4 (2026-01-14)

        Miscellaneous Chores

        • add release name format to config (6db1b51)
        • update release workflow and build commands (8f5345b)

        2.1.3 (2026-01-14)

        Miscellaneous Chores

        • add linked-versions plugin to release config (415e4ae)

        2.1.2 (2026-01-14)

        Bug Fixes

        • 🐛 Fix automatic build issues (aba8f27)

        Miscellaneous Chores

        • add GH_TOKEN env to release workflow (078bf18)
        • release 2.1.1 (d1c04ce)
        • release 2.1.2 (91d9bbd)
        • release 2.1.2 (c7c8616)
        • remove release creation step from workflow (b73c179)
        • remove unnecessary comments in App.vue (22e331d)
        • remove unnecessary comments in App.vue (5ae8fbe)
        • update electron-builder config path and publish options (d3b4914)
        • update pull request title pattern (060ad4a)
        • update release configuration and patterns (0054fd4)

        2.1.0 (2026-01-14)

        Features

        • ✨ Add auto launch functionality and preference option (69c75cc)
        • ✨ Add hidden launch option for auto-start (dd1c2e1)
        • ✨ Add subscribe configuration hook and update UI (80b3534)
        • ✨ Add system tray support and Linux auto-launch (df414b9)
        • 🔖 Copilot adds thinking_stream event support (22623c4)
        • 🚑️ The portable version now supports automatically generating configuration files in the running directory (ba551b7)
        • add custom empty state icon for device list (65b028f)
        • add zip target for macOS builds (f52d3a5)

        Bug Fixes

        • 🐛 Fix delete message and config initialization (82a77ea)
        • 🐛 Fixed the issue of failed export and export configuration files (fd32c36)
        • 🐛 Update dependencies and add sharp override in workspace configuration (dbf366a)
        • 💰 Update payment amount handling in subscription (422950c)
        • add background color and improve window initialization (498fc90)
        • adjust empty state icon styling in device list (363bf3d)
        • ensure concurrency limit is numeric (d2c977c)
        • types: allow typed payload handlers by using any[] for handle listener rest params (b4e8058)

        Performance Improvements

        • 🚀 Use an external library instead of the built-in autoglm.js (d1f8176)

        Code Refactoring

        • ⚡️ Refactor code structure for improved readability and maintainability (f211924)
        • 🌐 Update language labels to native text (cb7ac96)
        • 🌐 Update subscription translations for multiple locales (b4e5780)
        • 🎨 Redesign task dialog with card layout (cd06d3b)
        • 🎨 Simplify config UI layout and update maxSteps (af18241)
        • 🔄 Auto configure Copilot after payment (c00ac1e)
        • 🔄 Move ESLint config to root and clean up dependencies (f2bd345)
        • 🔄 Optimize session callbacks and event handling (ae19570)
        • 🔄 Rename ipc to services for better structure (8212872)
        • 🔄 Rename start module to launch for clarity (5d44ebf)
        • 🔧 Optimize copilot config change detection (2776e8a)
        • 🔧 Replace quick prompts with PromptBar component (9b0c4df)
        • improve theme switching and background handling (b3203af)
        • migrate copilot config to store (e323611)
        • replace rotation icon with outline version (95ad30d)
        • replace send icon with rocket icon (ef9e7d3)
        • replace svg icons with font icons (9eca902)
        • replace trash icon with Delete icon (c59994e)

        2.0.1 (2026-01-06)

        Bug Fixes

        • 🐛 Fix the problem of abnormal subscription recharge fee (b32043c)

        2.0.0 (2026-01-05)

        Features

        • ✨ Add system terminal support (e5c157e)
        • ✨ Device lists will now intelligently merge duplicate device entries and share device configurations (52cc4b1)
        • ✨ Integrate scrcpy binaries for macos (85bf096)
        • ✨ Introducing a new file icon display component and enhancing the File Explorer dialog. (11be6f1)
        • ✨ Now supports copying device screenshots and recording files to the clipboard (bdb3644)
        • ✨ Now you can arrange your device windows through a graphical interface (91ad249)
        • ✨ Support edge hiding function (14a81de)
        • ✨ Support floating control bar (8807e50)
        • ✨ Support pairing and connecting to devices via QR code (14306b2)
        • ✨ Support to close the device screen when controlling (a84c775)
        • ✨ Supports starting applications for mirroring (d19e781)
        • ✨ Use the new interface design (b08021b)
        • 💥[Release-As: 2.0.0] major copilot overhaul with AutoGLM and multi-device automation (7ad5ecd)
        • 📸 Enhanced recording (7f10161)
        • 🔍️ Optimize the search function of the app (94ccb7b)
        • 🚀 Split the file manager into independent windows and support multiple instances in parallel (f41d853)
        • 🚀 Support adding the open application action to the desktop shortcut. (Not supported on macOS) (add251f)
        • 🚀 Supports connecting historical devices via device list (e0687e8)
        • 🚀 Supports dragging the device control bar to sort (64a98b2)
        • 🚀 Update to scrcpy v3.3.2 (462536c)
        • 🚚 Support batch startup mirroring (fcfd78e)
        • 🚚 The file manager has been refactored and improved, and more useful features have been added. (5cd5992)

        Bug Fixes

        • ♻️ Fixed repeated dependency issues (9777622)
        • 🐛 Fix automatic release (c2254aa)
        • 🐛 Fix device support audio and video encoding cannot be parsed (9b7f6a9)
        • 🐛 Fix for built-in scrcpy not supporting x64 macos (0d60655)
        • 🐛 Fix issue with incorrect address bar path when returning to the previous level in file management (0222675)
        • 🐛 Fix linux build errors (9b43dc0)
        • 🐛 Fix the display ID value type error (2b7ee79)
        • 🐛 Fix the mirror group bug (cd7d9cd)
        • 🐛 Fix the problem of build failure caused by missing dependencies (e34e1c2)
        • 🐛 Fix the problem of Windows calling system terminal failure (194689e)
        • 🐛 Fix the problem of Windows terminal injection command failure (fbf88d0)
        • 🐛 Fix typos (a7a3a17)
        • 🐛 Fixed an issue where macos built-in updates failed (432eceb)
        • 🐛 Fixed an issue where some options in preferences could not be turned off (269bd29)
        • 🐛 Fixed possible sandbox issues on Linux (ff9f9bd)
        • 🐛 Fixed the conflict between device control bar sorting and click events (18a57b9)
        • 🐛 Fixed the issue of abnormal path display in the file manager address bar (2f63f6f)
        • 🐛 Fixed the issue of duplicate filter conditions in the device list (6c4242c)
        • 🐛 Fixed the issue of layout flickering when refreshing the device list page (608b8f3)
        • 🐛 Fixed the issue of saving exceptions after adjusting parameters in preference settings (4a18f61)
        • 🐛 Fixed the issue where activating the program on macOS in certain situations would cause the tray to be created repeatedly (cf8e183)
        • 🐛 Fixed the issue where all configurations would be cleared when resetting the category configuration in preferences (6ee9a92)
        • 🐛 Fixed the issue where Chinese text cannot be saved in file management read and write text (34785dd)
        • 🐛 Fixed the issue where PowerShell failed to call the system terminal (7beb027)
        • 🐛 Fixed the issue where recorded files could not be copied to the clipboard under Windows (119b518)
        • 🐛 Fixed the issue where there is a chance of an error when closing the floating control bar on macOS (5c2c711)
        • 🐛 Fixed the problem of minimizing the visibility of tray icons (b0f42aa)
        • 🐛 Issue not taking effect after restarting the application after switching themes (857c480)
        • 🐛 Make StartApp compatible with scrcpy v3.0 (1082e0d)
        • 🐛 Rename --display-buffer to --video-buffer (b2bb0ae)
        • 🐛 Repair ADB timeout problems (b5bffc5)
        • 🐛 Repair floating action bar start application error (487e7e2)
        • 🐛 Repair part of internationalization Lost dynamics (d18444f)
        • 🐛 Resolve default recording error (358064e)
        • 🐛 Resolved the issue where the device list could not be displayed due to compatibility issues with certain devices (2c53b77)
        • 🐛 Resolving build errors (d21fa29)
        • 🐛 Restore the --display-buffer parameter to solve the mirroring problem (0f3d869)
        • 🐛 Solve the conflict between floating navigation bar and quick APP launch (460aca1)
        • 🐛 Solve the problem of abnormal display timing when recording related functions are successful (67d279e)
        • 🐛 Solve the problem of IPV6 address connection failure (1a95325)
        • 🐛 Solve the problem of startup error of development mode under Linux (5c4f65e)
        • 🐛 Solve the problem of Windows disabling video forwarding and crashing (10b902a)
        • 🐛 Solved the problem that the main window could not be restored after being moved off the screen in some cases (d054f8d)
        • 🐛 Start app to adapt to dark mode (ae13fde)
        • 🐛 Temporarily disable scrcpy integration in macOS (9bf4d5c)
        • 🐛 Update scrcpy-server file to solve the problem of not being able to obtain device APP list (63f7135)
        • 📝 Fixed the issue that special characters in Windows prevented the creation of app shortcut launch (301dac5)
        • 🔧 Camera recording and screen off configuration conflict (4508758)
        • 🔧 Fixed button loading prompt conflict issue (c323ad6)
        • 🩹 Restore the windows build configuration (9491069)
        • 🚀 Fix the issue of abnormal program exit behavior under windows (705f8be)

        Performance Improvements

        • ♻️ Adjust the position of the start application button (9833932)
        • ♻️ Code structure optimization (595216b)
        • ♻️ Enhance recording stability (3dd7525)
        • ♻️ Improve ADB connection stability (7655ba6)
        • ♻️ Improve the stability of window arrangement function (7ae3f21)
        • ♻️ Improve wireless connection stability (85be898)
        • ♻️ Improved device connection stability (1d603ab)
        • ♻️ No longer building universal packages for macOS (db5deb4)
        • ♻️ Optimize camera recording (4be2cf4)
        • ♻️ Optimize camera recording stability (952b2a7)
        • ♻️ Optimize device details performance (38d1433)
        • ♻️ Optimize device list interaction logic (3812061)
        • ♻️ Optimize file manager interaction (b168cc3)
        • ♻️ Optimize QR code connection experience (86f5e69)
        • ♻️ Optimize the Russian presentation effect (0d8a8ee)
        • ♻️ Optimized contextBridge related improvements for stability (0e098c3)
        • ♻️ Optimized the adb daemon startup failure detection mechanism (ca6be85)
        • ♻️ Reduce build package size by removing redundant dependencies (7b61b25)
        • ♻️ Refactor configuration related code to improve stability (37bf438)
        • ♻️ Script and directory structure optimization (68378ef)
        • ♻️ Simplify sandbox automatic configuration manager code to improve performance (1b82336)
        • ♻️ Support interruption during waiting for wireless connection (344b385)
        • ♻️ Supports retrieving a list of applications (b1a6ba7)
        • ♻️ Update mirror icon (c214e5a)
        • ♻️ When the application fails to start, display the error message (dbc34d6)
        • ♿️ Supports adjusting the closing method of the application in preferences (e643f8e)
        • ⚗️ Experimental support for turning off screen controls (9555f58)
        • ⚡️ Improve the start APP experience (29e5e1b)
        • ⚡️ Optimize scrcpy parameter conversion performance (18dcd24)
        • ⚡️ Optimize startup application performance (8e94494)
        • ⚡️ Optimize the method of obtaining the available displays of the device (9e31c84)
        • ⚡️ Optimize the stability of options that need to dynamically obtain parameters in preference settings (39bbc98)
        • ✅ A new method is adopted to solve the problem of IP type configuration storage (5488a1e)
        • ✅ File management supports selecting directories for uploading (fd2e639)
        • ✅ Provides the function of detecting and migrating configurations when deleting a device (39e0533)
        • ✅ Support switching devices on the floating control bar (50440f5)
        • ✨ Adjust the position of the wireless connection screen (3e3fc34)
        • ✨ Enable new icon (695e35d)
        • ✨ The floating control bar supports transparent display when inactive (34f27c5)
        • ✨ Update to scrcpy@2.7 to support the gamepad (0053e87)
        • ➖ Remove redundant console (9a67142)
        • ⬆️ Improve QR code connection performance (b413889)
        • ⬆️ Improved performance of automated mirroring (33a03c3)
        • ⬆️ Optimize edge hiding performance (74a91a4)
        • ⬆️ Optimize the performance of the floating control bar (a1c60ec)
        • 🌱 Optimize app icon background color and corner radius. (bc4f492)
        • 🌱 Optimize application icon details (55800be)
        • 🌱 UI details and documentation optimization (5b5bbf7)
        • 🍻 Improve file manager reliability (9063243)
        • 🐛 Improve wireless connection verification method (69fecc3)
        • 👥 Control bar sorting supports state synchronization (88abe95)
        • 👷 Added edge hiding function switch (d25714a)
        • 👷 Explicitly clean up unnecessary child processes on exit (0549dda)
        • 👷 Optimize the edge hiding function (d5caaa9)
        • 👷 Remove redundant code comments (ca4e826)
        • 👽️ Experimental support for adding open application actions to linux desktop shortcuts (6897c0e)
        • 👽️ Experimentally add linux arm64 support (5b033fd)
        • 💄 Improve space utilization of device window layout tools (939a2d2)
        • 💄 Improved Russian display (ca79e1b)
        • 💄 Normalize control window titles and generated file names (ccc7f0e)
        • 💄 Optimization of display effect of device list page (305187d)
        • 💄 Optimize device refresh mode (ea75615)
        • 💄 Optimize dialog display (1813718)
        • 💄 Optimize pairing interface display (df4103b)
        • 💄 Optimize preference setting button layout (47ae53d)
        • 💄 Optimize Russian display effect (5ca39ae)
        • 💄 Optimize the display effect of horizontal screen screenshots (90c7163)
        • 💄 Optimize the interface display effect (c7a5cd4)
        • 💄 Window layout adapted to dark mode theme (eab402b)
        • 💫 Adjust gnirehtet configuration behavior to make it consistent with user operation habits (7507915)
        • 💫 Support appending gnirehtet custom parameters in configuration (206a030)
        • 📌 Standardize the device list lifecycle processing flow. IPv6 addresses must be enclosed in [] and the port number cannot be omitted for wireless connections. (93c059d)
        • 📌 Support saving the main panel window size status (cef022f)
        • 📝 Add docs entry to the program (db5d157)
        • 📝 Add Japanese language support (969378f)
        • 📝 Added Arabic language support (f6c9fa4)
        • 📝 Optimize the scheduled task list (c666709)
        • 📝 Optimize the title of the control interface to solve the problem of duplicate device names (06a151d)
        • 📝 Optimized startup app package name display (22eb718)
        • 📝 Simplified partial translation (7411487)
        • 📦️ Update the upload function to support file and directory selection, and optimize the interface layout (7f5bd35)
        • 📸 Recording camera support (10d0370)
        • 📸 Support viewing real-time images and power information of the device (d262adf)
        • 🔀 Optimize the storage policy configured in preferences (b9faabf)
        • 🔊 Expanded audio source options (fc91f07)
        • 🔍️ Optimize QR code style to avoid scanning problems on some devices (dd3ad6c)
        • 🔖 Adjust the order of quick entry functions (ccb59e1)
        • 🔖 Optimize interaction of preferred terminal options (900dc69)
        • 🔧 Optimized startup APP function interaction (468af22)
        • 🔧 Temporarily disable scheduled tasks that are too far away (be5e639)
        • 🔨 Fixed the problem that some models could not reversely supply the network due to the blocking of installation detection when using Gnirehtet (c5369af)
        • 🔨 Improve the reliability of the linux sandbox configuration tool (6de2538)
        • 🧑‍💻 Improve application performance with VueRouter (6a8c190)
        • 🧑‍💻 Improve device-based terminal experience (88a0356)
        • 🧑‍💻 Optimize application icon size under macOS (066d81f)
        • 🧑‍💻 Optimize the interactive experience of the device control bar (8388646)
        • 🩹 Add an option to enable keyboard fix on app startup to be compatible with older versions of scrcpy (be89b36)
        • 🩹 Closing a screen via the control bar no longer requires creating a help window (84c7be7)
        • 🚀 Adjust options to support scrcpy v3.0 (0602676)
        • 🚀 After getting the device list, query and save the SerialNo of each device in preparation for subsequent integration (4464e7e)
        • 🚀 Clean output when closing built-in terminal (c976d4c)
        • 🚀 Extended floating control bar function (790e703)
        • 🚀 File management supports returning to the root directory (2e27443)
        • 🚀 Improve app icon quality (8a6f4c7)
        • 🚀 Improve performance by asynchronously storing main interface boundary information (d230c15)
        • 🚀 Modify the adb connection method to be compatible with scan connection (e6e8a09)
        • 🚀 Optimization of window arrangement function (33786ab)
        • 🚀 Optimize device connection experience (0690f2d)
        • 🚀 Optimize device list connection behavior and configuration migration strategy (8237058)
        • 🚀 Optimize program performance (9af3988)
        • 🚀 Optimize system terminal stability (2ffc588)
        • 🚀 Optimize the built-in terminal interaction experience (bb56d5b)
        • 🚀 Optimize the default behavior when adding new widgets to the device window arrangement (1be470a)
        • 🚀 Optimize the details of the new version of the icon (db9b19a)
        • 🚀 Optimize the display effect of application icons under windows (e0c221f)
        • 🚀 Optimize the display effect of new icons in smaller sizes (7d91d71)
        • 🚀 Optimize the layout effect of the task list (044cfcd)
        • 🚀 Optimize the menu trigger method for the upload function (8d39f5b)
        • 🚀 Optimize the storage strategy for preference Settings (359b9b9)
        • 🚀 Provide feedback on the application shortcut addition (d7eca8d)
        • 🚀 Supports display of offline devices (dcf817f)
        • 🚀 Supports opening using the main monitor when starting the APP (aec9b78)
        • 🚀 The main panel supports single instance startup (c49d22c)
        • 🚀 Update to scrcpy v3.3.1 (a2bb039)
        • 🚀 Update to scrcpy v3.0 (bf06382)
        • 🚀 Update to scrcpy v3.0.2 (7510548)
        • 🚀 Update to scrcpy v3.1 (7c74c71)
        • 🚀 Update to scrcpy v3.2 (57c11af)
        • 🚀 Update to scrcpy v3.3 (bbf2335)
        • 🚀 Update to scrcpy v3.3.3 (8566644)
        • 🚚 Reduce some unnecessary verifications and increase the speed at which equipment starts reverse network supply (c17aaba)

        Miscellaneous Chores

        Code Refactoring

        • ♻️ Reconstruct the multi-device batch upload function (dbdaa35)
        • 🔨 Optimize code (f61d820)

        1.34.2 (2025-12-08)

        Performance Improvements

        • 📦️ Update the upload function to support file and directory selection, and optimize the interface layout (7f5bd35)
        • 🚀 Optimize the menu trigger method for the upload function (8d39f5b)

        1.34.1 (2025-12-07)

        Performance Improvements

        • 🍻 Improve file manager reliability (9063243)

        1.34.0 (2025-12-07)

        Features

        • ✨ Introducing a new file icon display component and enhancing the File Explorer dialog. (11be6f1)
        • 🚀 Split the file manager into independent windows and support multiple instances in parallel (f41d853)
        • 🚚 The file manager has been refactored and improved, and more useful features have been added. (5cd5992)

        Bug Fixes

        • 🐛 Fixed the conflict between device control bar sorting and click events (18a57b9)
        • 🐛 Fixed the issue of abnormal path display in the file manager address bar (2f63f6f)
        • 🐛 Fixed the issue where Chinese text cannot be saved in file management read and write text (34785dd)

        Performance Improvements

        • ♻️ Optimize file manager interaction (b168cc3)
        • ✨ Enable new icon (695e35d)
        • 🌱 Optimize app icon background color and corner radius. (bc4f492)
        • 🌱 Optimize application icon details (55800be)
        • 📝 Optimize the scheduled task list (c666709)
        • 🧑‍💻 Optimize application icon size under macOS (066d81f)
        • 🧑‍💻 Optimize the interactive experience of the device control bar (8388646)
        • 🚀 Improve app icon quality (8a6f4c7)
        • 🚀 Optimize program performance (9af3988)
        • 🚀 Optimize the details of the new version of the icon (db9b19a)
        • 🚀 Optimize the display effect of application icons under windows (e0c221f)
        • 🚀 Optimize the display effect of new icons in smaller sizes (7d91d71)

        1.33.0 (2025-11-20)

        Features

        • ✨ Add system terminal support (e5c157e)

        Bug Fixes

        • 🐛 Fix issue with incorrect address bar path when returning to the previous level in file management (0222675)
        • 🐛 Fix the problem of Windows calling system terminal failure (194689e)
        • 🐛 Fix the problem of Windows terminal injection command failure (fbf88d0)
        • 🐛 Fixed the issue where PowerShell failed to call the system terminal (7beb027)

        Performance Improvements

        • 🔖 Optimize interaction of preferred terminal options (900dc69)
        • 🚀 Clean output when closing built-in terminal (c976d4c)
        • 🚀 Optimize system terminal stability (2ffc588)
        • 🚀 Optimize the built-in terminal interaction experience (bb56d5b)

        1.32.2 (2025-09-29)

        Performance Improvements

        • 🚀 Update to scrcpy v3.3.3 (8566644)

        1.32.1 (2025-09-10)

        Performance Improvements

        • 🌱 UI details and documentation optimization (5b5bbf7)

        1.32.0 (2025-09-08)

        Features

        • ✨ Now supports copying device screenshots and recording files to the clipboard (bdb3644)
        • 🚀 Update to scrcpy v3.3.2 (462536c)

        Bug Fixes

        • 🐛 Fixed the issue where recorded files could not be copied to the clipboard under Windows (119b518)
        • 🔧 Fixed button loading prompt conflict issue (c323ad6)

        Performance Improvements

        • ✅ Provides the function of detecting and migrating configurations when deleting a device (39e0533)
        • 📌 Standardize the device list lifecycle processing flow. IPv6 addresses must be enclosed in [] and the port number cannot be omitted for wireless connections. (93c059d)
        • 🚀 Modify the adb connection method to be compatible with scan connection (e6e8a09)
        • 🚀 Optimize device list connection behavior and configuration migration strategy (8237058)

        1.31.3 (2025-09-01)

        Performance Improvements

        • 💄 Window layout adapted to dark mode theme (eab402b)

        1.31.2 (2025-09-01)

        Bug Fixes

        • 🐛 Resolved the issue where the device list could not be displayed due to compatibility issues with certain devices (2c53b77)

        Performance Improvements

        • 🚀 Optimization of window arrangement function (33786ab)

        1.31.1 (2025-08-29)

        Performance Improvements

        • 👷 Remove redundant code comments (ca4e826)

        1.31.0 (2025-08-29)

        Features

        • ✨ Device lists will now intelligently merge duplicate device entries and share device configurations (52cc4b1)
        • ✨ Now you can arrange your device windows through a graphical interface (91ad249)

        Bug Fixes

        • 🐛 Fix typos (a7a3a17)
        • 🐛 Fixed possible sandbox issues on Linux (ff9f9bd)
        • 🐛 Fixed the issue of saving exceptions after adjusting parameters in preference settings (4a18f61)
        • 🐛 Issue not taking effect after restarting the application after switching themes (857c480)

        Performance Improvements

        • ♻️ Improve the stability of window arrangement function (7ae3f21)
        • ♻️ Simplify sandbox automatic configuration manager code to improve performance (1b82336)
        • 💄 Improve space utilization of device window layout tools (939a2d2)
        • 🔖 Adjust the order of quick entry functions (ccb59e1)
        • 🔨 Improve the reliability of the linux sandbox configuration tool (6de2538)
        • 🚀 After getting the device list, query and save the SerialNo of each device in preparation for subsequent integration (4464e7e)
        • 🚀 Improve performance by asynchronously storing main interface boundary information (d230c15)
        • 🚀 Optimize the default behavior when adding new widgets to the device window arrangement (1be470a)
        • 🚀 Optimize the layout effect of the task list (044cfcd)
        • 🚀 Optimize the storage strategy for preference Settings (359b9b9)

        1.30.2 (2025-07-15)

        Performance Improvements

        • ♻️ Optimize device list interaction logic (3812061)
        • 📝 Add Japanese language support (969378f)

        1.30.1 (2025-07-14)

        Bug Fixes

        • 🐛 Fixed the issue where all configurations would be cleared when resetting the category configuration in preferences (6ee9a92)
        • 🐛 Solve the problem of abnormal display timing when recording related functions are successful (67d279e)
        • 📝 Fixed the issue that special characters in Windows prevented the creation of app shortcut launch (301dac5)

        Performance Improvements

        • 📝 Optimized startup app package name display (22eb718)
        • 🔧 Optimized startup APP function interaction (468af22)

        1.30.0 (2025-07-14)

        Features

        • 🔍️ Optimize the search function of the app (94ccb7b)
        • 🚀 Supports dragging the device control bar to sort (64a98b2)

        Bug Fixes

        • 🐛 Fixed the issue of layout flickering when refreshing the device list page (608b8f3)
        • 🐛 Fixed the issue where activating the program on macOS in certain situations would cause the tray to be created repeatedly (cf8e183)
        • 🐛 Fixed the issue where there is a chance of an error when closing the floating control bar on macOS (5c2c711)
        • 🚀 Fix the issue of abnormal program exit behavior under windows (705f8be)

        Performance Improvements

        • ♻️ Code structure optimization (595216b)
        • 👥 Control bar sorting supports state synchronization (88abe95)
        • 📝 Optimize the title of the control interface to solve the problem of duplicate device names (06a151d)
        • 🔀 Optimize the storage policy configured in preferences (b9faabf)
        • 🚀 Supports opening using the main monitor when starting the APP (aec9b78)

        1.29.9 (2025-06-27)

        Performance Improvements

        • 🚀 Update to scrcpy v3.3.1 (a2bb039)

        1.29.8 (2025-06-20)

        Bug Fixes

        • 🐛 Update scrcpy-server file to solve the problem of not being able to obtain device APP list (63f7135)

        1.29.7 (2025-06-16)

        Performance Improvements

        • 🚀 Update to scrcpy v3.3 (bbf2335)

        1.29.6 (2025-04-27)

        Performance Improvements

        • 📝 Added Arabic language support (f6c9fa4)
        • 🚀 File management supports returning to the root directory (2e27443)

        1.29.5 (2025-04-17)

        Bug Fixes

        • 🐛 Fix the problem of build failure caused by missing dependencies (e34e1c2)

        1.29.4 (2025-04-17)

        Bug Fixes

        • 🐛 Fixed an issue where some options in preferences could not be turned off (269bd29)

        Performance Improvements

        • 💫 Adjust gnirehtet configuration behavior to make it consistent with user operation habits (7507915)
        • 🔍️ Optimize QR code style to avoid scanning problems on some devices (dd3ad6c)
        • 🩹 Add an option to enable keyboard fix on app startup to be compatible with older versions of scrcpy (be89b36)

        1.29.3 (2025-04-02)

        Performance Improvements

        • 📝 Add docs entry to the program (db5d157)
        • 🚚 Reduce some unnecessary verifications and increase the speed at which equipment starts reverse network supply (c17aaba)

        1.29.2 (2025-03-31)

        Performance Improvements

        • 🔨 Fixed the problem that some models could not reversely supply the network due to the blocking of installation detection when using Gnirehtet (c5369af)

        1.29.1 (2025-03-31)

        Performance Improvements

        • 🔊 Expanded audio source options (fc91f07)
        • 🩹 Closing a screen via the control bar no longer requires creating a help window (84c7be7)
        • 🚀 Update to scrcpy v3.2 (57c11af)

        1.29.0 (2025-03-27)

        Features

        • 🚀 Support adding the open application action to the desktop shortcut. (Not supported on macOS) (add251f)
        • 🚚 Support batch startup mirroring (fcfd78e)

        Bug Fixes

        • 🐛 Solve the conflict between floating navigation bar and quick APP launch (460aca1)
        • 🐛 Solve the problem of startup error of development mode under Linux (5c4f65e)

        Performance Improvements

        • ✨ The floating control bar supports transparent display when inactive (34f27c5)
        • 👷 Explicitly clean up unnecessary child processes on exit (0549dda)
        • 👽️ Experimental support for adding open application actions to linux desktop shortcuts (6897c0e)
        • 👽️ Experimentally add linux arm64 support (5b033fd)
        • 💄 Optimization of display effect of device list page (305187d)
        • 💫 Support appending gnirehtet custom parameters in configuration (206a030)
        • 🚀 Provide feedback on the application shortcut addition (d7eca8d)

        1.28.7 (2025-02-17)

        Bug Fixes

        • 🐛 Fixed the issue of duplicate filter conditions in the device list (6c4242c)
        • 🐛 Solved the problem that the main window could not be restored after being moved off the screen in some cases (d054f8d)

        Performance Improvements

        • ⬆️ Improved performance of automated mirroring (33a03c3)
        • 💄 Optimize the display effect of horizontal screen screenshots (90c7163)
        • 🚀 The main panel supports single instance startup (c49d22c)

        1.28.6 (2025-02-05)

        Bug Fixes

        • 🐛 Resolving build errors (d21fa29)

        1.28.5 (2025-02-05)

        Performance Improvements

        • ✅ File management supports selecting directories for uploading (fd2e639)
        • ⬆️ Improve QR code connection performance (b413889)

        1.28.4 (2025-01-13)

        Bug Fixes

        • 🐛 Fix the display ID value type error (2b7ee79)
        • 🐛 Solve the problem of IPV6 address connection failure (1a95325)

        Performance Improvements

        • ♻️ Improve wireless connection stability (85be898)
        • ⚡️ Optimize the method of obtaining the available displays of the device (9e31c84)
        • 🐛 Improve wireless connection verification method (69fecc3)
        • 👷 Added edge hiding function switch (d25714a)

        1.28.3 (2024-12-28)

        Performance Improvements

        • ♻️ Optimize device details performance (38d1433)

        1.28.2 (2024-12-27)

        Performance Improvements

        • 👷 Optimize the edge hiding function (d5caaa9)
        • 📸 Support viewing real-time images and power information of the device (d262adf)

        1.28.1 (2024-12-20)

        Performance Improvements

        • ♻️ Optimize QR code connection experience (86f5e69)

        1.28.0 (2024-12-20)

        Features

        • ✨ Support pairing and connecting to devices via QR code (14306b2)
        • 🚀 Supports connecting historical devices via device list (e0687e8)

        Bug Fixes

        • 🐛 Solve the problem of Windows disabling video forwarding and crashing (10b902a)

        Performance Improvements

        • ♻️ Update mirror icon (c214e5a)
        • ✅ A new method is adopted to solve the problem of IP type configuration storage (5488a1e)
        • 🚀 Optimize device connection experience (0690f2d)
        • 🚀 Supports display of offline devices (dcf817f)

        1.27.7 (2024-12-10)

        Performance Improvements

        • 🚀 Update to scrcpy v3.1 (7c74c71)

        1.27.6 (2024-12-05)

        Bug Fixes

        • ♻️ Fixed repeated dependency issues (9777622)

        Performance Improvements

        • ♻️ Optimized contextBridge related improvements for stability (0e098c3)
        • ♻️ Reduce build package size by removing redundant dependencies (7b61b25)
        • 🚀 Update to scrcpy v3.0.2 (7510548)

        1.27.5 (2024-11-29)

        Performance Improvements

        • ➖ Remove redundant console (9a67142)

        1.27.4 (2024-11-29)

        Bug Fixes

        • 🐛 Fix automatic release (c2254aa)
        • 🐛 Fixed an issue where macos built-in updates failed (432eceb)

        1.27.3 (2024-11-28)

        Bug Fixes

        • 🐛 Fix for built-in scrcpy not supporting x64 macos (0d60655)

        Performance Improvements

        • ♻️ Improved device connection stability (1d603ab)
        • ♻️ Optimized the adb daemon startup failure detection mechanism (ca6be85)
        • 🧑‍💻 Improve device-based terminal experience (88a0356)

        1.27.2 (2024-11-26)

        Bug Fixes

        • 🐛 Start app to adapt to dark mode (ae13fde)

        1.27.1 (2024-11-25)

        Bug Fixes

        • 🐛 Make StartApp compatible with scrcpy v3.0 (1082e0d)

        Performance Improvements

        • 🚀 Adjust options to support scrcpy v3.0 (0602676)
        • 🚀 Update to scrcpy v3.0 (bf06382)

        1.27.0 (2024-11-21)

        Features

        • ✨ Support edge hiding function (14a81de)

        Performance Improvements

        • ⬆️ Optimize edge hiding performance (74a91a4)

        1.26.4 (2024-11-14)

        Bug Fixes

        • 🐛 Temporarily disable scrcpy integration in macOS (9bf4d5c)

        1.26.3 (2024-11-08)

        Bug Fixes

        • 🐛 Fix device support audio and video encoding cannot be parsed (9b7f6a9)
        • 🐛 Restore the --display-buffer parameter to solve the mirroring problem (0f3d869)

        Performance Improvements

        • ♻️ Support interruption during waiting for wireless connection (344b385)
        • ♻️ Supports retrieving a list of applications (b1a6ba7)
        • ⚡️ Optimize startup application performance (8e94494)

        1.26.2 (2024-11-06)

        Bug Fixes

        • 🐛 Fix linux build errors (9b43dc0)

        1.26.1 (2024-11-06)

        Performance Improvements

        • ♻️ No longer building universal packages for macOS (db5deb4)

        1.26.0 (2024-11-06)

        Features

        • ✨ Integrate scrcpy binaries for macos (85bf096)
        • ✨ Supports starting applications for mirroring (d19e781)

        Bug Fixes

        • 🐛 Rename --display-buffer to --video-buffer (b2bb0ae)
        • 🐛 Repair floating action bar start application error (487e7e2)
        • 🩹 Restore the windows build configuration (9491069)

        Performance Improvements

        • ♻️ Adjust the position of the start application button (9833932)
        • ♻️ When the application fails to start, display the error message (dbc34d6)
        • ⚡️ Improve the start APP experience (29e5e1b)

        1.25.5 (2024-11-05)

        Performance Improvements

        • ⚡️ Optimize the stability of options that need to dynamically obtain parameters in preference settings (39bbc98)

        1.25.4 (2024-10-31)

        Performance Improvements

        • ♻️ Enhance recording stability (3dd7525)
        • ♻️ Optimize camera recording stability (952b2a7)
        • 💄 Normalize control window titles and generated file names (ccc7f0e)

        1.25.3 (2024-10-29)

        Bug Fixes

        • 🔧 Camera recording and screen off configuration conflict (4508758)

        Performance Improvements

        • 🔧 Temporarily disable scheduled tasks that are too far away (be5e639)

        1.25.2 (2024-10-29)

        Bug Fixes

        • 🐛 Resolve default recording error (358064e)

        1.25.1 (2024-10-28)

        Miscellaneous Chores

        1.25.0 (2024-10-28)

        Features

        • ✨ Support to close the device screen when controlling (a84c775)
        • 📸 Enhanced recording (7f10161)

        Performance Improvements

        • ♻️ Optimize camera recording (4be2cf4)
        • ♻️ Script and directory structure optimization (68378ef)
        • ⚗️ Experimental support for turning off screen controls (9555f58)
        • ⚡️ Optimize scrcpy parameter conversion performance (18dcd24)
        • 💄 Improved Russian display (ca79e1b)
        • 📸 Recording camera support (10d0370)

        1.24.3 (2024-10-21)

        Performance Improvements

        • 💄 Optimize Russian display effect (5ca39ae)

        1.24.2 (2024-09-16)

        Bug Fixes

        • 🐛 Fix the mirror group bug (cd7d9cd)

        1.24.1 (2024-09-16)

        Performance Improvements

        • ✨ Update to scrcpy@2.7 to support the gamepad (0053e87)
        • ⬆️ Optimize the performance of the floating control bar (a1c60ec)
        • 🚀 Extended floating control bar function (790e703)

        1.24.0 (2024-09-12)

        Features

        • ✨ Support floating control bar (8807e50)

        Performance Improvements

        • ✅ Support switching devices on the floating control bar (50440f5)
        • 💄 Optimize preference setting button layout (47ae53d)

        1.23.6 (2024-09-09)

        Bug Fixes

        • 🐛 Fixed the problem of minimizing the visibility of tray icons (b0f42aa)
        • 🐛 Repair ADB timeout problems (b5bffc5)

        1.23.5 (2024-09-09)

        Performance Improvements

        • ♻️ Improve ADB connection stability (7655ba6)

        1.23.4 (2024-09-08)

        Bug Fixes

        • 🐛 Repair part of internationalization Lost dynamics (d18444f)

        1.23.3 (2024-09-08)

        Performance Improvements

        • ♻️ Optimize the performance of equipment interaction column and file manager (41ffcf5)

        1.23.2 (2024-09-07)

        Performance Improvements

        • 🚀 Support file manager upload to the current directory (737c2a3)

        1.23.1 (2024-09-07)

        Performance Improvements

        • ⬆️ Update dependencies (8b03862)

        1.23.0 (2024-09-07)

        Features

        • ✨ Support graphic file manager (8155723)
        • 🚀 Initially add a new file manager (94ee007)

        Performance Improvements

        1.22.4 (2024-08-03)

        Bug Fixes

        • 🐛 plan task Remove operation bug (5205935)

        Performance Improvements

        1.22.3 (2024-08-03)

        Performance Improvements

        • ♻️ Update scrcpy to 2.6.1 (1eef9d2)

        1.22.2 (2024-07-25)

        Performance Improvements

        • 💄 Optimize the display effect of the dark mode (38f854b)
        • 💄 Optimize the display effect of the quick operation bar (7b3c4db)
        • 💄 Optimize the display effect of the tabs bar (5b2d41c)

        1.22.1 (2024-07-25)

        Bug Fixes

        • 🐛 Fixed asset publishing issues (222f626)

        1.22.0 (2024-07-25)

        Features

        • 🚀 Add a scheduled task list (d72202b)
        • 🚀 Add basic timing task function (04a7608)
        • 🚀 Add timing task entrance (8393c85)
        • 🚀 添加定时任务入口 (6ce66d4)

        Bug Fixes

        • 🐛 The internationalization problem of repairing path selector (8e6af20)
        • 💄 Optimize wireless connection user interface (50ae742)

        Performance Improvements

        • 💄 Optimization of the operation bar at the top of the equipment list (81bd3d9)
        • 💄 Optimized operation button layout (16f9535)

        1.21.4 (2024-07-14)

        Performance Improvements

        • ♻️ Optimize custom startup performance (abd468b)
        • ♻️ Perfect allSettledWrapper method (5b7d0af)

        1.21.3 (2024-07-13)

        Bug Fixes

        • Fix the width problem of custom startup pop-up windows (9a7e56b)

        1.21.2 (2024-07-13)

        Bug Fixes

        • 🐛 Fix terminal style abnormalities in dark theme (3d4dc7c)

        Performance Improvements

        • ♻️ Improve code robustness (2f389af)
        • 🚀 Optimize batch operation interaction (343eab2)

        1.21.1 (2024-07-13)

        Bug Fixes

        • 🐛 Fix dependency build errors (5b02621)

        1.21.0 (2024-07-13)

        Features

        • 🎉 Support batch execution script function (8097022)
        • 🚀 Support execution script function (2013413)

        Bug Fixes

        • 🐛 Repair the problem of equipment width in the English state (25c42d9)
        • 📝 Update Translation (33b0181)

        Performance Improvements

        • ✅ Support batch screenshot and other performance optimization (db9e3e7)
        • ✨ Support for custom startup mirroring (677f30c)
        • 🐛 Fix the problem of frequently trigger preservation of preferences (8261916)

        1.20.1 (2024-07-04)

        Bug Fixes

        • 🐛 Fix batch text spelling errors (062c689)

        1.20.0 (2024-07-04)

        Features

        • ✨ Add batch installation application function (37ce245)

        Performance Improvements

        • 🚀 Add mouse binding options (7ee4ba4)

        1.19.4 (2024-07-02)

        Bug Fixes

        • 🐛 Fix terminal style problems (9fc1ded)
        • Update Chinese language translations (b8d77e3)

        Performance Improvements

        • 🚀 Update to scrcpy v2.5 (22cc5a3)

        1.19.3 (2024-06-13)

        Bug Fixes

        • 🐛 Abnormal operations cause the program that cannot be closed (b989140)

        1.19.2 (2024-06-03)

        Bug Fixes

        • 🐛 Automatically apply local languages (0cc8208)

        1.19.1 (2024-05-26)

        Bug Fixes

        • 🐛 In some cases, the light mode is abnormal (ea227e0)
        • 🐛 Search for shortcut key conflicts (c70e6ca)

        Performance Improvements

        1.19.0 (2024-05-15)

        Features

        • 🚀 Add page search function (6dd8244)
        • 🚀 Update dependencies to support ESM (9f1696f)

        Bug Fixes

        • 🐛 Resolving build failures (8460945)
        • 🐛 Tips unavailable (603e4e9)

        Performance Improvements

        • ♻️ FindInPage API (fcf8269)
        • ♻️ Optimize dark mode (2f2e1cf)
        • ♻️ Search interaction (a195b7e)
        • ♻️ Search variable name (7c55e50)
        • 🐛 Global search error (091d503)
        • 🚀 优化页面查找工具性能 (8587977)

        1.18.4 (2024-05-04)

        Bug Fixes

        • 🐛 Wireless adb does not support Spaces (1f27597)

        1.18.3 (2024-04-12)

        Performance Improvements

        • ♻️ i18n configuration (1ca0469)

        1.18.2 (2024-04-11)

        Bug Fixes

        • 🐛 zh_TW Language support (885af3a)

        1.18.1 (2024-04-11)

        Bug Fixes

        • 🔧 Repair merge zh-TW failed (81ff63f)

        Performance Improvements

        1.18.0 (2024-04-11)

        Features

        • Add a simple zh_TW Traditional Chinese locale (cec6539)

        1.17.8 (2024-03-29)

        Bug Fixes

        • 🐛 Camera configuration conflict (07cc5f3)
        • 🐛 OTG configuration conflict (576d287)
        • 🐛 OTG mode: could not turn screen off (c5bed0e)

        1.17.7 (2024-03-27)

        Bug Fixes

        • ♻️ Remove the redundant imports (a06708f)

        Performance Improvements

        • ♻️ Optimize delete history logic (780e3b9)
        • ♻️ Support delete historical connection (c82560f)
        • 💄 Wireless style optimization (ba51fe3)

        1.17.6 (2024-03-21)

        Performance Improvements

        • ♻️ Supports automatic execution of mirrors on devices (11e0884)

        1.17.5 (2024-03-17)

        Performance Improvements

        1.17.4 (2024-03-14)

        Performance Improvements

        • ♻️ Options in the preference settings (dc711cb)

        1.17.3 (2024-03-13)

        Performance Improvements

        • ♻️ Remove console log (6e25eb7)

        1.17.2 (2024-03-10)

        Bug Fixes

        • 🐛 Abnormal built-in terminal adb command (368551a)

        Performance Improvements

        • ♻️ Update eslint config (bf2d2b4)

        1.17.1 (2024-03-05)

        Performance Improvements

        • ♻️ Interactive logic optimization (193f80a)
        • ♻️ Optimize design and code (d507c2d)
        • ♻️ Optimize equipment operation (389ac33)
        • ➖ Remove redundant packages (f9e4a0e)
        • 💄 Optimize dark mode styles (1cac054)

        1.17.0 (2024-03-04)

        Features

        • 🎉 Update to scrcpy v2.4 (02a4d39)

        1.16.8 (2023-12-27)

        Bug Fixes

        • 🐛 The maximum size description error (01fd926)

        1.16.7 (2023-12-19)

        Performance Improvements

        1.16.6 (2023-12-19)

        Miscellaneous Chores

        1.16.5 (2023-12-19)

        Performance Improvements

        • 📝 Control in stop charging (8707eb5)

        1.16.4 (2023-12-19)

        Bug Fixes

        • 🐛 Pairing code type issue (889fe8c)

        1.16.3 (2023-12-03)

        Performance Improvements

        • 🚀 Update scrcpy v2.3.1 (3566655)

        1.16.2 (2023-12-02)

        Bug Fixes

        1.16.1 (2023-11-26)

        Bug Fixes

        1.16.0 (2023-11-26)

        Performance Improvements

        Miscellaneous Chores

        1.15.0 (2023-11-18)

        Features

        • 添加投屏窗口大小控制 (97d7868)

        Performance Improvements

        • 🚀 Add window position option (866aa2c)

        1.14.3 (2023-11-17)

        Performance Improvements

        • ♻️ Add context menu (f0f25a7)
        • ♻️ Optimize extended menu bar interaction (de9352c)
        • 📝 Optimization preferences description (30eca50)

        1.14.2 (2023-11-16)

        Performance Improvements

        • ♻️ Optimize autoConnect historical devices (755a130)
        • 💡 Add autoConnect option (a57b847)

        1.14.1 (2023-11-14)

        Bug Fixes

        • 🐛 Abnormal terminal theme (20d37c1)

        1.14.0 (2023-11-14)

        Features

        • 🎉 Add Terminal Debugging (fdf40c7)

        Performance Improvements

        • ♻️ Optimize terminal performance (d3afc4b)
        • 💄 Update terminal style (5b6b8d1)
        • 🚨 Optimization error prompt (b759502)

        1.13.5 (2023-11-11)

        Performance Improvements

        • ♻️ Mirror group shutdown logic (296e21d)
        • ♻️ Optimize mirror group (5793c24)

        1.13.4 (2023-11-10)

        Performance Improvements

        • ♻️ Optimization updater (61ccd4a)
        • ♻️ Optimize mirror group (81c007f)

        1.13.3 (2023-11-10)

        Bug Fixes

        • 🐛 Recording prompt and file format errors (bfdad9e)

        Performance Improvements

        • ♻️ Optimize Batch connection performance (36de67b)
        • ♻️ Optimize file push prompts (4a3575f)
        • ♻️ Optimize historical device connections (83f8c04)
        • ✨ Support bulk connecting to historical devices (b7eb1dd)

        1.13.2 (2023-11-09)

        Bug Fixes

        Performance Improvements

        • ♻️ Configure Incompatible Handling Mechanism (c0e6a01)
        • ♻️ Optimize gnirehtet (de3555b)
        • 💄 Optimize volume control and gnirehtet (b40bdcf)
        • 🚀 Add File push function (70f8b46)
        • 🚀 Add screen rotation shortcut menu (dd601df)

        1.13.1 (2023-11-08)

        Performance Improvements

        • ♻️ Adjust volume control position (1b3f49e)
        • ♻️ Optimize configuration file logic (5f8cc5a)
        • 🚀 Add volume control (1505518)

        1.13.0 (2023-11-07)

        Features

        • 🎉 Add mirror group function (0c9d36f)

        Bug Fixes

        Performance Improvements

        • ♻️ Optimize mirror group (cf9c82d)
        • ♻️ optimize mirror group tips (46defbf)
        • ♻️ Optimize preferences (7a6417e)
        • ♻️ Optimize window control (0530ed3)
        • 💄 Update styles (37da97b)
        • 🚀 Add camera options (5a04b4c)

        1.12.4 (2023-11-03)

        Bug Fixes

        • 🐛 MacOS reduced to the tray to evoke failure (d7bf83b)

        1.12.3 (2023-11-03)

        Bug Fixes

        • 🐛 MacOS reduced to the tray to evoke failure (6153bc4)

        1.12.2 (2023-11-03)

        Bug Fixes

        1.12.1 (2023-11-03)

        Bug Fixes

        • 🐛 Add gnirehtet fix option (f9c6c32)
        • 🐛 Display options cannot be changed (3046746)
        • 🐛 Preference style (0f72090)
        • 🐛 Reset preferences language not restored (d691780)
        • 🐛 Unable to update path selector (3279c34)
        • 🐛 Video codec preset error (1af9abd)

        Performance Improvements

        • ♻️ optimize Codec (6154ffc)
        • ♻️ Optimize recording (f4dfb2c)
        • 🎨 Update preferences style (e9befea)

        1.12.0 (2023-11-02)

        Features

        • 🎉 Update Scrcpy to v2.2 (5c401a8)

        Bug Fixes

        Performance Improvements

        1.11.9 (2023-10-31)

        Performance Improvements

        • ♻️ Optimization gnirehtet and scrcpy (9cf800c)
        • ♻️ Optimize Gnirehtet interaction (a90e570)

        1.11.8 (2023-10-31)

        Bug Fixes

        • 🎨 修复 macOS 设置主题跟随系统后 某些情况下循环触发导致死循环的问题 (1d7b188)

        1.11.7 (2023-10-31)

        Bug Fixes

        • 🐛 macOS x64ArchFiles Errors (151cb29)

        1.11.6 (2023-10-31)

        Bug Fixes

        • 🐛 macOS x64ArchFiles Errors (7dbca01)

        1.11.5 (2023-10-31)

        Bug Fixes

        • 🐛 macOS x64ArchFiles Errors (ad3f77f)

        1.11.4 (2023-10-31)

        Bug Fixes

        • 🐛 macOS x64ArchFiles Errors (4b4e116)

        1.11.3 (2023-10-31)

        Bug Fixes

        • 🐛 Unix permission issues (1279994)
        • 🐛 Unix permission issues (dc9a3c4)
        • 🐛 x64ArchFiles Error (82a99d9)

        1.11.2 (2023-10-30)

        Bug Fixes

        • 🐛 修复 macOS 打包失败的问题 (1b2236c)

        1.11.1 (2023-10-30)

        Bug Fixes

        • 🐛 修复 macOS 打包失败的问题 (37e2837)

        1.11.0 (2023-10-30)

        Features

        • 🎉 Add gnirehtet reverse tethering function (2c97189)

        Bug Fixes

        • 🐛 gnirehtet custom dependent paths error (cfd0e1d)

        Performance Improvements

        • ♻️ Optimize Gnirehtet interaction (e1237cd)
        • ♻️ 拆分依赖文件禁用冗余的警告信息 (93ad836)
        • ♻️ 目录结构及描述调整 (f9a32d6)
        • ♻️ 补充依赖及目录结构调整 (b18256b)

        1.10.2 (2023-10-28)

        Bug Fixes

        • 🐛 修复设置主题跟随系统后没有生效的问题 (95a83f4)

        1.10.1 (2023-10-28)

        Bug Fixes

        • 🐛 修复 linux 无法启动镜像或录制服务以及修改自定义依赖目录的问题 (d815643)

        1.10.0 (2023-10-27)

        Features

        • 🚀 新增支持 深色模式、国际化语言、运行日志等功能 (4b13f58)

        Bug Fixes

        • 🐛 修复 linux 打包后图标丢失的问题 (217d82d)
        • 🐛 修复安装路径包含空格会导致无法启动服务的问题 (29ae786)
        • 🐛 修复录制结束点击取消异常弹窗以及点击重启服务没有反应的问题 (054c55b)
        • 🔧 修复自定义路径功能没有生效的问题 (894b581)

        Performance Improvements

        1.9.1 (2023-10-24)

        Performance Improvements

        • 💄 窗口控制及交互逻辑优化 (52514e2)

        1.9.0 (2023-10-24)

        Features

        • 🚀 添加 i18n 初步支持 (18d490f)

        Bug Fixes

        • 🐛 修复 macOS 最小化到托盘后状态栏图标不显示的问题 (a789826)

        1.8.17 (2023-10-23)

        Bug Fixes

        • 🐛 尝试修复构建失败 (daeb9e5)

        1.8.16 (2023-10-23)

        Performance Improvements

        • ✨ 采用新的 Logo 设计 (3bf79d3)

        1.8.15 (2023-10-22)

        Bug Fixes

        • 🐛 修复 Linux 平台启动白屏无法正常使用的问题 (54e713b)

        1.8.14 (2023-10-21)

        Bug Fixes

        • 🐛 修复 linux 打包配置错误的问题 (a9668d9)

        1.8.13 (2023-10-21)

        Performance Improvements

        • 🚀 为 windows 添加 ARM64 软件包编译 (368e8ee)
        • 🚀 支持所有平台在点击关闭按钮时选择是否保存到托盘中的功能 (8360198)

        1.8.12 (2023-10-21)

        Bug Fixes

        • 🐛 修复 macOS 或 linux 下自定义依赖选项描述错误的问题 (0d4b1ce)

        1.8.11 (2023-10-21)

        Performance Improvements

        • 🔨 优化窗口默认大小 (393e899)

        1.8.10 (2023-10-20)

        Bug Fixes

        • 🐛 修复 macOS 窗口问题 (f768566)

        1.8.9 (2023-10-20)

        Bug Fixes

        • 🐛 修复 macOS 窗口过小导致出现横向滚动条的问题 (8ee34ca)

        1.8.8 (2023-10-20)

        Bug Fixes

        • 🚀 修复 macOS 简单关闭应用重新打开时报错的问题 (4b259c3)

        1.8.7 (2023-10-20)

        Bug Fixes

        • 🐛 修复打包多个平台时可能生成重复文件导致发布软件包失败的问题 (e89a7a5)

        1.8.6 (2023-10-20)

        Bug Fixes

        • 🔧 修复 macOS 无法正确获取系统依赖路径的问题 (2352593)

        1.8.5 (2023-10-20)

        Bug Fixes

        • 🚑️ 修复 Linux maintainer 问题 (4e1542a)

        1.8.4 (2023-10-20)

        Bug Fixes

        • 🚑️ 修复 Linux 打包失败的问题 (96f85d8)

        1.8.3 (2023-10-20)

        Bug Fixes

        • 🚀 修复 MacOS 软件包安装后无线显示 Logo 的问题 (77dd81b)

        1.8.2 (2023-10-20)

        Bug Fixes

        • 🔧 修复 Linux 及 MacOS 获取默认依赖路径异常的问题 (87b533f)
        • 🔧 修复 MacOS ARM64 版本打包失败的问题 (e9a8fc2)

        1.8.1 (2023-10-20)

        Performance Improvements

        • 🚀 支持创建更多架构的 MacOS 软件包格式 (4780e7c)

        1.8.0 (2023-10-20)

        Features

        • 🚀 初步添加对 Linux 以及 MacOS 的支持 (569ed2e)

        Bug Fixes

        • 📝 偏好设置描述信息修改 (23d68d4)
        • 🔧 设备列表标签显示细节调整 (4f2f00e)

        Performance Improvements

        • 📝 设备备注文本框描述信息调整 (379b325)

        1.7.1 (2023-10-20)

        Bug Fixes

        • 🚀 修复对设备进行独立配置时的一些问题 (6ccd6d0)

        Performance Improvements

        • 🎉 初步支持设置偏好设置的作用域范围 (5dd328c)

        1.7.0 (2023-10-19)

        Features

        • 🚀 新增支持导入及导出配置 (326a133)
        • 🚀 新增支持添加设备备注 (43f15be)

        Performance Improvements

        • ➕ 设备交互栏添加重启设备及打开通知栏功能 (1341fb8)

        1.6.10 (2023-10-18)

        Performance Improvements

        • 🚀 采用新的方法实现所有进程共享 isPackaged (8a5f7d9)

        1.6.9 (2023-10-17)

        Bug Fixes

        • 🔧 优化 isPackaged 判断条件解决某些情况下资源路径解析异常的问题 (fbd1885)

        1.6.8 (2023-10-17)

        Performance Improvements

        • 🚀 支持通过操作栏安装应用并提供相应安装反馈 (3bd2075)

        1.6.7 (2023-10-17)

        Performance Improvements

        • 📝 去除冗余的依赖项 (a6744dc)

        1.6.6 (2023-10-17)

        Bug Fixes

        • 🐛 build fix (09c8dee)
        • 🐛 修复 electron 资源路径问题 (955756e)

        1.6.5 (2023-10-16)

        Bug Fixes

        • 🐛 修复 App NextTick 错误 (79d85eb)

        1.6.4 (2023-10-16)

        Bug Fixes

        • 🐛 修复 electron-builder 配置异常导致打包的文件无法发布的问题 (9a4efa5)
        • 🚀 修复设备列表按钮状态变更影响布局变化的问题 (83a8043)

        1.6.3 (2023-10-16)

        Bug Fixes

        • 🐛 修复打包后图标丢失的问题 (58a66f1)

        1.6.2 (2023-10-13)

        Bug Fixes

        • 🐛 修复USB未授权设备导致无线连接地址变为假值的问题 (9c25325)

        1.6.1 (2023-10-13)

        Performance Improvements

        • 🔨 自定义通用的文件存储路径相关逻辑完善 (8455e86)

        1.6.0 (2023-10-13)

        Features

        • 🚀 增加了对设备交互控制栏的支持 (fd20736)

        1.5.3 (2023-10-13)

        Bug Fixes

        • 🔧 修复点击无线模式没有反应的问题 (9d55ef9)

        1.5.2 (2023-10-13)

        Bug Fixes

        • 📝 修复高级配置标题语义不明的问题 (218de1c)

        Performance Improvements

        • 🚀 添加更多的高级配置并更新文档 (922abd2)

        1.5.1 (2023-10-12)

        Bug Fixes

        • 🐛 去除页面组件冗余参数 (8e5df15)

        1.5.0 (2023-10-12)

        Features

        • 🚀 添加音视频录制功能以及更多的高级选项 (b6986d1)

        1.4.1 (2023-10-12)

        Bug Fixes

        • 🐛 修复检查更新失败没有提示的问题 (6f733ea)

        1.4.0 (2023-10-11)

        Features

        • 🚀 添加在线检查更新功能 (8de04e0)

        Bug Fixes

        • 🔨 修复无线配对时表单验证错误 (7cd9ea3)
        • 🔨 修复直接进行无线连接时没有处理配对设备的问题 (4263d07)

        1.3.3 (2023-09-26)

        Bug Fixes

        • 🐛 修复触摸点配置描述错误的问题 (4e2be23)

        1.3.2 (2023-09-19)

        Bug Fixes

        • 🔧 修复旋转屏幕配置异常的问题 (af7a319)

        1.3.1 (2023-09-19)

        Bug Fixes

        • 🔧 修复图标不透明的问题 (24c011f)

        1.3.0 (2023-09-19)

        Features

        • ✨ 用户界面进行优化,制作了合适的 Logo (1b96ffc)

        1.2.0 (2023-09-19)

        Features

        • 🎉 优化设备界面视图并添加虚拟控制栏配置 (3be0682)

        1.1.0 (2023-09-18)

        Features

        • 🚀 增加了常用的 Scrcpy 高级配置 (ac52df2)

        1.0.2 (2023-09-18)

        Performance Improvements

        • 🚀 合并无线连接及有线连接到设备列表 (e84f24e)

        1.0.1 (2023-09-16)

        Bug Fixes

        • 🔧 去除未测试环境的打包以修复构建失败的问题 (d6ec7fd)

        1.0.0 (2023-09-16)

        Features

        • 📝 添加基本的有线连接支持 (647a0c5)
        • 🚀 添加 Electron 基本支持 (a46a5e1)
        • 🚀 添加初步的构建及发布支持 (c85f8fb)
        • 🚀 添加基本的无线连接功能 (6dd2db9)

        Bug Fixes

        • 🔧 修复 ADB 环境变量配置错误导致无法连接的问题 (9ef7203)
        ',704)])])}const d=r(i,[["render",c]]);export{m as __pageData,d as default}; diff --git a/assets/zhHans_changelog.md.2Zc7Jgcc.lean.js b/assets/zhHans_changelog.md.D2vktLT2.lean.js similarity index 86% rename from assets/zhHans_changelog.md.2Zc7Jgcc.lean.js rename to assets/zhHans_changelog.md.D2vktLT2.lean.js index b3874b908..6c72b614d 100644 --- a/assets/zhHans_changelog.md.2Zc7Jgcc.lean.js +++ b/assets/zhHans_changelog.md.D2vktLT2.lean.js @@ -1 +1 @@ -import{e as r,o as a,a as t,ag as o}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"更新日志","description":"","frontmatter":{"title":"更新日志"},"headers":[],"relativePath":"zhHans/changelog.md","filePath":"zhHans/changelog.md","lastUpdated":1772158243000}'),i={name:"zhHans/changelog.md"};function c(l,e,h,n,f,b){return a(),t("div",null,[...e[0]||(e[0]=[o("",704)])])}const d=r(i,[["render",c]]);export{m as __pageData,d as default}; +import{e as r,o as a,a as t,ag as o}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"更新日志","description":"","frontmatter":{"title":"更新日志"},"headers":[],"relativePath":"zhHans/changelog.md","filePath":"zhHans/changelog.md","lastUpdated":1772158834000}'),i={name:"zhHans/changelog.md"};function c(l,e,h,n,f,b){return a(),t("div",null,[...e[0]||(e[0]=[o("",704)])])}const d=r(i,[["render",c]]);export{m as __pageData,d as default}; diff --git a/assets/zhHans_contact.md.Cetena6L.js b/assets/zhHans_contact.md.Cs0nv0yM.js similarity index 91% rename from assets/zhHans_contact.md.Cetena6L.js rename to assets/zhHans_contact.md.Cs0nv0yM.js index db95ed778..05e5aa742 100644 --- a/assets/zhHans_contact.md.Cetena6L.js +++ b/assets/zhHans_contact.md.Cs0nv0yM.js @@ -1 +1 @@ -import{e as l,o as n,a as o,h as t,J as e}from"./chunks/framework.DCs21iJA.js";const f=JSON.parse('{"title":"联系我们","description":"","frontmatter":{"title":"联系我们"},"headers":[],"relativePath":"zhHans/contact.md","filePath":"zhHans/contact.md","lastUpdated":1772158243000}'),r={name:"zhHans/contact.md"};function s(c,a,i,d,u,m){return n(),o("div",null,[...a[0]||(a[0]=[t("ul",null,[t("li",null,[e("邮箱: "),t("strong",null,[t("a",{href:"mailto:viarotel@qq.com",target:"_blank",rel:"noreferrer"},"viarotel@qq.com")])]),t("li",null,[e("微信: "),t("strong",null,"viarotel")]),t("li",null,[e("QQ: "),t("strong",null,"523469508")])],-1)])])}const _=l(r,[["render",s]]);export{f as __pageData,_ as default}; +import{e as l,o as n,a as o,h as t,J as e}from"./chunks/framework.DCs21iJA.js";const f=JSON.parse('{"title":"联系我们","description":"","frontmatter":{"title":"联系我们"},"headers":[],"relativePath":"zhHans/contact.md","filePath":"zhHans/contact.md","lastUpdated":1772158834000}'),r={name:"zhHans/contact.md"};function s(c,a,i,d,u,m){return n(),o("div",null,[...a[0]||(a[0]=[t("ul",null,[t("li",null,[e("邮箱: "),t("strong",null,[t("a",{href:"mailto:viarotel@qq.com",target:"_blank",rel:"noreferrer"},"viarotel@qq.com")])]),t("li",null,[e("微信: "),t("strong",null,"viarotel")]),t("li",null,[e("QQ: "),t("strong",null,"523469508")])],-1)])])}const _=l(r,[["render",s]]);export{f as __pageData,_ as default}; diff --git a/assets/zhHans_contact.md.Cetena6L.lean.js b/assets/zhHans_contact.md.Cs0nv0yM.lean.js similarity index 91% rename from assets/zhHans_contact.md.Cetena6L.lean.js rename to assets/zhHans_contact.md.Cs0nv0yM.lean.js index db95ed778..05e5aa742 100644 --- a/assets/zhHans_contact.md.Cetena6L.lean.js +++ b/assets/zhHans_contact.md.Cs0nv0yM.lean.js @@ -1 +1 @@ -import{e as l,o as n,a as o,h as t,J as e}from"./chunks/framework.DCs21iJA.js";const f=JSON.parse('{"title":"联系我们","description":"","frontmatter":{"title":"联系我们"},"headers":[],"relativePath":"zhHans/contact.md","filePath":"zhHans/contact.md","lastUpdated":1772158243000}'),r={name:"zhHans/contact.md"};function s(c,a,i,d,u,m){return n(),o("div",null,[...a[0]||(a[0]=[t("ul",null,[t("li",null,[e("邮箱: "),t("strong",null,[t("a",{href:"mailto:viarotel@qq.com",target:"_blank",rel:"noreferrer"},"viarotel@qq.com")])]),t("li",null,[e("微信: "),t("strong",null,"viarotel")]),t("li",null,[e("QQ: "),t("strong",null,"523469508")])],-1)])])}const _=l(r,[["render",s]]);export{f as __pageData,_ as default}; +import{e as l,o as n,a as o,h as t,J as e}from"./chunks/framework.DCs21iJA.js";const f=JSON.parse('{"title":"联系我们","description":"","frontmatter":{"title":"联系我们"},"headers":[],"relativePath":"zhHans/contact.md","filePath":"zhHans/contact.md","lastUpdated":1772158834000}'),r={name:"zhHans/contact.md"};function s(c,a,i,d,u,m){return n(),o("div",null,[...a[0]||(a[0]=[t("ul",null,[t("li",null,[e("邮箱: "),t("strong",null,[t("a",{href:"mailto:viarotel@qq.com",target:"_blank",rel:"noreferrer"},"viarotel@qq.com")])]),t("li",null,[e("微信: "),t("strong",null,"viarotel")]),t("li",null,[e("QQ: "),t("strong",null,"523469508")])],-1)])])}const _=l(r,[["render",s]]);export{f as __pageData,_ as default}; diff --git a/assets/zhHans_donate.md.w5BDK0Ms.js b/assets/zhHans_donate.md.Dy89suvK.js similarity index 95% rename from assets/zhHans_donate.md.w5BDK0Ms.js rename to assets/zhHans_donate.md.Dy89suvK.js index 0b5f5d9fd..2bba6e695 100644 --- a/assets/zhHans_donate.md.w5BDK0Ms.js +++ b/assets/zhHans_donate.md.Dy89suvK.js @@ -1 +1 @@ -import{e as t,o as a,a as r,ag as l}from"./chunks/framework.DCs21iJA.js";const _=JSON.parse('{"title":"捐赠项目","description":"","frontmatter":{"title":"捐赠项目"},"headers":[],"relativePath":"zhHans/donate.md","filePath":"zhHans/donate.md","lastUpdated":1772158243000}'),s={name:"zhHans/donate.md"};function o(n,e,i,d,p,c){return a(),r("div",null,[...e[0]||(e[0]=[l('

        捐赠项目♥️

        如果该项目帮到你的话,可以请我喝杯咖啡,让我更有精神完善该项目 😛

        viarotel-wepayviarotel-alipayviarotel-paypal
        ',3)])])}const v=t(s,[["render",o]]);export{_ as __pageData,v as default}; +import{e as t,o as a,a as r,ag as l}from"./chunks/framework.DCs21iJA.js";const _=JSON.parse('{"title":"捐赠项目","description":"","frontmatter":{"title":"捐赠项目"},"headers":[],"relativePath":"zhHans/donate.md","filePath":"zhHans/donate.md","lastUpdated":1772158834000}'),s={name:"zhHans/donate.md"};function o(n,e,i,d,p,c){return a(),r("div",null,[...e[0]||(e[0]=[l('

        捐赠项目♥️

        如果该项目帮到你的话,可以请我喝杯咖啡,让我更有精神完善该项目 😛

        viarotel-wepayviarotel-alipayviarotel-paypal
        ',3)])])}const v=t(s,[["render",o]]);export{_ as __pageData,v as default}; diff --git a/assets/zhHans_donate.md.w5BDK0Ms.lean.js b/assets/zhHans_donate.md.Dy89suvK.lean.js similarity index 85% rename from assets/zhHans_donate.md.w5BDK0Ms.lean.js rename to assets/zhHans_donate.md.Dy89suvK.lean.js index 4b17a9272..54d1a2d54 100644 --- a/assets/zhHans_donate.md.w5BDK0Ms.lean.js +++ b/assets/zhHans_donate.md.Dy89suvK.lean.js @@ -1 +1 @@ -import{e as t,o as a,a as r,ag as l}from"./chunks/framework.DCs21iJA.js";const _=JSON.parse('{"title":"捐赠项目","description":"","frontmatter":{"title":"捐赠项目"},"headers":[],"relativePath":"zhHans/donate.md","filePath":"zhHans/donate.md","lastUpdated":1772158243000}'),s={name:"zhHans/donate.md"};function o(n,e,i,d,p,c){return a(),r("div",null,[...e[0]||(e[0]=[l("",3)])])}const v=t(s,[["render",o]]);export{_ as __pageData,v as default}; +import{e as t,o as a,a as r,ag as l}from"./chunks/framework.DCs21iJA.js";const _=JSON.parse('{"title":"捐赠项目","description":"","frontmatter":{"title":"捐赠项目"},"headers":[],"relativePath":"zhHans/donate.md","filePath":"zhHans/donate.md","lastUpdated":1772158834000}'),s={name:"zhHans/donate.md"};function o(n,e,i,d,p,c){return a(),r("div",null,[...e[0]||(e[0]=[l("",3)])])}const v=t(s,[["render",o]]);export{_ as __pageData,v as default}; diff --git a/assets/zhHans_guide_index.md.DkMHeL72.js b/assets/zhHans_guide_index.md.DXb83wHq.js similarity index 98% rename from assets/zhHans_guide_index.md.DkMHeL72.js rename to assets/zhHans_guide_index.md.DXb83wHq.js index 306ac2fd4..e73815ebe 100644 --- a/assets/zhHans_guide_index.md.DkMHeL72.js +++ b/assets/zhHans_guide_index.md.DXb83wHq.js @@ -1 +1 @@ -import{e as l,o as i,a as e,ag as r}from"./chunks/framework.DCs21iJA.js";const u=JSON.parse('{"title":"指引","description":"","frontmatter":{"title":"指引"},"headers":[],"relativePath":"zhHans/guide/index.md","filePath":"zhHans/guide/index.md","lastUpdated":1772158243000}'),t={name:"zhHans/guide/index.md"};function c(o,a,h,n,s,d){return i(),e("div",null,[...a[0]||(a[0]=[r('

        Escrcpy:基于Electron的图形化安卓设备控制工具

        什么是Escrcpy?

        Escrcpy是一款基于Electron开发的图形化安卓设备控制工具。它基于知名的开源项目Scrcpy构建,为用户提供了更加友好且功能丰富的图形界面。通过Escrcpy,用户可以轻松地在电脑上显示并控制安卓设备,享受高清、低延迟的投屏体验。

        核心功能

        高效稳定的投屏体验

        • ⚡️ 高性能:支持30-120 fps(取决于设备性能)
        • 🌟 高质量:支持1920×1080或更高分辨率显示
        • 🕒 低延迟:延迟仅35~70毫秒
        • 🚀 快速启动:约1秒即可显示首帧画面

        丰富的功能特性

        • 📡 无线连接:支持通过扫码快速连接设备
        • 🤖 自动化:自动连接设备、自动执行投屏、自定义脚本及定时任务
        • 💡 高度可定制:多设备管理、独立配置、自定义备注、配置导入导出
        • 🖥️ 窗口编排:可视化多设备窗口布局管理,支持拖拽调整位置和尺寸
        • 🔗 反向网络共享:内置Gnirehtet反向网络共享功能
        • 🎨 主题切换:支持浅色/深色模式,随系统自动切换

        优化的用户体验

        • 😎 轻量化:原生支持,仅显示设备屏幕
        • 🙅‍♂️ 无残留:不会在安卓设备上留下任何痕迹
        • 🤩 纯净体验:无需账户、无广告、无需联网
        • 🗽 完全免费开源

        使用场景

        Escrcpy非常适合以下场景:

        1. 开发者在电脑上调试安卓应用
        2. 游戏玩家在大屏幕上畅玩手游
        3. 需要录制手机屏幕内容的用户
        4. 工作中需在电脑上操作手机的情况
        5. 教学时演示手机操作

        跨平台支持

        Escrcpy支持主流操作系统:

        • Windows
        • macOS
        • Linux

        技术优势

        作为Scrcpy的图形界面版本,Escrcpy保留了Scrcpy的全部优点,同时新增了:

        • 更直观的设备管理界面
        • 更便捷的连接方式
        • 更丰富的自定义选项
        • 更完善的批量操作功能

        未来发展

        项目团队将持续完善Escrcpy,未来计划包括:

        • 优化投屏窗口位置与大小的设置方式
        • 提升批量设备连接体验
        • 开发图形化脚本编辑工具

        如何使用

        Escrcpy是一个完全免费的开源项目,具体使用方法请参考:

        快速开始 👉

        结语

        Escrcpy为Scrcpy带来了现代化的图形界面和增强功能,让安卓设备控制变得更简单高效。无论你是开发者还是普通用户,Escrcpy都能为你提供出色的设备控制体验。其开源免费的特性,也让更多人能够毫无顾虑地使用这一优秀工具。

        如果你正在寻找一款强大且易用的安卓设备控制工具,Escrcpy绝对值得一试!

        ',28)])])}const b=l(t,[["render",c]]);export{u as __pageData,b as default}; +import{e as l,o as i,a as e,ag as r}from"./chunks/framework.DCs21iJA.js";const u=JSON.parse('{"title":"指引","description":"","frontmatter":{"title":"指引"},"headers":[],"relativePath":"zhHans/guide/index.md","filePath":"zhHans/guide/index.md","lastUpdated":1772158834000}'),t={name:"zhHans/guide/index.md"};function c(o,a,h,n,s,d){return i(),e("div",null,[...a[0]||(a[0]=[r('

        Escrcpy:基于Electron的图形化安卓设备控制工具

        什么是Escrcpy?

        Escrcpy是一款基于Electron开发的图形化安卓设备控制工具。它基于知名的开源项目Scrcpy构建,为用户提供了更加友好且功能丰富的图形界面。通过Escrcpy,用户可以轻松地在电脑上显示并控制安卓设备,享受高清、低延迟的投屏体验。

        核心功能

        高效稳定的投屏体验

        • ⚡️ 高性能:支持30-120 fps(取决于设备性能)
        • 🌟 高质量:支持1920×1080或更高分辨率显示
        • 🕒 低延迟:延迟仅35~70毫秒
        • 🚀 快速启动:约1秒即可显示首帧画面

        丰富的功能特性

        • 📡 无线连接:支持通过扫码快速连接设备
        • 🤖 自动化:自动连接设备、自动执行投屏、自定义脚本及定时任务
        • 💡 高度可定制:多设备管理、独立配置、自定义备注、配置导入导出
        • 🖥️ 窗口编排:可视化多设备窗口布局管理,支持拖拽调整位置和尺寸
        • 🔗 反向网络共享:内置Gnirehtet反向网络共享功能
        • 🎨 主题切换:支持浅色/深色模式,随系统自动切换

        优化的用户体验

        • 😎 轻量化:原生支持,仅显示设备屏幕
        • 🙅‍♂️ 无残留:不会在安卓设备上留下任何痕迹
        • 🤩 纯净体验:无需账户、无广告、无需联网
        • 🗽 完全免费开源

        使用场景

        Escrcpy非常适合以下场景:

        1. 开发者在电脑上调试安卓应用
        2. 游戏玩家在大屏幕上畅玩手游
        3. 需要录制手机屏幕内容的用户
        4. 工作中需在电脑上操作手机的情况
        5. 教学时演示手机操作

        跨平台支持

        Escrcpy支持主流操作系统:

        • Windows
        • macOS
        • Linux

        技术优势

        作为Scrcpy的图形界面版本,Escrcpy保留了Scrcpy的全部优点,同时新增了:

        • 更直观的设备管理界面
        • 更便捷的连接方式
        • 更丰富的自定义选项
        • 更完善的批量操作功能

        未来发展

        项目团队将持续完善Escrcpy,未来计划包括:

        • 优化投屏窗口位置与大小的设置方式
        • 提升批量设备连接体验
        • 开发图形化脚本编辑工具

        如何使用

        Escrcpy是一个完全免费的开源项目,具体使用方法请参考:

        快速开始 👉

        结语

        Escrcpy为Scrcpy带来了现代化的图形界面和增强功能,让安卓设备控制变得更简单高效。无论你是开发者还是普通用户,Escrcpy都能为你提供出色的设备控制体验。其开源免费的特性,也让更多人能够毫无顾虑地使用这一优秀工具。

        如果你正在寻找一款强大且易用的安卓设备控制工具,Escrcpy绝对值得一试!

        ',28)])])}const b=l(t,[["render",c]]);export{u as __pageData,b as default}; diff --git a/assets/zhHans_guide_index.md.DkMHeL72.lean.js b/assets/zhHans_guide_index.md.DXb83wHq.lean.js similarity index 85% rename from assets/zhHans_guide_index.md.DkMHeL72.lean.js rename to assets/zhHans_guide_index.md.DXb83wHq.lean.js index ddaec07e1..60db37e18 100644 --- a/assets/zhHans_guide_index.md.DkMHeL72.lean.js +++ b/assets/zhHans_guide_index.md.DXb83wHq.lean.js @@ -1 +1 @@ -import{e as l,o as i,a as e,ag as r}from"./chunks/framework.DCs21iJA.js";const u=JSON.parse('{"title":"指引","description":"","frontmatter":{"title":"指引"},"headers":[],"relativePath":"zhHans/guide/index.md","filePath":"zhHans/guide/index.md","lastUpdated":1772158243000}'),t={name:"zhHans/guide/index.md"};function c(o,a,h,n,s,d){return i(),e("div",null,[...a[0]||(a[0]=[r("",28)])])}const b=l(t,[["render",c]]);export{u as __pageData,b as default}; +import{e as l,o as i,a as e,ag as r}from"./chunks/framework.DCs21iJA.js";const u=JSON.parse('{"title":"指引","description":"","frontmatter":{"title":"指引"},"headers":[],"relativePath":"zhHans/guide/index.md","filePath":"zhHans/guide/index.md","lastUpdated":1772158834000}'),t={name:"zhHans/guide/index.md"};function c(o,a,h,n,s,d){return i(),e("div",null,[...a[0]||(a[0]=[r("",28)])])}const b=l(t,[["render",c]]);export{u as __pageData,b as default}; diff --git a/assets/zhHans_guide_milestones.md.DeZFUHF9.js b/assets/zhHans_guide_milestones.md.CHJwNDbi.js similarity index 97% rename from assets/zhHans_guide_milestones.md.DeZFUHF9.js rename to assets/zhHans_guide_milestones.md.CHJwNDbi.js index bf0b6c7cd..48d32d0f2 100644 --- a/assets/zhHans_guide_milestones.md.DeZFUHF9.js +++ b/assets/zhHans_guide_milestones.md.CHJwNDbi.js @@ -1 +1 @@ -import{e as l,o as e,a as t,ag as a}from"./chunks/framework.DCs21iJA.js";const p=JSON.parse('{"title":"里程碑","description":"","frontmatter":{"title":"里程碑"},"headers":[],"relativePath":"zhHans/guide/milestones.md","filePath":"zhHans/guide/milestones.md","lastUpdated":1772158243000}'),s={name:"zhHans/guide/milestones.md"};function o(n,i,r,d,_,c){return e(),t("div",null,[...i[0]||(i[0]=[a('

        里程碑

        优先级从高到低:

        • 优化Logo设计 ✅
        • 软件更新功能 ✅
        • 录制并保存音视频 ✅
        • 设备快捷交互控制栏 ✅
        • 自定义Adb和Scrcpy依赖项 ✅
        • 自定义设备名称 ✅
        • 导出和导入偏好设置 ✅
        • 单独设备配置 ✅
        • 支持macOS和Linux系统 ✅
        • 国际化支持 ✅
        • 深色模式 ✅
        • 反向网络共享(Gnirehtet)✅
        • 摄像头镜像 ✅
        • 多屏协同 ✅
        • 文件推送、屏幕旋转、音频控制 ✅
        • 批量连接历史设备 ✅
        • 内置终端 ✅
        • 自动执行镜像 ✅
        • 灵活启动镜像 ✅
        • 批量处理 ✅
        • 计划任务 ✅
        • 图形化文件管理器 ✅
        • 悬浮控制栏 ✅
        • 增强版录制功能 ✅
        • 启动APP(多线程) ✅
        • 主窗口边缘隐藏 ✅
        • 设备分组(通过备注筛选) ✅
        • 改进历史设备连接体验 ✅
        • 文件管理支持上传目录 ✅
        • 支持添加打开APP到桌面快捷方式(仅Windows) ✅
        • 支持设备批量启动 ✅
        • 支持通过可视化编排工具控制各设备的窗口布局 ✅
        • 整合同一设备的不同连接方式和配置,提升用户体验 ✅
        • 增强设备文件管理器 ✅
        • 集成 AutoGLM 无需脚本使用自然语言控制你的安卓设备 ✅
        • 重构主进程架构,提升性能和稳定性 ✅
        • 通过可视化编排工具支持脚本的自动化 🚧
        ',3)])])}const u=l(s,[["render",o]]);export{p as __pageData,u as default}; +import{e as l,o as e,a as t,ag as a}from"./chunks/framework.DCs21iJA.js";const p=JSON.parse('{"title":"里程碑","description":"","frontmatter":{"title":"里程碑"},"headers":[],"relativePath":"zhHans/guide/milestones.md","filePath":"zhHans/guide/milestones.md","lastUpdated":1772158834000}'),s={name:"zhHans/guide/milestones.md"};function o(n,i,r,d,_,c){return e(),t("div",null,[...i[0]||(i[0]=[a('

        里程碑

        优先级从高到低:

        • 优化Logo设计 ✅
        • 软件更新功能 ✅
        • 录制并保存音视频 ✅
        • 设备快捷交互控制栏 ✅
        • 自定义Adb和Scrcpy依赖项 ✅
        • 自定义设备名称 ✅
        • 导出和导入偏好设置 ✅
        • 单独设备配置 ✅
        • 支持macOS和Linux系统 ✅
        • 国际化支持 ✅
        • 深色模式 ✅
        • 反向网络共享(Gnirehtet)✅
        • 摄像头镜像 ✅
        • 多屏协同 ✅
        • 文件推送、屏幕旋转、音频控制 ✅
        • 批量连接历史设备 ✅
        • 内置终端 ✅
        • 自动执行镜像 ✅
        • 灵活启动镜像 ✅
        • 批量处理 ✅
        • 计划任务 ✅
        • 图形化文件管理器 ✅
        • 悬浮控制栏 ✅
        • 增强版录制功能 ✅
        • 启动APP(多线程) ✅
        • 主窗口边缘隐藏 ✅
        • 设备分组(通过备注筛选) ✅
        • 改进历史设备连接体验 ✅
        • 文件管理支持上传目录 ✅
        • 支持添加打开APP到桌面快捷方式(仅Windows) ✅
        • 支持设备批量启动 ✅
        • 支持通过可视化编排工具控制各设备的窗口布局 ✅
        • 整合同一设备的不同连接方式和配置,提升用户体验 ✅
        • 增强设备文件管理器 ✅
        • 集成 AutoGLM 无需脚本使用自然语言控制你的安卓设备 ✅
        • 重构主进程架构,提升性能和稳定性 ✅
        • 通过可视化编排工具支持脚本的自动化 🚧
        ',3)])])}const u=l(s,[["render",o]]);export{p as __pageData,u as default}; diff --git a/assets/zhHans_guide_milestones.md.DeZFUHF9.lean.js b/assets/zhHans_guide_milestones.md.CHJwNDbi.lean.js similarity index 86% rename from assets/zhHans_guide_milestones.md.DeZFUHF9.lean.js rename to assets/zhHans_guide_milestones.md.CHJwNDbi.lean.js index bc93f0688..3006bc70b 100644 --- a/assets/zhHans_guide_milestones.md.DeZFUHF9.lean.js +++ b/assets/zhHans_guide_milestones.md.CHJwNDbi.lean.js @@ -1 +1 @@ -import{e as l,o as e,a as t,ag as a}from"./chunks/framework.DCs21iJA.js";const p=JSON.parse('{"title":"里程碑","description":"","frontmatter":{"title":"里程碑"},"headers":[],"relativePath":"zhHans/guide/milestones.md","filePath":"zhHans/guide/milestones.md","lastUpdated":1772158243000}'),s={name:"zhHans/guide/milestones.md"};function o(n,i,r,d,_,c){return e(),t("div",null,[...i[0]||(i[0]=[a("",3)])])}const u=l(s,[["render",o]]);export{p as __pageData,u as default}; +import{e as l,o as e,a as t,ag as a}from"./chunks/framework.DCs21iJA.js";const p=JSON.parse('{"title":"里程碑","description":"","frontmatter":{"title":"里程碑"},"headers":[],"relativePath":"zhHans/guide/milestones.md","filePath":"zhHans/guide/milestones.md","lastUpdated":1772158834000}'),s={name:"zhHans/guide/milestones.md"};function o(n,i,r,d,_,c){return e(),t("div",null,[...i[0]||(i[0]=[a("",3)])])}const u=l(s,[["render",o]]);export{p as __pageData,u as default}; diff --git a/assets/zhHans_guide_operation.md.Bipv2JXi.js b/assets/zhHans_guide_operation.md.BcX3fsQq.js similarity index 96% rename from assets/zhHans_guide_operation.md.Bipv2JXi.js rename to assets/zhHans_guide_operation.md.BcX3fsQq.js index f00eb9318..acd2af0ce 100644 --- a/assets/zhHans_guide_operation.md.Bipv2JXi.js +++ b/assets/zhHans_guide_operation.md.BcX3fsQq.js @@ -1 +1 @@ -import{e as l,o as a,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const _=JSON.parse('{"title":"操作指南","description":"","frontmatter":{"title":"操作指南"},"headers":[],"relativePath":"zhHans/guide/operation.md","filePath":"zhHans/guide/operation.md","lastUpdated":1772158243000}'),r={name:"zhHans/guide/operation.md"};function o(n,i,s,d,h,u){return a(),e("div",null,[...i[0]||(i[0]=[t('

        设备操作指南

        批量处理

        • 批量镜像
        • 批量截屏
        • 批量安装应用
        • 批量文件管理
        • 批量执行脚本
        • 批量计划任务

        控制模式

        • 镜像模式
        • 录制模式
        • 摄像头录制
        • 音频录制
        • 摄像头
        • 自定义模式
        • OTG模式

        设备交互栏

        • 自动操控(AutoGLM)
        • 切换应用
        • 返回主页
        • 返回键
        • 启动APP(镜像组)
        • 关闭屏幕(实验性功能)
        • 通知中心
        • 电源键
        • 屏幕旋转
        • 音量控制
        • 截图
        • 重启设备
        • 安装APP
        • 文件管理器
        • 执行脚本
        • 计划任务
        • Gnirehtet(反向网络共享)
        ',7)])])}const p=l(r,[["render",o]]);export{_ as __pageData,p as default}; +import{e as l,o as a,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const _=JSON.parse('{"title":"操作指南","description":"","frontmatter":{"title":"操作指南"},"headers":[],"relativePath":"zhHans/guide/operation.md","filePath":"zhHans/guide/operation.md","lastUpdated":1772158834000}'),r={name:"zhHans/guide/operation.md"};function o(n,i,s,d,h,u){return a(),e("div",null,[...i[0]||(i[0]=[t('

        设备操作指南

        批量处理

        • 批量镜像
        • 批量截屏
        • 批量安装应用
        • 批量文件管理
        • 批量执行脚本
        • 批量计划任务

        控制模式

        • 镜像模式
        • 录制模式
        • 摄像头录制
        • 音频录制
        • 摄像头
        • 自定义模式
        • OTG模式

        设备交互栏

        • 自动操控(AutoGLM)
        • 切换应用
        • 返回主页
        • 返回键
        • 启动APP(镜像组)
        • 关闭屏幕(实验性功能)
        • 通知中心
        • 电源键
        • 屏幕旋转
        • 音量控制
        • 截图
        • 重启设备
        • 安装APP
        • 文件管理器
        • 执行脚本
        • 计划任务
        • Gnirehtet(反向网络共享)
        ',7)])])}const p=l(r,[["render",o]]);export{_ as __pageData,p as default}; diff --git a/assets/zhHans_guide_operation.md.Bipv2JXi.lean.js b/assets/zhHans_guide_operation.md.BcX3fsQq.lean.js similarity index 86% rename from assets/zhHans_guide_operation.md.Bipv2JXi.lean.js rename to assets/zhHans_guide_operation.md.BcX3fsQq.lean.js index 8faf2e501..53618500a 100644 --- a/assets/zhHans_guide_operation.md.Bipv2JXi.lean.js +++ b/assets/zhHans_guide_operation.md.BcX3fsQq.lean.js @@ -1 +1 @@ -import{e as l,o as a,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const _=JSON.parse('{"title":"操作指南","description":"","frontmatter":{"title":"操作指南"},"headers":[],"relativePath":"zhHans/guide/operation.md","filePath":"zhHans/guide/operation.md","lastUpdated":1772158243000}'),r={name:"zhHans/guide/operation.md"};function o(n,i,s,d,h,u){return a(),e("div",null,[...i[0]||(i[0]=[t("",7)])])}const p=l(r,[["render",o]]);export{_ as __pageData,p as default}; +import{e as l,o as a,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const _=JSON.parse('{"title":"操作指南","description":"","frontmatter":{"title":"操作指南"},"headers":[],"relativePath":"zhHans/guide/operation.md","filePath":"zhHans/guide/operation.md","lastUpdated":1772158834000}'),r={name:"zhHans/guide/operation.md"};function o(n,i,s,d,h,u){return a(),e("div",null,[...i[0]||(i[0]=[t("",7)])])}const p=l(r,[["render",o]]);export{_ as __pageData,p as default}; diff --git a/assets/zhHans_guide_preferences.md.Dhq4kgli.js b/assets/zhHans_guide_preferences.md.Cx2MP4Gd.js similarity index 98% rename from assets/zhHans_guide_preferences.md.Dhq4kgli.js rename to assets/zhHans_guide_preferences.md.Cx2MP4Gd.js index 97a634518..6de3e46a3 100644 --- a/assets/zhHans_guide_preferences.md.Dhq4kgli.js +++ b/assets/zhHans_guide_preferences.md.Cx2MP4Gd.js @@ -1 +1 @@ -import{e as i,o as a,a as e,ag as r}from"./chunks/framework.DCs21iJA.js";const f=JSON.parse('{"title":"偏好设置","description":"","frontmatter":{"title":"偏好设置"},"headers":[],"relativePath":"zhHans/guide/preferences.md","filePath":"zhHans/guide/preferences.md","lastUpdated":1772158243000}'),t={name:"zhHans/guide/preferences.md"};function o(h,l,n,d,s,u){return a(),e("div",null,[...l[0]||(l[0]=[r('

        偏好设置

        持续完善中,目前已支持以下常用配置项

        通用设置

        • 主题风格
        • 语言选择
        • 文件存储路径
        • ADB路径
        • Scrcpy路径
        • Gnirehtet路径
        • Scrcpy参数
        • Gnirehtet参数
        • 自动连接设备
        • 自动执行镜像
        • Gnirehtet修复
        • 调试模式
        • 悬浮控制栏
        • 使用系统终端
        • 首选终端
        • 并发上限

        视频控制

        • 禁用视频传输
        • 最大分辨率
        • 视频比特率
        • 刷新频率
        • 视频编解码器
        • 显示方向
        • 旋转角度
        • 屏幕裁剪
        • 显示器选择
        • 视频缓冲区
        • 接收端(v4l2)缓冲区

        设备控制

        • 显示触摸点
        • 保持唤醒状态
        • 控制时关闭屏幕
        • 控制结束后关闭屏幕
        • 禁用控制时自动亮屏
        • 模拟辅助显示器

        窗口控制

        • 窗口宽度
        • 窗口高度
        • 窗口X坐标
        • 窗口Y坐标
        • 无边框模式
        • 全屏模式
        • 窗口置顶
        • 禁用屏幕保护

        音频控制

        • 禁用音频传输
        • 保留设备音频
        • 音频源选择
        • 音频编解码器
        • 音频比特率
        • 音频缓冲区
        • 音频输出缓冲区

        音视频录制

        • 录制视频格式
        • 录制视频方向
        • 录制时长
        • 禁用视频回放
        • 禁用音频回放

        输入控制

        • 鼠标模式
        • 鼠标绑定
        • 键盘模式
        • 键盘注入方式
        • 游戏手柄设置

        摄像头控制

        • 摄像头源选择
        • 摄像头尺寸
        • 摄像头比例
        • 摄像头帧率
        ',18)])])}const p=i(t,[["render",o]]);export{f as __pageData,p as default}; +import{e as i,o as a,a as e,ag as r}from"./chunks/framework.DCs21iJA.js";const f=JSON.parse('{"title":"偏好设置","description":"","frontmatter":{"title":"偏好设置"},"headers":[],"relativePath":"zhHans/guide/preferences.md","filePath":"zhHans/guide/preferences.md","lastUpdated":1772158834000}'),t={name:"zhHans/guide/preferences.md"};function o(h,l,n,d,s,u){return a(),e("div",null,[...l[0]||(l[0]=[r('

        偏好设置

        持续完善中,目前已支持以下常用配置项

        通用设置

        • 主题风格
        • 语言选择
        • 文件存储路径
        • ADB路径
        • Scrcpy路径
        • Gnirehtet路径
        • Scrcpy参数
        • Gnirehtet参数
        • 自动连接设备
        • 自动执行镜像
        • Gnirehtet修复
        • 调试模式
        • 悬浮控制栏
        • 使用系统终端
        • 首选终端
        • 并发上限

        视频控制

        • 禁用视频传输
        • 最大分辨率
        • 视频比特率
        • 刷新频率
        • 视频编解码器
        • 显示方向
        • 旋转角度
        • 屏幕裁剪
        • 显示器选择
        • 视频缓冲区
        • 接收端(v4l2)缓冲区

        设备控制

        • 显示触摸点
        • 保持唤醒状态
        • 控制时关闭屏幕
        • 控制结束后关闭屏幕
        • 禁用控制时自动亮屏
        • 模拟辅助显示器

        窗口控制

        • 窗口宽度
        • 窗口高度
        • 窗口X坐标
        • 窗口Y坐标
        • 无边框模式
        • 全屏模式
        • 窗口置顶
        • 禁用屏幕保护

        音频控制

        • 禁用音频传输
        • 保留设备音频
        • 音频源选择
        • 音频编解码器
        • 音频比特率
        • 音频缓冲区
        • 音频输出缓冲区

        音视频录制

        • 录制视频格式
        • 录制视频方向
        • 录制时长
        • 禁用视频回放
        • 禁用音频回放

        输入控制

        • 鼠标模式
        • 鼠标绑定
        • 键盘模式
        • 键盘注入方式
        • 游戏手柄设置

        摄像头控制

        • 摄像头源选择
        • 摄像头尺寸
        • 摄像头比例
        • 摄像头帧率
        ',18)])])}const p=i(t,[["render",o]]);export{f as __pageData,p as default}; diff --git a/assets/zhHans_guide_preferences.md.Dhq4kgli.lean.js b/assets/zhHans_guide_preferences.md.Cx2MP4Gd.lean.js similarity index 86% rename from assets/zhHans_guide_preferences.md.Dhq4kgli.lean.js rename to assets/zhHans_guide_preferences.md.Cx2MP4Gd.lean.js index 01ffcbb2d..2b30aa2f5 100644 --- a/assets/zhHans_guide_preferences.md.Dhq4kgli.lean.js +++ b/assets/zhHans_guide_preferences.md.Cx2MP4Gd.lean.js @@ -1 +1 @@ -import{e as i,o as a,a as e,ag as r}from"./chunks/framework.DCs21iJA.js";const f=JSON.parse('{"title":"偏好设置","description":"","frontmatter":{"title":"偏好设置"},"headers":[],"relativePath":"zhHans/guide/preferences.md","filePath":"zhHans/guide/preferences.md","lastUpdated":1772158243000}'),t={name:"zhHans/guide/preferences.md"};function o(h,l,n,d,s,u){return a(),e("div",null,[...l[0]||(l[0]=[r("",18)])])}const p=i(t,[["render",o]]);export{f as __pageData,p as default}; +import{e as i,o as a,a as e,ag as r}from"./chunks/framework.DCs21iJA.js";const f=JSON.parse('{"title":"偏好设置","description":"","frontmatter":{"title":"偏好设置"},"headers":[],"relativePath":"zhHans/guide/preferences.md","filePath":"zhHans/guide/preferences.md","lastUpdated":1772158834000}'),t={name:"zhHans/guide/preferences.md"};function o(h,l,n,d,s,u){return a(),e("div",null,[...l[0]||(l[0]=[r("",18)])])}const p=i(t,[["render",o]]);export{f as __pageData,p as default}; diff --git a/assets/zhHans_guide_started.md.BfGSofGu.js b/assets/zhHans_guide_started.md.D1dor87b.js similarity index 98% rename from assets/zhHans_guide_started.md.BfGSofGu.js rename to assets/zhHans_guide_started.md.D1dor87b.js index dae8a3047..f810d731c 100644 --- a/assets/zhHans_guide_started.md.BfGSofGu.js +++ b/assets/zhHans_guide_started.md.D1dor87b.js @@ -1 +1 @@ -import{e as a,o as r,a as t,ag as o}from"./chunks/framework.DCs21iJA.js";const p=JSON.parse('{"title":"快速上手","description":"","frontmatter":{"title":"快速上手"},"headers":[],"relativePath":"zhHans/guide/started.md","filePath":"zhHans/guide/started.md","lastUpdated":1772158243000}'),l={name:"zhHans/guide/started.md"};function i(c,e,h,n,s,u){return r(),t("div",null,[...e[0]||(e[0]=[o('

        快速上手

        安装说明

        手动安装(通过发行包)

        macOS用户可通过Homebrew安装

        详见 homebrew-escrcpy

        USB连接方式

        注意:若手机弹出调试授权提示,请点击允许

        1. 在安卓设备上启用开发者模式USB调试功能
        2. 启动Escrcpy并将安卓设备通过USB连接电脑
        3. Escrcpy设备列表应已检测到您的设备,点击"开始镜像"
        4. 开始使用!

        无线连接方式

        扫码连接

        1. 先完成USB连接方式的步骤1-2
        2. 在开发者选项中启用并进入"无线调试"
        3. 点击"通过二维码配对设备"
        4. 开始使用!

        IP地址连接

        注意:若首次无线连接失败,可能需先进行无线配对,详见常见问题

        注意:需在无线调试页面获取设备无线地址(通常为连接WiFi时分配的IP地址)和端口号(默认为5555)

        1. 先完成USB连接方式的步骤1-2
        2. 在Escrcpy中输入设备IP地址和端口号,点击"连接设备"
        3. 此时设备列表应显示您的手机,点击"开始镜像"
        4. 开始使用!

        macOS与Linux平台

        注意:这些平台未预装Scrcpy,需手动安装

        Escrcpy@1.27.1+版本已初步集成scrcpy二进制文件,无需手动安装

        1. Linux用户参考安装文档
        2. macOS用户参考安装文档
        3. 依赖安装成功后,按照USB连接或无线连接的步骤操作即可

        Gnirehtet反向网络共享

        Windows和Linux应用已内置Gnirehtet功能,可实现PC到安卓设备的网络共享。

        设备连接成功后,通过设备->设备控制栏->Gnirehtet启用反向网络功能。

        注意:macOS版本未内置Gnirehtet,需手动安装才能使用该功能安装指南

        ',23)])])}const b=a(l,[["render",i]]);export{p as __pageData,b as default}; +import{e as a,o as r,a as t,ag as o}from"./chunks/framework.DCs21iJA.js";const p=JSON.parse('{"title":"快速上手","description":"","frontmatter":{"title":"快速上手"},"headers":[],"relativePath":"zhHans/guide/started.md","filePath":"zhHans/guide/started.md","lastUpdated":1772158834000}'),l={name:"zhHans/guide/started.md"};function i(c,e,h,n,s,u){return r(),t("div",null,[...e[0]||(e[0]=[o('

        快速上手

        安装说明

        手动安装(通过发行包)

        macOS用户可通过Homebrew安装

        详见 homebrew-escrcpy

        USB连接方式

        注意:若手机弹出调试授权提示,请点击允许

        1. 在安卓设备上启用开发者模式USB调试功能
        2. 启动Escrcpy并将安卓设备通过USB连接电脑
        3. Escrcpy设备列表应已检测到您的设备,点击"开始镜像"
        4. 开始使用!

        无线连接方式

        扫码连接

        1. 先完成USB连接方式的步骤1-2
        2. 在开发者选项中启用并进入"无线调试"
        3. 点击"通过二维码配对设备"
        4. 开始使用!

        IP地址连接

        注意:若首次无线连接失败,可能需先进行无线配对,详见常见问题

        注意:需在无线调试页面获取设备无线地址(通常为连接WiFi时分配的IP地址)和端口号(默认为5555)

        1. 先完成USB连接方式的步骤1-2
        2. 在Escrcpy中输入设备IP地址和端口号,点击"连接设备"
        3. 此时设备列表应显示您的手机,点击"开始镜像"
        4. 开始使用!

        macOS与Linux平台

        注意:这些平台未预装Scrcpy,需手动安装

        Escrcpy@1.27.1+版本已初步集成scrcpy二进制文件,无需手动安装

        1. Linux用户参考安装文档
        2. macOS用户参考安装文档
        3. 依赖安装成功后,按照USB连接或无线连接的步骤操作即可

        Gnirehtet反向网络共享

        Windows和Linux应用已内置Gnirehtet功能,可实现PC到安卓设备的网络共享。

        设备连接成功后,通过设备->设备控制栏->Gnirehtet启用反向网络功能。

        注意:macOS版本未内置Gnirehtet,需手动安装才能使用该功能安装指南

        ',23)])])}const b=a(l,[["render",i]]);export{p as __pageData,b as default}; diff --git a/assets/zhHans_guide_started.md.BfGSofGu.lean.js b/assets/zhHans_guide_started.md.D1dor87b.lean.js similarity index 86% rename from assets/zhHans_guide_started.md.BfGSofGu.lean.js rename to assets/zhHans_guide_started.md.D1dor87b.lean.js index 31a529053..60ccb034e 100644 --- a/assets/zhHans_guide_started.md.BfGSofGu.lean.js +++ b/assets/zhHans_guide_started.md.D1dor87b.lean.js @@ -1 +1 @@ -import{e as a,o as r,a as t,ag as o}from"./chunks/framework.DCs21iJA.js";const p=JSON.parse('{"title":"快速上手","description":"","frontmatter":{"title":"快速上手"},"headers":[],"relativePath":"zhHans/guide/started.md","filePath":"zhHans/guide/started.md","lastUpdated":1772158243000}'),l={name:"zhHans/guide/started.md"};function i(c,e,h,n,s,u){return r(),t("div",null,[...e[0]||(e[0]=[o("",23)])])}const b=a(l,[["render",i]]);export{p as __pageData,b as default}; +import{e as a,o as r,a as t,ag as o}from"./chunks/framework.DCs21iJA.js";const p=JSON.parse('{"title":"快速上手","description":"","frontmatter":{"title":"快速上手"},"headers":[],"relativePath":"zhHans/guide/started.md","filePath":"zhHans/guide/started.md","lastUpdated":1772158834000}'),l={name:"zhHans/guide/started.md"};function i(c,e,h,n,s,u){return r(),t("div",null,[...e[0]||(e[0]=[o("",23)])])}const b=a(l,[["render",i]]);export{p as __pageData,b as default}; diff --git a/assets/zhHans_guide_window-arrangement.md.DnSOIRZJ.js b/assets/zhHans_guide_window-arrangement.md.C_mrQHh1.js similarity index 99% rename from assets/zhHans_guide_window-arrangement.md.DnSOIRZJ.js rename to assets/zhHans_guide_window-arrangement.md.C_mrQHh1.js index caae9a104..522fef2eb 100644 --- a/assets/zhHans_guide_window-arrangement.md.DnSOIRZJ.js +++ b/assets/zhHans_guide_window-arrangement.md.C_mrQHh1.js @@ -1 +1 @@ -import{e as a,o as i,a as o,ag as r}from"./chunks/framework.DCs21iJA.js";const g=JSON.parse('{"title":"窗口编排","description":"","frontmatter":{"title":"窗口编排"},"headers":[],"relativePath":"zhHans/guide/window-arrangement.md","filePath":"zhHans/guide/window-arrangement.md","lastUpdated":1772158243000}'),t={name:"zhHans/guide/window-arrangement.md"};function e(n,l,s,h,d,u){return i(),o("div",null,[...l[0]||(l[0]=[r('

        设备窗口编排功能详解

        设备窗口编排是 Escrcpy 的高级功能之一,专为多设备管理和屏幕空间优化而设计。通过可视化的拖拽界面,您可以精确控制每个设备窗口的位置、大小和布局,实现高效的多设备协同操作。

        功能概述

        窗口编排功能提供了一个全屏的可视化编辑界面,让您能够:

        • 同时管理多个设备窗口的布局
        • 通过拖拽方式调整窗口位置和尺寸
        • 设置全局默认配置和设备特定配置
        • 实时预览窗口布局效果
        • 保存和加载自定义布局方案

        核心组件

        全局配置组件

        全局配置组件用于设置所有设备的默认窗口参数,包括:

        • 默认窗口宽度和高度
        • 默认窗口位置坐标
        • 其他通用窗口属性

        设备窗口组件

        每个连接的设备都可以添加为独立的窗口组件,支持:

        • 独立的位置和尺寸设置
        • 设备特定的窗口配置
        • 继承或覆盖全局配置

        详细操作指南

        启动窗口编排

        1. 通过主界面启动
          • 在主界面右上角找到"窗口编排"按钮
          • 点击该按钮进入窗口编排界面
          • 系统将打开全屏的窗口编排界面

        添加和管理组件

        添加全局配置组件

        1. 点击"添加组件"下拉按钮
        2. 选择"全局配置"选项
        3. 全局配置组件将出现在编排区域
        4. 该组件用于设置所有设备的默认参数

        注意:每个编排方案中只能有一个全局配置组件。

        添加设备窗口组件

        1. 点击"添加组件"下拉按钮
        2. 从设备列表中选择要添加的设备
        3. 设备窗口组件将添加到编排区域
        4. 每个设备只能添加一次

        设备显示规则

        • 只显示当前已连接的设备
        • 已添加的设备不会在下拉列表中重复显示
        • 设备名称优先显示自定义名称,其次为设备型号

        窗口布局调整

        移动窗口位置

        1. 选择目标窗口:点击要移动的窗口组件
        2. 拖拽移动:按住鼠标左键拖拽窗口到目标位置
        3. 实时反馈:拖拽过程中可以看到实时的位置变化
        4. 释放定位:松开鼠标完成位置调整

        调整窗口尺寸

        1. 定位调整点:将鼠标移动到窗口的边角位置
        2. 拖拽调整:按住鼠标左键拖拽来改变窗口大小
        3. 比例约束:系统会自动维持合理的窗口比例
        4. 最小尺寸限制:窗口不能小于预设的最小尺寸

        尺寸限制说明

        • 最小宽度:容器宽度的 1/6
        • 最小高度:容器高度的 1/4
        • 边界约束:窗口不能拖拽到编排区域外部
        • 重叠处理:允许窗口重叠,但建议避免完全遮挡

        布局管理操作

        重置布局

        1. 点击控制面板中的"重置布局"按钮
        2. 系统将清除当前所有组件
        3. 重新加载保存的布局配置
        4. 如果没有保存的配置,将显示空白编排区域

        清除全部组件

        1. 点击"清除全部"按钮
        2. 系统将弹出确认对话框
        3. 确认后将移除所有窗口组件
        4. 编排区域将变为空白状态

        删除单个组件

        1. 将鼠标悬停在目标窗口组件上
        2. 点击窗口右上角的删除按钮(×)
        3. 该组件将立即从编排区域移除
        4. 对应的设备将重新出现在可添加列表中

        配置保存和应用

        保存布局配置

        1. 完成布局调整:确保所有窗口组件都已调整到满意的位置和尺寸
        2. 点击保存按钮:点击界面底部的"保存布局"按钮
        3. 配置写入:系统将当前布局信息写入配置文件
        4. 成功反馈:显示保存成功的消息提示

        配置存储机制

        • 全局配置:存储在 scrcpy.global 配置节点
        • 设备配置:存储在 scrcpy.[设备ID] 配置节点
        • 参数格式
          • --window-width:窗口宽度
          • --window-height:窗口高度
          • --window-x:窗口X坐标
          • --window-y:窗口Y坐标

        配置应用时机

        • 启动镜像时:设备开始镜像时自动应用对应的窗口配置
        • 配置继承:设备特定配置优先,未设置的参数继承全局配置
        • 动态更新:保存配置后立即生效,无需重启应用

        故障排除

        常见问题

        问题1:设备不显示在添加列表中

        • 确认设备已正确连接
        • 检查设备是否已经添加到编排中
        • 尝试刷新设备列表

        问题2:窗口拖拽不响应

        • 确认鼠标点击在窗口的可拖拽区域
        • 检查是否有其他程序占用鼠标事件
        • 尝试重新打开编排界面

        问题3:保存的布局没有生效

        • 确认点击了"保存布局"按钮
        • 检查配置文件是否有写入权限
        • 尝试重启应用后再次测试

        问题4:窗口尺寸异常

        • 检查是否超出了最小尺寸限制
        • 确认显示器分辨率设置正确
        • 尝试重置布局后重新配置

        通过合理使用窗口编排功能,您可以显著提高多设备管理的效率,创建适合自己工作流程的个性化操作环境。

        ',55)])])}const q=a(t,[["render",e]]);export{g as __pageData,q as default}; +import{e as a,o as i,a as o,ag as r}from"./chunks/framework.DCs21iJA.js";const g=JSON.parse('{"title":"窗口编排","description":"","frontmatter":{"title":"窗口编排"},"headers":[],"relativePath":"zhHans/guide/window-arrangement.md","filePath":"zhHans/guide/window-arrangement.md","lastUpdated":1772158834000}'),t={name:"zhHans/guide/window-arrangement.md"};function e(n,l,s,h,d,u){return i(),o("div",null,[...l[0]||(l[0]=[r('

        设备窗口编排功能详解

        设备窗口编排是 Escrcpy 的高级功能之一,专为多设备管理和屏幕空间优化而设计。通过可视化的拖拽界面,您可以精确控制每个设备窗口的位置、大小和布局,实现高效的多设备协同操作。

        功能概述

        窗口编排功能提供了一个全屏的可视化编辑界面,让您能够:

        • 同时管理多个设备窗口的布局
        • 通过拖拽方式调整窗口位置和尺寸
        • 设置全局默认配置和设备特定配置
        • 实时预览窗口布局效果
        • 保存和加载自定义布局方案

        核心组件

        全局配置组件

        全局配置组件用于设置所有设备的默认窗口参数,包括:

        • 默认窗口宽度和高度
        • 默认窗口位置坐标
        • 其他通用窗口属性

        设备窗口组件

        每个连接的设备都可以添加为独立的窗口组件,支持:

        • 独立的位置和尺寸设置
        • 设备特定的窗口配置
        • 继承或覆盖全局配置

        详细操作指南

        启动窗口编排

        1. 通过主界面启动
          • 在主界面右上角找到"窗口编排"按钮
          • 点击该按钮进入窗口编排界面
          • 系统将打开全屏的窗口编排界面

        添加和管理组件

        添加全局配置组件

        1. 点击"添加组件"下拉按钮
        2. 选择"全局配置"选项
        3. 全局配置组件将出现在编排区域
        4. 该组件用于设置所有设备的默认参数

        注意:每个编排方案中只能有一个全局配置组件。

        添加设备窗口组件

        1. 点击"添加组件"下拉按钮
        2. 从设备列表中选择要添加的设备
        3. 设备窗口组件将添加到编排区域
        4. 每个设备只能添加一次

        设备显示规则

        • 只显示当前已连接的设备
        • 已添加的设备不会在下拉列表中重复显示
        • 设备名称优先显示自定义名称,其次为设备型号

        窗口布局调整

        移动窗口位置

        1. 选择目标窗口:点击要移动的窗口组件
        2. 拖拽移动:按住鼠标左键拖拽窗口到目标位置
        3. 实时反馈:拖拽过程中可以看到实时的位置变化
        4. 释放定位:松开鼠标完成位置调整

        调整窗口尺寸

        1. 定位调整点:将鼠标移动到窗口的边角位置
        2. 拖拽调整:按住鼠标左键拖拽来改变窗口大小
        3. 比例约束:系统会自动维持合理的窗口比例
        4. 最小尺寸限制:窗口不能小于预设的最小尺寸

        尺寸限制说明

        • 最小宽度:容器宽度的 1/6
        • 最小高度:容器高度的 1/4
        • 边界约束:窗口不能拖拽到编排区域外部
        • 重叠处理:允许窗口重叠,但建议避免完全遮挡

        布局管理操作

        重置布局

        1. 点击控制面板中的"重置布局"按钮
        2. 系统将清除当前所有组件
        3. 重新加载保存的布局配置
        4. 如果没有保存的配置,将显示空白编排区域

        清除全部组件

        1. 点击"清除全部"按钮
        2. 系统将弹出确认对话框
        3. 确认后将移除所有窗口组件
        4. 编排区域将变为空白状态

        删除单个组件

        1. 将鼠标悬停在目标窗口组件上
        2. 点击窗口右上角的删除按钮(×)
        3. 该组件将立即从编排区域移除
        4. 对应的设备将重新出现在可添加列表中

        配置保存和应用

        保存布局配置

        1. 完成布局调整:确保所有窗口组件都已调整到满意的位置和尺寸
        2. 点击保存按钮:点击界面底部的"保存布局"按钮
        3. 配置写入:系统将当前布局信息写入配置文件
        4. 成功反馈:显示保存成功的消息提示

        配置存储机制

        • 全局配置:存储在 scrcpy.global 配置节点
        • 设备配置:存储在 scrcpy.[设备ID] 配置节点
        • 参数格式
          • --window-width:窗口宽度
          • --window-height:窗口高度
          • --window-x:窗口X坐标
          • --window-y:窗口Y坐标

        配置应用时机

        • 启动镜像时:设备开始镜像时自动应用对应的窗口配置
        • 配置继承:设备特定配置优先,未设置的参数继承全局配置
        • 动态更新:保存配置后立即生效,无需重启应用

        故障排除

        常见问题

        问题1:设备不显示在添加列表中

        • 确认设备已正确连接
        • 检查设备是否已经添加到编排中
        • 尝试刷新设备列表

        问题2:窗口拖拽不响应

        • 确认鼠标点击在窗口的可拖拽区域
        • 检查是否有其他程序占用鼠标事件
        • 尝试重新打开编排界面

        问题3:保存的布局没有生效

        • 确认点击了"保存布局"按钮
        • 检查配置文件是否有写入权限
        • 尝试重启应用后再次测试

        问题4:窗口尺寸异常

        • 检查是否超出了最小尺寸限制
        • 确认显示器分辨率设置正确
        • 尝试重置布局后重新配置

        通过合理使用窗口编排功能,您可以显著提高多设备管理的效率,创建适合自己工作流程的个性化操作环境。

        ',55)])])}const q=a(t,[["render",e]]);export{g as __pageData,q as default}; diff --git a/assets/zhHans_guide_window-arrangement.md.DnSOIRZJ.lean.js b/assets/zhHans_guide_window-arrangement.md.C_mrQHh1.lean.js similarity index 87% rename from assets/zhHans_guide_window-arrangement.md.DnSOIRZJ.lean.js rename to assets/zhHans_guide_window-arrangement.md.C_mrQHh1.lean.js index bec11cd2f..5d33c3d58 100644 --- a/assets/zhHans_guide_window-arrangement.md.DnSOIRZJ.lean.js +++ b/assets/zhHans_guide_window-arrangement.md.C_mrQHh1.lean.js @@ -1 +1 @@ -import{e as a,o as i,a as o,ag as r}from"./chunks/framework.DCs21iJA.js";const g=JSON.parse('{"title":"窗口编排","description":"","frontmatter":{"title":"窗口编排"},"headers":[],"relativePath":"zhHans/guide/window-arrangement.md","filePath":"zhHans/guide/window-arrangement.md","lastUpdated":1772158243000}'),t={name:"zhHans/guide/window-arrangement.md"};function e(n,l,s,h,d,u){return i(),o("div",null,[...l[0]||(l[0]=[r("",55)])])}const q=a(t,[["render",e]]);export{g as __pageData,q as default}; +import{e as a,o as i,a as o,ag as r}from"./chunks/framework.DCs21iJA.js";const g=JSON.parse('{"title":"窗口编排","description":"","frontmatter":{"title":"窗口编排"},"headers":[],"relativePath":"zhHans/guide/window-arrangement.md","filePath":"zhHans/guide/window-arrangement.md","lastUpdated":1772158834000}'),t={name:"zhHans/guide/window-arrangement.md"};function e(n,l,s,h,d,u){return i(),o("div",null,[...l[0]||(l[0]=[r("",55)])])}const q=a(t,[["render",e]]);export{g as __pageData,q as default}; diff --git a/assets/zhHans_help_escrcpy.md.BkuUUzQz.js b/assets/zhHans_help_escrcpy.md.BofQfbxm.js similarity index 99% rename from assets/zhHans_help_escrcpy.md.BkuUUzQz.js rename to assets/zhHans_help_escrcpy.md.BofQfbxm.js index 2dde5ea5f..5d247651c 100644 --- a/assets/zhHans_help_escrcpy.md.BkuUUzQz.js +++ b/assets/zhHans_help_escrcpy.md.BofQfbxm.js @@ -1 +1 @@ -import{e as a,o,a as r,ag as c}from"./chunks/framework.DCs21iJA.js";const u=JSON.parse('{"title":"Escrcpy","description":"","frontmatter":{},"headers":[],"relativePath":"zhHans/help/escrcpy.md","filePath":"zhHans/help/escrcpy.md","lastUpdated":1772158243000}'),l={name:"zhHans/help/escrcpy.md"};function t(i,e,d,s,h,n){return o(),r("div",null,[...e[0]||(e[0]=[c('

        Escrcpy

        电脑连接后无法识别设备

        1. 请重新插拔设备,并确保设备已授权USB调试权限。
        2. 若仍无法识别,可能是电脑缺少必要驱动。请使用驱动精灵等第三方工具安装驱动后重试。

        无法输入中文

        在Scrcpy@2.4+及以上版本中,解决方案如下:

        1. Escrcpy设置:进入偏好设置输入控制键盘模式,选择uhid模式。
        2. 设备输入法准备:安装支持物理键盘的输入法(推荐微信输入法)并完成设置。
        3. 启动镜像:点击Escrcpy中的开始镜像。验证:设备的设置系统语言与输入中应显示物理键盘屏幕键盘选项。
        4. 设备输入设置:在屏幕键盘设置中启用微信输入法。在物理键盘设置中配置键盘布局与电脑键盘一致(仅需设置一次)。
        5. 电脑输入准备:将输入模式设置为英文(重要)。
        6. 切换输入语言:使用Ctrl + Shift切换中英文。
        7. 开始使用。

        下载微信输入法

        无线连接提示:目标计算机积极拒绝访问

        首次无线连接可能需要配对。或插入USB确保连接建立并授权成功后再使用无线。

        数据线连接后点击无线模式无响应

        请再次点击,或点击刷新设备。通常不会超过两次点击。若仍无效,请提交设备型号和安卓版本至Issues

        为何设备交互控制栏未设计为自动贴边的悬浮菜单?

        需注意,原则上Escrcpy只是基于Scrcpy的GUI版本,尽管扩展了部分功能,但这些扩展不影响Scrcpy核心。实现该特性需修改底层Scrcpy代码,这会导致Escrcpy更难同步Scrcpy更新,弊大于利。

        因此,经慎重考虑,我们决定采用现有方案,并期待Scrcpy未来原生支持交互控制栏。

        部分设备连接后可见画面但无法操作

        注:小米手机尤其需注意,除开启USB调试外,还需开启USB调试(安全设置),即允许通过USB调试修改权限或模拟点击。

        详细说明请参考鼠标键盘无法工作的原因

        下载时提示杀毒检测导致无法正常下载

        经反馈,因缺少证书签名,Windows Defender偶会拦截软件包下载。可尝试以下方案:

        1. 打开Windows安全中心
        2. 选择病毒和威胁防护
        3. 病毒和威胁防护设置中点击管理设置
        4. 找到实时保护,若权限允许可尝试点击关闭。若无法关闭实时保护,请跳过此步。
        5. 向下滚动页面,找到排除项,点击添加或删除排除项
        6. 将下载软件包的文件夹路径添加为排除项,即加入排除列表

        启动镜像/录制时获取设备列表失败或报错

        通常由AdbScrcpy路径错误引起,可尝试以下方案:

        1. 在菜单中选择偏好设置,点击全局模式右上角的重置配置按钮。
        2. 进入设备列表页面重试启用镜像。
        3. 确保已下载安装最新版Escrcpy
        4. Ctrl + Shift + I打开开发者工具检查报错信息。
        5. 若有报错,截图并提交至反馈Issues页面。

        macOS窗口最小化至系统托盘图标未找到

        通常因系统托盘图标过多溢出隐藏了Escrcpy图标。可尝试使用以下工具:

        macOS安装成功后打开提示文件已损坏

        通常因软件包未签名导致。可尝试以下方案:

        1. 打开终端执行sudo spctl --master-disable允许任何来源软件。
        2. 打开终端执行sudo xattr -r -d com.apple.quarantine /Applications/Escrcpy.app尝试修复损坏提示。

        无法定位程序输入点DiscardvirtualMemory于动态链接库Kernel32.dll上

        仅支持Windows 10及以上版本。

        音频捕获异常导致镜像失败

        通常因电脑缺少音频输出或安卓版本过低(Android 11+)。

        请尝试通过偏好设置禁用音频转发功能解决此问题。

        微软商店版镜像启动报错

        因安装目录文件缺少执行权限引起。

        需自定义scrcpyadb的文件路径(确保有执行权限)。若使用反向网络共享,需同样配置gnirehtet

        无法执行"adb start-server"

        可能是安装路径包含中文或特殊字符。请尝试更改安装路径。

        Linux系统安装后无法打开

        部分流行发行版(如Ubuntu 24.04)对AppImage应用新增了沙盒使用限制。临时解决方案如下:

        shell
        sudo chmod 4755 /opt/Escrcpy/chrome-sandbox

        调整投屏窗口大小后出现黑边

        当调整投屏窗口尺寸后出现黑边时,只需双击黑边区域即可让其自动隐藏。

        ',44)])])}const b=a(l,[["render",t]]);export{u as __pageData,b as default}; +import{e as a,o,a as r,ag as c}from"./chunks/framework.DCs21iJA.js";const u=JSON.parse('{"title":"Escrcpy","description":"","frontmatter":{},"headers":[],"relativePath":"zhHans/help/escrcpy.md","filePath":"zhHans/help/escrcpy.md","lastUpdated":1772158834000}'),l={name:"zhHans/help/escrcpy.md"};function t(i,e,d,s,h,n){return o(),r("div",null,[...e[0]||(e[0]=[c('

        Escrcpy

        电脑连接后无法识别设备

        1. 请重新插拔设备,并确保设备已授权USB调试权限。
        2. 若仍无法识别,可能是电脑缺少必要驱动。请使用驱动精灵等第三方工具安装驱动后重试。

        无法输入中文

        在Scrcpy@2.4+及以上版本中,解决方案如下:

        1. Escrcpy设置:进入偏好设置输入控制键盘模式,选择uhid模式。
        2. 设备输入法准备:安装支持物理键盘的输入法(推荐微信输入法)并完成设置。
        3. 启动镜像:点击Escrcpy中的开始镜像。验证:设备的设置系统语言与输入中应显示物理键盘屏幕键盘选项。
        4. 设备输入设置:在屏幕键盘设置中启用微信输入法。在物理键盘设置中配置键盘布局与电脑键盘一致(仅需设置一次)。
        5. 电脑输入准备:将输入模式设置为英文(重要)。
        6. 切换输入语言:使用Ctrl + Shift切换中英文。
        7. 开始使用。

        下载微信输入法

        无线连接提示:目标计算机积极拒绝访问

        首次无线连接可能需要配对。或插入USB确保连接建立并授权成功后再使用无线。

        数据线连接后点击无线模式无响应

        请再次点击,或点击刷新设备。通常不会超过两次点击。若仍无效,请提交设备型号和安卓版本至Issues

        为何设备交互控制栏未设计为自动贴边的悬浮菜单?

        需注意,原则上Escrcpy只是基于Scrcpy的GUI版本,尽管扩展了部分功能,但这些扩展不影响Scrcpy核心。实现该特性需修改底层Scrcpy代码,这会导致Escrcpy更难同步Scrcpy更新,弊大于利。

        因此,经慎重考虑,我们决定采用现有方案,并期待Scrcpy未来原生支持交互控制栏。

        部分设备连接后可见画面但无法操作

        注:小米手机尤其需注意,除开启USB调试外,还需开启USB调试(安全设置),即允许通过USB调试修改权限或模拟点击。

        详细说明请参考鼠标键盘无法工作的原因

        下载时提示杀毒检测导致无法正常下载

        经反馈,因缺少证书签名,Windows Defender偶会拦截软件包下载。可尝试以下方案:

        1. 打开Windows安全中心
        2. 选择病毒和威胁防护
        3. 病毒和威胁防护设置中点击管理设置
        4. 找到实时保护,若权限允许可尝试点击关闭。若无法关闭实时保护,请跳过此步。
        5. 向下滚动页面,找到排除项,点击添加或删除排除项
        6. 将下载软件包的文件夹路径添加为排除项,即加入排除列表

        启动镜像/录制时获取设备列表失败或报错

        通常由AdbScrcpy路径错误引起,可尝试以下方案:

        1. 在菜单中选择偏好设置,点击全局模式右上角的重置配置按钮。
        2. 进入设备列表页面重试启用镜像。
        3. 确保已下载安装最新版Escrcpy
        4. Ctrl + Shift + I打开开发者工具检查报错信息。
        5. 若有报错,截图并提交至反馈Issues页面。

        macOS窗口最小化至系统托盘图标未找到

        通常因系统托盘图标过多溢出隐藏了Escrcpy图标。可尝试使用以下工具:

        macOS安装成功后打开提示文件已损坏

        通常因软件包未签名导致。可尝试以下方案:

        1. 打开终端执行sudo spctl --master-disable允许任何来源软件。
        2. 打开终端执行sudo xattr -r -d com.apple.quarantine /Applications/Escrcpy.app尝试修复损坏提示。

        无法定位程序输入点DiscardvirtualMemory于动态链接库Kernel32.dll上

        仅支持Windows 10及以上版本。

        音频捕获异常导致镜像失败

        通常因电脑缺少音频输出或安卓版本过低(Android 11+)。

        请尝试通过偏好设置禁用音频转发功能解决此问题。

        微软商店版镜像启动报错

        因安装目录文件缺少执行权限引起。

        需自定义scrcpyadb的文件路径(确保有执行权限)。若使用反向网络共享,需同样配置gnirehtet

        无法执行"adb start-server"

        可能是安装路径包含中文或特殊字符。请尝试更改安装路径。

        Linux系统安装后无法打开

        部分流行发行版(如Ubuntu 24.04)对AppImage应用新增了沙盒使用限制。临时解决方案如下:

        shell
        sudo chmod 4755 /opt/Escrcpy/chrome-sandbox

        调整投屏窗口大小后出现黑边

        当调整投屏窗口尺寸后出现黑边时,只需双击黑边区域即可让其自动隐藏。

        ',44)])])}const b=a(l,[["render",t]]);export{u as __pageData,b as default}; diff --git a/assets/zhHans_help_escrcpy.md.BkuUUzQz.lean.js b/assets/zhHans_help_escrcpy.md.BofQfbxm.lean.js similarity index 85% rename from assets/zhHans_help_escrcpy.md.BkuUUzQz.lean.js rename to assets/zhHans_help_escrcpy.md.BofQfbxm.lean.js index 026589ee5..d278208e5 100644 --- a/assets/zhHans_help_escrcpy.md.BkuUUzQz.lean.js +++ b/assets/zhHans_help_escrcpy.md.BofQfbxm.lean.js @@ -1 +1 @@ -import{e as a,o,a as r,ag as c}from"./chunks/framework.DCs21iJA.js";const u=JSON.parse('{"title":"Escrcpy","description":"","frontmatter":{},"headers":[],"relativePath":"zhHans/help/escrcpy.md","filePath":"zhHans/help/escrcpy.md","lastUpdated":1772158243000}'),l={name:"zhHans/help/escrcpy.md"};function t(i,e,d,s,h,n){return o(),r("div",null,[...e[0]||(e[0]=[c("",44)])])}const b=a(l,[["render",t]]);export{u as __pageData,b as default}; +import{e as a,o,a as r,ag as c}from"./chunks/framework.DCs21iJA.js";const u=JSON.parse('{"title":"Escrcpy","description":"","frontmatter":{},"headers":[],"relativePath":"zhHans/help/escrcpy.md","filePath":"zhHans/help/escrcpy.md","lastUpdated":1772158834000}'),l={name:"zhHans/help/escrcpy.md"};function t(i,e,d,s,h,n){return o(),r("div",null,[...e[0]||(e[0]=[c("",44)])])}const b=a(l,[["render",t]]);export{u as __pageData,b as default}; diff --git a/assets/zhHans_help_index.md.DxcB-sqm.js b/assets/zhHans_help_index.md.wiv2MIiK.js similarity index 92% rename from assets/zhHans_help_index.md.DxcB-sqm.js rename to assets/zhHans_help_index.md.wiv2MIiK.js index 92a4a27de..d089d410d 100644 --- a/assets/zhHans_help_index.md.DxcB-sqm.js +++ b/assets/zhHans_help_index.md.wiv2MIiK.js @@ -1 +1 @@ -import{e as t,o as r,a as n,h as e,J as l}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"帮助","description":"","frontmatter":{"title":"帮助"},"headers":[],"relativePath":"zhHans/help/index.md","filePath":"zhHans/help/index.md","lastUpdated":1772158243000}'),s={name:"zhHans/help/index.md"};function c(p,a,d,i,o,h){return r(),n("div",null,[...a[0]||(a[0]=[e("h1",{id:"帮助中心",tabindex:"-1"},[l("帮助中心 "),e("a",{class:"header-anchor",href:"#帮助中心","aria-label":'Permalink to "帮助中心"'},"​")],-1),e("p",null,"本节为Escrcpy和Scrcpy用户提供了解决常见问题的解决方案。",-1),e("ul",null,[e("li",null,[e("a",{href:"/zhHans/help/escrcpy"},"Escrcpy")]),e("li",null,[e("a",{href:"/zhHans/help/scrcpy"},"Scrcpy")])],-1)])])}const u=t(s,[["render",c]]);export{m as __pageData,u as default}; +import{e as t,o as r,a as n,h as e,J as l}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"帮助","description":"","frontmatter":{"title":"帮助"},"headers":[],"relativePath":"zhHans/help/index.md","filePath":"zhHans/help/index.md","lastUpdated":1772158834000}'),s={name:"zhHans/help/index.md"};function c(p,a,d,i,o,h){return r(),n("div",null,[...a[0]||(a[0]=[e("h1",{id:"帮助中心",tabindex:"-1"},[l("帮助中心 "),e("a",{class:"header-anchor",href:"#帮助中心","aria-label":'Permalink to "帮助中心"'},"​")],-1),e("p",null,"本节为Escrcpy和Scrcpy用户提供了解决常见问题的解决方案。",-1),e("ul",null,[e("li",null,[e("a",{href:"/zhHans/help/escrcpy"},"Escrcpy")]),e("li",null,[e("a",{href:"/zhHans/help/scrcpy"},"Scrcpy")])],-1)])])}const u=t(s,[["render",c]]);export{m as __pageData,u as default}; diff --git a/assets/zhHans_help_index.md.DxcB-sqm.lean.js b/assets/zhHans_help_index.md.wiv2MIiK.lean.js similarity index 92% rename from assets/zhHans_help_index.md.DxcB-sqm.lean.js rename to assets/zhHans_help_index.md.wiv2MIiK.lean.js index 92a4a27de..d089d410d 100644 --- a/assets/zhHans_help_index.md.DxcB-sqm.lean.js +++ b/assets/zhHans_help_index.md.wiv2MIiK.lean.js @@ -1 +1 @@ -import{e as t,o as r,a as n,h as e,J as l}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"帮助","description":"","frontmatter":{"title":"帮助"},"headers":[],"relativePath":"zhHans/help/index.md","filePath":"zhHans/help/index.md","lastUpdated":1772158243000}'),s={name:"zhHans/help/index.md"};function c(p,a,d,i,o,h){return r(),n("div",null,[...a[0]||(a[0]=[e("h1",{id:"帮助中心",tabindex:"-1"},[l("帮助中心 "),e("a",{class:"header-anchor",href:"#帮助中心","aria-label":'Permalink to "帮助中心"'},"​")],-1),e("p",null,"本节为Escrcpy和Scrcpy用户提供了解决常见问题的解决方案。",-1),e("ul",null,[e("li",null,[e("a",{href:"/zhHans/help/escrcpy"},"Escrcpy")]),e("li",null,[e("a",{href:"/zhHans/help/scrcpy"},"Scrcpy")])],-1)])])}const u=t(s,[["render",c]]);export{m as __pageData,u as default}; +import{e as t,o as r,a as n,h as e,J as l}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"帮助","description":"","frontmatter":{"title":"帮助"},"headers":[],"relativePath":"zhHans/help/index.md","filePath":"zhHans/help/index.md","lastUpdated":1772158834000}'),s={name:"zhHans/help/index.md"};function c(p,a,d,i,o,h){return r(),n("div",null,[...a[0]||(a[0]=[e("h1",{id:"帮助中心",tabindex:"-1"},[l("帮助中心 "),e("a",{class:"header-anchor",href:"#帮助中心","aria-label":'Permalink to "帮助中心"'},"​")],-1),e("p",null,"本节为Escrcpy和Scrcpy用户提供了解决常见问题的解决方案。",-1),e("ul",null,[e("li",null,[e("a",{href:"/zhHans/help/escrcpy"},"Escrcpy")]),e("li",null,[e("a",{href:"/zhHans/help/scrcpy"},"Scrcpy")])],-1)])])}const u=t(s,[["render",c]]);export{m as __pageData,u as default}; diff --git a/assets/zhHans_help_scrcpy.md.SyGcfN8V.js b/assets/zhHans_help_scrcpy.md.ANaTnpEI.js similarity index 99% rename from assets/zhHans_help_scrcpy.md.SyGcfN8V.js rename to assets/zhHans_help_scrcpy.md.ANaTnpEI.js index 5b28d7fe1..52c81fe21 100644 --- a/assets/zhHans_help_scrcpy.md.SyGcfN8V.js +++ b/assets/zhHans_help_scrcpy.md.ANaTnpEI.js @@ -1,4 +1,4 @@ -import{e,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const b=JSON.parse('{"title":"Scrcpy","description":"","frontmatter":{},"headers":[],"relativePath":"zhHans/help/scrcpy.md","filePath":"zhHans/help/scrcpy.md","lastUpdated":1772158243000}'),r={name:"zhHans/help/scrcpy.md"};function n(o,a,l,p,h,d){return s(),i("div",null,[...a[0]||(a[0]=[t(`

        Scrcpy

        以下是常见问题及其状态报告。 遇到任何错误时,请首先升级至最新版本。

        adb 与 USB 问题

        scrcpy 通过执行 adb 命令初始化设备连接。若 adb 失败,则 scrcpy 无法工作。 这通常并非 scrcpy 的 bug,而是环境配置问题。

        adb 未找到

        需确保 adb 位于 PATH 环境变量中。 Windows 版本已默认包含 adb.exe 且当前目录在 PATH 中,因此开箱即用。

        设备未检测到

        ERROR: 未找到任何 ADB 设备
        +import{e,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const b=JSON.parse('{"title":"Scrcpy","description":"","frontmatter":{},"headers":[],"relativePath":"zhHans/help/scrcpy.md","filePath":"zhHans/help/scrcpy.md","lastUpdated":1772158834000}'),r={name:"zhHans/help/scrcpy.md"};function n(o,a,l,p,h,d){return s(),i("div",null,[...a[0]||(a[0]=[t(`

        Scrcpy

        以下是常见问题及其状态报告。 遇到任何错误时,请首先升级至最新版本。

        adb 与 USB 问题

        scrcpy 通过执行 adb 命令初始化设备连接。若 adb 失败,则 scrcpy 无法工作。 这通常并非 scrcpy 的 bug,而是环境配置问题。

        adb 未找到

        需确保 adb 位于 PATH 环境变量中。 Windows 版本已默认包含 adb.exe 且当前目录在 PATH 中,因此开箱即用。

        设备未检测到

        ERROR: 未找到任何 ADB 设备
         

        请确认已正确启用 adb 调试。 通过以下命令检查设备是否被识别:

        adb devices

        若设备未列出,可能需要安装驱动(Windows 系统)。Google 设备需单独安装 USB 驱动

        设备未授权

        ERROR: 设备未授权:
         ERROR:     -->   (usb)  0123456789abcdef          unauthorized
         ERROR: 设备端应弹出授权请求窗口
        diff --git a/assets/zhHans_help_scrcpy.md.SyGcfN8V.lean.js b/assets/zhHans_help_scrcpy.md.ANaTnpEI.lean.js
        similarity index 85%
        rename from assets/zhHans_help_scrcpy.md.SyGcfN8V.lean.js
        rename to assets/zhHans_help_scrcpy.md.ANaTnpEI.lean.js
        index 94499bb1d..9647a9c0c 100644
        --- a/assets/zhHans_help_scrcpy.md.SyGcfN8V.lean.js
        +++ b/assets/zhHans_help_scrcpy.md.ANaTnpEI.lean.js
        @@ -1 +1 @@
        -import{e,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const b=JSON.parse('{"title":"Scrcpy","description":"","frontmatter":{},"headers":[],"relativePath":"zhHans/help/scrcpy.md","filePath":"zhHans/help/scrcpy.md","lastUpdated":1772158243000}'),r={name:"zhHans/help/scrcpy.md"};function n(o,a,l,p,h,d){return s(),i("div",null,[...a[0]||(a[0]=[t("",54)])])}const k=e(r,[["render",n]]);export{b as __pageData,k as default};
        +import{e,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const b=JSON.parse('{"title":"Scrcpy","description":"","frontmatter":{},"headers":[],"relativePath":"zhHans/help/scrcpy.md","filePath":"zhHans/help/scrcpy.md","lastUpdated":1772158834000}'),r={name:"zhHans/help/scrcpy.md"};function n(o,a,l,p,h,d){return s(),i("div",null,[...a[0]||(a[0]=[t("",54)])])}const k=e(r,[["render",n]]);export{b as __pageData,k as default};
        diff --git a/assets/zhHans_index.md.C8TJL9vp.js b/assets/zhHans_index.md.BC_eRWg5.js
        similarity index 95%
        rename from assets/zhHans_index.md.C8TJL9vp.js
        rename to assets/zhHans_index.md.BC_eRWg5.js
        index a92dcea06..57ace504d 100644
        --- a/assets/zhHans_index.md.C8TJL9vp.js
        +++ b/assets/zhHans_index.md.BC_eRWg5.js
        @@ -1 +1 @@
        -import{e,o as t,a}from"./chunks/framework.DCs21iJA.js";const h=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Escrcpy","text":"使用图形化的 scrcpy 显示和控制你的安卓设备","tagline":"Powered by electron.","image":{"src":"/images/logo@1024x1024.png","alt":"Escrcpy"},"actions":[{"theme":"brand","text":"快速上手 👉","link":"/zhHans/guide/started"},{"theme":"alt","text":"帮助","link":"/zhHans/help/escrcpy"},{"theme":"alt","text":"Github","link":"https://github.com/viarotel-org/escrcpy"}]},"features":[{"icon":"🤖","title":"智能控制","details":"基于 AutoGLM 的自然语言指令,智能操控 Android 设备"},{"icon":"🏃","title":"自动化与效率","details":"自动化流程执行,支持多设备并行操作"},{"icon":"🪟","title":"多设备管理","details":"可视化窗口编排,统一管理多台设备"},{"icon":"📡","title":"连接与网络","details":"无线连接与 Gnirehtet 反向供网支持"},{"icon":"⚡️","title":"Scrcpy 内核","details":"基于 Scrcpy 的高性能、低延迟屏幕镜像"}]},"headers":[],"relativePath":"zhHans/index.md","filePath":"zhHans/index.md","lastUpdated":1772158243000}'),i={name:"zhHans/index.md"};function n(s,c,r,o,l,d){return t(),a("div")}const m=e(i,[["render",n]]);export{h as __pageData,m as default};
        +import{e,o as t,a}from"./chunks/framework.DCs21iJA.js";const h=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Escrcpy","text":"使用图形化的 scrcpy 显示和控制你的安卓设备","tagline":"Powered by electron.","image":{"src":"/images/logo@1024x1024.png","alt":"Escrcpy"},"actions":[{"theme":"brand","text":"快速上手 👉","link":"/zhHans/guide/started"},{"theme":"alt","text":"帮助","link":"/zhHans/help/escrcpy"},{"theme":"alt","text":"Github","link":"https://github.com/viarotel-org/escrcpy"}]},"features":[{"icon":"🤖","title":"智能控制","details":"基于 AutoGLM 的自然语言指令,智能操控 Android 设备"},{"icon":"🏃","title":"自动化与效率","details":"自动化流程执行,支持多设备并行操作"},{"icon":"🪟","title":"多设备管理","details":"可视化窗口编排,统一管理多台设备"},{"icon":"📡","title":"连接与网络","details":"无线连接与 Gnirehtet 反向供网支持"},{"icon":"⚡️","title":"Scrcpy 内核","details":"基于 Scrcpy 的高性能、低延迟屏幕镜像"}]},"headers":[],"relativePath":"zhHans/index.md","filePath":"zhHans/index.md","lastUpdated":1772158834000}'),i={name:"zhHans/index.md"};function n(s,c,r,o,l,d){return t(),a("div")}const m=e(i,[["render",n]]);export{h as __pageData,m as default};
        diff --git a/assets/zhHans_index.md.C8TJL9vp.lean.js b/assets/zhHans_index.md.BC_eRWg5.lean.js
        similarity index 95%
        rename from assets/zhHans_index.md.C8TJL9vp.lean.js
        rename to assets/zhHans_index.md.BC_eRWg5.lean.js
        index a92dcea06..57ace504d 100644
        --- a/assets/zhHans_index.md.C8TJL9vp.lean.js
        +++ b/assets/zhHans_index.md.BC_eRWg5.lean.js
        @@ -1 +1 @@
        -import{e,o as t,a}from"./chunks/framework.DCs21iJA.js";const h=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Escrcpy","text":"使用图形化的 scrcpy 显示和控制你的安卓设备","tagline":"Powered by electron.","image":{"src":"/images/logo@1024x1024.png","alt":"Escrcpy"},"actions":[{"theme":"brand","text":"快速上手 👉","link":"/zhHans/guide/started"},{"theme":"alt","text":"帮助","link":"/zhHans/help/escrcpy"},{"theme":"alt","text":"Github","link":"https://github.com/viarotel-org/escrcpy"}]},"features":[{"icon":"🤖","title":"智能控制","details":"基于 AutoGLM 的自然语言指令,智能操控 Android 设备"},{"icon":"🏃","title":"自动化与效率","details":"自动化流程执行,支持多设备并行操作"},{"icon":"🪟","title":"多设备管理","details":"可视化窗口编排,统一管理多台设备"},{"icon":"📡","title":"连接与网络","details":"无线连接与 Gnirehtet 反向供网支持"},{"icon":"⚡️","title":"Scrcpy 内核","details":"基于 Scrcpy 的高性能、低延迟屏幕镜像"}]},"headers":[],"relativePath":"zhHans/index.md","filePath":"zhHans/index.md","lastUpdated":1772158243000}'),i={name:"zhHans/index.md"};function n(s,c,r,o,l,d){return t(),a("div")}const m=e(i,[["render",n]]);export{h as __pageData,m as default};
        +import{e,o as t,a}from"./chunks/framework.DCs21iJA.js";const h=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Escrcpy","text":"使用图形化的 scrcpy 显示和控制你的安卓设备","tagline":"Powered by electron.","image":{"src":"/images/logo@1024x1024.png","alt":"Escrcpy"},"actions":[{"theme":"brand","text":"快速上手 👉","link":"/zhHans/guide/started"},{"theme":"alt","text":"帮助","link":"/zhHans/help/escrcpy"},{"theme":"alt","text":"Github","link":"https://github.com/viarotel-org/escrcpy"}]},"features":[{"icon":"🤖","title":"智能控制","details":"基于 AutoGLM 的自然语言指令,智能操控 Android 设备"},{"icon":"🏃","title":"自动化与效率","details":"自动化流程执行,支持多设备并行操作"},{"icon":"🪟","title":"多设备管理","details":"可视化窗口编排,统一管理多台设备"},{"icon":"📡","title":"连接与网络","details":"无线连接与 Gnirehtet 反向供网支持"},{"icon":"⚡️","title":"Scrcpy 内核","details":"基于 Scrcpy 的高性能、低延迟屏幕镜像"}]},"headers":[],"relativePath":"zhHans/index.md","filePath":"zhHans/index.md","lastUpdated":1772158834000}'),i={name:"zhHans/index.md"};function n(s,c,r,o,l,d){return t(),a("div")}const m=e(i,[["render",n]]);export{h as __pageData,m as default};
        diff --git a/assets/zhHans_reference_gnirehtet_api.md.BTgPaxP4.js b/assets/zhHans_reference_gnirehtet_api.md.CPSEyAUG.js
        similarity index 99%
        rename from assets/zhHans_reference_gnirehtet_api.md.BTgPaxP4.js
        rename to assets/zhHans_reference_gnirehtet_api.md.CPSEyAUG.js
        index ed9fa5244..7342ca818 100644
        --- a/assets/zhHans_reference_gnirehtet_api.md.BTgPaxP4.js
        +++ b/assets/zhHans_reference_gnirehtet_api.md.CPSEyAUG.js
        @@ -1 +1 @@
        -import{e as i,o as a,a as t,ag as e}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"API(接口文档)","description":"","frontmatter":{"title":"API(接口文档)"},"headers":[],"relativePath":"zhHans/reference/gnirehtet/api.md","filePath":"zhHans/reference/gnirehtet/api.md","lastUpdated":1772158243000}'),n={name:"zhHans/reference/gnirehtet/api.md"};function h(p,s,l,r,d,o){return a(),t("div",null,[...s[0]||(s[0]=[e('

        Gnirehtet API

        gnirehtet 是一款用于在安卓设备上实现反向网络共享的工具,允许设备通过USB共享电脑的网络连接。以下是各命令的详细用法及示例。

        gnirehtet install [serial]

        描述:在指定的安卓设备上安装客户端并退出。若连接了多个设备,必须提供 serial 参数。

        示例用法

        bash
        gnirehtet install

        若连接了多个设备,指定设备序列号:

        bash
        gnirehtet install 1234567890ABCDEF

        gnirehtet uninstall [serial]

        描述:从指定的安卓设备上卸载客户端并退出。若连接了多个设备,必须提供 serial 参数。

        示例用法

        bash
        gnirehtet uninstall

        若连接了多个设备,指定设备序列号:

        bash
        gnirehtet uninstall 1234567890ABCDEF

        gnirehtet reinstall [serial]

        描述:先卸载再安装客户端。

        示例用法

        bash
        gnirehtet reinstall

        若连接了多个设备,指定设备序列号:

        bash
        gnirehtet reinstall 1234567890ABCDEF

        gnirehtet run [serial] [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]

        描述:为单一设备启用反向网络共享:

        • 必要时安装客户端。
        • 启动客户端。
        • 启动中继服务器。
        • 按下 Ctrl+C 时,停止中继服务器和客户端。

        示例用法

        bash
        gnirehtet run

        指定DNS服务器:

        bash
        gnirehtet run -d 8.8.8.8,8.8.4.4

        指定端口:

        bash
        gnirehtet run -p 8080

        指定路由:

        bash
        gnirehtet run -r 192.168.1.0/24

        gnirehtet autorun [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]

        描述:为所有设备启用反向网络共享:

        • 监控设备并自动启动客户端。
        • 启动中继服务器。

        示例用法

        bash
        gnirehtet autorun

        指定DNS服务器:

        bash
        gnirehtet autorun -d 8.8.8.8,8.8.4.4

        指定端口:

        bash
        gnirehtet autorun -p 8080

        指定路由:

        bash
        gnirehtet autorun -r 192.168.1.0/24

        gnirehtet start [serial] [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]

        描述:在安卓设备上启动客户端并退出。

        • 若指定 -d,设备将使用指定的DNS服务器。
        • 若指定 -r,仅反向共享指定的路由。
        • 若指定 -p,中继服务器将监听指定端口。

        示例用法

        bash
        gnirehtet start

        指定设备序列号:

        bash
        gnirehtet start 1234567890ABCDEF

        指定DNS服务器:

        bash
        gnirehtet start -d 8.8.8.8,8.8.4.4

        指定端口:

        bash
        gnirehtet start -p 8080

        指定路由:

        bash
        gnirehtet start -r 192.168.1.0/24

        gnirehtet autostart [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]

        描述:监听设备连接并为每个检测到的设备启动客户端。

        • 参数与 start 命令相同(无需指定序列号,将自动从检测到的设备获取)。

        示例用法

        bash
        gnirehtet autostart

        指定DNS服务器:

        bash
        gnirehtet autostart -d 8.8.8.8,8.8.4.4

        指定端口:

        bash
        gnirehtet autostart -p 8080

        指定路由:

        bash
        gnirehtet autostart -r 192.168.1.0/24

        gnirehtet stop [serial]

        描述:停止指定安卓设备上的客户端并退出。

        示例用法

        bash
        gnirehtet stop

        指定设备序列号:

        bash
        gnirehtet stop 1234567890ABCDEF

        gnirehtet restart [serial] [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]

        描述:停止当前客户端并重新启动。

        示例用法

        bash
        gnirehtet restart

        指定设备序列号:

        bash
        gnirehtet restart 1234567890ABCDEF

        指定DNS服务器:

        bash
        gnirehtet restart -d 8.8.8.8,8.8.4.4

        指定端口:

        bash
        gnirehtet restart -p 8080

        指定路由:

        bash
        gnirehtet restart -r 192.168.1.0/24

        gnirehtet tunnel [serial] [-p PORT]

        描述:设置 adb reverse 隧道。若设备在 gnirehtet 运行期间断开并重新连接,重置隧道可恢复连接。

        示例用法

        bash
        gnirehtet tunnel

        指定设备序列号:

        bash
        gnirehtet tunnel 1234567890ABCDEF

        指定端口:

        bash
        gnirehtet tunnel -p 8080

        gnirehtet relay [-p PORT]

        描述:在当前终端启动中继服务器。

        示例用法

        bash
        gnirehtet relay

        指定端口:

        bash
        gnirehtet relay -p 8080
        ',98)])])}const c=i(n,[["render",h]]);export{k as __pageData,c as default}; +import{e as i,o as a,a as t,ag as e}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"API(接口文档)","description":"","frontmatter":{"title":"API(接口文档)"},"headers":[],"relativePath":"zhHans/reference/gnirehtet/api.md","filePath":"zhHans/reference/gnirehtet/api.md","lastUpdated":1772158834000}'),n={name:"zhHans/reference/gnirehtet/api.md"};function h(p,s,l,r,d,o){return a(),t("div",null,[...s[0]||(s[0]=[e('

        Gnirehtet API

        gnirehtet 是一款用于在安卓设备上实现反向网络共享的工具,允许设备通过USB共享电脑的网络连接。以下是各命令的详细用法及示例。

        gnirehtet install [serial]

        描述:在指定的安卓设备上安装客户端并退出。若连接了多个设备,必须提供 serial 参数。

        示例用法

        bash
        gnirehtet install

        若连接了多个设备,指定设备序列号:

        bash
        gnirehtet install 1234567890ABCDEF

        gnirehtet uninstall [serial]

        描述:从指定的安卓设备上卸载客户端并退出。若连接了多个设备,必须提供 serial 参数。

        示例用法

        bash
        gnirehtet uninstall

        若连接了多个设备,指定设备序列号:

        bash
        gnirehtet uninstall 1234567890ABCDEF

        gnirehtet reinstall [serial]

        描述:先卸载再安装客户端。

        示例用法

        bash
        gnirehtet reinstall

        若连接了多个设备,指定设备序列号:

        bash
        gnirehtet reinstall 1234567890ABCDEF

        gnirehtet run [serial] [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]

        描述:为单一设备启用反向网络共享:

        • 必要时安装客户端。
        • 启动客户端。
        • 启动中继服务器。
        • 按下 Ctrl+C 时,停止中继服务器和客户端。

        示例用法

        bash
        gnirehtet run

        指定DNS服务器:

        bash
        gnirehtet run -d 8.8.8.8,8.8.4.4

        指定端口:

        bash
        gnirehtet run -p 8080

        指定路由:

        bash
        gnirehtet run -r 192.168.1.0/24

        gnirehtet autorun [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]

        描述:为所有设备启用反向网络共享:

        • 监控设备并自动启动客户端。
        • 启动中继服务器。

        示例用法

        bash
        gnirehtet autorun

        指定DNS服务器:

        bash
        gnirehtet autorun -d 8.8.8.8,8.8.4.4

        指定端口:

        bash
        gnirehtet autorun -p 8080

        指定路由:

        bash
        gnirehtet autorun -r 192.168.1.0/24

        gnirehtet start [serial] [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]

        描述:在安卓设备上启动客户端并退出。

        • 若指定 -d,设备将使用指定的DNS服务器。
        • 若指定 -r,仅反向共享指定的路由。
        • 若指定 -p,中继服务器将监听指定端口。

        示例用法

        bash
        gnirehtet start

        指定设备序列号:

        bash
        gnirehtet start 1234567890ABCDEF

        指定DNS服务器:

        bash
        gnirehtet start -d 8.8.8.8,8.8.4.4

        指定端口:

        bash
        gnirehtet start -p 8080

        指定路由:

        bash
        gnirehtet start -r 192.168.1.0/24

        gnirehtet autostart [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]

        描述:监听设备连接并为每个检测到的设备启动客户端。

        • 参数与 start 命令相同(无需指定序列号,将自动从检测到的设备获取)。

        示例用法

        bash
        gnirehtet autostart

        指定DNS服务器:

        bash
        gnirehtet autostart -d 8.8.8.8,8.8.4.4

        指定端口:

        bash
        gnirehtet autostart -p 8080

        指定路由:

        bash
        gnirehtet autostart -r 192.168.1.0/24

        gnirehtet stop [serial]

        描述:停止指定安卓设备上的客户端并退出。

        示例用法

        bash
        gnirehtet stop

        指定设备序列号:

        bash
        gnirehtet stop 1234567890ABCDEF

        gnirehtet restart [serial] [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]

        描述:停止当前客户端并重新启动。

        示例用法

        bash
        gnirehtet restart

        指定设备序列号:

        bash
        gnirehtet restart 1234567890ABCDEF

        指定DNS服务器:

        bash
        gnirehtet restart -d 8.8.8.8,8.8.4.4

        指定端口:

        bash
        gnirehtet restart -p 8080

        指定路由:

        bash
        gnirehtet restart -r 192.168.1.0/24

        gnirehtet tunnel [serial] [-p PORT]

        描述:设置 adb reverse 隧道。若设备在 gnirehtet 运行期间断开并重新连接,重置隧道可恢复连接。

        示例用法

        bash
        gnirehtet tunnel

        指定设备序列号:

        bash
        gnirehtet tunnel 1234567890ABCDEF

        指定端口:

        bash
        gnirehtet tunnel -p 8080

        gnirehtet relay [-p PORT]

        描述:在当前终端启动中继服务器。

        示例用法

        bash
        gnirehtet relay

        指定端口:

        bash
        gnirehtet relay -p 8080
        ',98)])])}const c=i(n,[["render",h]]);export{k as __pageData,c as default}; diff --git a/assets/zhHans_reference_gnirehtet_api.md.BTgPaxP4.lean.js b/assets/zhHans_reference_gnirehtet_api.md.CPSEyAUG.lean.js similarity index 87% rename from assets/zhHans_reference_gnirehtet_api.md.BTgPaxP4.lean.js rename to assets/zhHans_reference_gnirehtet_api.md.CPSEyAUG.lean.js index 62c970808..020a48852 100644 --- a/assets/zhHans_reference_gnirehtet_api.md.BTgPaxP4.lean.js +++ b/assets/zhHans_reference_gnirehtet_api.md.CPSEyAUG.lean.js @@ -1 +1 @@ -import{e as i,o as a,a as t,ag as e}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"API(接口文档)","description":"","frontmatter":{"title":"API(接口文档)"},"headers":[],"relativePath":"zhHans/reference/gnirehtet/api.md","filePath":"zhHans/reference/gnirehtet/api.md","lastUpdated":1772158243000}'),n={name:"zhHans/reference/gnirehtet/api.md"};function h(p,s,l,r,d,o){return a(),t("div",null,[...s[0]||(s[0]=[e("",98)])])}const c=i(n,[["render",h]]);export{k as __pageData,c as default}; +import{e as i,o as a,a as t,ag as e}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"API(接口文档)","description":"","frontmatter":{"title":"API(接口文档)"},"headers":[],"relativePath":"zhHans/reference/gnirehtet/api.md","filePath":"zhHans/reference/gnirehtet/api.md","lastUpdated":1772158834000}'),n={name:"zhHans/reference/gnirehtet/api.md"};function h(p,s,l,r,d,o){return a(),t("div",null,[...s[0]||(s[0]=[e("",98)])])}const c=i(n,[["render",h]]);export{k as __pageData,c as default}; diff --git a/assets/zhHans_reference_gnirehtet_index.md.Bk4s4Vk8.js b/assets/zhHans_reference_gnirehtet_index.md.B2aFtpmS.js similarity index 99% rename from assets/zhHans_reference_gnirehtet_index.md.Bk4s4Vk8.js rename to assets/zhHans_reference_gnirehtet_index.md.B2aFtpmS.js index 755bffd70..d78b3a237 100644 --- a/assets/zhHans_reference_gnirehtet_index.md.Bk4s4Vk8.js +++ b/assets/zhHans_reference_gnirehtet_index.md.B2aFtpmS.js @@ -1,4 +1,4 @@ -import{e as a,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const g=JSON.parse('{"title":"Gnirehtet","description":"","frontmatter":{"title":"Gnirehtet"},"headers":[],"relativePath":"zhHans/reference/gnirehtet/index.md","filePath":"zhHans/reference/gnirehtet/index.md","lastUpdated":1772158243000}'),n={name:"zhHans/reference/gnirehtet/index.md"};function l(r,e,h,p,o,d){return s(),i("div",null,[...e[0]||(e[0]=[t(`

        IMPORTANT

        Escrcpy基于以下开源项目构建。相关内容按原样提供,仅供用户参考,并将定期更新。

        Gnirehtet (v2.5.1)

        该项目通过adb为Android设备提供反向网络共享功能:允许设备使用所连接计算机的网络连接。它不需要任何root权限(设备或计算机均无需)。支持GNU/LinuxWindowsMac OS

        目前,它通过IPv4转发TCPUDP流量,但不支持IPv6(未来可能支持?)。

        该项目已不再积极维护,仅修复重大阻塞问题(如构建问题)。但功能仍可正常使用。

        版本

        Gnirehtet提供两种实现:

        • Java版本;
        • Rust版本。

        如何选择?

        推荐使用Rust版本。原生二进制文件占用更少的CPU和内存资源,且无需安装Java运行时环境。

        Gnirehtet的中继服务器最初仅以Java实现,其优势在于支持所有安装了Java 8运行时的平台。目前仍保留该版本,以便在Rust版本出现问题时作为备选方案。

        要求

        Android应用至少需要API 21(Android 5.0)。

        仅针对Java版本,计算机需安装Java 8(JRE)。在基于Debian的系统中,请安装openjdk-8-jre包。

        adb

        需要较新版本的adb(支持adb reverse命令,1.0.36版本已验证可用)。

        可通过Android SDK平台工具获取。

        在基于Debian的系统中,也可安装android-tools-adb包。

        在Windows上,若仅为此应用需要adb,可直接下载平台工具,并将以下文件解压至gnirehtet目录:

        • adb.exe
        • AdbWinApi.dll
        • AdbWinUsbApi.dll

        确保已在设备上启用adb调试

        获取应用

        Homebrew

        若使用Homebrew,安装过程非常简单。安装Rust版本:

        brew install gnirehtet

        下载

        最新发布中下载所需版本。

        Rust

        下载后解压文件。

        Linux和MacOS压缩包包含:

        • gnirehtet.apk
        • gnirehtet

        Windows压缩包包含:

        • gnirehtet.apk
        • gnirehtet.exe
        • gnirehtet-run.cmd

        Java

        解压后包含:

        • gnirehtet.apk
        • gnirehtet.jar
        • gnirehtet
        • gnirehtet.cmd
        • gnirehtet-run.cmd

        运行(简单方式)

        注意:在Windows上,以下命令中的./gnirehtet需替换为gnirehtet

        该应用无用户界面,需通过计算机控制。

        若需为单一设备启用反向网络共享,直接执行:

        shell
        ./gnirehtet run

        反向网络共享将持续生效,直至按下Ctrl+C终止。

        在Windows上,为方便起见,可直接双击gnirehtet-run.cmd(其功能等同于gnirehtet run,无需打开终端)。

        首次启动时会弹出权限请求窗口:

        request

        Gnirehtet激活时,状态栏会显示“钥匙”图标:

        key

        若需为所有已连接设备(包括后续连接的设备)启用反向网络共享,可执行:

        shell
        ./gnirehtet autorun

        运行(分步操作)

        可分别执行各步骤(适用于需同时为多台设备启用反向网络共享的场景)。

        启动中继服务器并保持运行:

        shell
        ./gnirehtet relay

        在Android设备上安装apk

        shell
        ./gnirehtet install [serial]

        在另一终端中,为每个客户端执行:

        shell
        ./gnirehtet start [serial]

        停止客户端:

        shell
        ./gnirehtet stop [serial]

        重置隧道(当设备在Gnirehtet激活时断开并重新连接后,可用于恢复连接):

        shell
        ./gnirehtet tunnel [serial]

        仅当adb devices输出多个设备时,才需指定serial参数。

        高级选项可通过不带参数的./gnirehtet命令查看详情。

        手动运行

        gnirehtet程序提供了简单的命令行接口,实际执行的是底层命令。用户也可手动调用这些命令。

        启动中继服务器:

        shell
        ./gnirehtet relay

        安装apk:

        shell
        adb install -r gnirehtet.apk

        启动客户端:

        shell
        adb reverse localabstract:gnirehtet tcp:31416
        +import{e as a,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const g=JSON.parse('{"title":"Gnirehtet","description":"","frontmatter":{"title":"Gnirehtet"},"headers":[],"relativePath":"zhHans/reference/gnirehtet/index.md","filePath":"zhHans/reference/gnirehtet/index.md","lastUpdated":1772158834000}'),n={name:"zhHans/reference/gnirehtet/index.md"};function l(r,e,h,p,o,d){return s(),i("div",null,[...e[0]||(e[0]=[t(`

        IMPORTANT

        Escrcpy基于以下开源项目构建。相关内容按原样提供,仅供用户参考,并将定期更新。

        Gnirehtet (v2.5.1)

        该项目通过adb为Android设备提供反向网络共享功能:允许设备使用所连接计算机的网络连接。它不需要任何root权限(设备或计算机均无需)。支持GNU/LinuxWindowsMac OS

        目前,它通过IPv4转发TCPUDP流量,但不支持IPv6(未来可能支持?)。

        该项目已不再积极维护,仅修复重大阻塞问题(如构建问题)。但功能仍可正常使用。

        版本

        Gnirehtet提供两种实现:

        • Java版本;
        • Rust版本。

        如何选择?

        推荐使用Rust版本。原生二进制文件占用更少的CPU和内存资源,且无需安装Java运行时环境。

        Gnirehtet的中继服务器最初仅以Java实现,其优势在于支持所有安装了Java 8运行时的平台。目前仍保留该版本,以便在Rust版本出现问题时作为备选方案。

        要求

        Android应用至少需要API 21(Android 5.0)。

        仅针对Java版本,计算机需安装Java 8(JRE)。在基于Debian的系统中,请安装openjdk-8-jre包。

        adb

        需要较新版本的adb(支持adb reverse命令,1.0.36版本已验证可用)。

        可通过Android SDK平台工具获取。

        在基于Debian的系统中,也可安装android-tools-adb包。

        在Windows上,若仅为此应用需要adb,可直接下载平台工具,并将以下文件解压至gnirehtet目录:

        • adb.exe
        • AdbWinApi.dll
        • AdbWinUsbApi.dll

        确保已在设备上启用adb调试

        获取应用

        Homebrew

        若使用Homebrew,安装过程非常简单。安装Rust版本:

        brew install gnirehtet

        下载

        最新发布中下载所需版本。

        Rust

        下载后解压文件。

        Linux和MacOS压缩包包含:

        • gnirehtet.apk
        • gnirehtet

        Windows压缩包包含:

        • gnirehtet.apk
        • gnirehtet.exe
        • gnirehtet-run.cmd

        Java

        解压后包含:

        • gnirehtet.apk
        • gnirehtet.jar
        • gnirehtet
        • gnirehtet.cmd
        • gnirehtet-run.cmd

        运行(简单方式)

        注意:在Windows上,以下命令中的./gnirehtet需替换为gnirehtet

        该应用无用户界面,需通过计算机控制。

        若需为单一设备启用反向网络共享,直接执行:

        shell
        ./gnirehtet run

        反向网络共享将持续生效,直至按下Ctrl+C终止。

        在Windows上,为方便起见,可直接双击gnirehtet-run.cmd(其功能等同于gnirehtet run,无需打开终端)。

        首次启动时会弹出权限请求窗口:

        request

        Gnirehtet激活时,状态栏会显示“钥匙”图标:

        key

        若需为所有已连接设备(包括后续连接的设备)启用反向网络共享,可执行:

        shell
        ./gnirehtet autorun

        运行(分步操作)

        可分别执行各步骤(适用于需同时为多台设备启用反向网络共享的场景)。

        启动中继服务器并保持运行:

        shell
        ./gnirehtet relay

        在Android设备上安装apk

        shell
        ./gnirehtet install [serial]

        在另一终端中,为每个客户端执行:

        shell
        ./gnirehtet start [serial]

        停止客户端:

        shell
        ./gnirehtet stop [serial]

        重置隧道(当设备在Gnirehtet激活时断开并重新连接后,可用于恢复连接):

        shell
        ./gnirehtet tunnel [serial]

        仅当adb devices输出多个设备时,才需指定serial参数。

        高级选项可通过不带参数的./gnirehtet命令查看详情。

        手动运行

        gnirehtet程序提供了简单的命令行接口,实际执行的是底层命令。用户也可手动调用这些命令。

        启动中继服务器:

        shell
        ./gnirehtet relay

        安装apk:

        shell
        adb install -r gnirehtet.apk

        启动客户端:

        shell
        adb reverse localabstract:gnirehtet tcp:31416
         adb shell am start -a com.genymobile.gnirehtet.START \\
             -n com.genymobile.gnirehtet/.GnirehtetActivity

        停止客户端:

        shell
        adb shell am start -a com.genymobile.gnirehtet.STOP \\
             -n com.genymobile.gnirehtet/.GnirehtetActivity

        环境变量

        ADB用于指定自定义的adb路径:

        shell
        ADB=/path/to/my/adb ./gnirehtet run

        GNIREHTET_APK用于指定自定义的gnirehtet.apk路径:

        shell
        GNIREHTET_APK=/usr/share/gnirehtet/gnirehtet.apk ./gnirehtet run

        为什么叫gnirehtet

        rev <<< tethering
        diff --git a/assets/zhHans_reference_gnirehtet_index.md.Bk4s4Vk8.lean.js b/assets/zhHans_reference_gnirehtet_index.md.B2aFtpmS.lean.js
        similarity index 87%
        rename from assets/zhHans_reference_gnirehtet_index.md.Bk4s4Vk8.lean.js
        rename to assets/zhHans_reference_gnirehtet_index.md.B2aFtpmS.lean.js
        index d49176ba2..a9c8e8437 100644
        --- a/assets/zhHans_reference_gnirehtet_index.md.Bk4s4Vk8.lean.js
        +++ b/assets/zhHans_reference_gnirehtet_index.md.B2aFtpmS.lean.js
        @@ -1 +1 @@
        -import{e as a,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const g=JSON.parse('{"title":"Gnirehtet","description":"","frontmatter":{"title":"Gnirehtet"},"headers":[],"relativePath":"zhHans/reference/gnirehtet/index.md","filePath":"zhHans/reference/gnirehtet/index.md","lastUpdated":1772158243000}'),n={name:"zhHans/reference/gnirehtet/index.md"};function l(r,e,h,p,o,d){return s(),i("div",null,[...e[0]||(e[0]=[t("",89)])])}const k=a(n,[["render",l]]);export{g as __pageData,k as default};
        +import{e as a,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const g=JSON.parse('{"title":"Gnirehtet","description":"","frontmatter":{"title":"Gnirehtet"},"headers":[],"relativePath":"zhHans/reference/gnirehtet/index.md","filePath":"zhHans/reference/gnirehtet/index.md","lastUpdated":1772158834000}'),n={name:"zhHans/reference/gnirehtet/index.md"};function l(r,e,h,p,o,d){return s(),i("div",null,[...e[0]||(e[0]=[t("",89)])])}const k=a(n,[["render",l]]);export{g as __pageData,k as default};
        diff --git a/assets/zhHans_reference_index.md.CGHiWE8w.js b/assets/zhHans_reference_index.md.BVW0EtFH.js
        similarity index 93%
        rename from assets/zhHans_reference_index.md.CGHiWE8w.js
        rename to assets/zhHans_reference_index.md.BVW0EtFH.js
        index dd7241f53..40751aa1f 100644
        --- a/assets/zhHans_reference_index.md.CGHiWE8w.js
        +++ b/assets/zhHans_reference_index.md.BVW0EtFH.js
        @@ -1 +1 @@
        -import{e as r,o as n,a as t,h as e,J as s}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"参考手册","description":"","frontmatter":{"title":"参考手册"},"headers":[],"relativePath":"zhHans/reference/index.md","filePath":"zhHans/reference/index.md","lastUpdated":1772158243000}'),l={name:"zhHans/reference/index.md"};function c(i,a,d,o,f,h){return n(),t("div",null,[...a[0]||(a[0]=[e("h1",{id:"参考手册",tabindex:"-1"},[s("参考手册 "),e("a",{class:"header-anchor",href:"#参考手册","aria-label":'Permalink to "参考手册"'},"​")],-1),e("p",null,"Escrcpy 建立在以下开源项目的基础上。提供相关内容以及用户参考,并将定期更新。",-1),e("ul",null,[e("li",null,[e("a",{href:"/zhHans/reference/scrcpy/"},"Scrcpy")]),e("li",null,[e("a",{href:"/zhHans/reference/gnirehtet/"},"Gnirehtet")])],-1)])])}const u=r(l,[["render",c]]);export{m as __pageData,u as default};
        +import{e as r,o as n,a as t,h as e,J as s}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"参考手册","description":"","frontmatter":{"title":"参考手册"},"headers":[],"relativePath":"zhHans/reference/index.md","filePath":"zhHans/reference/index.md","lastUpdated":1772158834000}'),l={name:"zhHans/reference/index.md"};function c(i,a,d,o,f,h){return n(),t("div",null,[...a[0]||(a[0]=[e("h1",{id:"参考手册",tabindex:"-1"},[s("参考手册 "),e("a",{class:"header-anchor",href:"#参考手册","aria-label":'Permalink to "参考手册"'},"​")],-1),e("p",null,"Escrcpy 建立在以下开源项目的基础上。提供相关内容以及用户参考,并将定期更新。",-1),e("ul",null,[e("li",null,[e("a",{href:"/zhHans/reference/scrcpy/"},"Scrcpy")]),e("li",null,[e("a",{href:"/zhHans/reference/gnirehtet/"},"Gnirehtet")])],-1)])])}const u=r(l,[["render",c]]);export{m as __pageData,u as default};
        diff --git a/assets/zhHans_reference_index.md.CGHiWE8w.lean.js b/assets/zhHans_reference_index.md.BVW0EtFH.lean.js
        similarity index 93%
        rename from assets/zhHans_reference_index.md.CGHiWE8w.lean.js
        rename to assets/zhHans_reference_index.md.BVW0EtFH.lean.js
        index dd7241f53..40751aa1f 100644
        --- a/assets/zhHans_reference_index.md.CGHiWE8w.lean.js
        +++ b/assets/zhHans_reference_index.md.BVW0EtFH.lean.js
        @@ -1 +1 @@
        -import{e as r,o as n,a as t,h as e,J as s}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"参考手册","description":"","frontmatter":{"title":"参考手册"},"headers":[],"relativePath":"zhHans/reference/index.md","filePath":"zhHans/reference/index.md","lastUpdated":1772158243000}'),l={name:"zhHans/reference/index.md"};function c(i,a,d,o,f,h){return n(),t("div",null,[...a[0]||(a[0]=[e("h1",{id:"参考手册",tabindex:"-1"},[s("参考手册 "),e("a",{class:"header-anchor",href:"#参考手册","aria-label":'Permalink to "参考手册"'},"​")],-1),e("p",null,"Escrcpy 建立在以下开源项目的基础上。提供相关内容以及用户参考,并将定期更新。",-1),e("ul",null,[e("li",null,[e("a",{href:"/zhHans/reference/scrcpy/"},"Scrcpy")]),e("li",null,[e("a",{href:"/zhHans/reference/gnirehtet/"},"Gnirehtet")])],-1)])])}const u=r(l,[["render",c]]);export{m as __pageData,u as default};
        +import{e as r,o as n,a as t,h as e,J as s}from"./chunks/framework.DCs21iJA.js";const m=JSON.parse('{"title":"参考手册","description":"","frontmatter":{"title":"参考手册"},"headers":[],"relativePath":"zhHans/reference/index.md","filePath":"zhHans/reference/index.md","lastUpdated":1772158834000}'),l={name:"zhHans/reference/index.md"};function c(i,a,d,o,f,h){return n(),t("div",null,[...a[0]||(a[0]=[e("h1",{id:"参考手册",tabindex:"-1"},[s("参考手册 "),e("a",{class:"header-anchor",href:"#参考手册","aria-label":'Permalink to "参考手册"'},"​")],-1),e("p",null,"Escrcpy 建立在以下开源项目的基础上。提供相关内容以及用户参考,并将定期更新。",-1),e("ul",null,[e("li",null,[e("a",{href:"/zhHans/reference/scrcpy/"},"Scrcpy")]),e("li",null,[e("a",{href:"/zhHans/reference/gnirehtet/"},"Gnirehtet")])],-1)])])}const u=r(l,[["render",c]]);export{m as __pageData,u as default};
        diff --git a/assets/zhHans_reference_scrcpy_audio.md.Ci73sZcu.js b/assets/zhHans_reference_scrcpy_audio.md.lAK0kZXd.js
        similarity index 99%
        rename from assets/zhHans_reference_scrcpy_audio.md.Ci73sZcu.js
        rename to assets/zhHans_reference_scrcpy_audio.md.lAK0kZXd.js
        index 641b7fc24..cb7f77979 100644
        --- a/assets/zhHans_reference_scrcpy_audio.md.Ci73sZcu.js
        +++ b/assets/zhHans_reference_scrcpy_audio.md.lAK0kZXd.js
        @@ -1,4 +1,4 @@
        -import{e as a,o as s,a as i,ag as d}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Audio(音频)","description":"","frontmatter":{"title":"Audio(音频)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/audio.md","filePath":"zhHans/reference/scrcpy/audio.md","lastUpdated":1772158243000}'),o={name:"zhHans/reference/scrcpy/audio.md"};function n(p,e,t,r,c,l){return s(),i("div",null,[...e[0]||(e[0]=[d(`

        音频

        音频转发功能支持运行 Android 11 或更高版本的设备,并默认启用:

        • Android 12 或更新版本:开箱即用。
        • Android 11:需要确保在启动 scrcpy 时设备屏幕已解锁。此时会短暂弹出一个虚假窗口,让系统认为 shell 应用处于前台。若不满足此条件,音频捕获将失败。
        • Android 10 或更早版本:无法捕获音频,功能自动禁用。

        如果音频捕获失败,镜像会继续仅传输视频(由于音频默认启用,若音频不可用,scrcpy 不会直接失败,除非设置了 --require-audio)。

        禁用音频

        要禁用音频功能:

        scrcpy --no-audio

        若仅禁用音频播放,请参阅禁用播放

        仅音频模式

        要仅播放音频,需禁用视频和控制功能:

        bash
        scrcpy --no-video --no-control

        要在无窗口模式下播放音频:

        bash
        # --no-video 和 --no-control 会被 --no-window 隐含
        +import{e as a,o as s,a as i,ag as d}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Audio(音频)","description":"","frontmatter":{"title":"Audio(音频)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/audio.md","filePath":"zhHans/reference/scrcpy/audio.md","lastUpdated":1772158834000}'),o={name:"zhHans/reference/scrcpy/audio.md"};function n(p,e,t,r,c,l){return s(),i("div",null,[...e[0]||(e[0]=[d(`

        音频

        音频转发功能支持运行 Android 11 或更高版本的设备,并默认启用:

        • Android 12 或更新版本:开箱即用。
        • Android 11:需要确保在启动 scrcpy 时设备屏幕已解锁。此时会短暂弹出一个虚假窗口,让系统认为 shell 应用处于前台。若不满足此条件,音频捕获将失败。
        • Android 10 或更早版本:无法捕获音频,功能自动禁用。

        如果音频捕获失败,镜像会继续仅传输视频(由于音频默认启用,若音频不可用,scrcpy 不会直接失败,除非设置了 --require-audio)。

        禁用音频

        要禁用音频功能:

        scrcpy --no-audio

        若仅禁用音频播放,请参阅禁用播放

        仅音频模式

        要仅播放音频,需禁用视频和控制功能:

        bash
        scrcpy --no-video --no-control

        要在无窗口模式下播放音频:

        bash
        # --no-video 和 --no-control 会被 --no-window 隐含
         scrcpy --no-window
         # 按 Ctrl+C 中断

        无视频时,音频延迟通常不关键,因此可以增加缓冲以减少卡顿:

        scrcpy --no-video --audio-buffer=200

        音频源

        默认情况下,转发的是设备音频输出。

        也可以捕获设备麦克风输入:

        scrcpy --audio-source=mic

        例如,将设备用作录音机并直接在电脑上录制:

        scrcpy --audio-source=mic --no-video --no-playback --record=file.opus

        支持的音频源包括:

        • output(默认):转发全部音频输出,并禁用设备播放(映射到 REMOTE_SUBMIX)。
        • playback:捕获音频播放(Android 应用可选择退出,因此不一定能捕获全部输出)。
        • mic:捕获麦克风输入(映射到 MIC)。
        • mic-unprocessed:捕获未经处理的麦克风原始音频(映射到 UNPROCESSED)。
        • mic-camcorder:捕获为视频录制优化的麦克风音频,方向与摄像头一致(映射到 CAMCORDER)。
        • mic-voice-recognition:捕获为语音识别优化的麦克风音频(映射到 VOICE_RECOGNITION)。
        • mic-voice-communication:捕获为语音通信优化的麦克风音频(例如支持回声消除或自动增益控制)(映射到 VOICE_COMMUNICATION)。
        • voice-call:捕获语音通话(映射到 VOICE_CALL)。
        • voice-call-uplink:仅捕获语音通话上行链路(映射到 VOICE_UPLINK)。
        • voice-call-downlink:仅捕获语音通话下行链路(映射到 VOICE_DOWNLINK)。
        • voice-performance:捕获适用于实时表演(如卡拉OK)的音频,包括麦克风和设备播放(映射到 VOICE_PERFORMANCE)。

        音频复制

        另一种设备音频捕获方法(仅限 Android 13 及以上版本):

        scrcpy --audio-source=playback

        此音频源支持在镜像时保持设备音频播放,通过 --audio-dup 实现:

        bash
        scrcpy --audio-source=playback --audio-dup
         # 或简写为:
        diff --git a/assets/zhHans_reference_scrcpy_audio.md.Ci73sZcu.lean.js b/assets/zhHans_reference_scrcpy_audio.md.lAK0kZXd.lean.js
        similarity index 87%
        rename from assets/zhHans_reference_scrcpy_audio.md.Ci73sZcu.lean.js
        rename to assets/zhHans_reference_scrcpy_audio.md.lAK0kZXd.lean.js
        index 04d4821c2..10d9f8df0 100644
        --- a/assets/zhHans_reference_scrcpy_audio.md.Ci73sZcu.lean.js
        +++ b/assets/zhHans_reference_scrcpy_audio.md.lAK0kZXd.lean.js
        @@ -1 +1 @@
        -import{e as a,o as s,a as i,ag as d}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Audio(音频)","description":"","frontmatter":{"title":"Audio(音频)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/audio.md","filePath":"zhHans/reference/scrcpy/audio.md","lastUpdated":1772158243000}'),o={name:"zhHans/reference/scrcpy/audio.md"};function n(p,e,t,r,c,l){return s(),i("div",null,[...e[0]||(e[0]=[d("",57)])])}const u=a(o,[["render",n]]);export{k as __pageData,u as default};
        +import{e as a,o as s,a as i,ag as d}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Audio(音频)","description":"","frontmatter":{"title":"Audio(音频)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/audio.md","filePath":"zhHans/reference/scrcpy/audio.md","lastUpdated":1772158834000}'),o={name:"zhHans/reference/scrcpy/audio.md"};function n(p,e,t,r,c,l){return s(),i("div",null,[...e[0]||(e[0]=[d("",57)])])}const u=a(o,[["render",n]]);export{k as __pageData,u as default};
        diff --git a/assets/zhHans_reference_scrcpy_build.md.BAlUrcj9.js b/assets/zhHans_reference_scrcpy_build.md.C4zQ3gg_.js
        similarity index 99%
        rename from assets/zhHans_reference_scrcpy_build.md.BAlUrcj9.js
        rename to assets/zhHans_reference_scrcpy_build.md.C4zQ3gg_.js
        index 013de6b7a..c840c979f 100644
        --- a/assets/zhHans_reference_scrcpy_build.md.BAlUrcj9.js
        +++ b/assets/zhHans_reference_scrcpy_build.md.C4zQ3gg_.js
        @@ -1,4 +1,4 @@
        -import{e as i,o as a,a as n,ag as e}from"./chunks/framework.DCs21iJA.js";const F=JSON.parse('{"title":"Build(编译)","description":"","frontmatter":{"title":"Build(编译)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/build.md","filePath":"zhHans/reference/scrcpy/build.md","lastUpdated":1772158243000}'),l={name:"zhHans/reference/scrcpy/build.md"};function h(t,s,p,k,d,r){return a(),n("div",null,[...s[0]||(s[0]=[e(`

        编译 scrcpy

        以下是编译 scrcpy(客户端和服务器)的说明。

        如果只需构建并安装最新版本,请按照 linux.md 中的简化流程操作。

        分支

        项目有两个主要分支:

        • master:包含最新发布版本。这是 GitHub 上的项目主页。
        • dev:当前开发分支。所有提交到 dev 的代码将包含在下一个版本中。

        如需贡献代码,请基于最新的 dev 分支提交。

        要求

        需要 adb。可从 Android SDK 平台工具 获取,或通过系统包管理器安装(如 adb)。

        在 Windows 上,下载 platform-tools 并将以下文件解压到 PATH 可访问的目录:

        • adb.exe
        • AdbWinApi.dll
        • AdbWinUsbApi.dll

        scrcpy 的发布版本中也包含这些文件。

        客户端需要 FFmpegLibSDL2。请按照说明安装。

        系统特定步骤

        Linux

        通过包管理器安装所需依赖。

        Debian/Ubuntu

        bash
        # 运行时依赖
        +import{e as i,o as a,a as n,ag as e}from"./chunks/framework.DCs21iJA.js";const F=JSON.parse('{"title":"Build(编译)","description":"","frontmatter":{"title":"Build(编译)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/build.md","filePath":"zhHans/reference/scrcpy/build.md","lastUpdated":1772158834000}'),l={name:"zhHans/reference/scrcpy/build.md"};function h(t,s,p,k,d,r){return a(),n("div",null,[...s[0]||(s[0]=[e(`

        编译 scrcpy

        以下是编译 scrcpy(客户端和服务器)的说明。

        如果只需构建并安装最新版本,请按照 linux.md 中的简化流程操作。

        分支

        项目有两个主要分支:

        • master:包含最新发布版本。这是 GitHub 上的项目主页。
        • dev:当前开发分支。所有提交到 dev 的代码将包含在下一个版本中。

        如需贡献代码,请基于最新的 dev 分支提交。

        要求

        需要 adb。可从 Android SDK 平台工具 获取,或通过系统包管理器安装(如 adb)。

        在 Windows 上,下载 platform-tools 并将以下文件解压到 PATH 可访问的目录:

        • adb.exe
        • AdbWinApi.dll
        • AdbWinUsbApi.dll

        scrcpy 的发布版本中也包含这些文件。

        客户端需要 FFmpegLibSDL2。请按照说明安装。

        系统特定步骤

        Linux

        通过包管理器安装所需依赖。

        Debian/Ubuntu

        bash
        # 运行时依赖
         sudo apt install ffmpeg libsdl2-2.0-0 adb libusb-1.0-0
         
         # 客户端构建依赖
        diff --git a/assets/zhHans_reference_scrcpy_build.md.BAlUrcj9.lean.js b/assets/zhHans_reference_scrcpy_build.md.C4zQ3gg_.lean.js
        similarity index 87%
        rename from assets/zhHans_reference_scrcpy_build.md.BAlUrcj9.lean.js
        rename to assets/zhHans_reference_scrcpy_build.md.C4zQ3gg_.lean.js
        index e37a42eff..b12e08bf6 100644
        --- a/assets/zhHans_reference_scrcpy_build.md.BAlUrcj9.lean.js
        +++ b/assets/zhHans_reference_scrcpy_build.md.C4zQ3gg_.lean.js
        @@ -1 +1 @@
        -import{e as i,o as a,a as n,ag as e}from"./chunks/framework.DCs21iJA.js";const F=JSON.parse('{"title":"Build(编译)","description":"","frontmatter":{"title":"Build(编译)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/build.md","filePath":"zhHans/reference/scrcpy/build.md","lastUpdated":1772158243000}'),l={name:"zhHans/reference/scrcpy/build.md"};function h(t,s,p,k,d,r){return a(),n("div",null,[...s[0]||(s[0]=[e("",72)])])}const c=i(l,[["render",h]]);export{F as __pageData,c as default};
        +import{e as i,o as a,a as n,ag as e}from"./chunks/framework.DCs21iJA.js";const F=JSON.parse('{"title":"Build(编译)","description":"","frontmatter":{"title":"Build(编译)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/build.md","filePath":"zhHans/reference/scrcpy/build.md","lastUpdated":1772158834000}'),l={name:"zhHans/reference/scrcpy/build.md"};function h(t,s,p,k,d,r){return a(),n("div",null,[...s[0]||(s[0]=[e("",72)])])}const c=i(l,[["render",h]]);export{F as __pageData,c as default};
        diff --git a/assets/zhHans_reference_scrcpy_camera.md.VQweT33D.js b/assets/zhHans_reference_scrcpy_camera.md.CvdT7Ep9.js
        similarity index 99%
        rename from assets/zhHans_reference_scrcpy_camera.md.VQweT33D.js
        rename to assets/zhHans_reference_scrcpy_camera.md.CvdT7Ep9.js
        index d2bfe652a..ea85f6513 100644
        --- a/assets/zhHans_reference_scrcpy_camera.md.VQweT33D.js
        +++ b/assets/zhHans_reference_scrcpy_camera.md.CvdT7Ep9.js
        @@ -1,4 +1,4 @@
        -import{e as a,o as i,a as e,ag as n}from"./chunks/framework.DCs21iJA.js";const o=JSON.parse('{"title":"Camera(相机)","description":"","frontmatter":{"title":"Camera(相机)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/camera.md","filePath":"zhHans/reference/scrcpy/camera.md","lastUpdated":1772158243000}'),p={name:"zhHans/reference/scrcpy/camera.md"};function t(h,s,l,c,r,d){return i(),e("div",null,[...s[0]||(s[0]=[n(`

        相机

        支持在运行 Android 12 或更高版本的设备上使用相机镜像功能。

        若要捕获相机画面而非设备屏幕,请运行以下命令:

        scrcpy --video-source=camera

        默认情况下,该命令会自动将音频源切换为麦克风(相当于同时传递了 --audio-source=mic 参数)。

        bash
        scrcpy --video-source=display  # 默认音频源为输出(output)
        +import{e as a,o as i,a as e,ag as n}from"./chunks/framework.DCs21iJA.js";const o=JSON.parse('{"title":"Camera(相机)","description":"","frontmatter":{"title":"Camera(相机)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/camera.md","filePath":"zhHans/reference/scrcpy/camera.md","lastUpdated":1772158834000}'),p={name:"zhHans/reference/scrcpy/camera.md"};function t(h,s,l,c,r,d){return i(),e("div",null,[...s[0]||(s[0]=[n(`

        相机

        支持在运行 Android 12 或更高版本的设备上使用相机镜像功能。

        若要捕获相机画面而非设备屏幕,请运行以下命令:

        scrcpy --video-source=camera

        默认情况下,该命令会自动将音频源切换为麦克风(相当于同时传递了 --audio-source=mic 参数)。

        bash
        scrcpy --video-source=display  # 默认音频源为输出(output)
         scrcpy --video-source=camera   # 默认音频源为麦克风(mic)
         scrcpy --video-source=display --audio-source=mic    # 强制显示画面并使用麦克风
         scrcpy --video-source=camera --audio-source=output  # 强制使用相机画面并捕获设备音频输出

        可以禁用音频:

        bash
        # 完全不捕获音频
        diff --git a/assets/zhHans_reference_scrcpy_camera.md.VQweT33D.lean.js b/assets/zhHans_reference_scrcpy_camera.md.CvdT7Ep9.lean.js
        similarity index 87%
        rename from assets/zhHans_reference_scrcpy_camera.md.VQweT33D.lean.js
        rename to assets/zhHans_reference_scrcpy_camera.md.CvdT7Ep9.lean.js
        index fe3982af4..74fdf46e3 100644
        --- a/assets/zhHans_reference_scrcpy_camera.md.VQweT33D.lean.js
        +++ b/assets/zhHans_reference_scrcpy_camera.md.CvdT7Ep9.lean.js
        @@ -1 +1 @@
        -import{e as a,o as i,a as e,ag as n}from"./chunks/framework.DCs21iJA.js";const o=JSON.parse('{"title":"Camera(相机)","description":"","frontmatter":{"title":"Camera(相机)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/camera.md","filePath":"zhHans/reference/scrcpy/camera.md","lastUpdated":1772158243000}'),p={name:"zhHans/reference/scrcpy/camera.md"};function t(h,s,l,c,r,d){return i(),e("div",null,[...s[0]||(s[0]=[n("",49)])])}const g=a(p,[["render",t]]);export{o as __pageData,g as default};
        +import{e as a,o as i,a as e,ag as n}from"./chunks/framework.DCs21iJA.js";const o=JSON.parse('{"title":"Camera(相机)","description":"","frontmatter":{"title":"Camera(相机)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/camera.md","filePath":"zhHans/reference/scrcpy/camera.md","lastUpdated":1772158834000}'),p={name:"zhHans/reference/scrcpy/camera.md"};function t(h,s,l,c,r,d){return i(),e("div",null,[...s[0]||(s[0]=[n("",49)])])}const g=a(p,[["render",t]]);export{o as __pageData,g as default};
        diff --git a/assets/zhHans_reference_scrcpy_connection.md.B0BYExGy.js b/assets/zhHans_reference_scrcpy_connection.md.u5su_UyD.js
        similarity index 99%
        rename from assets/zhHans_reference_scrcpy_connection.md.B0BYExGy.js
        rename to assets/zhHans_reference_scrcpy_connection.md.u5su_UyD.js
        index 81ca0609a..4e6ac3bdd 100644
        --- a/assets/zhHans_reference_scrcpy_connection.md.B0BYExGy.js
        +++ b/assets/zhHans_reference_scrcpy_connection.md.u5su_UyD.js
        @@ -1,4 +1,4 @@
        -import{e as i,o as a,a as e,ag as p}from"./chunks/framework.DCs21iJA.js";const o=JSON.parse('{"title":"Connection(连接)","description":"","frontmatter":{"title":"Connection(连接)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/connection.md","filePath":"zhHans/reference/scrcpy/connection.md","lastUpdated":1772158243000}'),n={name:"zhHans/reference/scrcpy/connection.md"};function t(l,s,h,d,c,k){return a(),e("div",null,[...s[0]||(s[0]=[p(`

        连接

        设备选择

        如果仅有一台设备已连接(即通过 adb devices 列出),则该设备会被自动选中。

        但如果有多台设备连接,您需要通过以下4种方式之一指定要使用的设备:

        • 通过设备序列号:

          bash
          scrcpy --serial=0123456789abcdef
          +import{e as i,o as a,a as e,ag as p}from"./chunks/framework.DCs21iJA.js";const o=JSON.parse('{"title":"Connection(连接)","description":"","frontmatter":{"title":"Connection(连接)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/connection.md","filePath":"zhHans/reference/scrcpy/connection.md","lastUpdated":1772158834000}'),n={name:"zhHans/reference/scrcpy/connection.md"};function t(l,s,h,d,c,k){return a(),e("div",null,[...s[0]||(s[0]=[p(`

          连接

          设备选择

          如果仅有一台设备已连接(即通过 adb devices 列出),则该设备会被自动选中。

          但如果有多台设备连接,您需要通过以下4种方式之一指定要使用的设备:

          • 通过设备序列号:

            bash
            scrcpy --serial=0123456789abcdef
             scrcpy -s 0123456789abcdef   # 简写形式
             
             # 如果通过 TCP/IP 连接,序列号为 IP:端口(与 adb 行为一致)
            diff --git a/assets/zhHans_reference_scrcpy_connection.md.B0BYExGy.lean.js b/assets/zhHans_reference_scrcpy_connection.md.u5su_UyD.lean.js
            similarity index 88%
            rename from assets/zhHans_reference_scrcpy_connection.md.B0BYExGy.lean.js
            rename to assets/zhHans_reference_scrcpy_connection.md.u5su_UyD.lean.js
            index 8c3c86551..eb4e818ac 100644
            --- a/assets/zhHans_reference_scrcpy_connection.md.B0BYExGy.lean.js
            +++ b/assets/zhHans_reference_scrcpy_connection.md.u5su_UyD.lean.js
            @@ -1 +1 @@
            -import{e as i,o as a,a as e,ag as p}from"./chunks/framework.DCs21iJA.js";const o=JSON.parse('{"title":"Connection(连接)","description":"","frontmatter":{"title":"Connection(连接)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/connection.md","filePath":"zhHans/reference/scrcpy/connection.md","lastUpdated":1772158243000}'),n={name:"zhHans/reference/scrcpy/connection.md"};function t(l,s,h,d,c,k){return a(),e("div",null,[...s[0]||(s[0]=[p("",27)])])}const g=i(n,[["render",t]]);export{o as __pageData,g as default};
            +import{e as i,o as a,a as e,ag as p}from"./chunks/framework.DCs21iJA.js";const o=JSON.parse('{"title":"Connection(连接)","description":"","frontmatter":{"title":"Connection(连接)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/connection.md","filePath":"zhHans/reference/scrcpy/connection.md","lastUpdated":1772158834000}'),n={name:"zhHans/reference/scrcpy/connection.md"};function t(l,s,h,d,c,k){return a(),e("div",null,[...s[0]||(s[0]=[p("",27)])])}const g=i(n,[["render",t]]);export{o as __pageData,g as default};
            diff --git a/assets/zhHans_reference_scrcpy_control.md.CYtEodrI.js b/assets/zhHans_reference_scrcpy_control.md.DWMPZThX.js
            similarity index 99%
            rename from assets/zhHans_reference_scrcpy_control.md.CYtEodrI.js
            rename to assets/zhHans_reference_scrcpy_control.md.DWMPZThX.js
            index f6b9c0884..57b38a3b0 100644
            --- a/assets/zhHans_reference_scrcpy_control.md.CYtEodrI.js
            +++ b/assets/zhHans_reference_scrcpy_control.md.DWMPZThX.js
            @@ -1,4 +1,4 @@
            -import{e as a,o as i,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const c=JSON.parse('{"title":"Control(控制)","description":"","frontmatter":{"title":"Control(控制)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/control.md","filePath":"zhHans/reference/scrcpy/control.md","lastUpdated":1772158243000}'),d={name:"zhHans/reference/scrcpy/control.md"};function p(l,s,n,h,k,r){return i(),e("div",null,[...s[0]||(s[0]=[t(`

            控制

            只读模式

            禁用所有控制功能(包括与设备交互的所有操作:输入按键、鼠标事件、拖放文件等):

            bash
            scrcpy --no-control
            +import{e as a,o as i,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const c=JSON.parse('{"title":"Control(控制)","description":"","frontmatter":{"title":"Control(控制)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/control.md","filePath":"zhHans/reference/scrcpy/control.md","lastUpdated":1772158834000}'),d={name:"zhHans/reference/scrcpy/control.md"};function p(l,s,n,h,k,r){return i(),e("div",null,[...s[0]||(s[0]=[t(`

            控制

            只读模式

            禁用所有控制功能(包括与设备交互的所有操作:输入按键、鼠标事件、拖放文件等):

            bash
            scrcpy --no-control
             scrcpy -n   # 简写形式

            键盘与鼠标

            详见键盘鼠标文档。

            仅控制模式

            仅控制设备而不显示屏幕镜像:

            bash
            scrcpy --no-video --no-audio

            默认情况下,关闭视频播放时鼠标功能会被禁用。

            如需使用相对鼠标模式控制设备,启用UHID鼠标模式:

            bash
            scrcpy --no-video --no-audio --mouse=uhid
             scrcpy --no-video --no-audio -M  # 简写形式

            如需同时使用UHID键盘,需显式设置:

            bash
            scrcpy --no-video --no-audio --mouse=uhid --keyboard=uhid
             scrcpy --no-video --no-audio -MK  # 简写形式

            如需改用AOA模式(仅限USB连接):

            bash
            scrcpy --no-video --no-audio --keyboard=aoa --mouse=aoa

            复制粘贴

            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+vMOD+v)会将该内容存入Android剪贴板,导致任何应用均可读取。应避免以此方式粘贴敏感内容(如密码)。

            部分Android设备在编程设置剪贴板时行为异常,可通过--legacy-paste选项修改Ctrl+vMOD+v的行为,使其同样以按键序列方式注入电脑剪贴板文本(与MOD+Shift+v相同)。

            如需禁用自动剪贴板同步,使用--no-clipboard-autosync

            捏合缩放、旋转与倾斜模拟

            模拟"捏合缩放":Ctrl+点击并移动

            具体操作:按住Ctrl的同时按下鼠标左键。在左键释放前,所有鼠标移动都会以屏幕中心为基准对内容进行缩放和旋转(如果应用支持)。

            https://github.com/Genymobile/scrcpy/assets/543275/26c4a920-9805-43f1-8d4c-608752d04767

            模拟垂直倾斜手势:Shift+点击并上下移动

            https://github.com/Genymobile/scrcpy/assets/543275/1e252341-4a90-4b29-9d11-9153b324669f

            类似地,模拟水平倾斜手势:Ctrl+Shift+点击并左右移动

            技术实现上,scrcpy会通过屏幕中心对称点生成"虚拟手指"的额外触摸事件。按下Ctrlxy坐标会反转,单独按下Shift仅反转x,而Ctrl+Shift仅反转y

            此功能仅适用于默认鼠标模式(--mouse=sdk)。

            文件拖放

            安装APK

            安装APK时,只需将APK文件(后缀为.apk)拖放到scrcpy窗口。

            无视觉反馈,操作日志会打印到控制台。

            推送文件到设备

            推送文件到设备的/sdcard/Download/目录:将非APK文件拖放到scrcpy窗口。

            无视觉反馈,操作日志会打印到控制台。

            目标目录可通过启动参数修改:

            bash
            scrcpy --push-target=/sdcard/Movies/
            `,46)])])}const b=a(d,[["render",p]]);export{c as __pageData,b as default}; diff --git a/assets/zhHans_reference_scrcpy_control.md.CYtEodrI.lean.js b/assets/zhHans_reference_scrcpy_control.md.DWMPZThX.lean.js similarity index 87% rename from assets/zhHans_reference_scrcpy_control.md.CYtEodrI.lean.js rename to assets/zhHans_reference_scrcpy_control.md.DWMPZThX.lean.js index a59307dd5..a3bb15d13 100644 --- a/assets/zhHans_reference_scrcpy_control.md.CYtEodrI.lean.js +++ b/assets/zhHans_reference_scrcpy_control.md.DWMPZThX.lean.js @@ -1 +1 @@ -import{e as a,o as i,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const c=JSON.parse('{"title":"Control(控制)","description":"","frontmatter":{"title":"Control(控制)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/control.md","filePath":"zhHans/reference/scrcpy/control.md","lastUpdated":1772158243000}'),d={name:"zhHans/reference/scrcpy/control.md"};function p(l,s,n,h,k,r){return i(),e("div",null,[...s[0]||(s[0]=[t("",46)])])}const b=a(d,[["render",p]]);export{c as __pageData,b as default}; +import{e as a,o as i,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const c=JSON.parse('{"title":"Control(控制)","description":"","frontmatter":{"title":"Control(控制)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/control.md","filePath":"zhHans/reference/scrcpy/control.md","lastUpdated":1772158834000}'),d={name:"zhHans/reference/scrcpy/control.md"};function p(l,s,n,h,k,r){return i(),e("div",null,[...s[0]||(s[0]=[t("",46)])])}const b=a(d,[["render",p]]);export{c as __pageData,b as default}; diff --git a/assets/zhHans_reference_scrcpy_develop.md.DunfB6YE.js b/assets/zhHans_reference_scrcpy_develop.md.NXjK1m3Z.js similarity index 99% rename from assets/zhHans_reference_scrcpy_develop.md.DunfB6YE.js rename to assets/zhHans_reference_scrcpy_develop.md.NXjK1m3Z.js index aed6efa35..cb8c5cd20 100644 --- a/assets/zhHans_reference_scrcpy_develop.md.DunfB6YE.js +++ b/assets/zhHans_reference_scrcpy_develop.md.NXjK1m3Z.js @@ -1,4 +1,4 @@ -import{e,o as s,a as i,ag as r}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"develop(开发者指南)","description":"","frontmatter":{"title":"develop(开发者指南)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/develop.md","filePath":"zhHans/reference/scrcpy/develop.md","lastUpdated":1772158243000}'),l={name:"zhHans/reference/scrcpy/develop.md"};function n(p,a,t,c,h,o){return s(),i("div",null,[...a[0]||(a[0]=[r(`

            开发者指南:scrcpy

            概述

            该应用由两部分组成:

            • 服务端(scrcpy-server),在设备上执行;
            • 客户端(scrcpy 可执行文件),在主机上执行。

            客户端负责将服务端推送到设备并启动其执行。

            客户端和服务端通过独立的套接字进行视频、音频和控制通信。这些功能可以单独禁用(但不能全部禁用),因此可能使用 1、2 或 3 个套接字。

            服务端首先在第一个套接字上发送设备名称(用于 scrcpy 窗口标题),随后每个套接字分别用于其特定用途。客户端和服务端均为每个套接字分配专用线程进行读写操作。

            如果启用了视频功能,服务端会发送设备屏幕的原始视频流(默认为 H.264 编码),每个数据包附带额外头部信息。客户端解码视频帧并尽快显示,不进行缓冲(除非指定 --video-buffer=delay)以最小化延迟。客户端不感知设备旋转(由服务端处理),仅知道接收到的视频帧尺寸。

            类似地,如果启用了音频功能,服务端会发送设备音频输出(或通过 --audio-source=mic 指定麦克风输入)的原始音频流(默认为 OPUS 编码),每个数据包附带额外头部信息。客户端解码音频流,尝试通过保持最小缓冲来降低延迟。scrcpy v2.0 发布的博客文章详细介绍了音频功能。

            如果启用了控制功能,客户端会捕获相关的键盘和鼠标事件,并将其传输到服务端,由服务端注入到设备中。这是唯一一个双向使用的套接字:输入事件从客户端发送到设备,而当设备剪贴板内容变化时,新内容会从设备发送到客户端,以实现无缝复制粘贴。

            需要注意的是,客户端和服务端的角色是从应用层面定义的:

            • 服务端提供视频和音频流,并处理客户端的请求;
            • 客户端通过服务端控制设备。

            然而,默认情况下(未设置 --force-adb-forward 时),网络层面的角色是相反的:

            • 客户端在启动服务端之前打开服务器套接字并监听端口;
            • 服务端连接到客户端。

            这种角色反转避免了因竞态条件导致的连接失败,而无需轮询。


            服务端

            权限

            捕获屏幕需要一些权限,这些权限已授予 shell 用户。

            服务端是一个 Java 应用程序(包含 public static void main(String... args) 方法),针对 Android 框架编译,并在 Android 设备上以 shell 用户身份执行。

            要运行这样的 Java 应用程序,类必须被 dexed(通常是 classes.dex)。如果 my.package.MainClass 是主类,编译为 classes.dex 并推送到设备的 /data/local/tmp 目录,则可以通过以下命令运行:

            bash
            adb shell CLASSPATH=/data/local/tmp/classes.dex app_process / my.package.MainClass

            路径 /data/local/tmp 是推送服务端的理想选择,因为它对 shell 用户可读写,但对其他用户不可写,因此恶意应用无法在客户端执行前替换服务端。

            除了原始的 dex 文件,app_process 还接受包含 classes.dexjar 文件(例如 APK)。为了简化操作并利用 gradle 构建系统,服务端被构建为一个(未签名的)APK(重命名为 scrcpy-server.jar)。

            隐藏方法

            尽管针对 Android 框架编译,隐藏方法和类无法直接访问(且不同 Android 版本可能有所不同)。

            可以通过反射调用这些方法。与隐藏组件的通信由 wrapperaidl 提供。

            执行

            客户端通过以下命令启动服务端:

            bash
            adb push scrcpy-server /data/local/tmp/scrcpy-server.jar
            +import{e,o as s,a as i,ag as r}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"develop(开发者指南)","description":"","frontmatter":{"title":"develop(开发者指南)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/develop.md","filePath":"zhHans/reference/scrcpy/develop.md","lastUpdated":1772158834000}'),l={name:"zhHans/reference/scrcpy/develop.md"};function n(p,a,t,c,h,o){return s(),i("div",null,[...a[0]||(a[0]=[r(`

            开发者指南:scrcpy

            概述

            该应用由两部分组成:

            • 服务端(scrcpy-server),在设备上执行;
            • 客户端(scrcpy 可执行文件),在主机上执行。

            客户端负责将服务端推送到设备并启动其执行。

            客户端和服务端通过独立的套接字进行视频、音频和控制通信。这些功能可以单独禁用(但不能全部禁用),因此可能使用 1、2 或 3 个套接字。

            服务端首先在第一个套接字上发送设备名称(用于 scrcpy 窗口标题),随后每个套接字分别用于其特定用途。客户端和服务端均为每个套接字分配专用线程进行读写操作。

            如果启用了视频功能,服务端会发送设备屏幕的原始视频流(默认为 H.264 编码),每个数据包附带额外头部信息。客户端解码视频帧并尽快显示,不进行缓冲(除非指定 --video-buffer=delay)以最小化延迟。客户端不感知设备旋转(由服务端处理),仅知道接收到的视频帧尺寸。

            类似地,如果启用了音频功能,服务端会发送设备音频输出(或通过 --audio-source=mic 指定麦克风输入)的原始音频流(默认为 OPUS 编码),每个数据包附带额外头部信息。客户端解码音频流,尝试通过保持最小缓冲来降低延迟。scrcpy v2.0 发布的博客文章详细介绍了音频功能。

            如果启用了控制功能,客户端会捕获相关的键盘和鼠标事件,并将其传输到服务端,由服务端注入到设备中。这是唯一一个双向使用的套接字:输入事件从客户端发送到设备,而当设备剪贴板内容变化时,新内容会从设备发送到客户端,以实现无缝复制粘贴。

            需要注意的是,客户端和服务端的角色是从应用层面定义的:

            • 服务端提供视频和音频流,并处理客户端的请求;
            • 客户端通过服务端控制设备。

            然而,默认情况下(未设置 --force-adb-forward 时),网络层面的角色是相反的:

            • 客户端在启动服务端之前打开服务器套接字并监听端口;
            • 服务端连接到客户端。

            这种角色反转避免了因竞态条件导致的连接失败,而无需轮询。


            服务端

            权限

            捕获屏幕需要一些权限,这些权限已授予 shell 用户。

            服务端是一个 Java 应用程序(包含 public static void main(String... args) 方法),针对 Android 框架编译,并在 Android 设备上以 shell 用户身份执行。

            要运行这样的 Java 应用程序,类必须被 dexed(通常是 classes.dex)。如果 my.package.MainClass 是主类,编译为 classes.dex 并推送到设备的 /data/local/tmp 目录,则可以通过以下命令运行:

            bash
            adb shell CLASSPATH=/data/local/tmp/classes.dex app_process / my.package.MainClass

            路径 /data/local/tmp 是推送服务端的理想选择,因为它对 shell 用户可读写,但对其他用户不可写,因此恶意应用无法在客户端执行前替换服务端。

            除了原始的 dex 文件,app_process 还接受包含 classes.dexjar 文件(例如 APK)。为了简化操作并利用 gradle 构建系统,服务端被构建为一个(未签名的)APK(重命名为 scrcpy-server.jar)。

            隐藏方法

            尽管针对 Android 框架编译,隐藏方法和类无法直接访问(且不同 Android 版本可能有所不同)。

            可以通过反射调用这些方法。与隐藏组件的通信由 wrapperaidl 提供。

            执行

            客户端通过以下命令启动服务端:

            bash
            adb push scrcpy-server /data/local/tmp/scrcpy-server.jar
             adb forward tcp:27183 localabstract:scrcpy
             adb shell CLASSPATH=/data/local/tmp/scrcpy-server.jar app_process / com.genymobile.scrcpy.Server 2.1

            第一个参数(示例中的 2.1)是客户端的 scrcpy 版本。如果客户端和服务端版本不完全一致,服务端会失败。客户端和服务端之间的协议可能因版本而异(参见协议部分),且没有向后或向前兼容性(使用不同版本的服务端和客户端毫无意义)。此检查用于检测配置错误(意外运行旧版或新版服务端)。

            随后可以跟随任意数量的参数,形式为 key=value 对,顺序无关。可能的键及其值类型可以在服务端客户端代码中找到。

            例如,如果执行 scrcpy -m1920 --no-audio,则服务端的执行如下:

            bash
            # scid 是一个随机数,用于区分同一设备上运行的不同客户端
             adb shell CLASSPATH=/data/local/tmp/scrcpy-server.jar app_process / com.genymobile.scrcpy.Server 2.1 scid=12345678 log_level=info audio=false max_size=1920

            组件

            执行时,其 main() 方法(在“主”线程中运行)会解析参数,建立与客户端的连接,并启动其他“组件”:

            • 视频流:捕获屏幕视频并通过 video 套接字发送编码后的视频数据包(从 video 线程)。
            • 音频流:使用多个线程捕获原始数据包,提交编码并获取编码后的数据包,通过 audio 套接字发送。
            • 控制器:从一个线程接收 control 套接字上的控制消息(通常是输入事件),并从另一个线程通过同一 control 套接字发送设备消息(例如将设备剪贴板内容传输到客户端)。因此,control 套接字是双向使用的(与 videoaudio 套接字不同)。

            屏幕视频编码

            编码由 ScreenEncoder 管理。

            视频使用 MediaCodec API 编码。编码器编码与显示关联的 Surface 内容,并将编码后的数据包写入客户端(通过 video 套接字)。

            在设备旋转(或折叠)时,编码会话会重置并重新启动。

            仅当 Surface 发生变化时才会生成新帧。这避免了发送不必要的帧,但默认情况下可能存在以下问题:

            • 如果设备屏幕未变化,启动时不会发送任何帧;
            • 快速运动变化后,最后一帧的质量可能较差。

            这两个问题通过标志 KEY_REPEAT_PREVIOUS_FRAME_AFTER 解决

            音频编码

            类似地,音频通过 AudioRecord 捕获,并使用 MediaCodec 异步 API 编码

            更多细节请参阅介绍音频功能的博客文章

            输入事件注入

            控制消息 由客户端通过 Controller(在单独线程中运行)接收。输入事件有多种类型:

            • 键码(参考 KeyEvent);
            • 文本(特殊字符可能无法直接通过键码处理);
            • 鼠标移动/点击;
            • 鼠标滚动;
            • 其他命令(例如开关屏幕或复制剪贴板)。

            其中一些需要通过系统注入输入事件。为此,它们使用 隐藏 方法 InputManager.injectInputEvent()(由 InputManager 包装器 暴露)。


            客户端

            客户端依赖 SDL,它提供了跨平台的 UI、输入事件、线程等 API。

            视频和音频流由 FFmpeg 解码。

            初始化

            客户端解析命令行参数后,运行以下两种代码路径之一

            在本文档的剩余部分,我们假设使用的是“正常”模式(OTG 模式的代码请自行阅读)。

            启动时,客户端:

            • 打开 videoaudiocontrol 套接字;
            • 推送并启动设备上的服务端;
            • 初始化其组件(解复用器、解码器、录制器等)。

            视频和音频流

            根据传递给 scrcpy 的参数,可能会使用多个组件。以下是视频和音频组件的概述:

                                                             V4L2 sink
            diff --git a/assets/zhHans_reference_scrcpy_develop.md.DunfB6YE.lean.js b/assets/zhHans_reference_scrcpy_develop.md.NXjK1m3Z.lean.js
            similarity index 88%
            rename from assets/zhHans_reference_scrcpy_develop.md.DunfB6YE.lean.js
            rename to assets/zhHans_reference_scrcpy_develop.md.NXjK1m3Z.lean.js
            index 4260652a0..4922afa91 100644
            --- a/assets/zhHans_reference_scrcpy_develop.md.DunfB6YE.lean.js
            +++ b/assets/zhHans_reference_scrcpy_develop.md.NXjK1m3Z.lean.js
            @@ -1 +1 @@
            -import{e,o as s,a as i,ag as r}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"develop(开发者指南)","description":"","frontmatter":{"title":"develop(开发者指南)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/develop.md","filePath":"zhHans/reference/scrcpy/develop.md","lastUpdated":1772158243000}'),l={name:"zhHans/reference/scrcpy/develop.md"};function n(p,a,t,c,h,o){return s(),i("div",null,[...a[0]||(a[0]=[r("",124)])])}const b=e(l,[["render",n]]);export{k as __pageData,b as default};
            +import{e,o as s,a as i,ag as r}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"develop(开发者指南)","description":"","frontmatter":{"title":"develop(开发者指南)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/develop.md","filePath":"zhHans/reference/scrcpy/develop.md","lastUpdated":1772158834000}'),l={name:"zhHans/reference/scrcpy/develop.md"};function n(p,a,t,c,h,o){return s(),i("div",null,[...a[0]||(a[0]=[r("",124)])])}const b=e(l,[["render",n]]);export{k as __pageData,b as default};
            diff --git a/assets/zhHans_reference_scrcpy_device.md.l5glMPhi.js b/assets/zhHans_reference_scrcpy_device.md.DkqCxuvb.js
            similarity index 99%
            rename from assets/zhHans_reference_scrcpy_device.md.l5glMPhi.js
            rename to assets/zhHans_reference_scrcpy_device.md.DkqCxuvb.js
            index f18704fa8..516a55035 100644
            --- a/assets/zhHans_reference_scrcpy_device.md.l5glMPhi.js
            +++ b/assets/zhHans_reference_scrcpy_device.md.DkqCxuvb.js
            @@ -1,4 +1,4 @@
            -import{e as i,o as a,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const o=JSON.parse('{"title":"device(设备控制)","description":"","frontmatter":{"title":"device(设备控制)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/device.md","filePath":"zhHans/reference/scrcpy/device.md","lastUpdated":1772158243000}'),p={name:"zhHans/reference/scrcpy/device.md"};function h(n,s,l,k,d,r){return a(),e("div",null,[...s[0]||(s[0]=[t(`

            设备控制

            某些命令行参数可以在scrcpy运行时对设备本身执行操作。

            保持唤醒

            当设备通过有线连接时,防止设备延迟休眠:

            bash
            scrcpy --stay-awake
            +import{e as i,o as a,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const o=JSON.parse('{"title":"device(设备控制)","description":"","frontmatter":{"title":"device(设备控制)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/device.md","filePath":"zhHans/reference/scrcpy/device.md","lastUpdated":1772158834000}'),p={name:"zhHans/reference/scrcpy/device.md"};function h(n,s,l,k,d,r){return a(),e("div",null,[...s[0]||(s[0]=[t(`

            设备控制

            某些命令行参数可以在scrcpy运行时对设备本身执行操作。

            保持唤醒

            当设备通过有线连接时,防止设备延迟休眠:

            bash
            scrcpy --stay-awake
             scrcpy -w  # 简写形式

            scrcpy关闭时将恢复初始状态。

            如果设备未通过有线连接(即仅通过TCP/IP连接),--stay-awake参数无效(这是Android系统的特性)。

            该功能通过修改stay_on_while_plugged_in设置实现,也可手动调整:

            bash
            # 获取当前stay_on_while_plugged_in值
             adb shell settings get global stay_on_while_plugged_in
             # 为AC/USB/无线充电器启用保持唤醒
            diff --git a/assets/zhHans_reference_scrcpy_device.md.l5glMPhi.lean.js b/assets/zhHans_reference_scrcpy_device.md.DkqCxuvb.lean.js
            similarity index 87%
            rename from assets/zhHans_reference_scrcpy_device.md.l5glMPhi.lean.js
            rename to assets/zhHans_reference_scrcpy_device.md.DkqCxuvb.lean.js
            index 92ef6f59b..f5ba866b8 100644
            --- a/assets/zhHans_reference_scrcpy_device.md.l5glMPhi.lean.js
            +++ b/assets/zhHans_reference_scrcpy_device.md.DkqCxuvb.lean.js
            @@ -1 +1 @@
            -import{e as i,o as a,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const o=JSON.parse('{"title":"device(设备控制)","description":"","frontmatter":{"title":"device(设备控制)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/device.md","filePath":"zhHans/reference/scrcpy/device.md","lastUpdated":1772158243000}'),p={name:"zhHans/reference/scrcpy/device.md"};function h(n,s,l,k,d,r){return a(),e("div",null,[...s[0]||(s[0]=[t("",54)])])}const F=i(p,[["render",h]]);export{o as __pageData,F as default};
            +import{e as i,o as a,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const o=JSON.parse('{"title":"device(设备控制)","description":"","frontmatter":{"title":"device(设备控制)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/device.md","filePath":"zhHans/reference/scrcpy/device.md","lastUpdated":1772158834000}'),p={name:"zhHans/reference/scrcpy/device.md"};function h(n,s,l,k,d,r){return a(),e("div",null,[...s[0]||(s[0]=[t("",54)])])}const F=i(p,[["render",h]]);export{o as __pageData,F as default};
            diff --git a/assets/zhHans_reference_scrcpy_gamepad.md.CdzxIWjL.js b/assets/zhHans_reference_scrcpy_gamepad.md.CvDdTNel.js
            similarity index 98%
            rename from assets/zhHans_reference_scrcpy_gamepad.md.CdzxIWjL.js
            rename to assets/zhHans_reference_scrcpy_gamepad.md.CvDdTNel.js
            index 10af6f19d..b7823ded6 100644
            --- a/assets/zhHans_reference_scrcpy_gamepad.md.CdzxIWjL.js
            +++ b/assets/zhHans_reference_scrcpy_gamepad.md.CvDdTNel.js
            @@ -1,2 +1,2 @@
            -import{e,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const g=JSON.parse('{"title":"Gamepad(游戏手柄)","description":"","frontmatter":{"title":"Gamepad(游戏手柄)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/gamepad.md","filePath":"zhHans/reference/scrcpy/gamepad.md","lastUpdated":1772158243000}'),p={name:"zhHans/reference/scrcpy/gamepad.md"};function d(r,a,n,o,c,h){return s(),i("div",null,[...a[0]||(a[0]=[t(`

            Gamepad(游戏手柄)

            提供多种游戏手柄输入模式:

            • --gamepad=disabled(默认模式)
            • --gamepad=uhid(或简写为 -G):通过设备的 UHID 内核模块模拟物理 HID 游戏手柄
            • --gamepad=aoa:通过 AOAv2 协议模拟物理 HID 游戏手柄

            物理游戏手柄模拟

            有两种模式可以在设备上模拟物理 HID 游戏手柄,每种模式对应计算机上连接的一个物理游戏手柄。

            UHID 模式

            此模式通过设备上的 UHID 内核模块模拟物理 HID 游戏手柄。

            启用 UHID 游戏手柄模式,请使用以下命令:

            bash
            scrcpy --gamepad=uhid
            +import{e,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const g=JSON.parse('{"title":"Gamepad(游戏手柄)","description":"","frontmatter":{"title":"Gamepad(游戏手柄)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/gamepad.md","filePath":"zhHans/reference/scrcpy/gamepad.md","lastUpdated":1772158834000}'),p={name:"zhHans/reference/scrcpy/gamepad.md"};function d(r,a,n,o,c,h){return s(),i("div",null,[...a[0]||(a[0]=[t(`

            Gamepad(游戏手柄)

            提供多种游戏手柄输入模式:

            • --gamepad=disabled(默认模式)
            • --gamepad=uhid(或简写为 -G):通过设备的 UHID 内核模块模拟物理 HID 游戏手柄
            • --gamepad=aoa:通过 AOAv2 协议模拟物理 HID 游戏手柄

            物理游戏手柄模拟

            有两种模式可以在设备上模拟物理 HID 游戏手柄,每种模式对应计算机上连接的一个物理游戏手柄。

            UHID 模式

            此模式通过设备上的 UHID 内核模块模拟物理 HID 游戏手柄。

            启用 UHID 游戏手柄模式,请使用以下命令:

            bash
            scrcpy --gamepad=uhid
             scrcpy -G  # 简写形式

            注意:由于权限问题,UHID 在较旧的 Android 版本上可能无法正常工作。

            AOA 模式

            此模式通过 AOAv2 协议模拟物理 HID 游戏手柄。

            启用 AOA 游戏手柄模式,请使用以下命令:

            bash
            scrcpy --gamepad=aoa

            与其他模式不同,此模式直接在 USB 层级工作(因此仅支持通过 USB 连接)。

            它不使用 scrcpy 服务端,也不需要 adb(USB 调试)。因此,即使 USB 调试被禁用,也可以控制设备(但无法镜像屏幕,详见 OTG)。

            注意:在此模式下,Android 会将多个物理游戏手柄检测为一个行为异常的单一设备。如果需要使用多个游戏手柄,请选择 UHID 模式。

            注意:在 Windows 上,此模式可能仅在 OTG 模式 下有效,无法在镜像时使用(如果 USB 设备已被其他进程如 adb 守护进程 占用,则无法打开)。

            `,18)])])}const k=e(p,[["render",d]]);export{g as __pageData,k as default}; diff --git a/assets/zhHans_reference_scrcpy_gamepad.md.CdzxIWjL.lean.js b/assets/zhHans_reference_scrcpy_gamepad.md.CvDdTNel.lean.js similarity index 87% rename from assets/zhHans_reference_scrcpy_gamepad.md.CdzxIWjL.lean.js rename to assets/zhHans_reference_scrcpy_gamepad.md.CvDdTNel.lean.js index c333d7529..303c25225 100644 --- a/assets/zhHans_reference_scrcpy_gamepad.md.CdzxIWjL.lean.js +++ b/assets/zhHans_reference_scrcpy_gamepad.md.CvDdTNel.lean.js @@ -1 +1 @@ -import{e,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const g=JSON.parse('{"title":"Gamepad(游戏手柄)","description":"","frontmatter":{"title":"Gamepad(游戏手柄)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/gamepad.md","filePath":"zhHans/reference/scrcpy/gamepad.md","lastUpdated":1772158243000}'),p={name:"zhHans/reference/scrcpy/gamepad.md"};function d(r,a,n,o,c,h){return s(),i("div",null,[...a[0]||(a[0]=[t("",18)])])}const k=e(p,[["render",d]]);export{g as __pageData,k as default}; +import{e,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const g=JSON.parse('{"title":"Gamepad(游戏手柄)","description":"","frontmatter":{"title":"Gamepad(游戏手柄)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/gamepad.md","filePath":"zhHans/reference/scrcpy/gamepad.md","lastUpdated":1772158834000}'),p={name:"zhHans/reference/scrcpy/gamepad.md"};function d(r,a,n,o,c,h){return s(),i("div",null,[...a[0]||(a[0]=[t("",18)])])}const k=e(p,[["render",d]]);export{g as __pageData,k as default}; diff --git a/assets/zhHans_reference_scrcpy_index.md.CZqbT2Bx.js b/assets/zhHans_reference_scrcpy_index.md.CLeLpNdE.js similarity index 99% rename from assets/zhHans_reference_scrcpy_index.md.CZqbT2Bx.js rename to assets/zhHans_reference_scrcpy_index.md.CLeLpNdE.js index 71a535b56..fa9bc9148 100644 --- a/assets/zhHans_reference_scrcpy_index.md.CZqbT2Bx.js +++ b/assets/zhHans_reference_scrcpy_index.md.CLeLpNdE.js @@ -1,4 +1,4 @@ -import{e as a,o as s,a as i,ag as r}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Scrcpy","description":"","frontmatter":{"title":"Scrcpy"},"headers":[],"relativePath":"zhHans/reference/scrcpy/index.md","filePath":"zhHans/reference/scrcpy/index.md","lastUpdated":1772158243000}'),n={name:"zhHans/reference/scrcpy/index.md"};function l(t,e,c,p,h,o){return s(),i("div",null,[...e[0]||(e[0]=[r(`

            IMPORTANT

            Escrcpy基于以下开源项目构建。相关内容仅供参考,将定期更新。

            scrcpy (v3.2)

            scrcpy

            发音为 "screen copy"

            此应用通过USB或TCP/IP连接镜像Android设备(视频和音频),并支持使用计算机的键盘和鼠标进行控制。它不需要root权限,也无需在设备上安装应用。支持LinuxWindowsmacOS

            截图

            其特点包括:

            • 轻量:原生实现,仅显示设备屏幕
            • 高性能:30~120fps,具体取决于设备
            • 高质量:1920×1080或更高分辨率
            • 低延迟35~70毫秒
            • 快速启动:约1秒显示首帧画面
            • 无侵入性:不会在Android设备上留下任何痕迹
            • 用户友好:无需账户、无广告、无需联网
            • 自由:免费开源软件

            功能亮点:

            前提条件

            Android设备需至少支持API 21(Android 5.0)。

            音频转发需API >= 30(Android 11+)。

            确保已在设备上启用USB调试

            在某些设备(尤其是小米)上,可能会遇到以下错误:

            java.lang.SecurityException: Injecting input events requires the caller (or the source of the instrumentation, if any) to have the INJECT_EVENTS permission.

            此时,需启用额外选项control USB调试(安全设置)(与USB调试不同),才能使用键盘和鼠标控制设备。启用后需重启设备。

            注意:OTG模式下无需开启USB调试。

            获取应用

            必知技巧

            使用示例

            提供多种选项,详见文档。以下为常用示例:

            • 以H.265格式捕获屏幕(更高画质),限制分辨率为1920,帧率60fps,禁用音频,并通过模拟物理键盘控制设备:

              bash
              scrcpy --video-codec=h265 --max-size=1920 --max-fps=60 --no-audio --keyboard=uhid
              +import{e as a,o as s,a as i,ag as r}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Scrcpy","description":"","frontmatter":{"title":"Scrcpy"},"headers":[],"relativePath":"zhHans/reference/scrcpy/index.md","filePath":"zhHans/reference/scrcpy/index.md","lastUpdated":1772158834000}'),n={name:"zhHans/reference/scrcpy/index.md"};function l(t,e,c,p,h,o){return s(),i("div",null,[...e[0]||(e[0]=[r(`

              IMPORTANT

              Escrcpy基于以下开源项目构建。相关内容仅供参考,将定期更新。

              scrcpy (v3.2)

              scrcpy

              发音为 "screen copy"

              此应用通过USB或TCP/IP连接镜像Android设备(视频和音频),并支持使用计算机的键盘和鼠标进行控制。它不需要root权限,也无需在设备上安装应用。支持LinuxWindowsmacOS

              截图

              其特点包括:

              • 轻量:原生实现,仅显示设备屏幕
              • 高性能:30~120fps,具体取决于设备
              • 高质量:1920×1080或更高分辨率
              • 低延迟35~70毫秒
              • 快速启动:约1秒显示首帧画面
              • 无侵入性:不会在Android设备上留下任何痕迹
              • 用户友好:无需账户、无广告、无需联网
              • 自由:免费开源软件

              功能亮点:

              前提条件

              Android设备需至少支持API 21(Android 5.0)。

              音频转发需API >= 30(Android 11+)。

              确保已在设备上启用USB调试

              在某些设备(尤其是小米)上,可能会遇到以下错误:

              java.lang.SecurityException: Injecting input events requires the caller (or the source of the instrumentation, if any) to have the INJECT_EVENTS permission.

              此时,需启用额外选项control USB调试(安全设置)(与USB调试不同),才能使用键盘和鼠标控制设备。启用后需重启设备。

              注意:OTG模式下无需开启USB调试。

              获取应用

              必知技巧

              使用示例

              提供多种选项,详见文档。以下为常用示例:

              • 以H.265格式捕获屏幕(更高画质),限制分辨率为1920,帧率60fps,禁用音频,并通过模拟物理键盘控制设备:

                bash
                scrcpy --video-codec=h265 --max-size=1920 --max-fps=60 --no-audio --keyboard=uhid
                 scrcpy --video-codec=h265 -m1920 --max-fps=60 --no-audio -K  # 简写版本
              • 在新虚拟显示中启动VLC(与设备显示分离):

                bash
                scrcpy --new-display=1920x1080 --start-app=org.videolan.vlc
              • 以H.265格式录制设备摄像头(及麦克风)到MP4文件,分辨率1920x1080:

                bash
                scrcpy --video-source=camera --video-codec=h265 --camera-size=1920x1080 --record=file.mp4
              • 捕获设备前置摄像头并作为网络摄像头暴露给计算机(仅限Linux):

                bash
                scrcpy --video-source=camera --camera-size=1920x1080 --camera-facing=front --v4l2-sink=/dev/video2 --no-playback
              • 通过模拟物理键盘和鼠标控制设备,无需镜像(无需USB调试):

                bash
                scrcpy --otg
              • 使用连接到计算机的手柄控制设备:

                bash
                scrcpy --gamepad=uhid
                 scrcpy -G  # 简写版本

              用户文档

              应用提供丰富的功能和配置选项,详见以下页面:

              资源

              相关文章

              联系方式

              可通过issue提交错误报告、功能请求或一般问题。

              提交错误报告前,请先阅读常见问题,可能已包含解决方案。

              其他渠道:

              捐赠

              我是@rom1v,Scrcpy的作者和维护者。

              如果您喜欢此应用,可以支持我的开源工作

              许可证

              版权所有 (C) 2018 Genymobile
               版权所有 (C) 2018-2025 Romain Vimont
              diff --git a/assets/zhHans_reference_scrcpy_index.md.CZqbT2Bx.lean.js b/assets/zhHans_reference_scrcpy_index.md.CLeLpNdE.lean.js
              similarity index 86%
              rename from assets/zhHans_reference_scrcpy_index.md.CZqbT2Bx.lean.js
              rename to assets/zhHans_reference_scrcpy_index.md.CLeLpNdE.lean.js
              index 0eed63f98..6352978aa 100644
              --- a/assets/zhHans_reference_scrcpy_index.md.CZqbT2Bx.lean.js
              +++ b/assets/zhHans_reference_scrcpy_index.md.CLeLpNdE.lean.js
              @@ -1 +1 @@
              -import{e as a,o as s,a as i,ag as r}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Scrcpy","description":"","frontmatter":{"title":"Scrcpy"},"headers":[],"relativePath":"zhHans/reference/scrcpy/index.md","filePath":"zhHans/reference/scrcpy/index.md","lastUpdated":1772158243000}'),n={name:"zhHans/reference/scrcpy/index.md"};function l(t,e,c,p,h,o){return s(),i("div",null,[...e[0]||(e[0]=[r("",43)])])}const y=a(n,[["render",l]]);export{k as __pageData,y as default};
              +import{e as a,o as s,a as i,ag as r}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Scrcpy","description":"","frontmatter":{"title":"Scrcpy"},"headers":[],"relativePath":"zhHans/reference/scrcpy/index.md","filePath":"zhHans/reference/scrcpy/index.md","lastUpdated":1772158834000}'),n={name:"zhHans/reference/scrcpy/index.md"};function l(t,e,c,p,h,o){return s(),i("div",null,[...e[0]||(e[0]=[r("",43)])])}const y=a(n,[["render",l]]);export{k as __pageData,y as default};
              diff --git a/assets/zhHans_reference_scrcpy_keyboard.md.C_dDxxId.js b/assets/zhHans_reference_scrcpy_keyboard.md.BrH0Gc25.js
              similarity index 99%
              rename from assets/zhHans_reference_scrcpy_keyboard.md.C_dDxxId.js
              rename to assets/zhHans_reference_scrcpy_keyboard.md.BrH0Gc25.js
              index 33bab3105..808dc62c6 100644
              --- a/assets/zhHans_reference_scrcpy_keyboard.md.C_dDxxId.js
              +++ b/assets/zhHans_reference_scrcpy_keyboard.md.BrH0Gc25.js
              @@ -1,2 +1,2 @@
              -import{e,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"keyboard(键盘)","description":"","frontmatter":{"title":"keyboard(键盘)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/keyboard.md","filePath":"zhHans/reference/scrcpy/keyboard.md","lastUpdated":1772158243000}'),r={name:"zhHans/reference/scrcpy/keyboard.md"};function d(p,a,l,h,o,n){return s(),i("div",null,[...a[0]||(a[0]=[t(`

              键盘

              提供多种键盘输入模式:

              • --keyboard=sdk(默认模式)
              • --keyboard=uhid(或简写为 -K):通过设备的 UHID 内核模块模拟物理 HID 键盘
              • --keyboard=aoa:通过 AOAv2 协议模拟物理 HID 键盘
              • --keyboard=disabled 禁用键盘输入

              默认使用 sdk 模式,但如果经常使用 scrcpy,建议切换到 uhid 模式并一次性配置键盘布局。


              SDK 键盘模式

              在此模式下(--keyboard=sdk 或省略参数时),键盘输入事件通过 Android API 层级注入。该模式通用性强,但仅支持 ASCII 和部分其他字符。

              注意:某些设备需在开发者选项中启用额外设置才能使此模式正常工作,详见前提条件

              以下参数(专用于 --keyboard=sdk)可自定义行为:

              文本注入偏好

              输入文本时会生成两种事件

              • 按键事件:表示按键的按下或释放;
              • 文本事件:表示文本的输入。

              默认情况下,数字和“特殊字符”通过文本事件插入,而字母通过按键事件注入(以便在游戏中正常响应 WASD 等按键)。

              但此行为可能导致问题。若遇到此类问题,可强制将字母作为文本注入(或直接切换至 UHID 模式):

              bash
              scrcpy --prefer-text

              (但这会破坏游戏中的键盘行为)

              反之,也可强制始终使用原始按键事件:

              bash
              scrcpy --raw-key-events

              按键重复

              默认情况下,长按按键会生成重复的按键事件。某些游戏中这些事件无用且可能导致性能问题。

              禁用重复按键事件转发:

              bash
              scrcpy --no-key-repeat

              物理键盘模拟

              两种模式可在设备上模拟物理 HID 键盘。为确保正常工作,需在设备上一次性配置与计算机匹配的键盘布局。

              可通过以下方式打开配置页面:

              • 使用 uhidaoa 模式时,在 scrcpy 窗口中按 MOD+k(见快捷键
              • 在设备上进入:设置 → 系统 → 语言与输入 → 物理键盘
              • 通过计算机终端执行:
                bash
                adb shell am start -a android.settings.HARD_KEYBOARD_SETTINGS

              在此配置页面中,还可启用或禁用屏幕键盘。

              UHID 模式

              此模式通过设备的 UHID 内核模块模拟物理 HID 键盘。

              启用 UHID 键盘:

              bash
              scrcpy --keyboard=uhid
              +import{e,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"keyboard(键盘)","description":"","frontmatter":{"title":"keyboard(键盘)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/keyboard.md","filePath":"zhHans/reference/scrcpy/keyboard.md","lastUpdated":1772158834000}'),r={name:"zhHans/reference/scrcpy/keyboard.md"};function d(p,a,l,h,o,n){return s(),i("div",null,[...a[0]||(a[0]=[t(`

              键盘

              提供多种键盘输入模式:

              • --keyboard=sdk(默认模式)
              • --keyboard=uhid(或简写为 -K):通过设备的 UHID 内核模块模拟物理 HID 键盘
              • --keyboard=aoa:通过 AOAv2 协议模拟物理 HID 键盘
              • --keyboard=disabled 禁用键盘输入

              默认使用 sdk 模式,但如果经常使用 scrcpy,建议切换到 uhid 模式并一次性配置键盘布局。


              SDK 键盘模式

              在此模式下(--keyboard=sdk 或省略参数时),键盘输入事件通过 Android API 层级注入。该模式通用性强,但仅支持 ASCII 和部分其他字符。

              注意:某些设备需在开发者选项中启用额外设置才能使此模式正常工作,详见前提条件

              以下参数(专用于 --keyboard=sdk)可自定义行为:

              文本注入偏好

              输入文本时会生成两种事件

              • 按键事件:表示按键的按下或释放;
              • 文本事件:表示文本的输入。

              默认情况下,数字和“特殊字符”通过文本事件插入,而字母通过按键事件注入(以便在游戏中正常响应 WASD 等按键)。

              但此行为可能导致问题。若遇到此类问题,可强制将字母作为文本注入(或直接切换至 UHID 模式):

              bash
              scrcpy --prefer-text

              (但这会破坏游戏中的键盘行为)

              反之,也可强制始终使用原始按键事件:

              bash
              scrcpy --raw-key-events

              按键重复

              默认情况下,长按按键会生成重复的按键事件。某些游戏中这些事件无用且可能导致性能问题。

              禁用重复按键事件转发:

              bash
              scrcpy --no-key-repeat

              物理键盘模拟

              两种模式可在设备上模拟物理 HID 键盘。为确保正常工作,需在设备上一次性配置与计算机匹配的键盘布局。

              可通过以下方式打开配置页面:

              • 使用 uhidaoa 模式时,在 scrcpy 窗口中按 MOD+k(见快捷键
              • 在设备上进入:设置 → 系统 → 语言与输入 → 物理键盘
              • 通过计算机终端执行:
                bash
                adb shell am start -a android.settings.HARD_KEYBOARD_SETTINGS

              在此配置页面中,还可启用或禁用屏幕键盘。

              UHID 模式

              此模式通过设备的 UHID 内核模块模拟物理 HID 键盘。

              启用 UHID 键盘:

              bash
              scrcpy --keyboard=uhid
               scrcpy -K  # 简写形式

              配置键盘布局后(见上文),这是镜像时使用键盘的最佳模式:

              • 支持所有字符和输入法(与 --keyboard=sdk 不同)
              • 可禁用屏幕键盘(与 --keyboard=sdk 不同)
              • 支持 TCP/IP 无线连接(与 --keyboard=aoa 不同)
              • 在 Windows 上无兼容问题(与 --keyboard=aoa 不同)

              缺点是由于权限问题,旧版 Android 可能无法使用此模式。

              AOA 模式

              此模式通过 AOAv2 协议模拟物理 HID 键盘。

              启用 AOA 键盘:

              bash
              scrcpy --keyboard=aoa

              与其他模式不同,AOA 直接在 USB 层级工作(仅支持有线连接)。

              它不使用 scrcpy 服务端,且无需 adb(USB 调试)。因此,即使关闭 USB 调试,仍可控制设备(但不支持镜像,见 OTG)。

              注意:在 Windows 上,此模式可能仅支持 OTG 模式,镜像时无法使用(若 USB 设备已被其他进程如 adb 守护进程 占用,则无法重复打开)。

              `,42)])])}const b=e(r,[["render",d]]);export{k as __pageData,b as default}; diff --git a/assets/zhHans_reference_scrcpy_keyboard.md.C_dDxxId.lean.js b/assets/zhHans_reference_scrcpy_keyboard.md.BrH0Gc25.lean.js similarity index 87% rename from assets/zhHans_reference_scrcpy_keyboard.md.C_dDxxId.lean.js rename to assets/zhHans_reference_scrcpy_keyboard.md.BrH0Gc25.lean.js index 30d6ba217..ef26ece6e 100644 --- a/assets/zhHans_reference_scrcpy_keyboard.md.C_dDxxId.lean.js +++ b/assets/zhHans_reference_scrcpy_keyboard.md.BrH0Gc25.lean.js @@ -1 +1 @@ -import{e,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"keyboard(键盘)","description":"","frontmatter":{"title":"keyboard(键盘)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/keyboard.md","filePath":"zhHans/reference/scrcpy/keyboard.md","lastUpdated":1772158243000}'),r={name:"zhHans/reference/scrcpy/keyboard.md"};function d(p,a,l,h,o,n){return s(),i("div",null,[...a[0]||(a[0]=[t("",42)])])}const b=e(r,[["render",d]]);export{k as __pageData,b as default}; +import{e,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"keyboard(键盘)","description":"","frontmatter":{"title":"keyboard(键盘)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/keyboard.md","filePath":"zhHans/reference/scrcpy/keyboard.md","lastUpdated":1772158834000}'),r={name:"zhHans/reference/scrcpy/keyboard.md"};function d(p,a,l,h,o,n){return s(),i("div",null,[...a[0]||(a[0]=[t("",42)])])}const b=e(r,[["render",d]]);export{k as __pageData,b as default}; diff --git a/assets/zhHans_reference_scrcpy_linux.md.DQru3hlI.js b/assets/zhHans_reference_scrcpy_linux.md.NoS1Qt7i.js similarity index 99% rename from assets/zhHans_reference_scrcpy_linux.md.DQru3hlI.js rename to assets/zhHans_reference_scrcpy_linux.md.NoS1Qt7i.js index 65bc8791e..20ae9733c 100644 --- a/assets/zhHans_reference_scrcpy_linux.md.DQru3hlI.js +++ b/assets/zhHans_reference_scrcpy_linux.md.NoS1Qt7i.js @@ -1,4 +1,4 @@ -import{e as a,o as i,a as e,ag as l}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Linux(平台指南)","description":"","frontmatter":{"title":"Linux(平台指南)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/linux.md","filePath":"zhHans/reference/scrcpy/linux.md","lastUpdated":1772158243000}'),t={name:"zhHans/reference/scrcpy/linux.md"};function n(p,s,h,r,c,d){return i(),e("div",null,[...s[0]||(s[0]=[l(`

              Linux 平台指南

              安装

              官方发布版本

              下载最新版本的静态构建包:

              下载后解压即可。

              Linux平台的静态构建版本仍处于实验阶段。

              通过包管理器安装

              Packaging status

              Scrcpy已被多种发行版和包管理器收录:

              • Debian/Ubuntu: apt install scrcpy (版本过旧)
              • Arch Linux: pacman -S scrcpy
              • Fedora: dnf copr enable zeno/scrcpy && dnf install scrcpy
              • Gentoo: emerge scrcpy
              • Snap: snap install scrcpy
              • … (详见 repology)

              使用安装脚本

              如需安装master分支的最新版本,可按以下简化流程操作:

              首先安装依赖包:

              bash
              # Debian/Ubuntu系统
              +import{e as a,o as i,a as e,ag as l}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Linux(平台指南)","description":"","frontmatter":{"title":"Linux(平台指南)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/linux.md","filePath":"zhHans/reference/scrcpy/linux.md","lastUpdated":1772158834000}'),t={name:"zhHans/reference/scrcpy/linux.md"};function n(p,s,h,r,c,d){return i(),e("div",null,[...s[0]||(s[0]=[l(`

              Linux 平台指南

              安装

              官方发布版本

              下载最新版本的静态构建包:

              下载后解压即可。

              Linux平台的静态构建版本仍处于实验阶段。

              通过包管理器安装

              Packaging status

              Scrcpy已被多种发行版和包管理器收录:

              • Debian/Ubuntu: apt install scrcpy (版本过旧)
              • Arch Linux: pacman -S scrcpy
              • Fedora: dnf copr enable zeno/scrcpy && dnf install scrcpy
              • Gentoo: emerge scrcpy
              • Snap: snap install scrcpy
              • … (详见 repology)

              使用安装脚本

              如需安装master分支的最新版本,可按以下简化流程操作:

              首先安装依赖包:

              bash
              # Debian/Ubuntu系统
               sudo apt install ffmpeg libsdl2-2.0-0 adb wget \\
                                gcc git pkg-config meson ninja-build libsdl2-dev \\
                                libavcodec-dev libavdevice-dev libavformat-dev libavutil-dev \\
              diff --git a/assets/zhHans_reference_scrcpy_linux.md.DQru3hlI.lean.js b/assets/zhHans_reference_scrcpy_linux.md.NoS1Qt7i.lean.js
              similarity index 87%
              rename from assets/zhHans_reference_scrcpy_linux.md.DQru3hlI.lean.js
              rename to assets/zhHans_reference_scrcpy_linux.md.NoS1Qt7i.lean.js
              index 440890944..5ff0f4e61 100644
              --- a/assets/zhHans_reference_scrcpy_linux.md.DQru3hlI.lean.js
              +++ b/assets/zhHans_reference_scrcpy_linux.md.NoS1Qt7i.lean.js
              @@ -1 +1 @@
              -import{e as a,o as i,a as e,ag as l}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Linux(平台指南)","description":"","frontmatter":{"title":"Linux(平台指南)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/linux.md","filePath":"zhHans/reference/scrcpy/linux.md","lastUpdated":1772158243000}'),t={name:"zhHans/reference/scrcpy/linux.md"};function n(p,s,h,r,c,d){return i(),e("div",null,[...s[0]||(s[0]=[l("",31)])])}const g=a(t,[["render",n]]);export{k as __pageData,g as default};
              +import{e as a,o as i,a as e,ag as l}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Linux(平台指南)","description":"","frontmatter":{"title":"Linux(平台指南)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/linux.md","filePath":"zhHans/reference/scrcpy/linux.md","lastUpdated":1772158834000}'),t={name:"zhHans/reference/scrcpy/linux.md"};function n(p,s,h,r,c,d){return i(),e("div",null,[...s[0]||(s[0]=[l("",31)])])}const g=a(t,[["render",n]]);export{k as __pageData,g as default};
              diff --git a/assets/zhHans_reference_scrcpy_macos.md.BS4HBTD0.js b/assets/zhHans_reference_scrcpy_macos.md.6-5qUhXf.js
              similarity index 98%
              rename from assets/zhHans_reference_scrcpy_macos.md.BS4HBTD0.js
              rename to assets/zhHans_reference_scrcpy_macos.md.6-5qUhXf.js
              index 86b193405..abb1f0744 100644
              --- a/assets/zhHans_reference_scrcpy_macos.md.BS4HBTD0.js
              +++ b/assets/zhHans_reference_scrcpy_macos.md.6-5qUhXf.js
              @@ -1 +1 @@
              -import{e,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const b=JSON.parse('{"title":"MacOS(平台指南)","description":"","frontmatter":{"title":"MacOS(平台指南)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/macos.md","filePath":"zhHans/reference/scrcpy/macos.md","lastUpdated":1772158243000}'),c={name:"zhHans/reference/scrcpy/macos.md"};function r(p,a,l,h,n,o){return s(),i("div",null,[...a[0]||(a[0]=[t('

              在 macOS 上使用 scrcpy

              安装

              从官方发布版本安装

              下载最新版本的静态构建包:

              下载完成后解压即可。

              注意:macOS 版的 scrcpy 静态构建包仍处于实验阶段。

              通过包管理器安装

              Scrcpy 可通过 Homebrew 安装:

              bash
              brew install scrcpy

              你需要确保 adb 工具已在 PATH 环境变量中。如果尚未安装:

              bash
              brew install --cask android-platform-tools

              此外,Scrcpy 也可通过 MacPorts 安装,该工具会自动配置 adb

              bash
              sudo port install scrcpy

              如需手动构建和安装,请参阅 build

              运行

              请确保你的设备满足使用前提

              安装完成后,在终端中运行:

              bash
              scrcpy

              或带参数运行(以下示例为禁用音频并录制到 file.mkv):

              bash
              scrcpy --no-audio --record=file.mkv

              命令行参数的文档可通过以下方式查看:

              ',23)])])}const k=e(c,[["render",r]]);export{b as __pageData,k as default}; +import{e,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const b=JSON.parse('{"title":"MacOS(平台指南)","description":"","frontmatter":{"title":"MacOS(平台指南)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/macos.md","filePath":"zhHans/reference/scrcpy/macos.md","lastUpdated":1772158834000}'),c={name:"zhHans/reference/scrcpy/macos.md"};function r(p,a,l,h,n,o){return s(),i("div",null,[...a[0]||(a[0]=[t('

              在 macOS 上使用 scrcpy

              安装

              从官方发布版本安装

              下载最新版本的静态构建包:

              下载完成后解压即可。

              注意:macOS 版的 scrcpy 静态构建包仍处于实验阶段。

              通过包管理器安装

              Scrcpy 可通过 Homebrew 安装:

              bash
              brew install scrcpy

              你需要确保 adb 工具已在 PATH 环境变量中。如果尚未安装:

              bash
              brew install --cask android-platform-tools

              此外,Scrcpy 也可通过 MacPorts 安装,该工具会自动配置 adb

              bash
              sudo port install scrcpy

              如需手动构建和安装,请参阅 build

              运行

              请确保你的设备满足使用前提

              安装完成后,在终端中运行:

              bash
              scrcpy

              或带参数运行(以下示例为禁用音频并录制到 file.mkv):

              bash
              scrcpy --no-audio --record=file.mkv

              命令行参数的文档可通过以下方式查看:

              ',23)])])}const k=e(c,[["render",r]]);export{b as __pageData,k as default}; diff --git a/assets/zhHans_reference_scrcpy_macos.md.BS4HBTD0.lean.js b/assets/zhHans_reference_scrcpy_macos.md.6-5qUhXf.lean.js similarity index 87% rename from assets/zhHans_reference_scrcpy_macos.md.BS4HBTD0.lean.js rename to assets/zhHans_reference_scrcpy_macos.md.6-5qUhXf.lean.js index d770898a0..dcdc4b1e0 100644 --- a/assets/zhHans_reference_scrcpy_macos.md.BS4HBTD0.lean.js +++ b/assets/zhHans_reference_scrcpy_macos.md.6-5qUhXf.lean.js @@ -1 +1 @@ -import{e,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const b=JSON.parse('{"title":"MacOS(平台指南)","description":"","frontmatter":{"title":"MacOS(平台指南)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/macos.md","filePath":"zhHans/reference/scrcpy/macos.md","lastUpdated":1772158243000}'),c={name:"zhHans/reference/scrcpy/macos.md"};function r(p,a,l,h,n,o){return s(),i("div",null,[...a[0]||(a[0]=[t("",23)])])}const k=e(c,[["render",r]]);export{b as __pageData,k as default}; +import{e,o as s,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const b=JSON.parse('{"title":"MacOS(平台指南)","description":"","frontmatter":{"title":"MacOS(平台指南)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/macos.md","filePath":"zhHans/reference/scrcpy/macos.md","lastUpdated":1772158834000}'),c={name:"zhHans/reference/scrcpy/macos.md"};function r(p,a,l,h,n,o){return s(),i("div",null,[...a[0]||(a[0]=[t("",23)])])}const k=e(c,[["render",r]]);export{b as __pageData,k as default}; diff --git a/assets/zhHans_reference_scrcpy_mouse.md.C4YAPHCb.js b/assets/zhHans_reference_scrcpy_mouse.md.COKqK1zY.js similarity index 99% rename from assets/zhHans_reference_scrcpy_mouse.md.C4YAPHCb.js rename to assets/zhHans_reference_scrcpy_mouse.md.COKqK1zY.js index 0378e621a..1f3d363b1 100644 --- a/assets/zhHans_reference_scrcpy_mouse.md.C4YAPHCb.js +++ b/assets/zhHans_reference_scrcpy_mouse.md.COKqK1zY.js @@ -1,4 +1,4 @@ -import{e as a,o as e,a as i,ag as n}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Mouse(鼠标)","description":"","frontmatter":{"title":"Mouse(鼠标)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/mouse.md","filePath":"zhHans/reference/scrcpy/mouse.md","lastUpdated":1772158243000}'),p={name:"zhHans/reference/scrcpy/mouse.md"};function l(t,s,h,d,c,o){return e(),i("div",null,[...s[0]||(s[0]=[n(`

              鼠标

              提供多种鼠标输入模式:

              • --mouse=sdk(默认模式)
              • --mouse=uhid(或 -M):通过设备的 UHID 内核模块模拟物理 HID 鼠标
              • --mouse=aoa:通过 AOAv2 协议模拟物理 HID 鼠标
              • --mouse=disabled

              SDK 鼠标模式

              在此模式下(--mouse=sdk 或省略参数时),鼠标输入事件会以绝对坐标的形式通过 Android API 注入设备。

              注意:在某些设备上,开发者选项中需启用额外选项才能使此模式生效。详见前提条件

              鼠标悬停

              默认情况下,鼠标悬停(无点击的鼠标移动)事件会被转发到设备。可通过以下命令禁用:

              scrcpy --no-mouse-hover

              物理鼠标模拟

              有两种模式可在设备上模拟物理 HID 鼠标。

              在这些模式下,计算机鼠标会被“捕获”:鼠标指针从计算机消失,转而出现在 Android 设备上。

              通过快捷键修饰键(默认为 AltSuper)可切换(禁用或启用)鼠标捕获功能。使用其中之一可将鼠标控制权交还给计算机。

              UHID 模式

              此模式通过设备的 UHID 内核模块模拟物理 HID 鼠标。

              启用 UHID 鼠标模式的命令:

              bash
              scrcpy --mouse=uhid
              +import{e as a,o as e,a as i,ag as n}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Mouse(鼠标)","description":"","frontmatter":{"title":"Mouse(鼠标)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/mouse.md","filePath":"zhHans/reference/scrcpy/mouse.md","lastUpdated":1772158834000}'),p={name:"zhHans/reference/scrcpy/mouse.md"};function l(t,s,h,d,c,o){return e(),i("div",null,[...s[0]||(s[0]=[n(`

              鼠标

              提供多种鼠标输入模式:

              • --mouse=sdk(默认模式)
              • --mouse=uhid(或 -M):通过设备的 UHID 内核模块模拟物理 HID 鼠标
              • --mouse=aoa:通过 AOAv2 协议模拟物理 HID 鼠标
              • --mouse=disabled

              SDK 鼠标模式

              在此模式下(--mouse=sdk 或省略参数时),鼠标输入事件会以绝对坐标的形式通过 Android API 注入设备。

              注意:在某些设备上,开发者选项中需启用额外选项才能使此模式生效。详见前提条件

              鼠标悬停

              默认情况下,鼠标悬停(无点击的鼠标移动)事件会被转发到设备。可通过以下命令禁用:

              scrcpy --no-mouse-hover

              物理鼠标模拟

              有两种模式可在设备上模拟物理 HID 鼠标。

              在这些模式下,计算机鼠标会被“捕获”:鼠标指针从计算机消失,转而出现在 Android 设备上。

              通过快捷键修饰键(默认为 AltSuper)可切换(禁用或启用)鼠标捕获功能。使用其中之一可将鼠标控制权交还给计算机。

              UHID 模式

              此模式通过设备的 UHID 内核模块模拟物理 HID 鼠标。

              启用 UHID 鼠标模式的命令:

              bash
              scrcpy --mouse=uhid
               scrcpy -M  # 简写形式

              注意:由于权限问题,UHID 在旧版 Android 上可能无法工作。

              AOA 模式

              此模式通过 AOAv2 协议模拟物理 HID 鼠标。

              启用 AOA 鼠标模式的命令:

              bash
              scrcpy --mouse=aoa

              与其他模式不同,此模式直接在 USB 层面工作(因此仅支持 USB 连接)。

              它不使用 scrcpy 服务端,也不依赖 adb(USB 调试)。因此,即使 USB 调试被禁用,仍可控制设备(但无法镜像)。详见 OTG

              注意:在 Windows 上,此模式可能仅在 OTG 模式下有效,镜像时无效(如果 USB 设备已被其他进程如 adb 守护进程 占用,则无法打开)。

              鼠标按键绑定

              默认情况下,在 SDK 鼠标模式下:

              • 右键触发 BACK(或点亮屏幕)
              • 中键触发 HOME
              • 第四键触发 APP_SWITCH
              • 第五键展开通知面板

              通过按住 Shift 键,可将次要点击事件转发到设备(例如 Shift+右键会向设备注入右键点击)。

              在 AOA 和 UHID 鼠标模式下,默认绑定相反:所有点击默认被转发,按住 Shift 可触发快捷键(由于光标由设备端处理,在此模式下默认转发所有鼠标按键更合理)。

              可通过 --mouse-bind=xxxx:xxxx 配置任何鼠标模式的快捷键。参数必须为一或两组(用 : 分隔)共 4 个字符的序列,分别对应每次次要点击:

                              .---- Shift + 右键
                      次要绑定 |.--- Shift + 中键
                              ||.-- Shift + 第四键
              diff --git a/assets/zhHans_reference_scrcpy_mouse.md.C4YAPHCb.lean.js b/assets/zhHans_reference_scrcpy_mouse.md.COKqK1zY.lean.js
              similarity index 87%
              rename from assets/zhHans_reference_scrcpy_mouse.md.C4YAPHCb.lean.js
              rename to assets/zhHans_reference_scrcpy_mouse.md.COKqK1zY.lean.js
              index b3daf1ff2..dce2fbaab 100644
              --- a/assets/zhHans_reference_scrcpy_mouse.md.C4YAPHCb.lean.js
              +++ b/assets/zhHans_reference_scrcpy_mouse.md.COKqK1zY.lean.js
              @@ -1 +1 @@
              -import{e as a,o as e,a as i,ag as n}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Mouse(鼠标)","description":"","frontmatter":{"title":"Mouse(鼠标)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/mouse.md","filePath":"zhHans/reference/scrcpy/mouse.md","lastUpdated":1772158243000}'),p={name:"zhHans/reference/scrcpy/mouse.md"};function l(t,s,h,d,c,o){return e(),i("div",null,[...s[0]||(s[0]=[n("",38)])])}const u=a(p,[["render",l]]);export{k as __pageData,u as default};
              +import{e as a,o as e,a as i,ag as n}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Mouse(鼠标)","description":"","frontmatter":{"title":"Mouse(鼠标)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/mouse.md","filePath":"zhHans/reference/scrcpy/mouse.md","lastUpdated":1772158834000}'),p={name:"zhHans/reference/scrcpy/mouse.md"};function l(t,s,h,d,c,o){return e(),i("div",null,[...s[0]||(s[0]=[n("",38)])])}const u=a(p,[["render",l]]);export{k as __pageData,u as default};
              diff --git a/assets/zhHans_reference_scrcpy_otg.md.cvXW-a1n.js b/assets/zhHans_reference_scrcpy_otg.md.DzXpA2B5.js
              similarity index 99%
              rename from assets/zhHans_reference_scrcpy_otg.md.cvXW-a1n.js
              rename to assets/zhHans_reference_scrcpy_otg.md.DzXpA2B5.js
              index 202743841..75aae8935 100644
              --- a/assets/zhHans_reference_scrcpy_otg.md.cvXW-a1n.js
              +++ b/assets/zhHans_reference_scrcpy_otg.md.DzXpA2B5.js
              @@ -1,4 +1,4 @@
              -import{e as a,o as i,a as e,ag as n}from"./chunks/framework.DCs21iJA.js";const c=JSON.parse('{"title":"OTG","description":"","frontmatter":{"title":"OTG"},"headers":[],"relativePath":"zhHans/reference/scrcpy/otg.md","filePath":"zhHans/reference/scrcpy/otg.md","lastUpdated":1772158243000}'),p={name:"zhHans/reference/scrcpy/otg.md"};function h(t,s,l,r,d,k){return i(),e("div",null,[...s[0]||(s[0]=[n(`

              OTG

              默认情况下,scrcpy 通过 Android API 层级注入输入事件。作为替代方案,它可以发送 HID 事件,使得 scrcpy 的行为类似于连接到 Android 设备的物理键盘和/或物理鼠标(详见键盘鼠标)。

              一种特殊模式(OTG)允许使用 AOA 键盘鼠标游戏手柄控制设备,完全无需使用 adb(因此 USB 调试不是必需的)。在此模式下,视频和音频被禁用,且默认启用 --keyboard=aoa--mouse=aoa。但游戏手柄默认禁用,因此需要显式设置 --gamepad=aoa(或在 OTG 模式下使用 -G)。

              因此,可以仅通过物理键盘、鼠标和游戏手柄模拟运行 scrcpy,就像计算机的键盘、鼠标和游戏手柄通过 OTG 线缆直接连接到设备一样。

              启用 OTG 模式:

              bash
              scrcpy --otg
              +import{e as a,o as i,a as e,ag as n}from"./chunks/framework.DCs21iJA.js";const c=JSON.parse('{"title":"OTG","description":"","frontmatter":{"title":"OTG"},"headers":[],"relativePath":"zhHans/reference/scrcpy/otg.md","filePath":"zhHans/reference/scrcpy/otg.md","lastUpdated":1772158834000}'),p={name:"zhHans/reference/scrcpy/otg.md"};function h(t,s,l,r,d,k){return i(),e("div",null,[...s[0]||(s[0]=[n(`

              OTG

              默认情况下,scrcpy 通过 Android API 层级注入输入事件。作为替代方案,它可以发送 HID 事件,使得 scrcpy 的行为类似于连接到 Android 设备的物理键盘和/或物理鼠标(详见键盘鼠标)。

              一种特殊模式(OTG)允许使用 AOA 键盘鼠标游戏手柄控制设备,完全无需使用 adb(因此 USB 调试不是必需的)。在此模式下,视频和音频被禁用,且默认启用 --keyboard=aoa--mouse=aoa。但游戏手柄默认禁用,因此需要显式设置 --gamepad=aoa(或在 OTG 模式下使用 -G)。

              因此,可以仅通过物理键盘、鼠标和游戏手柄模拟运行 scrcpy,就像计算机的键盘、鼠标和游戏手柄通过 OTG 线缆直接连接到设备一样。

              启用 OTG 模式:

              bash
              scrcpy --otg
               # 如果连接了多个 USB 设备,需指定序列号
               scrcpy --otg -s 0123456789abcdef

              可以禁用键盘或鼠标:

              bash
              scrcpy --otg --keyboard=disabled
               scrcpy --otg --mouse=disabled

              并启用游戏手柄:

              bash
              scrcpy --otg --gamepad=aoa
              diff --git a/assets/zhHans_reference_scrcpy_otg.md.cvXW-a1n.lean.js b/assets/zhHans_reference_scrcpy_otg.md.DzXpA2B5.lean.js
              similarity index 86%
              rename from assets/zhHans_reference_scrcpy_otg.md.cvXW-a1n.lean.js
              rename to assets/zhHans_reference_scrcpy_otg.md.DzXpA2B5.lean.js
              index cc1b2c64c..8fd5fd4c8 100644
              --- a/assets/zhHans_reference_scrcpy_otg.md.cvXW-a1n.lean.js
              +++ b/assets/zhHans_reference_scrcpy_otg.md.DzXpA2B5.lean.js
              @@ -1 +1 @@
              -import{e as a,o as i,a as e,ag as n}from"./chunks/framework.DCs21iJA.js";const c=JSON.parse('{"title":"OTG","description":"","frontmatter":{"title":"OTG"},"headers":[],"relativePath":"zhHans/reference/scrcpy/otg.md","filePath":"zhHans/reference/scrcpy/otg.md","lastUpdated":1772158243000}'),p={name:"zhHans/reference/scrcpy/otg.md"};function h(t,s,l,r,d,k){return i(),e("div",null,[...s[0]||(s[0]=[n("",19)])])}const g=a(p,[["render",h]]);export{c as __pageData,g as default};
              +import{e as a,o as i,a as e,ag as n}from"./chunks/framework.DCs21iJA.js";const c=JSON.parse('{"title":"OTG","description":"","frontmatter":{"title":"OTG"},"headers":[],"relativePath":"zhHans/reference/scrcpy/otg.md","filePath":"zhHans/reference/scrcpy/otg.md","lastUpdated":1772158834000}'),p={name:"zhHans/reference/scrcpy/otg.md"};function h(t,s,l,r,d,k){return i(),e("div",null,[...s[0]||(s[0]=[n("",19)])])}const g=a(p,[["render",h]]);export{c as __pageData,g as default};
              diff --git a/assets/zhHans_reference_scrcpy_recording.md.CdJ2QTP3.js b/assets/zhHans_reference_scrcpy_recording.md.D3u_BVEN.js
              similarity index 99%
              rename from assets/zhHans_reference_scrcpy_recording.md.CdJ2QTP3.js
              rename to assets/zhHans_reference_scrcpy_recording.md.D3u_BVEN.js
              index fca5bafd1..255a6db8a 100644
              --- a/assets/zhHans_reference_scrcpy_recording.md.CdJ2QTP3.js
              +++ b/assets/zhHans_reference_scrcpy_recording.md.D3u_BVEN.js
              @@ -1,4 +1,4 @@
              -import{e as a,o as i,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const o=JSON.parse('{"title":"Recording(录制)","description":"","frontmatter":{"title":"Recording(录制)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/recording.md","filePath":"zhHans/reference/scrcpy/recording.md","lastUpdated":1772158243000}'),p={name:"zhHans/reference/scrcpy/recording.md"};function n(l,s,h,d,c,r){return i(),e("div",null,[...s[0]||(s[0]=[t(`

              录制

              在镜像时录制视频和音频流:

              bash
              scrcpy --record=file.mp4
              +import{e as a,o as i,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const o=JSON.parse('{"title":"Recording(录制)","description":"","frontmatter":{"title":"Recording(录制)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/recording.md","filePath":"zhHans/reference/scrcpy/recording.md","lastUpdated":1772158834000}'),p={name:"zhHans/reference/scrcpy/recording.md"};function n(l,s,h,d,c,r){return i(),e("div",null,[...s[0]||(s[0]=[t(`

              录制

              在镜像时录制视频和音频流:

              bash
              scrcpy --record=file.mp4
               scrcpy -r file.mkv

              仅录制视频:

              bash
              scrcpy --no-audio --record=file.mp4

              仅录制音频:

              bash
              scrcpy --no-video --record=file.opus
               scrcpy --no-video --audio-codec=aac --record=file.aac
               scrcpy --no-video --audio-codec=flac --record=file.flac
              diff --git a/assets/zhHans_reference_scrcpy_recording.md.CdJ2QTP3.lean.js b/assets/zhHans_reference_scrcpy_recording.md.D3u_BVEN.lean.js
              similarity index 87%
              rename from assets/zhHans_reference_scrcpy_recording.md.CdJ2QTP3.lean.js
              rename to assets/zhHans_reference_scrcpy_recording.md.D3u_BVEN.lean.js
              index 3fff62607..8dab69f9c 100644
              --- a/assets/zhHans_reference_scrcpy_recording.md.CdJ2QTP3.lean.js
              +++ b/assets/zhHans_reference_scrcpy_recording.md.D3u_BVEN.lean.js
              @@ -1 +1 @@
              -import{e as a,o as i,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const o=JSON.parse('{"title":"Recording(录制)","description":"","frontmatter":{"title":"Recording(录制)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/recording.md","filePath":"zhHans/reference/scrcpy/recording.md","lastUpdated":1772158243000}'),p={name:"zhHans/reference/scrcpy/recording.md"};function n(l,s,h,d,c,r){return i(),e("div",null,[...s[0]||(s[0]=[t("",28)])])}const g=a(p,[["render",n]]);export{o as __pageData,g as default};
              +import{e as a,o as i,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const o=JSON.parse('{"title":"Recording(录制)","description":"","frontmatter":{"title":"Recording(录制)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/recording.md","filePath":"zhHans/reference/scrcpy/recording.md","lastUpdated":1772158834000}'),p={name:"zhHans/reference/scrcpy/recording.md"};function n(l,s,h,d,c,r){return i(),e("div",null,[...s[0]||(s[0]=[t("",28)])])}const g=a(p,[["render",n]]);export{o as __pageData,g as default};
              diff --git a/assets/zhHans_reference_scrcpy_shortcuts.md.DfOd1G6_.js b/assets/zhHans_reference_scrcpy_shortcuts.md.DoZUrZlS.js
              similarity index 99%
              rename from assets/zhHans_reference_scrcpy_shortcuts.md.DfOd1G6_.js
              rename to assets/zhHans_reference_scrcpy_shortcuts.md.DoZUrZlS.js
              index 22a0f27af..82f88b74e 100644
              --- a/assets/zhHans_reference_scrcpy_shortcuts.md.DfOd1G6_.js
              +++ b/assets/zhHans_reference_scrcpy_shortcuts.md.DoZUrZlS.js
              @@ -1,4 +1,4 @@
              -import{e as t,o as k,a as b,ag as e}from"./chunks/framework.DCs21iJA.js";const p=JSON.parse('{"title":"Shortcuts(快捷键)","description":"","frontmatter":{"title":"Shortcuts(快捷键)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/shortcuts.md","filePath":"zhHans/reference/scrcpy/shortcuts.md","lastUpdated":1772158243000}'),r={name:"zhHans/reference/scrcpy/shortcuts.md"};function s(a,d,c,i,o,n){return k(),b("div",null,[...d[0]||(d[0]=[e(`

              快捷键

              在 scrcpy 窗口中可以通过键盘和鼠标快捷键执行操作。

              以下列表中,MOD 是快捷键修饰键。默认情况下是(左)Alt 或(左)Super

              可以使用 --shortcut-mod 修改修饰键。可选键包括 lctrlrctrllaltraltlsuperrsuper。例如:

              bash
              # 使用右Ctrl作为快捷键修饰键
              +import{e as t,o as k,a as b,ag as e}from"./chunks/framework.DCs21iJA.js";const p=JSON.parse('{"title":"Shortcuts(快捷键)","description":"","frontmatter":{"title":"Shortcuts(快捷键)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/shortcuts.md","filePath":"zhHans/reference/scrcpy/shortcuts.md","lastUpdated":1772158834000}'),r={name:"zhHans/reference/scrcpy/shortcuts.md"};function s(a,d,c,i,o,n){return k(),b("div",null,[...d[0]||(d[0]=[e(`

              快捷键

              在 scrcpy 窗口中可以通过键盘和鼠标快捷键执行操作。

              以下列表中,MOD 是快捷键修饰键。默认情况下是(左)Alt 或(左)Super

              可以使用 --shortcut-mod 修改修饰键。可选键包括 lctrlrctrllaltraltlsuperrsuper。例如:

              bash
              # 使用右Ctrl作为快捷键修饰键
               scrcpy --shortcut-mod=rctrl
               
               # 使用左Ctrl或左Super作为快捷键修饰键
              diff --git a/assets/zhHans_reference_scrcpy_shortcuts.md.DfOd1G6_.lean.js b/assets/zhHans_reference_scrcpy_shortcuts.md.DoZUrZlS.lean.js
              similarity index 88%
              rename from assets/zhHans_reference_scrcpy_shortcuts.md.DfOd1G6_.lean.js
              rename to assets/zhHans_reference_scrcpy_shortcuts.md.DoZUrZlS.lean.js
              index 4030bf23c..5d037e876 100644
              --- a/assets/zhHans_reference_scrcpy_shortcuts.md.DfOd1G6_.lean.js
              +++ b/assets/zhHans_reference_scrcpy_shortcuts.md.DoZUrZlS.lean.js
              @@ -1 +1 @@
              -import{e as t,o as k,a as b,ag as e}from"./chunks/framework.DCs21iJA.js";const p=JSON.parse('{"title":"Shortcuts(快捷键)","description":"","frontmatter":{"title":"Shortcuts(快捷键)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/shortcuts.md","filePath":"zhHans/reference/scrcpy/shortcuts.md","lastUpdated":1772158243000}'),r={name:"zhHans/reference/scrcpy/shortcuts.md"};function s(a,d,c,i,o,n){return k(),b("div",null,[...d[0]||(d[0]=[e("",11)])])}const h=t(r,[["render",s]]);export{p as __pageData,h as default};
              +import{e as t,o as k,a as b,ag as e}from"./chunks/framework.DCs21iJA.js";const p=JSON.parse('{"title":"Shortcuts(快捷键)","description":"","frontmatter":{"title":"Shortcuts(快捷键)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/shortcuts.md","filePath":"zhHans/reference/scrcpy/shortcuts.md","lastUpdated":1772158834000}'),r={name:"zhHans/reference/scrcpy/shortcuts.md"};function s(a,d,c,i,o,n){return k(),b("div",null,[...d[0]||(d[0]=[e("",11)])])}const h=t(r,[["render",s]]);export{p as __pageData,h as default};
              diff --git a/assets/zhHans_reference_scrcpy_tunnels.md.Di815MYR.js b/assets/zhHans_reference_scrcpy_tunnels.md.T50bpaMh.js
              similarity index 99%
              rename from assets/zhHans_reference_scrcpy_tunnels.md.Di815MYR.js
              rename to assets/zhHans_reference_scrcpy_tunnels.md.T50bpaMh.js
              index 378f7f2c2..75168f00d 100644
              --- a/assets/zhHans_reference_scrcpy_tunnels.md.Di815MYR.js
              +++ b/assets/zhHans_reference_scrcpy_tunnels.md.T50bpaMh.js
              @@ -1,4 +1,4 @@
              -import{e as i,o as a,a as n,ag as p}from"./chunks/framework.DCs21iJA.js";const o=JSON.parse('{"title":"Tunnels(隧道连接)","description":"","frontmatter":{"title":"Tunnels(隧道连接)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/tunnels.md","filePath":"zhHans/reference/scrcpy/tunnels.md","lastUpdated":1772158243000}'),h={name:"zhHans/reference/scrcpy/tunnels.md"};function t(l,s,e,k,d,c){return a(),n("div",null,[...s[0]||(s[0]=[p(`

              隧道连接

              Scrcpy 主要用于镜像本地安卓设备。通过隧道技术,可以实现远程设备连接(例如通过互联网)。

              要连接远程设备,可以让本地 adb 客户端连接到远程 adb 服务器(需确保双方使用相同版本的 adb 协议)。

              远程 ADB 服务器

              要连接到远程 adb 服务器,需将服务器设置为监听所有网络接口:

              bash
              adb kill-server
              +import{e as i,o as a,a as n,ag as p}from"./chunks/framework.DCs21iJA.js";const o=JSON.parse('{"title":"Tunnels(隧道连接)","description":"","frontmatter":{"title":"Tunnels(隧道连接)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/tunnels.md","filePath":"zhHans/reference/scrcpy/tunnels.md","lastUpdated":1772158834000}'),h={name:"zhHans/reference/scrcpy/tunnels.md"};function t(l,s,e,k,d,c){return a(),n("div",null,[...s[0]||(s[0]=[p(`

              隧道连接

              Scrcpy 主要用于镜像本地安卓设备。通过隧道技术,可以实现远程设备连接(例如通过互联网)。

              要连接远程设备,可以让本地 adb 客户端连接到远程 adb 服务器(需确保双方使用相同版本的 adb 协议)。

              远程 ADB 服务器

              要连接到远程 adb 服务器,需将服务器设置为监听所有网络接口:

              bash
              adb kill-server
               adb -a nodaemon server start
               # 保持此窗口开启

              警告:客户端与 adb 服务器 之间的所有通信均为明文传输。

              假设该服务器可通过 IP 地址 192.168.1.2 访问,则在另一终端中运行 scrcpy

              bash
              # bash 环境
               export ADB_SERVER_SOCKET=tcp:192.168.1.2:5037
              diff --git a/assets/zhHans_reference_scrcpy_tunnels.md.Di815MYR.lean.js b/assets/zhHans_reference_scrcpy_tunnels.md.T50bpaMh.lean.js
              similarity index 87%
              rename from assets/zhHans_reference_scrcpy_tunnels.md.Di815MYR.lean.js
              rename to assets/zhHans_reference_scrcpy_tunnels.md.T50bpaMh.lean.js
              index de87a231f..9f3ea2248 100644
              --- a/assets/zhHans_reference_scrcpy_tunnels.md.Di815MYR.lean.js
              +++ b/assets/zhHans_reference_scrcpy_tunnels.md.T50bpaMh.lean.js
              @@ -1 +1 @@
              -import{e as i,o as a,a as n,ag as p}from"./chunks/framework.DCs21iJA.js";const o=JSON.parse('{"title":"Tunnels(隧道连接)","description":"","frontmatter":{"title":"Tunnels(隧道连接)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/tunnels.md","filePath":"zhHans/reference/scrcpy/tunnels.md","lastUpdated":1772158243000}'),h={name:"zhHans/reference/scrcpy/tunnels.md"};function t(l,s,e,k,d,c){return a(),n("div",null,[...s[0]||(s[0]=[p("",29)])])}const g=i(h,[["render",t]]);export{o as __pageData,g as default};
              +import{e as i,o as a,a as n,ag as p}from"./chunks/framework.DCs21iJA.js";const o=JSON.parse('{"title":"Tunnels(隧道连接)","description":"","frontmatter":{"title":"Tunnels(隧道连接)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/tunnels.md","filePath":"zhHans/reference/scrcpy/tunnels.md","lastUpdated":1772158834000}'),h={name:"zhHans/reference/scrcpy/tunnels.md"};function t(l,s,e,k,d,c){return a(),n("div",null,[...s[0]||(s[0]=[p("",29)])])}const g=i(h,[["render",t]]);export{o as __pageData,g as default};
              diff --git a/assets/zhHans_reference_scrcpy_v4l2.md.BMBjF1Ul.js b/assets/zhHans_reference_scrcpy_v4l2.md.Bn3F2L2R.js
              similarity index 99%
              rename from assets/zhHans_reference_scrcpy_v4l2.md.BMBjF1Ul.js
              rename to assets/zhHans_reference_scrcpy_v4l2.md.Bn3F2L2R.js
              index 2ef8535ca..f0375f35f 100644
              --- a/assets/zhHans_reference_scrcpy_v4l2.md.BMBjF1Ul.js
              +++ b/assets/zhHans_reference_scrcpy_v4l2.md.Bn3F2L2R.js
              @@ -1,4 +1,4 @@
              -import{e as a,o as i,a as e,ag as p}from"./chunks/framework.DCs21iJA.js";const r=JSON.parse('{"title":"Video4Linux(视频流监控)","description":"","frontmatter":{"title":"Video4Linux(视频流监控)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/v4l2.md","filePath":"zhHans/reference/scrcpy/v4l2.md","lastUpdated":1772158243000}'),t={name:"zhHans/reference/scrcpy/v4l2.md"};function l(n,s,h,d,o,c){return i(),e("div",null,[...s[0]||(s[0]=[p(`

              Video4Linux

              在 Linux 系统上,可以将视频流发送到 v4l2 回环设备,这样 Android 设备就能像普通摄像头一样被任何支持 v4l2 的工具打开。

              需要先安装 v4l2loopback 模块:

              bash
              sudo apt install v4l2loopback-dkms

              创建 v4l2 设备:

              bash
              sudo modprobe v4l2loopback

              这将在 /dev/videoN 路径下创建一个新的视频设备,其中 N 为数字(可通过更多选项创建多个设备或指定设备ID)。

              如果在 Chrome/WebRTC 中检测设备时遇到问题,可以尝试 exclusive_caps 模式:

              sudo modprobe v4l2loopback exclusive_caps=1

              列出已启用的设备:

              bash
              # 需要安装 v4l-utils 包
              +import{e as a,o as i,a as e,ag as p}from"./chunks/framework.DCs21iJA.js";const r=JSON.parse('{"title":"Video4Linux(视频流监控)","description":"","frontmatter":{"title":"Video4Linux(视频流监控)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/v4l2.md","filePath":"zhHans/reference/scrcpy/v4l2.md","lastUpdated":1772158834000}'),t={name:"zhHans/reference/scrcpy/v4l2.md"};function l(n,s,h,d,o,c){return i(),e("div",null,[...s[0]||(s[0]=[p(`

              Video4Linux

              在 Linux 系统上,可以将视频流发送到 v4l2 回环设备,这样 Android 设备就能像普通摄像头一样被任何支持 v4l2 的工具打开。

              需要先安装 v4l2loopback 模块:

              bash
              sudo apt install v4l2loopback-dkms

              创建 v4l2 设备:

              bash
              sudo modprobe v4l2loopback

              这将在 /dev/videoN 路径下创建一个新的视频设备,其中 N 为数字(可通过更多选项创建多个设备或指定设备ID)。

              如果在 Chrome/WebRTC 中检测设备时遇到问题,可以尝试 exclusive_caps 模式:

              sudo modprobe v4l2loopback exclusive_caps=1

              列出已启用的设备:

              bash
              # 需要安装 v4l-utils 包
               v4l2-ctl --list-devices
               
               # 简单方法(通常够用)
              diff --git a/assets/zhHans_reference_scrcpy_v4l2.md.BMBjF1Ul.lean.js b/assets/zhHans_reference_scrcpy_v4l2.md.Bn3F2L2R.lean.js
              similarity index 88%
              rename from assets/zhHans_reference_scrcpy_v4l2.md.BMBjF1Ul.lean.js
              rename to assets/zhHans_reference_scrcpy_v4l2.md.Bn3F2L2R.lean.js
              index daf025a77..58b8cb452 100644
              --- a/assets/zhHans_reference_scrcpy_v4l2.md.BMBjF1Ul.lean.js
              +++ b/assets/zhHans_reference_scrcpy_v4l2.md.Bn3F2L2R.lean.js
              @@ -1 +1 @@
              -import{e as a,o as i,a as e,ag as p}from"./chunks/framework.DCs21iJA.js";const r=JSON.parse('{"title":"Video4Linux(视频流监控)","description":"","frontmatter":{"title":"Video4Linux(视频流监控)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/v4l2.md","filePath":"zhHans/reference/scrcpy/v4l2.md","lastUpdated":1772158243000}'),t={name:"zhHans/reference/scrcpy/v4l2.md"};function l(n,s,h,d,o,c){return i(),e("div",null,[...s[0]||(s[0]=[p("",21)])])}const v=a(t,[["render",l]]);export{r as __pageData,v as default};
              +import{e as a,o as i,a as e,ag as p}from"./chunks/framework.DCs21iJA.js";const r=JSON.parse('{"title":"Video4Linux(视频流监控)","description":"","frontmatter":{"title":"Video4Linux(视频流监控)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/v4l2.md","filePath":"zhHans/reference/scrcpy/v4l2.md","lastUpdated":1772158834000}'),t={name:"zhHans/reference/scrcpy/v4l2.md"};function l(n,s,h,d,o,c){return i(),e("div",null,[...s[0]||(s[0]=[p("",21)])])}const v=a(t,[["render",l]]);export{r as __pageData,v as default};
              diff --git a/assets/zhHans_reference_scrcpy_video.md.DLKe9g8i.js b/assets/zhHans_reference_scrcpy_video.md.BhvqvMny.js
              similarity index 99%
              rename from assets/zhHans_reference_scrcpy_video.md.DLKe9g8i.js
              rename to assets/zhHans_reference_scrcpy_video.md.BhvqvMny.js
              index 2a2623aa5..11b3b06ef 100644
              --- a/assets/zhHans_reference_scrcpy_video.md.DLKe9g8i.js
              +++ b/assets/zhHans_reference_scrcpy_video.md.BhvqvMny.js
              @@ -1,4 +1,4 @@
              -import{e as i,o as a,a as e,ag as n}from"./chunks/framework.DCs21iJA.js";const o=JSON.parse('{"title":"Video(视频)","description":"","frontmatter":{"title":"Video(视频)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/video.md","filePath":"zhHans/reference/scrcpy/video.md","lastUpdated":1772158243000}'),p={name:"zhHans/reference/scrcpy/video.md"};function t(h,s,l,k,r,d){return a(),e("div",null,[...s[0]||(s[0]=[n(`

              视频

              默认情况下,scrcpy 会镜像显示设备屏幕。

              也可以选择捕获设备摄像头画面。

              详见专门的 摄像头 页面。

              尺寸

              默认情况下,scrcpy 会尝试以 Android 设备的分辨率进行镜像。

              为了提升性能,可以降低分辨率进行镜像。以下命令将宽度和高度限制在最大值(此处为 1024):

              bash
              scrcpy --max-size=1024
              +import{e as i,o as a,a as e,ag as n}from"./chunks/framework.DCs21iJA.js";const o=JSON.parse('{"title":"Video(视频)","description":"","frontmatter":{"title":"Video(视频)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/video.md","filePath":"zhHans/reference/scrcpy/video.md","lastUpdated":1772158834000}'),p={name:"zhHans/reference/scrcpy/video.md"};function t(h,s,l,k,r,d){return a(),e("div",null,[...s[0]||(s[0]=[n(`

              视频

              默认情况下,scrcpy 会镜像显示设备屏幕。

              也可以选择捕获设备摄像头画面。

              详见专门的 摄像头 页面。

              尺寸

              默认情况下,scrcpy 会尝试以 Android 设备的分辨率进行镜像。

              为了提升性能,可以降低分辨率进行镜像。以下命令将宽度和高度限制在最大值(此处为 1024):

              bash
              scrcpy --max-size=1024
               scrcpy -m 1024   # 简写版本

              另一边的尺寸会按比例计算,以保持 Android 设备的宽高比。例如,1920×1080 的设备会被镜像为 1024×576。

              如果编码失败,scrcpy 会自动尝试降低分辨率(除非启用了 --no-downsize-on-error)。

              对于摄像头镜像,--max-size 值用于选择摄像头源尺寸(在可用分辨率中)。

              比特率

              默认视频比特率为 8 Mbps。可以通过以下命令修改:

              bash
              scrcpy --video-bit-rate=2M
               scrcpy --video-bit-rate=2000000  # 等效
               scrcpy -b 2M                     # 简写版本

              帧率

              可以限制捕获帧率:

              bash
              scrcpy --max-fps=15

              实际捕获帧率可以通过以下命令打印到控制台:

              bash
              scrcpy --print-fps

              也可以通过快捷键 MOD+i 随时启用或禁用(见 快捷键)。

              帧率本质上是可变的:只有当屏幕内容发生变化时才会生成新帧。例如,如果在设备上全屏播放 24fps 的视频,scrcpy 的帧率不会超过 24 帧每秒。

              编解码器

              可以选择视频编解码器,可选值为 h264(默认)、h265av1

              bash
              scrcpy --video-codec=h264  # 默认
              diff --git a/assets/zhHans_reference_scrcpy_video.md.DLKe9g8i.lean.js b/assets/zhHans_reference_scrcpy_video.md.BhvqvMny.lean.js
              similarity index 87%
              rename from assets/zhHans_reference_scrcpy_video.md.DLKe9g8i.lean.js
              rename to assets/zhHans_reference_scrcpy_video.md.BhvqvMny.lean.js
              index 3d45eaeb9..aec2c87c8 100644
              --- a/assets/zhHans_reference_scrcpy_video.md.DLKe9g8i.lean.js
              +++ b/assets/zhHans_reference_scrcpy_video.md.BhvqvMny.lean.js
              @@ -1 +1 @@
              -import{e as i,o as a,a as e,ag as n}from"./chunks/framework.DCs21iJA.js";const o=JSON.parse('{"title":"Video(视频)","description":"","frontmatter":{"title":"Video(视频)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/video.md","filePath":"zhHans/reference/scrcpy/video.md","lastUpdated":1772158243000}'),p={name:"zhHans/reference/scrcpy/video.md"};function t(h,s,l,k,r,d){return a(),e("div",null,[...s[0]||(s[0]=[n("",80)])])}const g=i(p,[["render",t]]);export{o as __pageData,g as default};
              +import{e as i,o as a,a as e,ag as n}from"./chunks/framework.DCs21iJA.js";const o=JSON.parse('{"title":"Video(视频)","description":"","frontmatter":{"title":"Video(视频)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/video.md","filePath":"zhHans/reference/scrcpy/video.md","lastUpdated":1772158834000}'),p={name:"zhHans/reference/scrcpy/video.md"};function t(h,s,l,k,r,d){return a(),e("div",null,[...s[0]||(s[0]=[n("",80)])])}const g=i(p,[["render",t]]);export{o as __pageData,g as default};
              diff --git a/assets/zhHans_reference_scrcpy_virtual_display.md.ajuA4Hjv.js b/assets/zhHans_reference_scrcpy_virtual_display.md.qlUQNq_V.js
              similarity index 99%
              rename from assets/zhHans_reference_scrcpy_virtual_display.md.ajuA4Hjv.js
              rename to assets/zhHans_reference_scrcpy_virtual_display.md.qlUQNq_V.js
              index d72824b64..19eaf5958 100644
              --- a/assets/zhHans_reference_scrcpy_virtual_display.md.ajuA4Hjv.js
              +++ b/assets/zhHans_reference_scrcpy_virtual_display.md.qlUQNq_V.js
              @@ -1,4 +1,4 @@
              -import{e as a,o as i,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"VirtualDisplay(虚拟显示)","description":"","frontmatter":{"title":"VirtualDisplay(虚拟显示)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/virtual_display.md","filePath":"zhHans/reference/scrcpy/virtual_display.md","lastUpdated":1772158243000}'),p={name:"zhHans/reference/scrcpy/virtual_display.md"};function n(l,s,h,d,r,c){return i(),e("div",null,[...s[0]||(s[0]=[t(`

              虚拟显示屏

              新建虚拟显示屏

              将画面镜像到新建的虚拟显示屏(而非设备主屏幕):

              bash
              scrcpy --new-display=1920x1080
              +import{e as a,o as i,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"VirtualDisplay(虚拟显示)","description":"","frontmatter":{"title":"VirtualDisplay(虚拟显示)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/virtual_display.md","filePath":"zhHans/reference/scrcpy/virtual_display.md","lastUpdated":1772158834000}'),p={name:"zhHans/reference/scrcpy/virtual_display.md"};function n(l,s,h,d,r,c){return i(),e("div",null,[...s[0]||(s[0]=[t(`

              虚拟显示屏

              新建虚拟显示屏

              将画面镜像到新建的虚拟显示屏(而非设备主屏幕):

              bash
              scrcpy --new-display=1920x1080
               scrcpy --new-display=1920x1080/420  # 强制设为420 dpi
               scrcpy --new-display         # 使用主屏幕尺寸和像素密度
               scrcpy --new-display=/240    # 使用主屏幕尺寸和240 dpi

              虚拟显示屏会在程序退出时销毁。

              启动应用

              部分设备会在虚拟显示屏中显示启动器。

              若设备未提供启动器(或通过 --no-vd-system-decorations 参数显式禁用),虚拟显示屏将显示空白内容。此时需要启动安卓应用

              例如:

              bash
              scrcpy --new-display=1920x1080 --start-app=org.videolan.vlc

              也可以直接启动启动器应用。例如运行开源启动器 Fossify Launcher

              bash
              scrcpy --new-display=1920x1080 --no-vd-system-decorations --start-app=org.fossify.home

              系统装饰

              默认启用虚拟显示屏的系统装饰元素。禁用请使用 --no-vd-system-decorations

              bash
              scrcpy --new-display --no-vd-system-decorations

              该参数适用于解决某些设备可能出现的UI异常,或禁用虚拟显示屏中默认的启动器界面。

              注意:若未启动任何应用,虚拟显示屏将不会渲染任何内容,因此不会产生视频帧。

              关闭时销毁

              默认情况下,关闭虚拟显示屏时,正在运行的应用会被销毁。

              若要将应用转移至主屏幕显示,请使用:

              bash
              scrcpy --new-display --no-vd-destroy-content

              输入法策略

              默认情况下,虚拟显示屏的输入法会显示在默认屏幕上。

              若要在本地显示屏显示输入法,请使用 --display-ime-policy=local

              bash
              scrcpy --display-id=1 --display-ime-policy=local
              diff --git a/assets/zhHans_reference_scrcpy_virtual_display.md.ajuA4Hjv.lean.js b/assets/zhHans_reference_scrcpy_virtual_display.md.qlUQNq_V.lean.js
              similarity index 88%
              rename from assets/zhHans_reference_scrcpy_virtual_display.md.ajuA4Hjv.lean.js
              rename to assets/zhHans_reference_scrcpy_virtual_display.md.qlUQNq_V.lean.js
              index 9b24203ae..a5e54ddc1 100644
              --- a/assets/zhHans_reference_scrcpy_virtual_display.md.ajuA4Hjv.lean.js
              +++ b/assets/zhHans_reference_scrcpy_virtual_display.md.qlUQNq_V.lean.js
              @@ -1 +1 @@
              -import{e as a,o as i,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"VirtualDisplay(虚拟显示)","description":"","frontmatter":{"title":"VirtualDisplay(虚拟显示)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/virtual_display.md","filePath":"zhHans/reference/scrcpy/virtual_display.md","lastUpdated":1772158243000}'),p={name:"zhHans/reference/scrcpy/virtual_display.md"};function n(l,s,h,d,r,c){return i(),e("div",null,[...s[0]||(s[0]=[t("",25)])])}const y=a(p,[["render",n]]);export{k as __pageData,y as default};
              +import{e as a,o as i,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"VirtualDisplay(虚拟显示)","description":"","frontmatter":{"title":"VirtualDisplay(虚拟显示)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/virtual_display.md","filePath":"zhHans/reference/scrcpy/virtual_display.md","lastUpdated":1772158834000}'),p={name:"zhHans/reference/scrcpy/virtual_display.md"};function n(l,s,h,d,r,c){return i(),e("div",null,[...s[0]||(s[0]=[t("",25)])])}const y=a(p,[["render",n]]);export{k as __pageData,y as default};
              diff --git a/assets/zhHans_reference_scrcpy_window.md.hcLospOw.js b/assets/zhHans_reference_scrcpy_window.md.Dt53wLOA.js
              similarity index 98%
              rename from assets/zhHans_reference_scrcpy_window.md.hcLospOw.js
              rename to assets/zhHans_reference_scrcpy_window.md.Dt53wLOA.js
              index bd6f681e0..ede07a6e9 100644
              --- a/assets/zhHans_reference_scrcpy_window.md.hcLospOw.js
              +++ b/assets/zhHans_reference_scrcpy_window.md.Dt53wLOA.js
              @@ -1,3 +1,3 @@
              -import{e as s,o as i,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Window(窗口控制)","description":"","frontmatter":{"title":"Window(窗口控制)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/window.md","filePath":"zhHans/reference/scrcpy/window.md","lastUpdated":1772158243000}'),n={name:"zhHans/reference/scrcpy/window.md"};function h(l,a,p,d,r,c){return i(),e("div",null,[...a[0]||(a[0]=[t(`

              窗口设置

              禁用窗口显示

              如需禁用窗口显示(适用于仅需录制或播放音频的场景):

              bash
              scrcpy --no-window --record=file.mp4
              +import{e as s,o as i,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Window(窗口控制)","description":"","frontmatter":{"title":"Window(窗口控制)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/window.md","filePath":"zhHans/reference/scrcpy/window.md","lastUpdated":1772158834000}'),n={name:"zhHans/reference/scrcpy/window.md"};function h(l,a,p,d,r,c){return i(),e("div",null,[...a[0]||(a[0]=[t(`

              窗口设置

              禁用窗口显示

              如需禁用窗口显示(适用于仅需录制或播放音频的场景):

              bash
              scrcpy --no-window --record=file.mp4
               # 按Ctrl+C终止录制

              窗口标题

              默认窗口标题为设备型号,可通过以下命令修改:

              bash
              scrcpy --window-title='我的设备'

              位置与尺寸

              可指定窗口初始位置和尺寸:

              bash
              scrcpy --window-x=100 --window-y=100 --window-width=800 --window-height=600

              无边框模式

              禁用窗口装饰边框:

              bash
              scrcpy --window-borderless

              窗口置顶

              保持窗口始终在最前端显示:

              bash
              scrcpy --always-on-top

              全屏模式

              直接以全屏模式启动:

              bash
              scrcpy --fullscreen
               scrcpy -f   # 简写形式

              全屏模式可通过快捷键 MOD+f 动态切换(参见快捷键说明)。

              禁用屏幕保护

              默认情况下,scrcpy 不会阻止计算机进入屏幕保护状态。如需禁用:

              bash
              scrcpy --disable-screensaver
              `,23)])])}const b=s(n,[["render",h]]);export{k as __pageData,b as default}; diff --git a/assets/zhHans_reference_scrcpy_window.md.hcLospOw.lean.js b/assets/zhHans_reference_scrcpy_window.md.Dt53wLOA.lean.js similarity index 87% rename from assets/zhHans_reference_scrcpy_window.md.hcLospOw.lean.js rename to assets/zhHans_reference_scrcpy_window.md.Dt53wLOA.lean.js index b1cb81c81..c494ad275 100644 --- a/assets/zhHans_reference_scrcpy_window.md.hcLospOw.lean.js +++ b/assets/zhHans_reference_scrcpy_window.md.Dt53wLOA.lean.js @@ -1 +1 @@ -import{e as s,o as i,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Window(窗口控制)","description":"","frontmatter":{"title":"Window(窗口控制)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/window.md","filePath":"zhHans/reference/scrcpy/window.md","lastUpdated":1772158243000}'),n={name:"zhHans/reference/scrcpy/window.md"};function h(l,a,p,d,r,c){return i(),e("div",null,[...a[0]||(a[0]=[t("",23)])])}const b=s(n,[["render",h]]);export{k as __pageData,b as default}; +import{e as s,o as i,a as e,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Window(窗口控制)","description":"","frontmatter":{"title":"Window(窗口控制)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/window.md","filePath":"zhHans/reference/scrcpy/window.md","lastUpdated":1772158834000}'),n={name:"zhHans/reference/scrcpy/window.md"};function h(l,a,p,d,r,c){return i(),e("div",null,[...a[0]||(a[0]=[t("",23)])])}const b=s(n,[["render",h]]);export{k as __pageData,b as default}; diff --git a/assets/zhHans_reference_scrcpy_windows.md.CxNg9o0d.js b/assets/zhHans_reference_scrcpy_windows.md.DFUowiJq.js similarity index 99% rename from assets/zhHans_reference_scrcpy_windows.md.CxNg9o0d.js rename to assets/zhHans_reference_scrcpy_windows.md.DFUowiJq.js index 1e0fdcbe9..76848d622 100644 --- a/assets/zhHans_reference_scrcpy_windows.md.CxNg9o0d.js +++ b/assets/zhHans_reference_scrcpy_windows.md.DFUowiJq.js @@ -1,3 +1,3 @@ -import{e as a,o as e,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Windows(平台指南)","description":"","frontmatter":{"title":"Windows(平台指南)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/windows.md","filePath":"zhHans/reference/scrcpy/windows.md","lastUpdated":1772158243000}'),n={name:"zhHans/reference/scrcpy/windows.md"};function l(p,s,c,r,h,o){return e(),i("div",null,[...s[0]||(s[0]=[t(`

              Windows 平台指南

              安装

              官方发布版本

              下载最新版本

              下载后解压即可。

              通过包管理器安装

              使用 WinGet(将同时安装ADB和其他依赖项):

              bash
              winget install --exact Genymobile.scrcpy

              使用 Chocolatey

              bash
              choco install scrcpy
              +import{e as a,o as e,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Windows(平台指南)","description":"","frontmatter":{"title":"Windows(平台指南)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/windows.md","filePath":"zhHans/reference/scrcpy/windows.md","lastUpdated":1772158834000}'),n={name:"zhHans/reference/scrcpy/windows.md"};function l(p,s,c,r,h,o){return e(),i("div",null,[...s[0]||(s[0]=[t(`

              Windows 平台指南

              安装

              官方发布版本

              下载最新版本

              下载后解压即可。

              通过包管理器安装

              使用 WinGet(将同时安装ADB和其他依赖项):

              bash
              winget install --exact Genymobile.scrcpy

              使用 Chocolatey

              bash
              choco install scrcpy
               choco install adb    # 如果尚未安装ADB

              使用 Scoop

              bash
              scoop install scrcpy
               scoop install adb    # 如果尚未安装ADB

              如需手动构建和安装应用,请参阅 build

              运行

              请确保您的设备满足先决条件

              Scrcpy是一个命令行应用程序,主要设计为通过终端带参数执行。

              在scrcpy目录中双击open_a_terminal_here.bat文件,即可在指定位置打开终端,然后输入命令。例如,不带参数运行:

              bash
              scrcpy

              或带参数运行(以下示例禁用音频并录制到file.mkv):

              bash
              scrcpy --no-audio --record=file.mkv

              命令行参数的文档可通过以下方式查看:

              若需直接启动scrcpy而无需打开终端,可双击以下文件之一:

              • scrcpy-console.bat:启动时打开终端(scrcpy终止后终端会关闭,除非发生错误);
              • scrcpy-noconsole.vbs:启动时不显示终端(但错误信息将不可见)。

              避免直接双击scrcpy.exe文件:若发生错误,终端会立即关闭,您将无法查看错误信息(该程序设计为通过终端运行)。请使用scrcpy-console.bat替代。

              如果希望固定使用某些参数,可以创建一个myscrcpy.bat文件(需先显示文件扩展名以避免混淆),内容为您的命令。例如:

              bash
              scrcpy --prefer-text --turn-screen-off --stay-awake

              之后双击该文件即可运行。您也可以编辑(或复制)scrcpy-console.batscrcpy-noconsole.vbs文件,添加所需的参数。

              `,29)])])}const b=a(n,[["render",l]]);export{k as __pageData,b as default}; diff --git a/assets/zhHans_reference_scrcpy_windows.md.CxNg9o0d.lean.js b/assets/zhHans_reference_scrcpy_windows.md.DFUowiJq.lean.js similarity index 87% rename from assets/zhHans_reference_scrcpy_windows.md.CxNg9o0d.lean.js rename to assets/zhHans_reference_scrcpy_windows.md.DFUowiJq.lean.js index 1b15f908e..203e6ae27 100644 --- a/assets/zhHans_reference_scrcpy_windows.md.CxNg9o0d.lean.js +++ b/assets/zhHans_reference_scrcpy_windows.md.DFUowiJq.lean.js @@ -1 +1 @@ -import{e as a,o as e,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Windows(平台指南)","description":"","frontmatter":{"title":"Windows(平台指南)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/windows.md","filePath":"zhHans/reference/scrcpy/windows.md","lastUpdated":1772158243000}'),n={name:"zhHans/reference/scrcpy/windows.md"};function l(p,s,c,r,h,o){return e(),i("div",null,[...s[0]||(s[0]=[t("",29)])])}const b=a(n,[["render",l]]);export{k as __pageData,b as default}; +import{e as a,o as e,a as i,ag as t}from"./chunks/framework.DCs21iJA.js";const k=JSON.parse('{"title":"Windows(平台指南)","description":"","frontmatter":{"title":"Windows(平台指南)"},"headers":[],"relativePath":"zhHans/reference/scrcpy/windows.md","filePath":"zhHans/reference/scrcpy/windows.md","lastUpdated":1772158834000}'),n={name:"zhHans/reference/scrcpy/windows.md"};function l(p,s,c,r,h,o){return e(),i("div",null,[...s[0]||(s[0]=[t("",29)])])}const b=a(n,[["render",l]]);export{k as __pageData,b as default}; diff --git a/changelog.html b/changelog.html index 1c7bd229d..4e061b7f4 100644 --- a/changelog.html +++ b/changelog.html @@ -9,11 +9,11 @@ - + - + - + @@ -21,10 +21,10 @@ -
              Skip to content

              Changelog

              2.1.4 (2026-01-14)

              Miscellaneous Chores

              • add release name format to config (6db1b51)
              • update release workflow and build commands (8f5345b)

              2.1.3 (2026-01-14)

              Miscellaneous Chores

              • add linked-versions plugin to release config (415e4ae)

              2.1.2 (2026-01-14)

              Bug Fixes

              • 🐛 Fix automatic build issues (aba8f27)

              Miscellaneous Chores

              • add GH_TOKEN env to release workflow (078bf18)
              • release 2.1.1 (d1c04ce)
              • release 2.1.2 (91d9bbd)
              • release 2.1.2 (c7c8616)
              • remove release creation step from workflow (b73c179)
              • remove unnecessary comments in App.vue (22e331d)
              • remove unnecessary comments in App.vue (5ae8fbe)
              • update electron-builder config path and publish options (d3b4914)
              • update pull request title pattern (060ad4a)
              • update release configuration and patterns (0054fd4)

              2.1.0 (2026-01-14)

              Features

              • ✨ Add auto launch functionality and preference option (69c75cc)
              • ✨ Add hidden launch option for auto-start (dd1c2e1)
              • ✨ Add subscribe configuration hook and update UI (80b3534)
              • ✨ Add system tray support and Linux auto-launch (df414b9)
              • 🔖 Copilot adds thinking_stream event support (22623c4)
              • 🚑️ The portable version now supports automatically generating configuration files in the running directory (ba551b7)
              • add custom empty state icon for device list (65b028f)
              • add zip target for macOS builds (f52d3a5)

              Bug Fixes

              • 🐛 Fix delete message and config initialization (82a77ea)
              • 🐛 Fixed the issue of failed export and export configuration files (fd32c36)
              • 🐛 Update dependencies and add sharp override in workspace configuration (dbf366a)
              • 💰 Update payment amount handling in subscription (422950c)
              • add background color and improve window initialization (498fc90)
              • adjust empty state icon styling in device list (363bf3d)
              • ensure concurrency limit is numeric (d2c977c)
              • types: allow typed payload handlers by using any[] for handle listener rest params (b4e8058)

              Performance Improvements

              • 🚀 Use an external library instead of the built-in autoglm.js (d1f8176)

              Code Refactoring

              • ⚡️ Refactor code structure for improved readability and maintainability (f211924)
              • 🌐 Update language labels to native text (cb7ac96)
              • 🌐 Update subscription translations for multiple locales (b4e5780)
              • 🎨 Redesign task dialog with card layout (cd06d3b)
              • 🎨 Simplify config UI layout and update maxSteps (af18241)
              • 🔄 Auto configure Copilot after payment (c00ac1e)
              • 🔄 Move ESLint config to root and clean up dependencies (f2bd345)
              • 🔄 Optimize session callbacks and event handling (ae19570)
              • 🔄 Rename ipc to services for better structure (8212872)
              • 🔄 Rename start module to launch for clarity (5d44ebf)
              • 🔧 Optimize copilot config change detection (2776e8a)
              • 🔧 Replace quick prompts with PromptBar component (9b0c4df)
              • improve theme switching and background handling (b3203af)
              • migrate copilot config to store (e323611)
              • replace rotation icon with outline version (95ad30d)
              • replace send icon with rocket icon (ef9e7d3)
              • replace svg icons with font icons (9eca902)
              • replace trash icon with Delete icon (c59994e)

              2.0.1 (2026-01-06)

              Bug Fixes

              • 🐛 Fix the problem of abnormal subscription recharge fee (b32043c)

              2.0.0 (2026-01-05)

              Features

              • ✨ Add system terminal support (e5c157e)
              • ✨ Device lists will now intelligently merge duplicate device entries and share device configurations (52cc4b1)
              • ✨ Integrate scrcpy binaries for macos (85bf096)
              • ✨ Introducing a new file icon display component and enhancing the File Explorer dialog. (11be6f1)
              • ✨ Now supports copying device screenshots and recording files to the clipboard (bdb3644)
              • ✨ Now you can arrange your device windows through a graphical interface (91ad249)
              • ✨ Support edge hiding function (14a81de)
              • ✨ Support floating control bar (8807e50)
              • ✨ Support pairing and connecting to devices via QR code (14306b2)
              • ✨ Support to close the device screen when controlling (a84c775)
              • ✨ Supports starting applications for mirroring (d19e781)
              • ✨ Use the new interface design (b08021b)
              • 💥[Release-As: 2.0.0] major copilot overhaul with AutoGLM and multi-device automation (7ad5ecd)
              • 📸 Enhanced recording (7f10161)
              • 🔍️ Optimize the search function of the app (94ccb7b)
              • 🚀 Split the file manager into independent windows and support multiple instances in parallel (f41d853)
              • 🚀 Support adding the open application action to the desktop shortcut. (Not supported on macOS) (add251f)
              • 🚀 Supports connecting historical devices via device list (e0687e8)
              • 🚀 Supports dragging the device control bar to sort (64a98b2)
              • 🚀 Update to scrcpy v3.3.2 (462536c)
              • 🚚 Support batch startup mirroring (fcfd78e)
              • 🚚 The file manager has been refactored and improved, and more useful features have been added. (5cd5992)

              Bug Fixes

              • ♻️ Fixed repeated dependency issues (9777622)
              • 🐛 Fix automatic release (c2254aa)
              • 🐛 Fix device support audio and video encoding cannot be parsed (9b7f6a9)
              • 🐛 Fix for built-in scrcpy not supporting x64 macos (0d60655)
              • 🐛 Fix issue with incorrect address bar path when returning to the previous level in file management (0222675)
              • 🐛 Fix linux build errors (9b43dc0)
              • 🐛 Fix the display ID value type error (2b7ee79)
              • 🐛 Fix the mirror group bug (cd7d9cd)
              • 🐛 Fix the problem of build failure caused by missing dependencies (e34e1c2)
              • 🐛 Fix the problem of Windows calling system terminal failure (194689e)
              • 🐛 Fix the problem of Windows terminal injection command failure (fbf88d0)
              • 🐛 Fix typos (a7a3a17)
              • 🐛 Fixed an issue where macos built-in updates failed (432eceb)
              • 🐛 Fixed an issue where some options in preferences could not be turned off (269bd29)
              • 🐛 Fixed possible sandbox issues on Linux (ff9f9bd)
              • 🐛 Fixed the conflict between device control bar sorting and click events (18a57b9)
              • 🐛 Fixed the issue of abnormal path display in the file manager address bar (2f63f6f)
              • 🐛 Fixed the issue of duplicate filter conditions in the device list (6c4242c)
              • 🐛 Fixed the issue of layout flickering when refreshing the device list page (608b8f3)
              • 🐛 Fixed the issue of saving exceptions after adjusting parameters in preference settings (4a18f61)
              • 🐛 Fixed the issue where activating the program on macOS in certain situations would cause the tray to be created repeatedly (cf8e183)
              • 🐛 Fixed the issue where all configurations would be cleared when resetting the category configuration in preferences (6ee9a92)
              • 🐛 Fixed the issue where Chinese text cannot be saved in file management read and write text (34785dd)
              • 🐛 Fixed the issue where PowerShell failed to call the system terminal (7beb027)
              • 🐛 Fixed the issue where recorded files could not be copied to the clipboard under Windows (119b518)
              • 🐛 Fixed the issue where there is a chance of an error when closing the floating control bar on macOS (5c2c711)
              • 🐛 Fixed the problem of minimizing the visibility of tray icons (b0f42aa)
              • 🐛 Issue not taking effect after restarting the application after switching themes (857c480)
              • 🐛 Make StartApp compatible with scrcpy v3.0 (1082e0d)
              • 🐛 Rename --display-buffer to --video-buffer (b2bb0ae)
              • 🐛 Repair ADB timeout problems (b5bffc5)
              • 🐛 Repair floating action bar start application error (487e7e2)
              • 🐛 Repair part of internationalization Lost dynamics (d18444f)
              • 🐛 Resolve default recording error (358064e)
              • 🐛 Resolved the issue where the device list could not be displayed due to compatibility issues with certain devices (2c53b77)
              • 🐛 Resolving build errors (d21fa29)
              • 🐛 Restore the --display-buffer parameter to solve the mirroring problem (0f3d869)
              • 🐛 Solve the conflict between floating navigation bar and quick APP launch (460aca1)
              • 🐛 Solve the problem of abnormal display timing when recording related functions are successful (67d279e)
              • 🐛 Solve the problem of IPV6 address connection failure (1a95325)
              • 🐛 Solve the problem of startup error of development mode under Linux (5c4f65e)
              • 🐛 Solve the problem of Windows disabling video forwarding and crashing (10b902a)
              • 🐛 Solved the problem that the main window could not be restored after being moved off the screen in some cases (d054f8d)
              • 🐛 Start app to adapt to dark mode (ae13fde)
              • 🐛 Temporarily disable scrcpy integration in macOS (9bf4d5c)
              • 🐛 Update scrcpy-server file to solve the problem of not being able to obtain device APP list (63f7135)
              • 📝 Fixed the issue that special characters in Windows prevented the creation of app shortcut launch (301dac5)
              • 🔧 Camera recording and screen off configuration conflict (4508758)
              • 🔧 Fixed button loading prompt conflict issue (c323ad6)
              • 🩹 Restore the windows build configuration (9491069)
              • 🚀 Fix the issue of abnormal program exit behavior under windows (705f8be)

              Performance Improvements

              • ♻️ Adjust the position of the start application button (9833932)
              • ♻️ Code structure optimization (595216b)
              • ♻️ Enhance recording stability (3dd7525)
              • ♻️ Improve ADB connection stability (7655ba6)
              • ♻️ Improve the stability of window arrangement function (7ae3f21)
              • ♻️ Improve wireless connection stability (85be898)
              • ♻️ Improved device connection stability (1d603ab)
              • ♻️ No longer building universal packages for macOS (db5deb4)
              • ♻️ Optimize camera recording (4be2cf4)
              • ♻️ Optimize camera recording stability (952b2a7)
              • ♻️ Optimize device details performance (38d1433)
              • ♻️ Optimize device list interaction logic (3812061)
              • ♻️ Optimize file manager interaction (b168cc3)
              • ♻️ Optimize QR code connection experience (86f5e69)
              • ♻️ Optimize the Russian presentation effect (0d8a8ee)
              • ♻️ Optimized contextBridge related improvements for stability (0e098c3)
              • ♻️ Optimized the adb daemon startup failure detection mechanism (ca6be85)
              • ♻️ Reduce build package size by removing redundant dependencies (7b61b25)
              • ♻️ Refactor configuration related code to improve stability (37bf438)
              • ♻️ Script and directory structure optimization (68378ef)
              • ♻️ Simplify sandbox automatic configuration manager code to improve performance (1b82336)
              • ♻️ Support interruption during waiting for wireless connection (344b385)
              • ♻️ Supports retrieving a list of applications (b1a6ba7)
              • ♻️ Update mirror icon (c214e5a)
              • ♻️ When the application fails to start, display the error message (dbc34d6)
              • ♿️ Supports adjusting the closing method of the application in preferences (e643f8e)
              • ⚗️ Experimental support for turning off screen controls (9555f58)
              • ⚡️ Improve the start APP experience (29e5e1b)
              • ⚡️ Optimize scrcpy parameter conversion performance (18dcd24)
              • ⚡️ Optimize startup application performance (8e94494)
              • ⚡️ Optimize the method of obtaining the available displays of the device (9e31c84)
              • ⚡️ Optimize the stability of options that need to dynamically obtain parameters in preference settings (39bbc98)
              • ✅ A new method is adopted to solve the problem of IP type configuration storage (5488a1e)
              • ✅ File management supports selecting directories for uploading (fd2e639)
              • ✅ Provides the function of detecting and migrating configurations when deleting a device (39e0533)
              • ✅ Support switching devices on the floating control bar (50440f5)
              • ✨ Adjust the position of the wireless connection screen (3e3fc34)
              • ✨ Enable new icon (695e35d)
              • ✨ The floating control bar supports transparent display when inactive (34f27c5)
              • ✨ Update to scrcpy@2.7 to support the gamepad (0053e87)
              • ➖ Remove redundant console (9a67142)
              • ⬆️ Improve QR code connection performance (b413889)
              • ⬆️ Improved performance of automated mirroring (33a03c3)
              • ⬆️ Optimize edge hiding performance (74a91a4)
              • ⬆️ Optimize the performance of the floating control bar (a1c60ec)
              • 🌱 Optimize app icon background color and corner radius. (bc4f492)
              • 🌱 Optimize application icon details (55800be)
              • 🌱 UI details and documentation optimization (5b5bbf7)
              • 🍻 Improve file manager reliability (9063243)
              • 🐛 Improve wireless connection verification method (69fecc3)
              • 👥 Control bar sorting supports state synchronization (88abe95)
              • 👷 Added edge hiding function switch (d25714a)
              • 👷 Explicitly clean up unnecessary child processes on exit (0549dda)
              • 👷 Optimize the edge hiding function (d5caaa9)
              • 👷 Remove redundant code comments (ca4e826)
              • 👽️ Experimental support for adding open application actions to linux desktop shortcuts (6897c0e)
              • 👽️ Experimentally add linux arm64 support (5b033fd)
              • 💄 Improve space utilization of device window layout tools (939a2d2)
              • 💄 Improved Russian display (ca79e1b)
              • 💄 Normalize control window titles and generated file names (ccc7f0e)
              • 💄 Optimization of display effect of device list page (305187d)
              • 💄 Optimize device refresh mode (ea75615)
              • 💄 Optimize dialog display (1813718)
              • 💄 Optimize pairing interface display (df4103b)
              • 💄 Optimize preference setting button layout (47ae53d)
              • 💄 Optimize Russian display effect (5ca39ae)
              • 💄 Optimize the display effect of horizontal screen screenshots (90c7163)
              • 💄 Optimize the interface display effect (c7a5cd4)
              • 💄 Window layout adapted to dark mode theme (eab402b)
              • 💫 Adjust gnirehtet configuration behavior to make it consistent with user operation habits (7507915)
              • 💫 Support appending gnirehtet custom parameters in configuration (206a030)
              • 📌 Standardize the device list lifecycle processing flow. IPv6 addresses must be enclosed in [] and the port number cannot be omitted for wireless connections. (93c059d)
              • 📌 Support saving the main panel window size status (cef022f)
              • 📝 Add docs entry to the program (db5d157)
              • 📝 Add Japanese language support (969378f)
              • 📝 Added Arabic language support (f6c9fa4)
              • 📝 Optimize the scheduled task list (c666709)
              • 📝 Optimize the title of the control interface to solve the problem of duplicate device names (06a151d)
              • 📝 Optimized startup app package name display (22eb718)
              • 📝 Simplified partial translation (7411487)
              • 📦️ Update the upload function to support file and directory selection, and optimize the interface layout (7f5bd35)
              • 📸 Recording camera support (10d0370)
              • 📸 Support viewing real-time images and power information of the device (d262adf)
              • 🔀 Optimize the storage policy configured in preferences (b9faabf)
              • 🔊 Expanded audio source options (fc91f07)
              • 🔍️ Optimize QR code style to avoid scanning problems on some devices (dd3ad6c)
              • 🔖 Adjust the order of quick entry functions (ccb59e1)
              • 🔖 Optimize interaction of preferred terminal options (900dc69)
              • 🔧 Optimized startup APP function interaction (468af22)
              • 🔧 Temporarily disable scheduled tasks that are too far away (be5e639)
              • 🔨 Fixed the problem that some models could not reversely supply the network due to the blocking of installation detection when using Gnirehtet (c5369af)
              • 🔨 Improve the reliability of the linux sandbox configuration tool (6de2538)
              • 🧑‍💻 Improve application performance with VueRouter (6a8c190)
              • 🧑‍💻 Improve device-based terminal experience (88a0356)
              • 🧑‍💻 Optimize application icon size under macOS (066d81f)
              • 🧑‍💻 Optimize the interactive experience of the device control bar (8388646)
              • 🩹 Add an option to enable keyboard fix on app startup to be compatible with older versions of scrcpy (be89b36)
              • 🩹 Closing a screen via the control bar no longer requires creating a help window (84c7be7)
              • 🚀 Adjust options to support scrcpy v3.0 (0602676)
              • 🚀 After getting the device list, query and save the SerialNo of each device in preparation for subsequent integration (4464e7e)
              • 🚀 Clean output when closing built-in terminal (c976d4c)
              • 🚀 Extended floating control bar function (790e703)
              • 🚀 File management supports returning to the root directory (2e27443)
              • 🚀 Improve app icon quality (8a6f4c7)
              • 🚀 Improve performance by asynchronously storing main interface boundary information (d230c15)
              • 🚀 Modify the adb connection method to be compatible with scan connection (e6e8a09)
              • 🚀 Optimization of window arrangement function (33786ab)
              • 🚀 Optimize device connection experience (0690f2d)
              • 🚀 Optimize device list connection behavior and configuration migration strategy (8237058)
              • 🚀 Optimize program performance (9af3988)
              • 🚀 Optimize system terminal stability (2ffc588)
              • 🚀 Optimize the built-in terminal interaction experience (bb56d5b)
              • 🚀 Optimize the default behavior when adding new widgets to the device window arrangement (1be470a)
              • 🚀 Optimize the details of the new version of the icon (db9b19a)
              • 🚀 Optimize the display effect of application icons under windows (e0c221f)
              • 🚀 Optimize the display effect of new icons in smaller sizes (7d91d71)
              • 🚀 Optimize the layout effect of the task list (044cfcd)
              • 🚀 Optimize the menu trigger method for the upload function (8d39f5b)
              • 🚀 Optimize the storage strategy for preference Settings (359b9b9)
              • 🚀 Provide feedback on the application shortcut addition (d7eca8d)
              • 🚀 Supports display of offline devices (dcf817f)
              • 🚀 Supports opening using the main monitor when starting the APP (aec9b78)
              • 🚀 The main panel supports single instance startup (c49d22c)
              • 🚀 Update to scrcpy v3.3.1 (a2bb039)
              • 🚀 Update to scrcpy v3.0 (bf06382)
              • 🚀 Update to scrcpy v3.0.2 (7510548)
              • 🚀 Update to scrcpy v3.1 (7c74c71)
              • 🚀 Update to scrcpy v3.2 (57c11af)
              • 🚀 Update to scrcpy v3.3 (bbf2335)
              • 🚀 Update to scrcpy v3.3.3 (8566644)
              • 🚚 Reduce some unnecessary verifications and increase the speed at which equipment starts reverse network supply (c17aaba)

              Miscellaneous Chores

              Code Refactoring

              • ♻️ Reconstruct the multi-device batch upload function (dbdaa35)
              • 🔨 Optimize code (f61d820)

              1.34.2 (2025-12-08)

              Performance Improvements

              • 📦️ Update the upload function to support file and directory selection, and optimize the interface layout (7f5bd35)
              • 🚀 Optimize the menu trigger method for the upload function (8d39f5b)

              1.34.1 (2025-12-07)

              Performance Improvements

              • 🍻 Improve file manager reliability (9063243)

              1.34.0 (2025-12-07)

              Features

              • ✨ Introducing a new file icon display component and enhancing the File Explorer dialog. (11be6f1)
              • 🚀 Split the file manager into independent windows and support multiple instances in parallel (f41d853)
              • 🚚 The file manager has been refactored and improved, and more useful features have been added. (5cd5992)

              Bug Fixes

              • 🐛 Fixed the conflict between device control bar sorting and click events (18a57b9)
              • 🐛 Fixed the issue of abnormal path display in the file manager address bar (2f63f6f)
              • 🐛 Fixed the issue where Chinese text cannot be saved in file management read and write text (34785dd)

              Performance Improvements

              • ♻️ Optimize file manager interaction (b168cc3)
              • ✨ Enable new icon (695e35d)
              • 🌱 Optimize app icon background color and corner radius. (bc4f492)
              • 🌱 Optimize application icon details (55800be)
              • 📝 Optimize the scheduled task list (c666709)
              • 🧑‍💻 Optimize application icon size under macOS (066d81f)
              • 🧑‍💻 Optimize the interactive experience of the device control bar (8388646)
              • 🚀 Improve app icon quality (8a6f4c7)
              • 🚀 Optimize program performance (9af3988)
              • 🚀 Optimize the details of the new version of the icon (db9b19a)
              • 🚀 Optimize the display effect of application icons under windows (e0c221f)
              • 🚀 Optimize the display effect of new icons in smaller sizes (7d91d71)

              1.33.0 (2025-11-20)

              Features

              • ✨ Add system terminal support (e5c157e)

              Bug Fixes

              • 🐛 Fix issue with incorrect address bar path when returning to the previous level in file management (0222675)
              • 🐛 Fix the problem of Windows calling system terminal failure (194689e)
              • 🐛 Fix the problem of Windows terminal injection command failure (fbf88d0)
              • 🐛 Fixed the issue where PowerShell failed to call the system terminal (7beb027)

              Performance Improvements

              • 🔖 Optimize interaction of preferred terminal options (900dc69)
              • 🚀 Clean output when closing built-in terminal (c976d4c)
              • 🚀 Optimize system terminal stability (2ffc588)
              • 🚀 Optimize the built-in terminal interaction experience (bb56d5b)

              1.32.2 (2025-09-29)

              Performance Improvements

              • 🚀 Update to scrcpy v3.3.3 (8566644)

              1.32.1 (2025-09-10)

              Performance Improvements

              • 🌱 UI details and documentation optimization (5b5bbf7)

              1.32.0 (2025-09-08)

              Features

              • ✨ Now supports copying device screenshots and recording files to the clipboard (bdb3644)
              • 🚀 Update to scrcpy v3.3.2 (462536c)

              Bug Fixes

              • 🐛 Fixed the issue where recorded files could not be copied to the clipboard under Windows (119b518)
              • 🔧 Fixed button loading prompt conflict issue (c323ad6)

              Performance Improvements

              • ✅ Provides the function of detecting and migrating configurations when deleting a device (39e0533)
              • 📌 Standardize the device list lifecycle processing flow. IPv6 addresses must be enclosed in [] and the port number cannot be omitted for wireless connections. (93c059d)
              • 🚀 Modify the adb connection method to be compatible with scan connection (e6e8a09)
              • 🚀 Optimize device list connection behavior and configuration migration strategy (8237058)

              1.31.3 (2025-09-01)

              Performance Improvements

              • 💄 Window layout adapted to dark mode theme (eab402b)

              1.31.2 (2025-09-01)

              Bug Fixes

              • 🐛 Resolved the issue where the device list could not be displayed due to compatibility issues with certain devices (2c53b77)

              Performance Improvements

              • 🚀 Optimization of window arrangement function (33786ab)

              1.31.1 (2025-08-29)

              Performance Improvements

              • 👷 Remove redundant code comments (ca4e826)

              1.31.0 (2025-08-29)

              Features

              • ✨ Device lists will now intelligently merge duplicate device entries and share device configurations (52cc4b1)
              • ✨ Now you can arrange your device windows through a graphical interface (91ad249)

              Bug Fixes

              • 🐛 Fix typos (a7a3a17)
              • 🐛 Fixed possible sandbox issues on Linux (ff9f9bd)
              • 🐛 Fixed the issue of saving exceptions after adjusting parameters in preference settings (4a18f61)
              • 🐛 Issue not taking effect after restarting the application after switching themes (857c480)

              Performance Improvements

              • ♻️ Improve the stability of window arrangement function (7ae3f21)
              • ♻️ Simplify sandbox automatic configuration manager code to improve performance (1b82336)
              • 💄 Improve space utilization of device window layout tools (939a2d2)
              • 🔖 Adjust the order of quick entry functions (ccb59e1)
              • 🔨 Improve the reliability of the linux sandbox configuration tool (6de2538)
              • 🚀 After getting the device list, query and save the SerialNo of each device in preparation for subsequent integration (4464e7e)
              • 🚀 Improve performance by asynchronously storing main interface boundary information (d230c15)
              • 🚀 Optimize the default behavior when adding new widgets to the device window arrangement (1be470a)
              • 🚀 Optimize the layout effect of the task list (044cfcd)
              • 🚀 Optimize the storage strategy for preference Settings (359b9b9)

              1.30.2 (2025-07-15)

              Performance Improvements

              • ♻️ Optimize device list interaction logic (3812061)
              • 📝 Add Japanese language support (969378f)

              1.30.1 (2025-07-14)

              Bug Fixes

              • 🐛 Fixed the issue where all configurations would be cleared when resetting the category configuration in preferences (6ee9a92)
              • 🐛 Solve the problem of abnormal display timing when recording related functions are successful (67d279e)
              • 📝 Fixed the issue that special characters in Windows prevented the creation of app shortcut launch (301dac5)

              Performance Improvements

              • 📝 Optimized startup app package name display (22eb718)
              • 🔧 Optimized startup APP function interaction (468af22)

              1.30.0 (2025-07-14)

              Features

              • 🔍️ Optimize the search function of the app (94ccb7b)
              • 🚀 Supports dragging the device control bar to sort (64a98b2)

              Bug Fixes

              • 🐛 Fixed the issue of layout flickering when refreshing the device list page (608b8f3)
              • 🐛 Fixed the issue where activating the program on macOS in certain situations would cause the tray to be created repeatedly (cf8e183)
              • 🐛 Fixed the issue where there is a chance of an error when closing the floating control bar on macOS (5c2c711)
              • 🚀 Fix the issue of abnormal program exit behavior under windows (705f8be)

              Performance Improvements

              • ♻️ Code structure optimization (595216b)
              • 👥 Control bar sorting supports state synchronization (88abe95)
              • 📝 Optimize the title of the control interface to solve the problem of duplicate device names (06a151d)
              • 🔀 Optimize the storage policy configured in preferences (b9faabf)
              • 🚀 Supports opening using the main monitor when starting the APP (aec9b78)

              1.29.9 (2025-06-27)

              Performance Improvements

              • 🚀 Update to scrcpy v3.3.1 (a2bb039)

              1.29.8 (2025-06-20)

              Bug Fixes

              • 🐛 Update scrcpy-server file to solve the problem of not being able to obtain device APP list (63f7135)

              1.29.7 (2025-06-16)

              Performance Improvements

              • 🚀 Update to scrcpy v3.3 (bbf2335)

              1.29.6 (2025-04-27)

              Performance Improvements

              • 📝 Added Arabic language support (f6c9fa4)
              • 🚀 File management supports returning to the root directory (2e27443)

              1.29.5 (2025-04-17)

              Bug Fixes

              • 🐛 Fix the problem of build failure caused by missing dependencies (e34e1c2)

              1.29.4 (2025-04-17)

              Bug Fixes

              • 🐛 Fixed an issue where some options in preferences could not be turned off (269bd29)

              Performance Improvements

              • 💫 Adjust gnirehtet configuration behavior to make it consistent with user operation habits (7507915)
              • 🔍️ Optimize QR code style to avoid scanning problems on some devices (dd3ad6c)
              • 🩹 Add an option to enable keyboard fix on app startup to be compatible with older versions of scrcpy (be89b36)

              1.29.3 (2025-04-02)

              Performance Improvements

              • 📝 Add docs entry to the program (db5d157)
              • 🚚 Reduce some unnecessary verifications and increase the speed at which equipment starts reverse network supply (c17aaba)

              1.29.2 (2025-03-31)

              Performance Improvements

              • 🔨 Fixed the problem that some models could not reversely supply the network due to the blocking of installation detection when using Gnirehtet (c5369af)

              1.29.1 (2025-03-31)

              Performance Improvements

              • 🔊 Expanded audio source options (fc91f07)
              • 🩹 Closing a screen via the control bar no longer requires creating a help window (84c7be7)
              • 🚀 Update to scrcpy v3.2 (57c11af)

              1.29.0 (2025-03-27)

              Features

              • 🚀 Support adding the open application action to the desktop shortcut. (Not supported on macOS) (add251f)
              • 🚚 Support batch startup mirroring (fcfd78e)

              Bug Fixes

              • 🐛 Solve the conflict between floating navigation bar and quick APP launch (460aca1)
              • 🐛 Solve the problem of startup error of development mode under Linux (5c4f65e)

              Performance Improvements

              • ✨ The floating control bar supports transparent display when inactive (34f27c5)
              • 👷 Explicitly clean up unnecessary child processes on exit (0549dda)
              • 👽️ Experimental support for adding open application actions to linux desktop shortcuts (6897c0e)
              • 👽️ Experimentally add linux arm64 support (5b033fd)
              • 💄 Optimization of display effect of device list page (305187d)
              • 💫 Support appending gnirehtet custom parameters in configuration (206a030)
              • 🚀 Provide feedback on the application shortcut addition (d7eca8d)

              1.28.7 (2025-02-17)

              Bug Fixes

              • 🐛 Fixed the issue of duplicate filter conditions in the device list (6c4242c)
              • 🐛 Solved the problem that the main window could not be restored after being moved off the screen in some cases (d054f8d)

              Performance Improvements

              • ⬆️ Improved performance of automated mirroring (33a03c3)
              • 💄 Optimize the display effect of horizontal screen screenshots (90c7163)
              • 🚀 The main panel supports single instance startup (c49d22c)

              1.28.6 (2025-02-05)

              Bug Fixes

              • 🐛 Resolving build errors (d21fa29)

              1.28.5 (2025-02-05)

              Performance Improvements

              • ✅ File management supports selecting directories for uploading (fd2e639)
              • ⬆️ Improve QR code connection performance (b413889)

              1.28.4 (2025-01-13)

              Bug Fixes

              • 🐛 Fix the display ID value type error (2b7ee79)
              • 🐛 Solve the problem of IPV6 address connection failure (1a95325)

              Performance Improvements

              • ♻️ Improve wireless connection stability (85be898)
              • ⚡️ Optimize the method of obtaining the available displays of the device (9e31c84)
              • 🐛 Improve wireless connection verification method (69fecc3)
              • 👷 Added edge hiding function switch (d25714a)

              1.28.3 (2024-12-28)

              Performance Improvements

              • ♻️ Optimize device details performance (38d1433)

              1.28.2 (2024-12-27)

              Performance Improvements

              • 👷 Optimize the edge hiding function (d5caaa9)
              • 📸 Support viewing real-time images and power information of the device (d262adf)

              1.28.1 (2024-12-20)

              Performance Improvements

              • ♻️ Optimize QR code connection experience (86f5e69)

              1.28.0 (2024-12-20)

              Features

              • ✨ Support pairing and connecting to devices via QR code (14306b2)
              • 🚀 Supports connecting historical devices via device list (e0687e8)

              Bug Fixes

              • 🐛 Solve the problem of Windows disabling video forwarding and crashing (10b902a)

              Performance Improvements

              • ♻️ Update mirror icon (c214e5a)
              • ✅ A new method is adopted to solve the problem of IP type configuration storage (5488a1e)
              • 🚀 Optimize device connection experience (0690f2d)
              • 🚀 Supports display of offline devices (dcf817f)

              1.27.7 (2024-12-10)

              Performance Improvements

              • 🚀 Update to scrcpy v3.1 (7c74c71)

              1.27.6 (2024-12-05)

              Bug Fixes

              • ♻️ Fixed repeated dependency issues (9777622)

              Performance Improvements

              • ♻️ Optimized contextBridge related improvements for stability (0e098c3)
              • ♻️ Reduce build package size by removing redundant dependencies (7b61b25)
              • 🚀 Update to scrcpy v3.0.2 (7510548)

              1.27.5 (2024-11-29)

              Performance Improvements

              • ➖ Remove redundant console (9a67142)

              1.27.4 (2024-11-29)

              Bug Fixes

              • 🐛 Fix automatic release (c2254aa)
              • 🐛 Fixed an issue where macos built-in updates failed (432eceb)

              1.27.3 (2024-11-28)

              Bug Fixes

              • 🐛 Fix for built-in scrcpy not supporting x64 macos (0d60655)

              Performance Improvements

              • ♻️ Improved device connection stability (1d603ab)
              • ♻️ Optimized the adb daemon startup failure detection mechanism (ca6be85)
              • 🧑‍💻 Improve device-based terminal experience (88a0356)

              1.27.2 (2024-11-26)

              Bug Fixes

              • 🐛 Start app to adapt to dark mode (ae13fde)

              1.27.1 (2024-11-25)

              Bug Fixes

              • 🐛 Make StartApp compatible with scrcpy v3.0 (1082e0d)

              Performance Improvements

              • 🚀 Adjust options to support scrcpy v3.0 (0602676)
              • 🚀 Update to scrcpy v3.0 (bf06382)

              1.27.0 (2024-11-21)

              Features

              • ✨ Support edge hiding function (14a81de)

              Performance Improvements

              • ⬆️ Optimize edge hiding performance (74a91a4)

              1.26.4 (2024-11-14)

              Bug Fixes

              • 🐛 Temporarily disable scrcpy integration in macOS (9bf4d5c)

              1.26.3 (2024-11-08)

              Bug Fixes

              • 🐛 Fix device support audio and video encoding cannot be parsed (9b7f6a9)
              • 🐛 Restore the --display-buffer parameter to solve the mirroring problem (0f3d869)

              Performance Improvements

              • ♻️ Support interruption during waiting for wireless connection (344b385)
              • ♻️ Supports retrieving a list of applications (b1a6ba7)
              • ⚡️ Optimize startup application performance (8e94494)

              1.26.2 (2024-11-06)

              Bug Fixes

              • 🐛 Fix linux build errors (9b43dc0)

              1.26.1 (2024-11-06)

              Performance Improvements

              • ♻️ No longer building universal packages for macOS (db5deb4)

              1.26.0 (2024-11-06)

              Features

              • ✨ Integrate scrcpy binaries for macos (85bf096)
              • ✨ Supports starting applications for mirroring (d19e781)

              Bug Fixes

              • 🐛 Rename --display-buffer to --video-buffer (b2bb0ae)
              • 🐛 Repair floating action bar start application error (487e7e2)
              • 🩹 Restore the windows build configuration (9491069)

              Performance Improvements

              • ♻️ Adjust the position of the start application button (9833932)
              • ♻️ When the application fails to start, display the error message (dbc34d6)
              • ⚡️ Improve the start APP experience (29e5e1b)

              1.25.5 (2024-11-05)

              Performance Improvements

              • ⚡️ Optimize the stability of options that need to dynamically obtain parameters in preference settings (39bbc98)

              1.25.4 (2024-10-31)

              Performance Improvements

              • ♻️ Enhance recording stability (3dd7525)
              • ♻️ Optimize camera recording stability (952b2a7)
              • 💄 Normalize control window titles and generated file names (ccc7f0e)

              1.25.3 (2024-10-29)

              Bug Fixes

              • 🔧 Camera recording and screen off configuration conflict (4508758)

              Performance Improvements

              • 🔧 Temporarily disable scheduled tasks that are too far away (be5e639)

              1.25.2 (2024-10-29)

              Bug Fixes

              • 🐛 Resolve default recording error (358064e)

              1.25.1 (2024-10-28)

              Miscellaneous Chores

              1.25.0 (2024-10-28)

              Features

              • ✨ Support to close the device screen when controlling (a84c775)
              • 📸 Enhanced recording (7f10161)

              Performance Improvements

              • ♻️ Optimize camera recording (4be2cf4)
              • ♻️ Script and directory structure optimization (68378ef)
              • ⚗️ Experimental support for turning off screen controls (9555f58)
              • ⚡️ Optimize scrcpy parameter conversion performance (18dcd24)
              • 💄 Improved Russian display (ca79e1b)
              • 📸 Recording camera support (10d0370)

              1.24.3 (2024-10-21)

              Performance Improvements

              • 💄 Optimize Russian display effect (5ca39ae)

              1.24.2 (2024-09-16)

              Bug Fixes

              • 🐛 Fix the mirror group bug (cd7d9cd)

              1.24.1 (2024-09-16)

              Performance Improvements

              • ✨ Update to scrcpy@2.7 to support the gamepad (0053e87)
              • ⬆️ Optimize the performance of the floating control bar (a1c60ec)
              • 🚀 Extended floating control bar function (790e703)

              1.24.0 (2024-09-12)

              Features

              • ✨ Support floating control bar (8807e50)

              Performance Improvements

              • ✅ Support switching devices on the floating control bar (50440f5)
              • 💄 Optimize preference setting button layout (47ae53d)

              1.23.6 (2024-09-09)

              Bug Fixes

              • 🐛 Fixed the problem of minimizing the visibility of tray icons (b0f42aa)
              • 🐛 Repair ADB timeout problems (b5bffc5)

              1.23.5 (2024-09-09)

              Performance Improvements

              • ♻️ Improve ADB connection stability (7655ba6)

              1.23.4 (2024-09-08)

              Bug Fixes

              • 🐛 Repair part of internationalization Lost dynamics (d18444f)

              1.23.3 (2024-09-08)

              Performance Improvements

              • ♻️ Optimize the performance of equipment interaction column and file manager (41ffcf5)

              1.23.2 (2024-09-07)

              Performance Improvements

              • 🚀 Support file manager upload to the current directory (737c2a3)

              1.23.1 (2024-09-07)

              Performance Improvements

              • ⬆️ Update dependencies (8b03862)

              1.23.0 (2024-09-07)

              Features

              • ✨ Support graphic file manager (8155723)
              • 🚀 Initially add a new file manager (94ee007)

              Performance Improvements

              1.22.4 (2024-08-03)

              Bug Fixes

              • 🐛 plan task Remove operation bug (5205935)

              Performance Improvements

              1.22.3 (2024-08-03)

              Performance Improvements

              • ♻️ Update scrcpy to 2.6.1 (1eef9d2)

              1.22.2 (2024-07-25)

              Performance Improvements

              • 💄 Optimize the display effect of the dark mode (38f854b)
              • 💄 Optimize the display effect of the quick operation bar (7b3c4db)
              • 💄 Optimize the display effect of the tabs bar (5b2d41c)

              1.22.1 (2024-07-25)

              Bug Fixes

              • 🐛 Fixed asset publishing issues (222f626)

              1.22.0 (2024-07-25)

              Features

              • 🚀 Add a scheduled task list (d72202b)
              • 🚀 Add basic timing task function (04a7608)
              • 🚀 Add timing task entrance (8393c85)
              • 🚀 添加定时任务入口 (6ce66d4)

              Bug Fixes

              • 🐛 The internationalization problem of repairing path selector (8e6af20)
              • 💄 Optimize wireless connection user interface (50ae742)

              Performance Improvements

              • 💄 Optimization of the operation bar at the top of the equipment list (81bd3d9)
              • 💄 Optimized operation button layout (16f9535)

              1.21.4 (2024-07-14)

              Performance Improvements

              • ♻️ Optimize custom startup performance (abd468b)
              • ♻️ Perfect allSettledWrapper method (5b7d0af)

              1.21.3 (2024-07-13)

              Bug Fixes

              • Fix the width problem of custom startup pop-up windows (9a7e56b)

              1.21.2 (2024-07-13)

              Bug Fixes

              • 🐛 Fix terminal style abnormalities in dark theme (3d4dc7c)

              Performance Improvements

              • ♻️ Improve code robustness (2f389af)
              • 🚀 Optimize batch operation interaction (343eab2)

              1.21.1 (2024-07-13)

              Bug Fixes

              • 🐛 Fix dependency build errors (5b02621)

              1.21.0 (2024-07-13)

              Features

              • 🎉 Support batch execution script function (8097022)
              • 🚀 Support execution script function (2013413)

              Bug Fixes

              • 🐛 Repair the problem of equipment width in the English state (25c42d9)
              • 📝 Update Translation (33b0181)

              Performance Improvements

              • ✅ Support batch screenshot and other performance optimization (db9e3e7)
              • ✨ Support for custom startup mirroring (677f30c)
              • 🐛 Fix the problem of frequently trigger preservation of preferences (8261916)

              1.20.1 (2024-07-04)

              Bug Fixes

              • 🐛 Fix batch text spelling errors (062c689)

              1.20.0 (2024-07-04)

              Features

              • ✨ Add batch installation application function (37ce245)

              Performance Improvements

              • 🚀 Add mouse binding options (7ee4ba4)

              1.19.4 (2024-07-02)

              Bug Fixes

              • 🐛 Fix terminal style problems (9fc1ded)
              • Update Chinese language translations (b8d77e3)

              Performance Improvements

              • 🚀 Update to scrcpy v2.5 (22cc5a3)

              1.19.3 (2024-06-13)

              Bug Fixes

              • 🐛 Abnormal operations cause the program that cannot be closed (b989140)

              1.19.2 (2024-06-03)

              Bug Fixes

              • 🐛 Automatically apply local languages (0cc8208)

              1.19.1 (2024-05-26)

              Bug Fixes

              • 🐛 In some cases, the light mode is abnormal (ea227e0)
              • 🐛 Search for shortcut key conflicts (c70e6ca)

              Performance Improvements

              1.19.0 (2024-05-15)

              Features

              • 🚀 Add page search function (6dd8244)
              • 🚀 Update dependencies to support ESM (9f1696f)

              Bug Fixes

              • 🐛 Resolving build failures (8460945)
              • 🐛 Tips unavailable (603e4e9)

              Performance Improvements

              • ♻️ FindInPage API (fcf8269)
              • ♻️ Optimize dark mode (2f2e1cf)
              • ♻️ Search interaction (a195b7e)
              • ♻️ Search variable name (7c55e50)
              • 🐛 Global search error (091d503)
              • 🚀 优化页面查找工具性能 (8587977)

              1.18.4 (2024-05-04)

              Bug Fixes

              • 🐛 Wireless adb does not support Spaces (1f27597)

              1.18.3 (2024-04-12)

              Performance Improvements

              • ♻️ i18n configuration (1ca0469)

              1.18.2 (2024-04-11)

              Bug Fixes

              • 🐛 zh_TW Language support (885af3a)

              1.18.1 (2024-04-11)

              Bug Fixes

              • 🔧 Repair merge zh-TW failed (81ff63f)

              Performance Improvements

              1.18.0 (2024-04-11)

              Features

              • Add a simple zh_TW Traditional Chinese locale (cec6539)

              1.17.8 (2024-03-29)

              Bug Fixes

              • 🐛 Camera configuration conflict (07cc5f3)
              • 🐛 OTG configuration conflict (576d287)
              • 🐛 OTG mode: could not turn screen off (c5bed0e)

              1.17.7 (2024-03-27)

              Bug Fixes

              • ♻️ Remove the redundant imports (a06708f)

              Performance Improvements

              • ♻️ Optimize delete history logic (780e3b9)
              • ♻️ Support delete historical connection (c82560f)
              • 💄 Wireless style optimization (ba51fe3)

              1.17.6 (2024-03-21)

              Performance Improvements

              • ♻️ Supports automatic execution of mirrors on devices (11e0884)

              1.17.5 (2024-03-17)

              Performance Improvements

              1.17.4 (2024-03-14)

              Performance Improvements

              • ♻️ Options in the preference settings (dc711cb)

              1.17.3 (2024-03-13)

              Performance Improvements

              • ♻️ Remove console log (6e25eb7)

              1.17.2 (2024-03-10)

              Bug Fixes

              • 🐛 Abnormal built-in terminal adb command (368551a)

              Performance Improvements

              • ♻️ Update eslint config (bf2d2b4)

              1.17.1 (2024-03-05)

              Performance Improvements

              • ♻️ Interactive logic optimization (193f80a)
              • ♻️ Optimize design and code (d507c2d)
              • ♻️ Optimize equipment operation (389ac33)
              • ➖ Remove redundant packages (f9e4a0e)
              • 💄 Optimize dark mode styles (1cac054)

              1.17.0 (2024-03-04)

              Features

              • 🎉 Update to scrcpy v2.4 (02a4d39)

              1.16.8 (2023-12-27)

              Bug Fixes

              • 🐛 The maximum size description error (01fd926)

              1.16.7 (2023-12-19)

              Performance Improvements

              1.16.6 (2023-12-19)

              Miscellaneous Chores

              1.16.5 (2023-12-19)

              Performance Improvements

              • 📝 Control in stop charging (8707eb5)

              1.16.4 (2023-12-19)

              Bug Fixes

              • 🐛 Pairing code type issue (889fe8c)

              1.16.3 (2023-12-03)

              Performance Improvements

              • 🚀 Update scrcpy v2.3.1 (3566655)

              1.16.2 (2023-12-02)

              Bug Fixes

              1.16.1 (2023-11-26)

              Bug Fixes

              1.16.0 (2023-11-26)

              Performance Improvements

              Miscellaneous Chores

              1.15.0 (2023-11-18)

              Features

              • 添加投屏窗口大小控制 (97d7868)

              Performance Improvements

              • 🚀 Add window position option (866aa2c)

              1.14.3 (2023-11-17)

              Performance Improvements

              • ♻️ Add context menu (f0f25a7)
              • ♻️ Optimize extended menu bar interaction (de9352c)
              • 📝 Optimization preferences description (30eca50)

              1.14.2 (2023-11-16)

              Performance Improvements

              • ♻️ Optimize autoConnect historical devices (755a130)
              • 💡 Add autoConnect option (a57b847)

              1.14.1 (2023-11-14)

              Bug Fixes

              • 🐛 Abnormal terminal theme (20d37c1)

              1.14.0 (2023-11-14)

              Features

              • 🎉 Add Terminal Debugging (fdf40c7)

              Performance Improvements

              • ♻️ Optimize terminal performance (d3afc4b)
              • 💄 Update terminal style (5b6b8d1)
              • 🚨 Optimization error prompt (b759502)

              1.13.5 (2023-11-11)

              Performance Improvements

              • ♻️ Mirror group shutdown logic (296e21d)
              • ♻️ Optimize mirror group (5793c24)

              1.13.4 (2023-11-10)

              Performance Improvements

              • ♻️ Optimization updater (61ccd4a)
              • ♻️ Optimize mirror group (81c007f)

              1.13.3 (2023-11-10)

              Bug Fixes

              • 🐛 Recording prompt and file format errors (bfdad9e)

              Performance Improvements

              • ♻️ Optimize Batch connection performance (36de67b)
              • ♻️ Optimize file push prompts (4a3575f)
              • ♻️ Optimize historical device connections (83f8c04)
              • ✨ Support bulk connecting to historical devices (b7eb1dd)

              1.13.2 (2023-11-09)

              Bug Fixes

              Performance Improvements

              • ♻️ Configure Incompatible Handling Mechanism (c0e6a01)
              • ♻️ Optimize gnirehtet (de3555b)
              • 💄 Optimize volume control and gnirehtet (b40bdcf)
              • 🚀 Add File push function (70f8b46)
              • 🚀 Add screen rotation shortcut menu (dd601df)

              1.13.1 (2023-11-08)

              Performance Improvements

              • ♻️ Adjust volume control position (1b3f49e)
              • ♻️ Optimize configuration file logic (5f8cc5a)
              • 🚀 Add volume control (1505518)

              1.13.0 (2023-11-07)

              Features

              • 🎉 Add mirror group function (0c9d36f)

              Bug Fixes

              Performance Improvements

              • ♻️ Optimize mirror group (cf9c82d)
              • ♻️ optimize mirror group tips (46defbf)
              • ♻️ Optimize preferences (7a6417e)
              • ♻️ Optimize window control (0530ed3)
              • 💄 Update styles (37da97b)
              • 🚀 Add camera options (5a04b4c)

              1.12.4 (2023-11-03)

              Bug Fixes

              • 🐛 MacOS reduced to the tray to evoke failure (d7bf83b)

              1.12.3 (2023-11-03)

              Bug Fixes

              • 🐛 MacOS reduced to the tray to evoke failure (6153bc4)

              1.12.2 (2023-11-03)

              Bug Fixes

              1.12.1 (2023-11-03)

              Bug Fixes

              • 🐛 Add gnirehtet fix option (f9c6c32)
              • 🐛 Display options cannot be changed (3046746)
              • 🐛 Preference style (0f72090)
              • 🐛 Reset preferences language not restored (d691780)
              • 🐛 Unable to update path selector (3279c34)
              • 🐛 Video codec preset error (1af9abd)

              Performance Improvements

              • ♻️ optimize Codec (6154ffc)
              • ♻️ Optimize recording (f4dfb2c)
              • 🎨 Update preferences style (e9befea)

              1.12.0 (2023-11-02)

              Features

              • 🎉 Update Scrcpy to v2.2 (5c401a8)

              Bug Fixes

              Performance Improvements

              1.11.9 (2023-10-31)

              Performance Improvements

              • ♻️ Optimization gnirehtet and scrcpy (9cf800c)
              • ♻️ Optimize Gnirehtet interaction (a90e570)

              1.11.8 (2023-10-31)

              Bug Fixes

              • 🎨 修复 macOS 设置主题跟随系统后 某些情况下循环触发导致死循环的问题 (1d7b188)

              1.11.7 (2023-10-31)

              Bug Fixes

              • 🐛 macOS x64ArchFiles Errors (151cb29)

              1.11.6 (2023-10-31)

              Bug Fixes

              • 🐛 macOS x64ArchFiles Errors (7dbca01)

              1.11.5 (2023-10-31)

              Bug Fixes

              • 🐛 macOS x64ArchFiles Errors (ad3f77f)

              1.11.4 (2023-10-31)

              Bug Fixes

              • 🐛 macOS x64ArchFiles Errors (4b4e116)

              1.11.3 (2023-10-31)

              Bug Fixes

              • 🐛 Unix permission issues (1279994)
              • 🐛 Unix permission issues (dc9a3c4)
              • 🐛 x64ArchFiles Error (82a99d9)

              1.11.2 (2023-10-30)

              Bug Fixes

              • 🐛 修复 macOS 打包失败的问题 (1b2236c)

              1.11.1 (2023-10-30)

              Bug Fixes

              • 🐛 修复 macOS 打包失败的问题 (37e2837)

              1.11.0 (2023-10-30)

              Features

              • 🎉 Add gnirehtet reverse tethering function (2c97189)

              Bug Fixes

              • 🐛 gnirehtet custom dependent paths error (cfd0e1d)

              Performance Improvements

              • ♻️ Optimize Gnirehtet interaction (e1237cd)
              • ♻️ 拆分依赖文件禁用冗余的警告信息 (93ad836)
              • ♻️ 目录结构及描述调整 (f9a32d6)
              • ♻️ 补充依赖及目录结构调整 (b18256b)

              1.10.2 (2023-10-28)

              Bug Fixes

              • 🐛 修复设置主题跟随系统后没有生效的问题 (95a83f4)

              1.10.1 (2023-10-28)

              Bug Fixes

              • 🐛 修复 linux 无法启动镜像或录制服务以及修改自定义依赖目录的问题 (d815643)

              1.10.0 (2023-10-27)

              Features

              • 🚀 新增支持 深色模式、国际化语言、运行日志等功能 (4b13f58)

              Bug Fixes

              • 🐛 修复 linux 打包后图标丢失的问题 (217d82d)
              • 🐛 修复安装路径包含空格会导致无法启动服务的问题 (29ae786)
              • 🐛 修复录制结束点击取消异常弹窗以及点击重启服务没有反应的问题 (054c55b)
              • 🔧 修复自定义路径功能没有生效的问题 (894b581)

              Performance Improvements

              1.9.1 (2023-10-24)

              Performance Improvements

              • 💄 窗口控制及交互逻辑优化 (52514e2)

              1.9.0 (2023-10-24)

              Features

              • 🚀 添加 i18n 初步支持 (18d490f)

              Bug Fixes

              • 🐛 修复 macOS 最小化到托盘后状态栏图标不显示的问题 (a789826)

              1.8.17 (2023-10-23)

              Bug Fixes

              • 🐛 尝试修复构建失败 (daeb9e5)

              1.8.16 (2023-10-23)

              Performance Improvements

              • ✨ 采用新的 Logo 设计 (3bf79d3)

              1.8.15 (2023-10-22)

              Bug Fixes

              • 🐛 修复 Linux 平台启动白屏无法正常使用的问题 (54e713b)

              1.8.14 (2023-10-21)

              Bug Fixes

              • 🐛 修复 linux 打包配置错误的问题 (a9668d9)

              1.8.13 (2023-10-21)

              Performance Improvements

              • 🚀 为 windows 添加 ARM64 软件包编译 (368e8ee)
              • 🚀 支持所有平台在点击关闭按钮时选择是否保存到托盘中的功能 (8360198)

              1.8.12 (2023-10-21)

              Bug Fixes

              • 🐛 修复 macOS 或 linux 下自定义依赖选项描述错误的问题 (0d4b1ce)

              1.8.11 (2023-10-21)

              Performance Improvements

              • 🔨 优化窗口默认大小 (393e899)

              1.8.10 (2023-10-20)

              Bug Fixes

              • 🐛 修复 macOS 窗口问题 (f768566)

              1.8.9 (2023-10-20)

              Bug Fixes

              • 🐛 修复 macOS 窗口过小导致出现横向滚动条的问题 (8ee34ca)

              1.8.8 (2023-10-20)

              Bug Fixes

              • 🚀 修复 macOS 简单关闭应用重新打开时报错的问题 (4b259c3)

              1.8.7 (2023-10-20)

              Bug Fixes

              • 🐛 修复打包多个平台时可能生成重复文件导致发布软件包失败的问题 (e89a7a5)

              1.8.6 (2023-10-20)

              Bug Fixes

              • 🔧 修复 macOS 无法正确获取系统依赖路径的问题 (2352593)

              1.8.5 (2023-10-20)

              Bug Fixes

              • 🚑️ 修复 Linux maintainer 问题 (4e1542a)

              1.8.4 (2023-10-20)

              Bug Fixes

              • 🚑️ 修复 Linux 打包失败的问题 (96f85d8)

              1.8.3 (2023-10-20)

              Bug Fixes

              • 🚀 修复 MacOS 软件包安装后无线显示 Logo 的问题 (77dd81b)

              1.8.2 (2023-10-20)

              Bug Fixes

              • 🔧 修复 Linux 及 MacOS 获取默认依赖路径异常的问题 (87b533f)
              • 🔧 修复 MacOS ARM64 版本打包失败的问题 (e9a8fc2)

              1.8.1 (2023-10-20)

              Performance Improvements

              • 🚀 支持创建更多架构的 MacOS 软件包格式 (4780e7c)

              1.8.0 (2023-10-20)

              Features

              • 🚀 初步添加对 Linux 以及 MacOS 的支持 (569ed2e)

              Bug Fixes

              • 📝 偏好设置描述信息修改 (23d68d4)
              • 🔧 设备列表标签显示细节调整 (4f2f00e)

              Performance Improvements

              • 📝 设备备注文本框描述信息调整 (379b325)

              1.7.1 (2023-10-20)

              Bug Fixes

              • 🚀 修复对设备进行独立配置时的一些问题 (6ccd6d0)

              Performance Improvements

              • 🎉 初步支持设置偏好设置的作用域范围 (5dd328c)

              1.7.0 (2023-10-19)

              Features

              • 🚀 新增支持导入及导出配置 (326a133)
              • 🚀 新增支持添加设备备注 (43f15be)

              Performance Improvements

              • ➕ 设备交互栏添加重启设备及打开通知栏功能 (1341fb8)

              1.6.10 (2023-10-18)

              Performance Improvements

              • 🚀 采用新的方法实现所有进程共享 isPackaged (8a5f7d9)

              1.6.9 (2023-10-17)

              Bug Fixes

              • 🔧 优化 isPackaged 判断条件解决某些情况下资源路径解析异常的问题 (fbd1885)

              1.6.8 (2023-10-17)

              Performance Improvements

              • 🚀 支持通过操作栏安装应用并提供相应安装反馈 (3bd2075)

              1.6.7 (2023-10-17)

              Performance Improvements

              • 📝 去除冗余的依赖项 (a6744dc)

              1.6.6 (2023-10-17)

              Bug Fixes

              • 🐛 build fix (09c8dee)
              • 🐛 修复 electron 资源路径问题 (955756e)

              1.6.5 (2023-10-16)

              Bug Fixes

              • 🐛 修复 App NextTick 错误 (79d85eb)

              1.6.4 (2023-10-16)

              Bug Fixes

              • 🐛 修复 electron-builder 配置异常导致打包的文件无法发布的问题 (9a4efa5)
              • 🚀 修复设备列表按钮状态变更影响布局变化的问题 (83a8043)

              1.6.3 (2023-10-16)

              Bug Fixes

              • 🐛 修复打包后图标丢失的问题 (58a66f1)

              1.6.2 (2023-10-13)

              Bug Fixes

              • 🐛 修复USB未授权设备导致无线连接地址变为假值的问题 (9c25325)

              1.6.1 (2023-10-13)

              Performance Improvements

              • 🔨 自定义通用的文件存储路径相关逻辑完善 (8455e86)

              1.6.0 (2023-10-13)

              Features

              • 🚀 增加了对设备交互控制栏的支持 (fd20736)

              1.5.3 (2023-10-13)

              Bug Fixes

              • 🔧 修复点击无线模式没有反应的问题 (9d55ef9)

              1.5.2 (2023-10-13)

              Bug Fixes

              • 📝 修复高级配置标题语义不明的问题 (218de1c)

              Performance Improvements

              • 🚀 添加更多的高级配置并更新文档 (922abd2)

              1.5.1 (2023-10-12)

              Bug Fixes

              • 🐛 去除页面组件冗余参数 (8e5df15)

              1.5.0 (2023-10-12)

              Features

              • 🚀 添加音视频录制功能以及更多的高级选项 (b6986d1)

              1.4.1 (2023-10-12)

              Bug Fixes

              • 🐛 修复检查更新失败没有提示的问题 (6f733ea)

              1.4.0 (2023-10-11)

              Features

              • 🚀 添加在线检查更新功能 (8de04e0)

              Bug Fixes

              • 🔨 修复无线配对时表单验证错误 (7cd9ea3)
              • 🔨 修复直接进行无线连接时没有处理配对设备的问题 (4263d07)

              1.3.3 (2023-09-26)

              Bug Fixes

              • 🐛 修复触摸点配置描述错误的问题 (4e2be23)

              1.3.2 (2023-09-19)

              Bug Fixes

              • 🔧 修复旋转屏幕配置异常的问题 (af7a319)

              1.3.1 (2023-09-19)

              Bug Fixes

              • 🔧 修复图标不透明的问题 (24c011f)

              1.3.0 (2023-09-19)

              Features

              • ✨ 用户界面进行优化,制作了合适的 Logo (1b96ffc)

              1.2.0 (2023-09-19)

              Features

              • 🎉 优化设备界面视图并添加虚拟控制栏配置 (3be0682)

              1.1.0 (2023-09-18)

              Features

              • 🚀 增加了常用的 Scrcpy 高级配置 (ac52df2)

              1.0.2 (2023-09-18)

              Performance Improvements

              • 🚀 合并无线连接及有线连接到设备列表 (e84f24e)

              1.0.1 (2023-09-16)

              Bug Fixes

              • 🔧 去除未测试环境的打包以修复构建失败的问题 (d6ec7fd)

              1.0.0 (2023-09-16)

              Features

              • 📝 添加基本的有线连接支持 (647a0c5)
              • 🚀 添加 Electron 基本支持 (a46a5e1)
              • 🚀 添加初步的构建及发布支持 (c85f8fb)
              • 🚀 添加基本的无线连接功能 (6dd2db9)

              Bug Fixes

              • 🔧 修复 ADB 环境变量配置错误导致无法连接的问题 (9ef7203)

              +

              Skip to content

              Changelog

              2.1.4 (2026-01-14)

              Miscellaneous Chores

              • add release name format to config (6db1b51)
              • update release workflow and build commands (8f5345b)

              2.1.3 (2026-01-14)

              Miscellaneous Chores

              • add linked-versions plugin to release config (415e4ae)

              2.1.2 (2026-01-14)

              Bug Fixes

              • 🐛 Fix automatic build issues (aba8f27)

              Miscellaneous Chores

              • add GH_TOKEN env to release workflow (078bf18)
              • release 2.1.1 (d1c04ce)
              • release 2.1.2 (91d9bbd)
              • release 2.1.2 (c7c8616)
              • remove release creation step from workflow (b73c179)
              • remove unnecessary comments in App.vue (22e331d)
              • remove unnecessary comments in App.vue (5ae8fbe)
              • update electron-builder config path and publish options (d3b4914)
              • update pull request title pattern (060ad4a)
              • update release configuration and patterns (0054fd4)

              2.1.0 (2026-01-14)

              Features

              • ✨ Add auto launch functionality and preference option (69c75cc)
              • ✨ Add hidden launch option for auto-start (dd1c2e1)
              • ✨ Add subscribe configuration hook and update UI (80b3534)
              • ✨ Add system tray support and Linux auto-launch (df414b9)
              • 🔖 Copilot adds thinking_stream event support (22623c4)
              • 🚑️ The portable version now supports automatically generating configuration files in the running directory (ba551b7)
              • add custom empty state icon for device list (65b028f)
              • add zip target for macOS builds (f52d3a5)

              Bug Fixes

              • 🐛 Fix delete message and config initialization (82a77ea)
              • 🐛 Fixed the issue of failed export and export configuration files (fd32c36)
              • 🐛 Update dependencies and add sharp override in workspace configuration (dbf366a)
              • 💰 Update payment amount handling in subscription (422950c)
              • add background color and improve window initialization (498fc90)
              • adjust empty state icon styling in device list (363bf3d)
              • ensure concurrency limit is numeric (d2c977c)
              • types: allow typed payload handlers by using any[] for handle listener rest params (b4e8058)

              Performance Improvements

              • 🚀 Use an external library instead of the built-in autoglm.js (d1f8176)

              Code Refactoring

              • ⚡️ Refactor code structure for improved readability and maintainability (f211924)
              • 🌐 Update language labels to native text (cb7ac96)
              • 🌐 Update subscription translations for multiple locales (b4e5780)
              • 🎨 Redesign task dialog with card layout (cd06d3b)
              • 🎨 Simplify config UI layout and update maxSteps (af18241)
              • 🔄 Auto configure Copilot after payment (c00ac1e)
              • 🔄 Move ESLint config to root and clean up dependencies (f2bd345)
              • 🔄 Optimize session callbacks and event handling (ae19570)
              • 🔄 Rename ipc to services for better structure (8212872)
              • 🔄 Rename start module to launch for clarity (5d44ebf)
              • 🔧 Optimize copilot config change detection (2776e8a)
              • 🔧 Replace quick prompts with PromptBar component (9b0c4df)
              • improve theme switching and background handling (b3203af)
              • migrate copilot config to store (e323611)
              • replace rotation icon with outline version (95ad30d)
              • replace send icon with rocket icon (ef9e7d3)
              • replace svg icons with font icons (9eca902)
              • replace trash icon with Delete icon (c59994e)

              2.0.1 (2026-01-06)

              Bug Fixes

              • 🐛 Fix the problem of abnormal subscription recharge fee (b32043c)

              2.0.0 (2026-01-05)

              Features

              • ✨ Add system terminal support (e5c157e)
              • ✨ Device lists will now intelligently merge duplicate device entries and share device configurations (52cc4b1)
              • ✨ Integrate scrcpy binaries for macos (85bf096)
              • ✨ Introducing a new file icon display component and enhancing the File Explorer dialog. (11be6f1)
              • ✨ Now supports copying device screenshots and recording files to the clipboard (bdb3644)
              • ✨ Now you can arrange your device windows through a graphical interface (91ad249)
              • ✨ Support edge hiding function (14a81de)
              • ✨ Support floating control bar (8807e50)
              • ✨ Support pairing and connecting to devices via QR code (14306b2)
              • ✨ Support to close the device screen when controlling (a84c775)
              • ✨ Supports starting applications for mirroring (d19e781)
              • ✨ Use the new interface design (b08021b)
              • 💥[Release-As: 2.0.0] major copilot overhaul with AutoGLM and multi-device automation (7ad5ecd)
              • 📸 Enhanced recording (7f10161)
              • 🔍️ Optimize the search function of the app (94ccb7b)
              • 🚀 Split the file manager into independent windows and support multiple instances in parallel (f41d853)
              • 🚀 Support adding the open application action to the desktop shortcut. (Not supported on macOS) (add251f)
              • 🚀 Supports connecting historical devices via device list (e0687e8)
              • 🚀 Supports dragging the device control bar to sort (64a98b2)
              • 🚀 Update to scrcpy v3.3.2 (462536c)
              • 🚚 Support batch startup mirroring (fcfd78e)
              • 🚚 The file manager has been refactored and improved, and more useful features have been added. (5cd5992)

              Bug Fixes

              • ♻️ Fixed repeated dependency issues (9777622)
              • 🐛 Fix automatic release (c2254aa)
              • 🐛 Fix device support audio and video encoding cannot be parsed (9b7f6a9)
              • 🐛 Fix for built-in scrcpy not supporting x64 macos (0d60655)
              • 🐛 Fix issue with incorrect address bar path when returning to the previous level in file management (0222675)
              • 🐛 Fix linux build errors (9b43dc0)
              • 🐛 Fix the display ID value type error (2b7ee79)
              • 🐛 Fix the mirror group bug (cd7d9cd)
              • 🐛 Fix the problem of build failure caused by missing dependencies (e34e1c2)
              • 🐛 Fix the problem of Windows calling system terminal failure (194689e)
              • 🐛 Fix the problem of Windows terminal injection command failure (fbf88d0)
              • 🐛 Fix typos (a7a3a17)
              • 🐛 Fixed an issue where macos built-in updates failed (432eceb)
              • 🐛 Fixed an issue where some options in preferences could not be turned off (269bd29)
              • 🐛 Fixed possible sandbox issues on Linux (ff9f9bd)
              • 🐛 Fixed the conflict between device control bar sorting and click events (18a57b9)
              • 🐛 Fixed the issue of abnormal path display in the file manager address bar (2f63f6f)
              • 🐛 Fixed the issue of duplicate filter conditions in the device list (6c4242c)
              • 🐛 Fixed the issue of layout flickering when refreshing the device list page (608b8f3)
              • 🐛 Fixed the issue of saving exceptions after adjusting parameters in preference settings (4a18f61)
              • 🐛 Fixed the issue where activating the program on macOS in certain situations would cause the tray to be created repeatedly (cf8e183)
              • 🐛 Fixed the issue where all configurations would be cleared when resetting the category configuration in preferences (6ee9a92)
              • 🐛 Fixed the issue where Chinese text cannot be saved in file management read and write text (34785dd)
              • 🐛 Fixed the issue where PowerShell failed to call the system terminal (7beb027)
              • 🐛 Fixed the issue where recorded files could not be copied to the clipboard under Windows (119b518)
              • 🐛 Fixed the issue where there is a chance of an error when closing the floating control bar on macOS (5c2c711)
              • 🐛 Fixed the problem of minimizing the visibility of tray icons (b0f42aa)
              • 🐛 Issue not taking effect after restarting the application after switching themes (857c480)
              • 🐛 Make StartApp compatible with scrcpy v3.0 (1082e0d)
              • 🐛 Rename --display-buffer to --video-buffer (b2bb0ae)
              • 🐛 Repair ADB timeout problems (b5bffc5)
              • 🐛 Repair floating action bar start application error (487e7e2)
              • 🐛 Repair part of internationalization Lost dynamics (d18444f)
              • 🐛 Resolve default recording error (358064e)
              • 🐛 Resolved the issue where the device list could not be displayed due to compatibility issues with certain devices (2c53b77)
              • 🐛 Resolving build errors (d21fa29)
              • 🐛 Restore the --display-buffer parameter to solve the mirroring problem (0f3d869)
              • 🐛 Solve the conflict between floating navigation bar and quick APP launch (460aca1)
              • 🐛 Solve the problem of abnormal display timing when recording related functions are successful (67d279e)
              • 🐛 Solve the problem of IPV6 address connection failure (1a95325)
              • 🐛 Solve the problem of startup error of development mode under Linux (5c4f65e)
              • 🐛 Solve the problem of Windows disabling video forwarding and crashing (10b902a)
              • 🐛 Solved the problem that the main window could not be restored after being moved off the screen in some cases (d054f8d)
              • 🐛 Start app to adapt to dark mode (ae13fde)
              • 🐛 Temporarily disable scrcpy integration in macOS (9bf4d5c)
              • 🐛 Update scrcpy-server file to solve the problem of not being able to obtain device APP list (63f7135)
              • 📝 Fixed the issue that special characters in Windows prevented the creation of app shortcut launch (301dac5)
              • 🔧 Camera recording and screen off configuration conflict (4508758)
              • 🔧 Fixed button loading prompt conflict issue (c323ad6)
              • 🩹 Restore the windows build configuration (9491069)
              • 🚀 Fix the issue of abnormal program exit behavior under windows (705f8be)

              Performance Improvements

              • ♻️ Adjust the position of the start application button (9833932)
              • ♻️ Code structure optimization (595216b)
              • ♻️ Enhance recording stability (3dd7525)
              • ♻️ Improve ADB connection stability (7655ba6)
              • ♻️ Improve the stability of window arrangement function (7ae3f21)
              • ♻️ Improve wireless connection stability (85be898)
              • ♻️ Improved device connection stability (1d603ab)
              • ♻️ No longer building universal packages for macOS (db5deb4)
              • ♻️ Optimize camera recording (4be2cf4)
              • ♻️ Optimize camera recording stability (952b2a7)
              • ♻️ Optimize device details performance (38d1433)
              • ♻️ Optimize device list interaction logic (3812061)
              • ♻️ Optimize file manager interaction (b168cc3)
              • ♻️ Optimize QR code connection experience (86f5e69)
              • ♻️ Optimize the Russian presentation effect (0d8a8ee)
              • ♻️ Optimized contextBridge related improvements for stability (0e098c3)
              • ♻️ Optimized the adb daemon startup failure detection mechanism (ca6be85)
              • ♻️ Reduce build package size by removing redundant dependencies (7b61b25)
              • ♻️ Refactor configuration related code to improve stability (37bf438)
              • ♻️ Script and directory structure optimization (68378ef)
              • ♻️ Simplify sandbox automatic configuration manager code to improve performance (1b82336)
              • ♻️ Support interruption during waiting for wireless connection (344b385)
              • ♻️ Supports retrieving a list of applications (b1a6ba7)
              • ♻️ Update mirror icon (c214e5a)
              • ♻️ When the application fails to start, display the error message (dbc34d6)
              • ♿️ Supports adjusting the closing method of the application in preferences (e643f8e)
              • ⚗️ Experimental support for turning off screen controls (9555f58)
              • ⚡️ Improve the start APP experience (29e5e1b)
              • ⚡️ Optimize scrcpy parameter conversion performance (18dcd24)
              • ⚡️ Optimize startup application performance (8e94494)
              • ⚡️ Optimize the method of obtaining the available displays of the device (9e31c84)
              • ⚡️ Optimize the stability of options that need to dynamically obtain parameters in preference settings (39bbc98)
              • ✅ A new method is adopted to solve the problem of IP type configuration storage (5488a1e)
              • ✅ File management supports selecting directories for uploading (fd2e639)
              • ✅ Provides the function of detecting and migrating configurations when deleting a device (39e0533)
              • ✅ Support switching devices on the floating control bar (50440f5)
              • ✨ Adjust the position of the wireless connection screen (3e3fc34)
              • ✨ Enable new icon (695e35d)
              • ✨ The floating control bar supports transparent display when inactive (34f27c5)
              • ✨ Update to scrcpy@2.7 to support the gamepad (0053e87)
              • ➖ Remove redundant console (9a67142)
              • ⬆️ Improve QR code connection performance (b413889)
              • ⬆️ Improved performance of automated mirroring (33a03c3)
              • ⬆️ Optimize edge hiding performance (74a91a4)
              • ⬆️ Optimize the performance of the floating control bar (a1c60ec)
              • 🌱 Optimize app icon background color and corner radius. (bc4f492)
              • 🌱 Optimize application icon details (55800be)
              • 🌱 UI details and documentation optimization (5b5bbf7)
              • 🍻 Improve file manager reliability (9063243)
              • 🐛 Improve wireless connection verification method (69fecc3)
              • 👥 Control bar sorting supports state synchronization (88abe95)
              • 👷 Added edge hiding function switch (d25714a)
              • 👷 Explicitly clean up unnecessary child processes on exit (0549dda)
              • 👷 Optimize the edge hiding function (d5caaa9)
              • 👷 Remove redundant code comments (ca4e826)
              • 👽️ Experimental support for adding open application actions to linux desktop shortcuts (6897c0e)
              • 👽️ Experimentally add linux arm64 support (5b033fd)
              • 💄 Improve space utilization of device window layout tools (939a2d2)
              • 💄 Improved Russian display (ca79e1b)
              • 💄 Normalize control window titles and generated file names (ccc7f0e)
              • 💄 Optimization of display effect of device list page (305187d)
              • 💄 Optimize device refresh mode (ea75615)
              • 💄 Optimize dialog display (1813718)
              • 💄 Optimize pairing interface display (df4103b)
              • 💄 Optimize preference setting button layout (47ae53d)
              • 💄 Optimize Russian display effect (5ca39ae)
              • 💄 Optimize the display effect of horizontal screen screenshots (90c7163)
              • 💄 Optimize the interface display effect (c7a5cd4)
              • 💄 Window layout adapted to dark mode theme (eab402b)
              • 💫 Adjust gnirehtet configuration behavior to make it consistent with user operation habits (7507915)
              • 💫 Support appending gnirehtet custom parameters in configuration (206a030)
              • 📌 Standardize the device list lifecycle processing flow. IPv6 addresses must be enclosed in [] and the port number cannot be omitted for wireless connections. (93c059d)
              • 📌 Support saving the main panel window size status (cef022f)
              • 📝 Add docs entry to the program (db5d157)
              • 📝 Add Japanese language support (969378f)
              • 📝 Added Arabic language support (f6c9fa4)
              • 📝 Optimize the scheduled task list (c666709)
              • 📝 Optimize the title of the control interface to solve the problem of duplicate device names (06a151d)
              • 📝 Optimized startup app package name display (22eb718)
              • 📝 Simplified partial translation (7411487)
              • 📦️ Update the upload function to support file and directory selection, and optimize the interface layout (7f5bd35)
              • 📸 Recording camera support (10d0370)
              • 📸 Support viewing real-time images and power information of the device (d262adf)
              • 🔀 Optimize the storage policy configured in preferences (b9faabf)
              • 🔊 Expanded audio source options (fc91f07)
              • 🔍️ Optimize QR code style to avoid scanning problems on some devices (dd3ad6c)
              • 🔖 Adjust the order of quick entry functions (ccb59e1)
              • 🔖 Optimize interaction of preferred terminal options (900dc69)
              • 🔧 Optimized startup APP function interaction (468af22)
              • 🔧 Temporarily disable scheduled tasks that are too far away (be5e639)
              • 🔨 Fixed the problem that some models could not reversely supply the network due to the blocking of installation detection when using Gnirehtet (c5369af)
              • 🔨 Improve the reliability of the linux sandbox configuration tool (6de2538)
              • 🧑‍💻 Improve application performance with VueRouter (6a8c190)
              • 🧑‍💻 Improve device-based terminal experience (88a0356)
              • 🧑‍💻 Optimize application icon size under macOS (066d81f)
              • 🧑‍💻 Optimize the interactive experience of the device control bar (8388646)
              • 🩹 Add an option to enable keyboard fix on app startup to be compatible with older versions of scrcpy (be89b36)
              • 🩹 Closing a screen via the control bar no longer requires creating a help window (84c7be7)
              • 🚀 Adjust options to support scrcpy v3.0 (0602676)
              • 🚀 After getting the device list, query and save the SerialNo of each device in preparation for subsequent integration (4464e7e)
              • 🚀 Clean output when closing built-in terminal (c976d4c)
              • 🚀 Extended floating control bar function (790e703)
              • 🚀 File management supports returning to the root directory (2e27443)
              • 🚀 Improve app icon quality (8a6f4c7)
              • 🚀 Improve performance by asynchronously storing main interface boundary information (d230c15)
              • 🚀 Modify the adb connection method to be compatible with scan connection (e6e8a09)
              • 🚀 Optimization of window arrangement function (33786ab)
              • 🚀 Optimize device connection experience (0690f2d)
              • 🚀 Optimize device list connection behavior and configuration migration strategy (8237058)
              • 🚀 Optimize program performance (9af3988)
              • 🚀 Optimize system terminal stability (2ffc588)
              • 🚀 Optimize the built-in terminal interaction experience (bb56d5b)
              • 🚀 Optimize the default behavior when adding new widgets to the device window arrangement (1be470a)
              • 🚀 Optimize the details of the new version of the icon (db9b19a)
              • 🚀 Optimize the display effect of application icons under windows (e0c221f)
              • 🚀 Optimize the display effect of new icons in smaller sizes (7d91d71)
              • 🚀 Optimize the layout effect of the task list (044cfcd)
              • 🚀 Optimize the menu trigger method for the upload function (8d39f5b)
              • 🚀 Optimize the storage strategy for preference Settings (359b9b9)
              • 🚀 Provide feedback on the application shortcut addition (d7eca8d)
              • 🚀 Supports display of offline devices (dcf817f)
              • 🚀 Supports opening using the main monitor when starting the APP (aec9b78)
              • 🚀 The main panel supports single instance startup (c49d22c)
              • 🚀 Update to scrcpy v3.3.1 (a2bb039)
              • 🚀 Update to scrcpy v3.0 (bf06382)
              • 🚀 Update to scrcpy v3.0.2 (7510548)
              • 🚀 Update to scrcpy v3.1 (7c74c71)
              • 🚀 Update to scrcpy v3.2 (57c11af)
              • 🚀 Update to scrcpy v3.3 (bbf2335)
              • 🚀 Update to scrcpy v3.3.3 (8566644)
              • 🚚 Reduce some unnecessary verifications and increase the speed at which equipment starts reverse network supply (c17aaba)

              Miscellaneous Chores

              Code Refactoring

              • ♻️ Reconstruct the multi-device batch upload function (dbdaa35)
              • 🔨 Optimize code (f61d820)

              1.34.2 (2025-12-08)

              Performance Improvements

              • 📦️ Update the upload function to support file and directory selection, and optimize the interface layout (7f5bd35)
              • 🚀 Optimize the menu trigger method for the upload function (8d39f5b)

              1.34.1 (2025-12-07)

              Performance Improvements

              • 🍻 Improve file manager reliability (9063243)

              1.34.0 (2025-12-07)

              Features

              • ✨ Introducing a new file icon display component and enhancing the File Explorer dialog. (11be6f1)
              • 🚀 Split the file manager into independent windows and support multiple instances in parallel (f41d853)
              • 🚚 The file manager has been refactored and improved, and more useful features have been added. (5cd5992)

              Bug Fixes

              • 🐛 Fixed the conflict between device control bar sorting and click events (18a57b9)
              • 🐛 Fixed the issue of abnormal path display in the file manager address bar (2f63f6f)
              • 🐛 Fixed the issue where Chinese text cannot be saved in file management read and write text (34785dd)

              Performance Improvements

              • ♻️ Optimize file manager interaction (b168cc3)
              • ✨ Enable new icon (695e35d)
              • 🌱 Optimize app icon background color and corner radius. (bc4f492)
              • 🌱 Optimize application icon details (55800be)
              • 📝 Optimize the scheduled task list (c666709)
              • 🧑‍💻 Optimize application icon size under macOS (066d81f)
              • 🧑‍💻 Optimize the interactive experience of the device control bar (8388646)
              • 🚀 Improve app icon quality (8a6f4c7)
              • 🚀 Optimize program performance (9af3988)
              • 🚀 Optimize the details of the new version of the icon (db9b19a)
              • 🚀 Optimize the display effect of application icons under windows (e0c221f)
              • 🚀 Optimize the display effect of new icons in smaller sizes (7d91d71)

              1.33.0 (2025-11-20)

              Features

              • ✨ Add system terminal support (e5c157e)

              Bug Fixes

              • 🐛 Fix issue with incorrect address bar path when returning to the previous level in file management (0222675)
              • 🐛 Fix the problem of Windows calling system terminal failure (194689e)
              • 🐛 Fix the problem of Windows terminal injection command failure (fbf88d0)
              • 🐛 Fixed the issue where PowerShell failed to call the system terminal (7beb027)

              Performance Improvements

              • 🔖 Optimize interaction of preferred terminal options (900dc69)
              • 🚀 Clean output when closing built-in terminal (c976d4c)
              • 🚀 Optimize system terminal stability (2ffc588)
              • 🚀 Optimize the built-in terminal interaction experience (bb56d5b)

              1.32.2 (2025-09-29)

              Performance Improvements

              • 🚀 Update to scrcpy v3.3.3 (8566644)

              1.32.1 (2025-09-10)

              Performance Improvements

              • 🌱 UI details and documentation optimization (5b5bbf7)

              1.32.0 (2025-09-08)

              Features

              • ✨ Now supports copying device screenshots and recording files to the clipboard (bdb3644)
              • 🚀 Update to scrcpy v3.3.2 (462536c)

              Bug Fixes

              • 🐛 Fixed the issue where recorded files could not be copied to the clipboard under Windows (119b518)
              • 🔧 Fixed button loading prompt conflict issue (c323ad6)

              Performance Improvements

              • ✅ Provides the function of detecting and migrating configurations when deleting a device (39e0533)
              • 📌 Standardize the device list lifecycle processing flow. IPv6 addresses must be enclosed in [] and the port number cannot be omitted for wireless connections. (93c059d)
              • 🚀 Modify the adb connection method to be compatible with scan connection (e6e8a09)
              • 🚀 Optimize device list connection behavior and configuration migration strategy (8237058)

              1.31.3 (2025-09-01)

              Performance Improvements

              • 💄 Window layout adapted to dark mode theme (eab402b)

              1.31.2 (2025-09-01)

              Bug Fixes

              • 🐛 Resolved the issue where the device list could not be displayed due to compatibility issues with certain devices (2c53b77)

              Performance Improvements

              • 🚀 Optimization of window arrangement function (33786ab)

              1.31.1 (2025-08-29)

              Performance Improvements

              • 👷 Remove redundant code comments (ca4e826)

              1.31.0 (2025-08-29)

              Features

              • ✨ Device lists will now intelligently merge duplicate device entries and share device configurations (52cc4b1)
              • ✨ Now you can arrange your device windows through a graphical interface (91ad249)

              Bug Fixes

              • 🐛 Fix typos (a7a3a17)
              • 🐛 Fixed possible sandbox issues on Linux (ff9f9bd)
              • 🐛 Fixed the issue of saving exceptions after adjusting parameters in preference settings (4a18f61)
              • 🐛 Issue not taking effect after restarting the application after switching themes (857c480)

              Performance Improvements

              • ♻️ Improve the stability of window arrangement function (7ae3f21)
              • ♻️ Simplify sandbox automatic configuration manager code to improve performance (1b82336)
              • 💄 Improve space utilization of device window layout tools (939a2d2)
              • 🔖 Adjust the order of quick entry functions (ccb59e1)
              • 🔨 Improve the reliability of the linux sandbox configuration tool (6de2538)
              • 🚀 After getting the device list, query and save the SerialNo of each device in preparation for subsequent integration (4464e7e)
              • 🚀 Improve performance by asynchronously storing main interface boundary information (d230c15)
              • 🚀 Optimize the default behavior when adding new widgets to the device window arrangement (1be470a)
              • 🚀 Optimize the layout effect of the task list (044cfcd)
              • 🚀 Optimize the storage strategy for preference Settings (359b9b9)

              1.30.2 (2025-07-15)

              Performance Improvements

              • ♻️ Optimize device list interaction logic (3812061)
              • 📝 Add Japanese language support (969378f)

              1.30.1 (2025-07-14)

              Bug Fixes

              • 🐛 Fixed the issue where all configurations would be cleared when resetting the category configuration in preferences (6ee9a92)
              • 🐛 Solve the problem of abnormal display timing when recording related functions are successful (67d279e)
              • 📝 Fixed the issue that special characters in Windows prevented the creation of app shortcut launch (301dac5)

              Performance Improvements

              • 📝 Optimized startup app package name display (22eb718)
              • 🔧 Optimized startup APP function interaction (468af22)

              1.30.0 (2025-07-14)

              Features

              • 🔍️ Optimize the search function of the app (94ccb7b)
              • 🚀 Supports dragging the device control bar to sort (64a98b2)

              Bug Fixes

              • 🐛 Fixed the issue of layout flickering when refreshing the device list page (608b8f3)
              • 🐛 Fixed the issue where activating the program on macOS in certain situations would cause the tray to be created repeatedly (cf8e183)
              • 🐛 Fixed the issue where there is a chance of an error when closing the floating control bar on macOS (5c2c711)
              • 🚀 Fix the issue of abnormal program exit behavior under windows (705f8be)

              Performance Improvements

              • ♻️ Code structure optimization (595216b)
              • 👥 Control bar sorting supports state synchronization (88abe95)
              • 📝 Optimize the title of the control interface to solve the problem of duplicate device names (06a151d)
              • 🔀 Optimize the storage policy configured in preferences (b9faabf)
              • 🚀 Supports opening using the main monitor when starting the APP (aec9b78)

              1.29.9 (2025-06-27)

              Performance Improvements

              • 🚀 Update to scrcpy v3.3.1 (a2bb039)

              1.29.8 (2025-06-20)

              Bug Fixes

              • 🐛 Update scrcpy-server file to solve the problem of not being able to obtain device APP list (63f7135)

              1.29.7 (2025-06-16)

              Performance Improvements

              • 🚀 Update to scrcpy v3.3 (bbf2335)

              1.29.6 (2025-04-27)

              Performance Improvements

              • 📝 Added Arabic language support (f6c9fa4)
              • 🚀 File management supports returning to the root directory (2e27443)

              1.29.5 (2025-04-17)

              Bug Fixes

              • 🐛 Fix the problem of build failure caused by missing dependencies (e34e1c2)

              1.29.4 (2025-04-17)

              Bug Fixes

              • 🐛 Fixed an issue where some options in preferences could not be turned off (269bd29)

              Performance Improvements

              • 💫 Adjust gnirehtet configuration behavior to make it consistent with user operation habits (7507915)
              • 🔍️ Optimize QR code style to avoid scanning problems on some devices (dd3ad6c)
              • 🩹 Add an option to enable keyboard fix on app startup to be compatible with older versions of scrcpy (be89b36)

              1.29.3 (2025-04-02)

              Performance Improvements

              • 📝 Add docs entry to the program (db5d157)
              • 🚚 Reduce some unnecessary verifications and increase the speed at which equipment starts reverse network supply (c17aaba)

              1.29.2 (2025-03-31)

              Performance Improvements

              • 🔨 Fixed the problem that some models could not reversely supply the network due to the blocking of installation detection when using Gnirehtet (c5369af)

              1.29.1 (2025-03-31)

              Performance Improvements

              • 🔊 Expanded audio source options (fc91f07)
              • 🩹 Closing a screen via the control bar no longer requires creating a help window (84c7be7)
              • 🚀 Update to scrcpy v3.2 (57c11af)

              1.29.0 (2025-03-27)

              Features

              • 🚀 Support adding the open application action to the desktop shortcut. (Not supported on macOS) (add251f)
              • 🚚 Support batch startup mirroring (fcfd78e)

              Bug Fixes

              • 🐛 Solve the conflict between floating navigation bar and quick APP launch (460aca1)
              • 🐛 Solve the problem of startup error of development mode under Linux (5c4f65e)

              Performance Improvements

              • ✨ The floating control bar supports transparent display when inactive (34f27c5)
              • 👷 Explicitly clean up unnecessary child processes on exit (0549dda)
              • 👽️ Experimental support for adding open application actions to linux desktop shortcuts (6897c0e)
              • 👽️ Experimentally add linux arm64 support (5b033fd)
              • 💄 Optimization of display effect of device list page (305187d)
              • 💫 Support appending gnirehtet custom parameters in configuration (206a030)
              • 🚀 Provide feedback on the application shortcut addition (d7eca8d)

              1.28.7 (2025-02-17)

              Bug Fixes

              • 🐛 Fixed the issue of duplicate filter conditions in the device list (6c4242c)
              • 🐛 Solved the problem that the main window could not be restored after being moved off the screen in some cases (d054f8d)

              Performance Improvements

              • ⬆️ Improved performance of automated mirroring (33a03c3)
              • 💄 Optimize the display effect of horizontal screen screenshots (90c7163)
              • 🚀 The main panel supports single instance startup (c49d22c)

              1.28.6 (2025-02-05)

              Bug Fixes

              • 🐛 Resolving build errors (d21fa29)

              1.28.5 (2025-02-05)

              Performance Improvements

              • ✅ File management supports selecting directories for uploading (fd2e639)
              • ⬆️ Improve QR code connection performance (b413889)

              1.28.4 (2025-01-13)

              Bug Fixes

              • 🐛 Fix the display ID value type error (2b7ee79)
              • 🐛 Solve the problem of IPV6 address connection failure (1a95325)

              Performance Improvements

              • ♻️ Improve wireless connection stability (85be898)
              • ⚡️ Optimize the method of obtaining the available displays of the device (9e31c84)
              • 🐛 Improve wireless connection verification method (69fecc3)
              • 👷 Added edge hiding function switch (d25714a)

              1.28.3 (2024-12-28)

              Performance Improvements

              • ♻️ Optimize device details performance (38d1433)

              1.28.2 (2024-12-27)

              Performance Improvements

              • 👷 Optimize the edge hiding function (d5caaa9)
              • 📸 Support viewing real-time images and power information of the device (d262adf)

              1.28.1 (2024-12-20)

              Performance Improvements

              • ♻️ Optimize QR code connection experience (86f5e69)

              1.28.0 (2024-12-20)

              Features

              • ✨ Support pairing and connecting to devices via QR code (14306b2)
              • 🚀 Supports connecting historical devices via device list (e0687e8)

              Bug Fixes

              • 🐛 Solve the problem of Windows disabling video forwarding and crashing (10b902a)

              Performance Improvements

              • ♻️ Update mirror icon (c214e5a)
              • ✅ A new method is adopted to solve the problem of IP type configuration storage (5488a1e)
              • 🚀 Optimize device connection experience (0690f2d)
              • 🚀 Supports display of offline devices (dcf817f)

              1.27.7 (2024-12-10)

              Performance Improvements

              • 🚀 Update to scrcpy v3.1 (7c74c71)

              1.27.6 (2024-12-05)

              Bug Fixes

              • ♻️ Fixed repeated dependency issues (9777622)

              Performance Improvements

              • ♻️ Optimized contextBridge related improvements for stability (0e098c3)
              • ♻️ Reduce build package size by removing redundant dependencies (7b61b25)
              • 🚀 Update to scrcpy v3.0.2 (7510548)

              1.27.5 (2024-11-29)

              Performance Improvements

              • ➖ Remove redundant console (9a67142)

              1.27.4 (2024-11-29)

              Bug Fixes

              • 🐛 Fix automatic release (c2254aa)
              • 🐛 Fixed an issue where macos built-in updates failed (432eceb)

              1.27.3 (2024-11-28)

              Bug Fixes

              • 🐛 Fix for built-in scrcpy not supporting x64 macos (0d60655)

              Performance Improvements

              • ♻️ Improved device connection stability (1d603ab)
              • ♻️ Optimized the adb daemon startup failure detection mechanism (ca6be85)
              • 🧑‍💻 Improve device-based terminal experience (88a0356)

              1.27.2 (2024-11-26)

              Bug Fixes

              • 🐛 Start app to adapt to dark mode (ae13fde)

              1.27.1 (2024-11-25)

              Bug Fixes

              • 🐛 Make StartApp compatible with scrcpy v3.0 (1082e0d)

              Performance Improvements

              • 🚀 Adjust options to support scrcpy v3.0 (0602676)
              • 🚀 Update to scrcpy v3.0 (bf06382)

              1.27.0 (2024-11-21)

              Features

              • ✨ Support edge hiding function (14a81de)

              Performance Improvements

              • ⬆️ Optimize edge hiding performance (74a91a4)

              1.26.4 (2024-11-14)

              Bug Fixes

              • 🐛 Temporarily disable scrcpy integration in macOS (9bf4d5c)

              1.26.3 (2024-11-08)

              Bug Fixes

              • 🐛 Fix device support audio and video encoding cannot be parsed (9b7f6a9)
              • 🐛 Restore the --display-buffer parameter to solve the mirroring problem (0f3d869)

              Performance Improvements

              • ♻️ Support interruption during waiting for wireless connection (344b385)
              • ♻️ Supports retrieving a list of applications (b1a6ba7)
              • ⚡️ Optimize startup application performance (8e94494)

              1.26.2 (2024-11-06)

              Bug Fixes

              • 🐛 Fix linux build errors (9b43dc0)

              1.26.1 (2024-11-06)

              Performance Improvements

              • ♻️ No longer building universal packages for macOS (db5deb4)

              1.26.0 (2024-11-06)

              Features

              • ✨ Integrate scrcpy binaries for macos (85bf096)
              • ✨ Supports starting applications for mirroring (d19e781)

              Bug Fixes

              • 🐛 Rename --display-buffer to --video-buffer (b2bb0ae)
              • 🐛 Repair floating action bar start application error (487e7e2)
              • 🩹 Restore the windows build configuration (9491069)

              Performance Improvements

              • ♻️ Adjust the position of the start application button (9833932)
              • ♻️ When the application fails to start, display the error message (dbc34d6)
              • ⚡️ Improve the start APP experience (29e5e1b)

              1.25.5 (2024-11-05)

              Performance Improvements

              • ⚡️ Optimize the stability of options that need to dynamically obtain parameters in preference settings (39bbc98)

              1.25.4 (2024-10-31)

              Performance Improvements

              • ♻️ Enhance recording stability (3dd7525)
              • ♻️ Optimize camera recording stability (952b2a7)
              • 💄 Normalize control window titles and generated file names (ccc7f0e)

              1.25.3 (2024-10-29)

              Bug Fixes

              • 🔧 Camera recording and screen off configuration conflict (4508758)

              Performance Improvements

              • 🔧 Temporarily disable scheduled tasks that are too far away (be5e639)

              1.25.2 (2024-10-29)

              Bug Fixes

              • 🐛 Resolve default recording error (358064e)

              1.25.1 (2024-10-28)

              Miscellaneous Chores

              1.25.0 (2024-10-28)

              Features

              • ✨ Support to close the device screen when controlling (a84c775)
              • 📸 Enhanced recording (7f10161)

              Performance Improvements

              • ♻️ Optimize camera recording (4be2cf4)
              • ♻️ Script and directory structure optimization (68378ef)
              • ⚗️ Experimental support for turning off screen controls (9555f58)
              • ⚡️ Optimize scrcpy parameter conversion performance (18dcd24)
              • 💄 Improved Russian display (ca79e1b)
              • 📸 Recording camera support (10d0370)

              1.24.3 (2024-10-21)

              Performance Improvements

              • 💄 Optimize Russian display effect (5ca39ae)

              1.24.2 (2024-09-16)

              Bug Fixes

              • 🐛 Fix the mirror group bug (cd7d9cd)

              1.24.1 (2024-09-16)

              Performance Improvements

              • ✨ Update to scrcpy@2.7 to support the gamepad (0053e87)
              • ⬆️ Optimize the performance of the floating control bar (a1c60ec)
              • 🚀 Extended floating control bar function (790e703)

              1.24.0 (2024-09-12)

              Features

              • ✨ Support floating control bar (8807e50)

              Performance Improvements

              • ✅ Support switching devices on the floating control bar (50440f5)
              • 💄 Optimize preference setting button layout (47ae53d)

              1.23.6 (2024-09-09)

              Bug Fixes

              • 🐛 Fixed the problem of minimizing the visibility of tray icons (b0f42aa)
              • 🐛 Repair ADB timeout problems (b5bffc5)

              1.23.5 (2024-09-09)

              Performance Improvements

              • ♻️ Improve ADB connection stability (7655ba6)

              1.23.4 (2024-09-08)

              Bug Fixes

              • 🐛 Repair part of internationalization Lost dynamics (d18444f)

              1.23.3 (2024-09-08)

              Performance Improvements

              • ♻️ Optimize the performance of equipment interaction column and file manager (41ffcf5)

              1.23.2 (2024-09-07)

              Performance Improvements

              • 🚀 Support file manager upload to the current directory (737c2a3)

              1.23.1 (2024-09-07)

              Performance Improvements

              • ⬆️ Update dependencies (8b03862)

              1.23.0 (2024-09-07)

              Features

              • ✨ Support graphic file manager (8155723)
              • 🚀 Initially add a new file manager (94ee007)

              Performance Improvements

              1.22.4 (2024-08-03)

              Bug Fixes

              • 🐛 plan task Remove operation bug (5205935)

              Performance Improvements

              1.22.3 (2024-08-03)

              Performance Improvements

              • ♻️ Update scrcpy to 2.6.1 (1eef9d2)

              1.22.2 (2024-07-25)

              Performance Improvements

              • 💄 Optimize the display effect of the dark mode (38f854b)
              • 💄 Optimize the display effect of the quick operation bar (7b3c4db)
              • 💄 Optimize the display effect of the tabs bar (5b2d41c)

              1.22.1 (2024-07-25)

              Bug Fixes

              • 🐛 Fixed asset publishing issues (222f626)

              1.22.0 (2024-07-25)

              Features

              • 🚀 Add a scheduled task list (d72202b)
              • 🚀 Add basic timing task function (04a7608)
              • 🚀 Add timing task entrance (8393c85)
              • 🚀 添加定时任务入口 (6ce66d4)

              Bug Fixes

              • 🐛 The internationalization problem of repairing path selector (8e6af20)
              • 💄 Optimize wireless connection user interface (50ae742)

              Performance Improvements

              • 💄 Optimization of the operation bar at the top of the equipment list (81bd3d9)
              • 💄 Optimized operation button layout (16f9535)

              1.21.4 (2024-07-14)

              Performance Improvements

              • ♻️ Optimize custom startup performance (abd468b)
              • ♻️ Perfect allSettledWrapper method (5b7d0af)

              1.21.3 (2024-07-13)

              Bug Fixes

              • Fix the width problem of custom startup pop-up windows (9a7e56b)

              1.21.2 (2024-07-13)

              Bug Fixes

              • 🐛 Fix terminal style abnormalities in dark theme (3d4dc7c)

              Performance Improvements

              • ♻️ Improve code robustness (2f389af)
              • 🚀 Optimize batch operation interaction (343eab2)

              1.21.1 (2024-07-13)

              Bug Fixes

              • 🐛 Fix dependency build errors (5b02621)

              1.21.0 (2024-07-13)

              Features

              • 🎉 Support batch execution script function (8097022)
              • 🚀 Support execution script function (2013413)

              Bug Fixes

              • 🐛 Repair the problem of equipment width in the English state (25c42d9)
              • 📝 Update Translation (33b0181)

              Performance Improvements

              • ✅ Support batch screenshot and other performance optimization (db9e3e7)
              • ✨ Support for custom startup mirroring (677f30c)
              • 🐛 Fix the problem of frequently trigger preservation of preferences (8261916)

              1.20.1 (2024-07-04)

              Bug Fixes

              • 🐛 Fix batch text spelling errors (062c689)

              1.20.0 (2024-07-04)

              Features

              • ✨ Add batch installation application function (37ce245)

              Performance Improvements

              • 🚀 Add mouse binding options (7ee4ba4)

              1.19.4 (2024-07-02)

              Bug Fixes

              • 🐛 Fix terminal style problems (9fc1ded)
              • Update Chinese language translations (b8d77e3)

              Performance Improvements

              • 🚀 Update to scrcpy v2.5 (22cc5a3)

              1.19.3 (2024-06-13)

              Bug Fixes

              • 🐛 Abnormal operations cause the program that cannot be closed (b989140)

              1.19.2 (2024-06-03)

              Bug Fixes

              • 🐛 Automatically apply local languages (0cc8208)

              1.19.1 (2024-05-26)

              Bug Fixes

              • 🐛 In some cases, the light mode is abnormal (ea227e0)
              • 🐛 Search for shortcut key conflicts (c70e6ca)

              Performance Improvements

              1.19.0 (2024-05-15)

              Features

              • 🚀 Add page search function (6dd8244)
              • 🚀 Update dependencies to support ESM (9f1696f)

              Bug Fixes

              • 🐛 Resolving build failures (8460945)
              • 🐛 Tips unavailable (603e4e9)

              Performance Improvements

              • ♻️ FindInPage API (fcf8269)
              • ♻️ Optimize dark mode (2f2e1cf)
              • ♻️ Search interaction (a195b7e)
              • ♻️ Search variable name (7c55e50)
              • 🐛 Global search error (091d503)
              • 🚀 优化页面查找工具性能 (8587977)

              1.18.4 (2024-05-04)

              Bug Fixes

              • 🐛 Wireless adb does not support Spaces (1f27597)

              1.18.3 (2024-04-12)

              Performance Improvements

              • ♻️ i18n configuration (1ca0469)

              1.18.2 (2024-04-11)

              Bug Fixes

              • 🐛 zh_TW Language support (885af3a)

              1.18.1 (2024-04-11)

              Bug Fixes

              • 🔧 Repair merge zh-TW failed (81ff63f)

              Performance Improvements

              1.18.0 (2024-04-11)

              Features

              • Add a simple zh_TW Traditional Chinese locale (cec6539)

              1.17.8 (2024-03-29)

              Bug Fixes

              • 🐛 Camera configuration conflict (07cc5f3)
              • 🐛 OTG configuration conflict (576d287)
              • 🐛 OTG mode: could not turn screen off (c5bed0e)

              1.17.7 (2024-03-27)

              Bug Fixes

              • ♻️ Remove the redundant imports (a06708f)

              Performance Improvements

              • ♻️ Optimize delete history logic (780e3b9)
              • ♻️ Support delete historical connection (c82560f)
              • 💄 Wireless style optimization (ba51fe3)

              1.17.6 (2024-03-21)

              Performance Improvements

              • ♻️ Supports automatic execution of mirrors on devices (11e0884)

              1.17.5 (2024-03-17)

              Performance Improvements

              1.17.4 (2024-03-14)

              Performance Improvements

              • ♻️ Options in the preference settings (dc711cb)

              1.17.3 (2024-03-13)

              Performance Improvements

              • ♻️ Remove console log (6e25eb7)

              1.17.2 (2024-03-10)

              Bug Fixes

              • 🐛 Abnormal built-in terminal adb command (368551a)

              Performance Improvements

              • ♻️ Update eslint config (bf2d2b4)

              1.17.1 (2024-03-05)

              Performance Improvements

              • ♻️ Interactive logic optimization (193f80a)
              • ♻️ Optimize design and code (d507c2d)
              • ♻️ Optimize equipment operation (389ac33)
              • ➖ Remove redundant packages (f9e4a0e)
              • 💄 Optimize dark mode styles (1cac054)

              1.17.0 (2024-03-04)

              Features

              • 🎉 Update to scrcpy v2.4 (02a4d39)

              1.16.8 (2023-12-27)

              Bug Fixes

              • 🐛 The maximum size description error (01fd926)

              1.16.7 (2023-12-19)

              Performance Improvements

              1.16.6 (2023-12-19)

              Miscellaneous Chores

              1.16.5 (2023-12-19)

              Performance Improvements

              • 📝 Control in stop charging (8707eb5)

              1.16.4 (2023-12-19)

              Bug Fixes

              • 🐛 Pairing code type issue (889fe8c)

              1.16.3 (2023-12-03)

              Performance Improvements

              • 🚀 Update scrcpy v2.3.1 (3566655)

              1.16.2 (2023-12-02)

              Bug Fixes

              1.16.1 (2023-11-26)

              Bug Fixes

              1.16.0 (2023-11-26)

              Performance Improvements

              Miscellaneous Chores

              1.15.0 (2023-11-18)

              Features

              • 添加投屏窗口大小控制 (97d7868)

              Performance Improvements

              • 🚀 Add window position option (866aa2c)

              1.14.3 (2023-11-17)

              Performance Improvements

              • ♻️ Add context menu (f0f25a7)
              • ♻️ Optimize extended menu bar interaction (de9352c)
              • 📝 Optimization preferences description (30eca50)

              1.14.2 (2023-11-16)

              Performance Improvements

              • ♻️ Optimize autoConnect historical devices (755a130)
              • 💡 Add autoConnect option (a57b847)

              1.14.1 (2023-11-14)

              Bug Fixes

              • 🐛 Abnormal terminal theme (20d37c1)

              1.14.0 (2023-11-14)

              Features

              • 🎉 Add Terminal Debugging (fdf40c7)

              Performance Improvements

              • ♻️ Optimize terminal performance (d3afc4b)
              • 💄 Update terminal style (5b6b8d1)
              • 🚨 Optimization error prompt (b759502)

              1.13.5 (2023-11-11)

              Performance Improvements

              • ♻️ Mirror group shutdown logic (296e21d)
              • ♻️ Optimize mirror group (5793c24)

              1.13.4 (2023-11-10)

              Performance Improvements

              • ♻️ Optimization updater (61ccd4a)
              • ♻️ Optimize mirror group (81c007f)

              1.13.3 (2023-11-10)

              Bug Fixes

              • 🐛 Recording prompt and file format errors (bfdad9e)

              Performance Improvements

              • ♻️ Optimize Batch connection performance (36de67b)
              • ♻️ Optimize file push prompts (4a3575f)
              • ♻️ Optimize historical device connections (83f8c04)
              • ✨ Support bulk connecting to historical devices (b7eb1dd)

              1.13.2 (2023-11-09)

              Bug Fixes

              Performance Improvements

              • ♻️ Configure Incompatible Handling Mechanism (c0e6a01)
              • ♻️ Optimize gnirehtet (de3555b)
              • 💄 Optimize volume control and gnirehtet (b40bdcf)
              • 🚀 Add File push function (70f8b46)
              • 🚀 Add screen rotation shortcut menu (dd601df)

              1.13.1 (2023-11-08)

              Performance Improvements

              • ♻️ Adjust volume control position (1b3f49e)
              • ♻️ Optimize configuration file logic (5f8cc5a)
              • 🚀 Add volume control (1505518)

              1.13.0 (2023-11-07)

              Features

              • 🎉 Add mirror group function (0c9d36f)

              Bug Fixes

              Performance Improvements

              • ♻️ Optimize mirror group (cf9c82d)
              • ♻️ optimize mirror group tips (46defbf)
              • ♻️ Optimize preferences (7a6417e)
              • ♻️ Optimize window control (0530ed3)
              • 💄 Update styles (37da97b)
              • 🚀 Add camera options (5a04b4c)

              1.12.4 (2023-11-03)

              Bug Fixes

              • 🐛 MacOS reduced to the tray to evoke failure (d7bf83b)

              1.12.3 (2023-11-03)

              Bug Fixes

              • 🐛 MacOS reduced to the tray to evoke failure (6153bc4)

              1.12.2 (2023-11-03)

              Bug Fixes

              1.12.1 (2023-11-03)

              Bug Fixes

              • 🐛 Add gnirehtet fix option (f9c6c32)
              • 🐛 Display options cannot be changed (3046746)
              • 🐛 Preference style (0f72090)
              • 🐛 Reset preferences language not restored (d691780)
              • 🐛 Unable to update path selector (3279c34)
              • 🐛 Video codec preset error (1af9abd)

              Performance Improvements

              • ♻️ optimize Codec (6154ffc)
              • ♻️ Optimize recording (f4dfb2c)
              • 🎨 Update preferences style (e9befea)

              1.12.0 (2023-11-02)

              Features

              • 🎉 Update Scrcpy to v2.2 (5c401a8)

              Bug Fixes

              Performance Improvements

              1.11.9 (2023-10-31)

              Performance Improvements

              • ♻️ Optimization gnirehtet and scrcpy (9cf800c)
              • ♻️ Optimize Gnirehtet interaction (a90e570)

              1.11.8 (2023-10-31)

              Bug Fixes

              • 🎨 修复 macOS 设置主题跟随系统后 某些情况下循环触发导致死循环的问题 (1d7b188)

              1.11.7 (2023-10-31)

              Bug Fixes

              • 🐛 macOS x64ArchFiles Errors (151cb29)

              1.11.6 (2023-10-31)

              Bug Fixes

              • 🐛 macOS x64ArchFiles Errors (7dbca01)

              1.11.5 (2023-10-31)

              Bug Fixes

              • 🐛 macOS x64ArchFiles Errors (ad3f77f)

              1.11.4 (2023-10-31)

              Bug Fixes

              • 🐛 macOS x64ArchFiles Errors (4b4e116)

              1.11.3 (2023-10-31)

              Bug Fixes

              • 🐛 Unix permission issues (1279994)
              • 🐛 Unix permission issues (dc9a3c4)
              • 🐛 x64ArchFiles Error (82a99d9)

              1.11.2 (2023-10-30)

              Bug Fixes

              • 🐛 修复 macOS 打包失败的问题 (1b2236c)

              1.11.1 (2023-10-30)

              Bug Fixes

              • 🐛 修复 macOS 打包失败的问题 (37e2837)

              1.11.0 (2023-10-30)

              Features

              • 🎉 Add gnirehtet reverse tethering function (2c97189)

              Bug Fixes

              • 🐛 gnirehtet custom dependent paths error (cfd0e1d)

              Performance Improvements

              • ♻️ Optimize Gnirehtet interaction (e1237cd)
              • ♻️ 拆分依赖文件禁用冗余的警告信息 (93ad836)
              • ♻️ 目录结构及描述调整 (f9a32d6)
              • ♻️ 补充依赖及目录结构调整 (b18256b)

              1.10.2 (2023-10-28)

              Bug Fixes

              • 🐛 修复设置主题跟随系统后没有生效的问题 (95a83f4)

              1.10.1 (2023-10-28)

              Bug Fixes

              • 🐛 修复 linux 无法启动镜像或录制服务以及修改自定义依赖目录的问题 (d815643)

              1.10.0 (2023-10-27)

              Features

              • 🚀 新增支持 深色模式、国际化语言、运行日志等功能 (4b13f58)

              Bug Fixes

              • 🐛 修复 linux 打包后图标丢失的问题 (217d82d)
              • 🐛 修复安装路径包含空格会导致无法启动服务的问题 (29ae786)
              • 🐛 修复录制结束点击取消异常弹窗以及点击重启服务没有反应的问题 (054c55b)
              • 🔧 修复自定义路径功能没有生效的问题 (894b581)

              Performance Improvements

              1.9.1 (2023-10-24)

              Performance Improvements

              • 💄 窗口控制及交互逻辑优化 (52514e2)

              1.9.0 (2023-10-24)

              Features

              • 🚀 添加 i18n 初步支持 (18d490f)

              Bug Fixes

              • 🐛 修复 macOS 最小化到托盘后状态栏图标不显示的问题 (a789826)

              1.8.17 (2023-10-23)

              Bug Fixes

              • 🐛 尝试修复构建失败 (daeb9e5)

              1.8.16 (2023-10-23)

              Performance Improvements

              • ✨ 采用新的 Logo 设计 (3bf79d3)

              1.8.15 (2023-10-22)

              Bug Fixes

              • 🐛 修复 Linux 平台启动白屏无法正常使用的问题 (54e713b)

              1.8.14 (2023-10-21)

              Bug Fixes

              • 🐛 修复 linux 打包配置错误的问题 (a9668d9)

              1.8.13 (2023-10-21)

              Performance Improvements

              • 🚀 为 windows 添加 ARM64 软件包编译 (368e8ee)
              • 🚀 支持所有平台在点击关闭按钮时选择是否保存到托盘中的功能 (8360198)

              1.8.12 (2023-10-21)

              Bug Fixes

              • 🐛 修复 macOS 或 linux 下自定义依赖选项描述错误的问题 (0d4b1ce)

              1.8.11 (2023-10-21)

              Performance Improvements

              • 🔨 优化窗口默认大小 (393e899)

              1.8.10 (2023-10-20)

              Bug Fixes

              • 🐛 修复 macOS 窗口问题 (f768566)

              1.8.9 (2023-10-20)

              Bug Fixes

              • 🐛 修复 macOS 窗口过小导致出现横向滚动条的问题 (8ee34ca)

              1.8.8 (2023-10-20)

              Bug Fixes

              • 🚀 修复 macOS 简单关闭应用重新打开时报错的问题 (4b259c3)

              1.8.7 (2023-10-20)

              Bug Fixes

              • 🐛 修复打包多个平台时可能生成重复文件导致发布软件包失败的问题 (e89a7a5)

              1.8.6 (2023-10-20)

              Bug Fixes

              • 🔧 修复 macOS 无法正确获取系统依赖路径的问题 (2352593)

              1.8.5 (2023-10-20)

              Bug Fixes

              • 🚑️ 修复 Linux maintainer 问题 (4e1542a)

              1.8.4 (2023-10-20)

              Bug Fixes

              • 🚑️ 修复 Linux 打包失败的问题 (96f85d8)

              1.8.3 (2023-10-20)

              Bug Fixes

              • 🚀 修复 MacOS 软件包安装后无线显示 Logo 的问题 (77dd81b)

              1.8.2 (2023-10-20)

              Bug Fixes

              • 🔧 修复 Linux 及 MacOS 获取默认依赖路径异常的问题 (87b533f)
              • 🔧 修复 MacOS ARM64 版本打包失败的问题 (e9a8fc2)

              1.8.1 (2023-10-20)

              Performance Improvements

              • 🚀 支持创建更多架构的 MacOS 软件包格式 (4780e7c)

              1.8.0 (2023-10-20)

              Features

              • 🚀 初步添加对 Linux 以及 MacOS 的支持 (569ed2e)

              Bug Fixes

              • 📝 偏好设置描述信息修改 (23d68d4)
              • 🔧 设备列表标签显示细节调整 (4f2f00e)

              Performance Improvements

              • 📝 设备备注文本框描述信息调整 (379b325)

              1.7.1 (2023-10-20)

              Bug Fixes

              • 🚀 修复对设备进行独立配置时的一些问题 (6ccd6d0)

              Performance Improvements

              • 🎉 初步支持设置偏好设置的作用域范围 (5dd328c)

              1.7.0 (2023-10-19)

              Features

              • 🚀 新增支持导入及导出配置 (326a133)
              • 🚀 新增支持添加设备备注 (43f15be)

              Performance Improvements

              • ➕ 设备交互栏添加重启设备及打开通知栏功能 (1341fb8)

              1.6.10 (2023-10-18)

              Performance Improvements

              • 🚀 采用新的方法实现所有进程共享 isPackaged (8a5f7d9)

              1.6.9 (2023-10-17)

              Bug Fixes

              • 🔧 优化 isPackaged 判断条件解决某些情况下资源路径解析异常的问题 (fbd1885)

              1.6.8 (2023-10-17)

              Performance Improvements

              • 🚀 支持通过操作栏安装应用并提供相应安装反馈 (3bd2075)

              1.6.7 (2023-10-17)

              Performance Improvements

              • 📝 去除冗余的依赖项 (a6744dc)

              1.6.6 (2023-10-17)

              Bug Fixes

              • 🐛 build fix (09c8dee)
              • 🐛 修复 electron 资源路径问题 (955756e)

              1.6.5 (2023-10-16)

              Bug Fixes

              • 🐛 修复 App NextTick 错误 (79d85eb)

              1.6.4 (2023-10-16)

              Bug Fixes

              • 🐛 修复 electron-builder 配置异常导致打包的文件无法发布的问题 (9a4efa5)
              • 🚀 修复设备列表按钮状态变更影响布局变化的问题 (83a8043)

              1.6.3 (2023-10-16)

              Bug Fixes

              • 🐛 修复打包后图标丢失的问题 (58a66f1)

              1.6.2 (2023-10-13)

              Bug Fixes

              • 🐛 修复USB未授权设备导致无线连接地址变为假值的问题 (9c25325)

              1.6.1 (2023-10-13)

              Performance Improvements

              • 🔨 自定义通用的文件存储路径相关逻辑完善 (8455e86)

              1.6.0 (2023-10-13)

              Features

              • 🚀 增加了对设备交互控制栏的支持 (fd20736)

              1.5.3 (2023-10-13)

              Bug Fixes

              • 🔧 修复点击无线模式没有反应的问题 (9d55ef9)

              1.5.2 (2023-10-13)

              Bug Fixes

              • 📝 修复高级配置标题语义不明的问题 (218de1c)

              Performance Improvements

              • 🚀 添加更多的高级配置并更新文档 (922abd2)

              1.5.1 (2023-10-12)

              Bug Fixes

              • 🐛 去除页面组件冗余参数 (8e5df15)

              1.5.0 (2023-10-12)

              Features

              • 🚀 添加音视频录制功能以及更多的高级选项 (b6986d1)

              1.4.1 (2023-10-12)

              Bug Fixes

              • 🐛 修复检查更新失败没有提示的问题 (6f733ea)

              1.4.0 (2023-10-11)

              Features

              • 🚀 添加在线检查更新功能 (8de04e0)

              Bug Fixes

              • 🔨 修复无线配对时表单验证错误 (7cd9ea3)
              • 🔨 修复直接进行无线连接时没有处理配对设备的问题 (4263d07)

              1.3.3 (2023-09-26)

              Bug Fixes

              • 🐛 修复触摸点配置描述错误的问题 (4e2be23)

              1.3.2 (2023-09-19)

              Bug Fixes

              • 🔧 修复旋转屏幕配置异常的问题 (af7a319)

              1.3.1 (2023-09-19)

              Bug Fixes

              • 🔧 修复图标不透明的问题 (24c011f)

              1.3.0 (2023-09-19)

              Features

              • ✨ 用户界面进行优化,制作了合适的 Logo (1b96ffc)

              1.2.0 (2023-09-19)

              Features

              • 🎉 优化设备界面视图并添加虚拟控制栏配置 (3be0682)

              1.1.0 (2023-09-18)

              Features

              • 🚀 增加了常用的 Scrcpy 高级配置 (ac52df2)

              1.0.2 (2023-09-18)

              Performance Improvements

              • 🚀 合并无线连接及有线连接到设备列表 (e84f24e)

              1.0.1 (2023-09-16)

              Bug Fixes

              • 🔧 去除未测试环境的打包以修复构建失败的问题 (d6ec7fd)

              1.0.0 (2023-09-16)

              Features

              • 📝 添加基本的有线连接支持 (647a0c5)
              • 🚀 添加 Electron 基本支持 (a46a5e1)
              • 🚀 添加初步的构建及发布支持 (c85f8fb)
              • 🚀 添加基本的无线连接功能 (6dd2db9)

              Bug Fixes

              • 🔧 修复 ADB 环境变量配置错误导致无法连接的问题 (9ef7203)

              Released under the MIT License.

              - + \ No newline at end of file diff --git a/contact.html b/contact.html index 274b8a570..49a05411f 100644 --- a/contact.html +++ b/contact.html @@ -9,11 +9,11 @@ - + - + - + @@ -21,10 +21,10 @@ -
              Skip to content

              +

              - + \ No newline at end of file diff --git a/donate.html b/donate.html index e6d8f064c..aab063aa9 100644 --- a/donate.html +++ b/donate.html @@ -9,11 +9,11 @@ - + - + - + @@ -21,10 +21,10 @@ -
              Skip to content

              Donate Project ♥️

              If this project has helped you, you can buy me a coffee to keep me energized and improving the project! 😛

              viarotel-wepayviarotel-alipayviarotel-paypal

              +

              Skip to content

              Donate Project ♥️

              If this project has helped you, you can buy me a coffee to keep me energized and improving the project! 😛

              viarotel-wepayviarotel-alipayviarotel-paypal

              Released under the MIT License.

              - + \ No newline at end of file diff --git a/guide/index.html b/guide/index.html index ae2c6150c..9e6e819b8 100644 --- a/guide/index.html +++ b/guide/index.html @@ -9,11 +9,11 @@ - + - + - + @@ -21,10 +21,10 @@ -
              Skip to content

              Escrcpy: A Graphical Android Device Control Tool Based on Electron

              What is Escrcpy?

              Escrcpy is a graphical Android device control tool developed based on Electron. Built upon the renowned open-source project Scrcpy, it provides users with a more user-friendly and feature-rich graphical interface. With Escrcpy, users can easily display and control Android devices on their computers, enjoying a high-definition, low-latency screen mirroring experience.

              Core Features

              Efficient and Stable Screen Mirroring

              • ⚡️ High Performance: Supports 30-120 fps (depending on device capability)
              • 🌟 High Quality: Supports 1920×1080 or higher resolution display
              • 🕒 Low Latency: Only 35~70 milliseconds of delay
              • 🚀 Fast Startup: Displays the first frame in about 1 second

              Rich Functional Features

              • 📡 Wireless Connection: Supports quick device connection via QR code scanning
              • 🤖 Automation: Auto-connect devices, auto-execute mirroring, custom scripts, and scheduled tasks
              • 💡 Highly Customizable: Multi-device management, independent configurations, custom notes, config import/export
              • 🖥️ Window Arrangement: Visual multi-device window layout management with drag-and-drop position and size adjustment
              • 🔗 Reverse Tethering: Built-in Gnirehtet reverse tethering functionality
              • 🎨 Theme Switching: Supports light/dark modes, automatically switches with the system

              Optimized User Experience

              • 😎 Lightweight: Native support, displays only the device screen
              • 🙅‍♂️ No Residue: Leaves no traces on Android devices
              • 🤩 Pure Experience: No account required, no ads, no internet needed
              • 🗽 Completely Free and Open Source

              Use Cases

              Escrcpy is ideal for the following scenarios:

              1. Developers debugging Android apps on their computers
              2. Gamers playing mobile games on larger screens
              3. Users needing to record mobile screen content
              4. Situations requiring phone operation on a computer for work
              5. Demonstrating phone operations during teaching sessions

              Cross-Platform Support

              Escrcpy supports major operating systems:

              • Windows
              • macOS
              • Linux

              Technical Advantages

              As the graphical interface version of Scrcpy, Escrcpy retains all the advantages of Scrcpy while adding:

              • A more intuitive device management interface
              • More convenient connection methods
              • Richer customization options
              • More comprehensive batch operation features

              Future Development

              The project team continues to improve Escrcpy, with future plans including:

              • Enhancing the way mirror window position and size are set
              • Optimizing the batch device connection experience
              • Developing a graphical script editing tool

              How to use

              Escrcpy is a completely free and open-source project. Please refer to the specific usage:

              Get Started 👉

              Conclusion

              Escrcpy brings a modern graphical interface and enhanced features to Scrcpy, making Android device control simpler and more efficient. Whether you're a developer or an average user, Escrcpy can provide an outstanding device control experience. Its open-source and free nature also allows more people to use this excellent tool without hesitation.

              If you're looking for a powerful, user-friendly Android device control tool, Escrcpy is definitely worth trying!

              +

              Skip to content

              Escrcpy: A Graphical Android Device Control Tool Based on Electron

              What is Escrcpy?

              Escrcpy is a graphical Android device control tool developed based on Electron. Built upon the renowned open-source project Scrcpy, it provides users with a more user-friendly and feature-rich graphical interface. With Escrcpy, users can easily display and control Android devices on their computers, enjoying a high-definition, low-latency screen mirroring experience.

              Core Features

              Efficient and Stable Screen Mirroring

              • ⚡️ High Performance: Supports 30-120 fps (depending on device capability)
              • 🌟 High Quality: Supports 1920×1080 or higher resolution display
              • 🕒 Low Latency: Only 35~70 milliseconds of delay
              • 🚀 Fast Startup: Displays the first frame in about 1 second

              Rich Functional Features

              • 📡 Wireless Connection: Supports quick device connection via QR code scanning
              • 🤖 Automation: Auto-connect devices, auto-execute mirroring, custom scripts, and scheduled tasks
              • 💡 Highly Customizable: Multi-device management, independent configurations, custom notes, config import/export
              • 🖥️ Window Arrangement: Visual multi-device window layout management with drag-and-drop position and size adjustment
              • 🔗 Reverse Tethering: Built-in Gnirehtet reverse tethering functionality
              • 🎨 Theme Switching: Supports light/dark modes, automatically switches with the system

              Optimized User Experience

              • 😎 Lightweight: Native support, displays only the device screen
              • 🙅‍♂️ No Residue: Leaves no traces on Android devices
              • 🤩 Pure Experience: No account required, no ads, no internet needed
              • 🗽 Completely Free and Open Source

              Use Cases

              Escrcpy is ideal for the following scenarios:

              1. Developers debugging Android apps on their computers
              2. Gamers playing mobile games on larger screens
              3. Users needing to record mobile screen content
              4. Situations requiring phone operation on a computer for work
              5. Demonstrating phone operations during teaching sessions

              Cross-Platform Support

              Escrcpy supports major operating systems:

              • Windows
              • macOS
              • Linux

              Technical Advantages

              As the graphical interface version of Scrcpy, Escrcpy retains all the advantages of Scrcpy while adding:

              • A more intuitive device management interface
              • More convenient connection methods
              • Richer customization options
              • More comprehensive batch operation features

              Future Development

              The project team continues to improve Escrcpy, with future plans including:

              • Enhancing the way mirror window position and size are set
              • Optimizing the batch device connection experience
              • Developing a graphical script editing tool

              How to use

              Escrcpy is a completely free and open-source project. Please refer to the specific usage:

              Get Started 👉

              Conclusion

              Escrcpy brings a modern graphical interface and enhanced features to Scrcpy, making Android device control simpler and more efficient. Whether you're a developer or an average user, Escrcpy can provide an outstanding device control experience. Its open-source and free nature also allows more people to use this excellent tool without hesitation.

              If you're looking for a powerful, user-friendly Android device control tool, Escrcpy is definitely worth trying!

              Released under the MIT License.

              - + \ No newline at end of file diff --git a/guide/milestones.html b/guide/milestones.html index 8a8206c5f..6902e48ac 100644 --- a/guide/milestones.html +++ b/guide/milestones.html @@ -9,11 +9,11 @@ - + - + - + @@ -21,10 +21,10 @@ -
              Skip to content

              Milestones

              Priority from high to low:

              • Improved logo ✅
              • Software update feature ✅
              • Record and save audio/video ✅
              • Device quick interaction control bar ✅
              • Custom Adb and Scrcpy dependencies ✅
              • Custom device names ✅
              • Export and import preferences ✅
              • Individual device configuration ✅
              • macOS and Linux support ✅
              • Internationalization ✅
              • Dark mode ✅
              • Reverse tethering (Gnirehtet) ✅
              • Camera mirroring ✅
              • Multi-screen collaboration ✅
              • File push, screen rotation, audio control ✅
              • Batch connect historical devices ✅
              • Built-in terminal ✅
              • Auto-execute mirroring ✅
              • Flexible mirroring launch ✅
              • Batch processing ✅
              • Scheduled tasks ✅
              • Graphical file manager ✅
              • Floating control bar ✅
              • Enhanced recording ✅
              • Start APP(Multi-threaded) ✅
              • Main window edge hidden ✅
              • Group devices (by filtering remarks) ✅
              • Improved history device connection experience ✅
              • File management supports uploading directories ✅
              • Support adding open APP to desktop shortcut (Windows only) ✅
              • Support batch startup of devices ✅
              • Supports controlling the window layout of each device through visual orchestration tools ✅
              • Integrate different connection methods and configurations of the same device to improve user experience ✅
              • Enhanced device file manager ✅
              • Integrate AutoGLM to control your Android device using natural language without scripting ✅
              • Refactor main process architecture to improve performance and stability ✅
              • Support script automation through visual orchestration tools 🚧

              +

              Skip to content

              Milestones

              Priority from high to low:

              • Improved logo ✅
              • Software update feature ✅
              • Record and save audio/video ✅
              • Device quick interaction control bar ✅
              • Custom Adb and Scrcpy dependencies ✅
              • Custom device names ✅
              • Export and import preferences ✅
              • Individual device configuration ✅
              • macOS and Linux support ✅
              • Internationalization ✅
              • Dark mode ✅
              • Reverse tethering (Gnirehtet) ✅
              • Camera mirroring ✅
              • Multi-screen collaboration ✅
              • File push, screen rotation, audio control ✅
              • Batch connect historical devices ✅
              • Built-in terminal ✅
              • Auto-execute mirroring ✅
              • Flexible mirroring launch ✅
              • Batch processing ✅
              • Scheduled tasks ✅
              • Graphical file manager ✅
              • Floating control bar ✅
              • Enhanced recording ✅
              • Start APP(Multi-threaded) ✅
              • Main window edge hidden ✅
              • Group devices (by filtering remarks) ✅
              • Improved history device connection experience ✅
              • File management supports uploading directories ✅
              • Support adding open APP to desktop shortcut (Windows only) ✅
              • Support batch startup of devices ✅
              • Supports controlling the window layout of each device through visual orchestration tools ✅
              • Integrate different connection methods and configurations of the same device to improve user experience ✅
              • Enhanced device file manager ✅
              • Integrate AutoGLM to control your Android device using natural language without scripting ✅
              • Refactor main process architecture to improve performance and stability ✅
              • Support script automation through visual orchestration tools 🚧

              Released under the MIT License.

              - + \ No newline at end of file diff --git a/guide/operation.html b/guide/operation.html index fbe73e2f4..742954e61 100644 --- a/guide/operation.html +++ b/guide/operation.html @@ -9,11 +9,11 @@ - + - + - + @@ -21,10 +21,10 @@ -
              Skip to content

              Device Operation

              Batch Processing

              • Batch mirroring
              • Batch Interception Screen
              • Batch Installation Application
              • Batch File Management
              • Batch Execution Script
              • Batch Scheduled Task

              Control Model

              • Mirror
              • Recording
              • Recording Camera
              • Recording Audio
              • Camera
              • Custom
              • OTG

              Device Interaction Bar

              • Automatic Control (AutoGLM)
              • Switch
              • Home
              • Back
              • Start APP (Mirror Group)
              • Turn off screen (experimental)
              • Notification
              • Power
              • Rotation
              • Volume
              • Screenshot
              • Reboot
              • Install APP
              • File Manager
              • Execution Script
              • Scheduled Task
              • Gnirehtet

              +

              Skip to content

              Device Operation

              Batch Processing

              • Batch mirroring
              • Batch Interception Screen
              • Batch Installation Application
              • Batch File Management
              • Batch Execution Script
              • Batch Scheduled Task

              Control Model

              • Mirror
              • Recording
              • Recording Camera
              • Recording Audio
              • Camera
              • Custom
              • OTG

              Device Interaction Bar

              • Automatic Control (AutoGLM)
              • Switch
              • Home
              • Back
              • Start APP (Mirror Group)
              • Turn off screen (experimental)
              • Notification
              • Power
              • Rotation
              • Volume
              • Screenshot
              • Reboot
              • Install APP
              • File Manager
              • Execution Script
              • Scheduled Task
              • Gnirehtet

              Released under the MIT License.

              - + \ No newline at end of file diff --git a/guide/preferences.html b/guide/preferences.html index b7fcf0c4a..5156c4fc4 100644 --- a/guide/preferences.html +++ b/guide/preferences.html @@ -9,11 +9,11 @@ - + - + - + @@ -21,10 +21,10 @@ -
              Skip to content

              Preferences

              Continuously improving. Currently supports the following common configurations

              General

              • Theme
              • Language
              • File storage path
              • Adb path
              • Scrcpy path
              • Gnirehtet path
              • Scrcpy parameters
              • Gnirehtet parameters
              • Auto-connect device
              • Auto-execute mirroring
              • Gnirehtet fix
              • Debug
              • Floating control bar
              • Use system terminal
              • Preferred terminal
              • Concurrency limit

              Video Control

              • Disable video forwarding
              • Maximum size
              • Video bitrate
              • Refresh rate
              • Video codec
              • Display orientation
              • Rotation angle
              • Screen cropping
              • Monitor
              • Video buffer
              • Receiver (v4l2) buffer

              Device Control

              • Show touch points
              • Keep awake
              • Turn off screen during control
              • Turn off screen after control
              • Disable auto screen on during control
              • Simulate auxiliary display

              Window Control

              • Window width
              • Window height
              • Window X-coordinate
              • Window Y-coordinate
              • Borderless mode
              • Fullscreen mode
              • Always on top
              • Disable screensaver

              Audio Control

              • Disable audio forwarding
              • Keep device audio
              • Audio source
              • Audio codec
              • Audio bitrate
              • Audio buffer
              • Audio output buffer

              Audio/Video Recording

              • Record video format
              • Record video orientation
              • Recording duration
              • Disable video playback
              • Disable audio playback

              Input Control

              • Mouse mode
              • Mouse binding
              • Keyboard mode
              • Keyboard injection method
              • Gamepad

              Camera Control

              • Camera source
              • Camera size
              • Camera ratio
              • Camera frame rate

              +

              Skip to content

              Preferences

              Continuously improving. Currently supports the following common configurations

              General

              • Theme
              • Language
              • File storage path
              • Adb path
              • Scrcpy path
              • Gnirehtet path
              • Scrcpy parameters
              • Gnirehtet parameters
              • Auto-connect device
              • Auto-execute mirroring
              • Gnirehtet fix
              • Debug
              • Floating control bar
              • Use system terminal
              • Preferred terminal
              • Concurrency limit

              Video Control

              • Disable video forwarding
              • Maximum size
              • Video bitrate
              • Refresh rate
              • Video codec
              • Display orientation
              • Rotation angle
              • Screen cropping
              • Monitor
              • Video buffer
              • Receiver (v4l2) buffer

              Device Control

              • Show touch points
              • Keep awake
              • Turn off screen during control
              • Turn off screen after control
              • Disable auto screen on during control
              • Simulate auxiliary display

              Window Control

              • Window width
              • Window height
              • Window X-coordinate
              • Window Y-coordinate
              • Borderless mode
              • Fullscreen mode
              • Always on top
              • Disable screensaver

              Audio Control

              • Disable audio forwarding
              • Keep device audio
              • Audio source
              • Audio codec
              • Audio bitrate
              • Audio buffer
              • Audio output buffer

              Audio/Video Recording

              • Record video format
              • Record video orientation
              • Recording duration
              • Disable video playback
              • Disable audio playback

              Input Control

              • Mouse mode
              • Mouse binding
              • Keyboard mode
              • Keyboard injection method
              • Gamepad

              Camera Control

              • Camera source
              • Camera size
              • Camera ratio
              • Camera frame rate

              Released under the MIT License.

              - + \ No newline at end of file diff --git a/guide/started.html b/guide/started.html index ed8d702d4..6025eb3df 100644 --- a/guide/started.html +++ b/guide/started.html @@ -9,11 +9,11 @@ - + - + - + @@ -21,10 +21,10 @@ -
              Skip to content

              Quick Start

              Installation

              Manual installation via released packages

              macOS can be installed via Homebrew

              See homebrew-escrcpy

              USB Connection

              Note: If the phone prompts for debugging authorization, click allow

              1. Enable developer mode and USB debugging on your Android phone
              2. Open Escrcpy and connect your Android phone to your computer
              3. The device list in Escrcpy should have detected your phone, click start mirroring
              4. Enjoy!

              WIFI Connection

              Scan QR Code to Connect

              1. Follow steps 1-2 from USB connection
              2. Enable and enter wireless debugging in developer mode
              3. Click "Pair device using QR code"
              4. Start enjoying!

              Connect via IP Address

              Note: If initial wireless connection fails, you may need wireless pairing. Please refer to FAQ

              Note: You need to enable wireless debugging and obtain your device's wireless address (usually the IP address assigned when connecting to WiFi) and port number (default is 5555) from the wireless debugging page

              1. Follow steps 1-2 from USB connection
              2. Enter the obtained device IP address and port number in Escrcpy, then click connect device
              3. At this point, Escrcpy device list should detect your phone, click start mirroring
              4. Start enjoying!

              macOS && Linux

              Note: These platforms do not come with integrated Scrcpy, you need to install them manually

              In Escrcpy@1.27.1+ scrcpy binary files are preliminarily integrated, eliminating the need for manual scrcpy installation.

              1. Refer to the installation document for Linux
              2. Refer to the installation document for macOS
              3. Follow steps in USB Connection and WIFI Connection after dependencies are installed successfully

              Gnirehtet Reverse Tethering

              Gnirehtet is built into the Windows and Linux apps to provide reverse tethering from PC to Android devices.

              After connecting the device through the above steps, enable the reverse network function through Devices -> Device Control Bar -> Gnirehtet.

              Note: macOS does not have Gnirehtet built-in. You need to manually install it to use this feature Installation Guide.

              +

              Skip to content

              Quick Start

              Installation

              Manual installation via released packages

              macOS can be installed via Homebrew

              See homebrew-escrcpy

              USB Connection

              Note: If the phone prompts for debugging authorization, click allow

              1. Enable developer mode and USB debugging on your Android phone
              2. Open Escrcpy and connect your Android phone to your computer
              3. The device list in Escrcpy should have detected your phone, click start mirroring
              4. Enjoy!

              WIFI Connection

              Scan QR Code to Connect

              1. Follow steps 1-2 from USB connection
              2. Enable and enter wireless debugging in developer mode
              3. Click "Pair device using QR code"
              4. Start enjoying!

              Connect via IP Address

              Note: If initial wireless connection fails, you may need wireless pairing. Please refer to FAQ

              Note: You need to enable wireless debugging and obtain your device's wireless address (usually the IP address assigned when connecting to WiFi) and port number (default is 5555) from the wireless debugging page

              1. Follow steps 1-2 from USB connection
              2. Enter the obtained device IP address and port number in Escrcpy, then click connect device
              3. At this point, Escrcpy device list should detect your phone, click start mirroring
              4. Start enjoying!

              macOS && Linux

              Note: These platforms do not come with integrated Scrcpy, you need to install them manually

              In Escrcpy@1.27.1+ scrcpy binary files are preliminarily integrated, eliminating the need for manual scrcpy installation.

              1. Refer to the installation document for Linux
              2. Refer to the installation document for macOS
              3. Follow steps in USB Connection and WIFI Connection after dependencies are installed successfully

              Gnirehtet Reverse Tethering

              Gnirehtet is built into the Windows and Linux apps to provide reverse tethering from PC to Android devices.

              After connecting the device through the above steps, enable the reverse network function through Devices -> Device Control Bar -> Gnirehtet.

              Note: macOS does not have Gnirehtet built-in. You need to manually install it to use this feature Installation Guide.

              Released under the MIT License.

              - + \ No newline at end of file diff --git a/guide/window-arrangement.html b/guide/window-arrangement.html index 6fc9d0e2b..8d6c6641e 100644 --- a/guide/window-arrangement.html +++ b/guide/window-arrangement.html @@ -9,11 +9,11 @@ - + - + - + @@ -21,10 +21,10 @@ -
              Skip to content

              Device Window Arrangement Feature Guide

              Device Window Arrangement is one of Escrcpy's advanced features, designed specifically for multi-device management and screen space optimization. Through a visual drag-and-drop interface, you can precisely control the position, size, and layout of each device window, enabling efficient multi-device collaborative operations.

              Feature Overview

              The Window Arrangement feature provides a fullscreen visual editing interface that allows you to:

              • Simultaneously manage the layout of multiple device windows
              • Adjust window positions and sizes through drag-and-drop
              • Set global default configurations and device-specific configurations
              • Preview window layout effects in real-time
              • Save and load custom layout schemes

              Core Components

              Global Configuration Component

              The global configuration component is used to set default window parameters for all devices, including:

              • Default window width and height
              • Default window position coordinates
              • Other common window properties

              Device Window Component

              Each connected device can be added as an independent window component, supporting:

              • Independent position and size settings
              • Device-specific window configurations
              • Inheritance or override of global configurations

              Detailed Operation Guide

              Starting Window Arrangement

              1. Launch from Main Interface
                • Find the "Arrange" button in the top-right corner of the main interface
                • Click the button to enter window arrangement interface
                • The system will open a fullscreen window arrangement interface

              Adding and Managing Components

              Adding Global Configuration Component

              1. Click the "Add Widget" dropdown button
              2. Select "Global Configuration" option
              3. The global configuration component will appear in the arrangement area
              4. This component is used to set default parameters for all devices

              Note: Each arrangement scheme can only have one global configuration component.

              Adding Device Window Components

              1. Click the "Add Widget" dropdown button
              2. Select the device you want to add from the device list
              3. The device window component will be added to the arrangement area
              4. Each device can only be added once

              Device Display Rules:

              • Only currently connected devices are displayed
              • Already added devices will not appear repeatedly in the dropdown list
              • Device names prioritize custom names, followed by device models

              Window Layout Adjustment

              Moving Window Position

              1. Select Target Window: Click the window component you want to move
              2. Drag to Move: Hold down the left mouse button and drag the window to the target position
              3. Real-time Feedback: You can see real-time position changes during dragging
              4. Release to Position: Release the mouse to complete position adjustment

              Adjusting Window Size

              1. Locate Adjustment Point: Move the mouse to the corner position of the window
              2. Drag to Adjust: Hold down the left mouse button and drag to change window size
              3. Proportion Constraints: The system automatically maintains reasonable window proportions
              4. Minimum Size Limit: Windows cannot be smaller than the preset minimum size

              Size Limitation Description

              • Minimum Width: 1/6 of container width
              • Minimum Height: 1/4 of container height
              • Boundary Constraints: Windows cannot be dragged outside the arrangement area
              • Overlap Handling: Windows are allowed to overlap, but complete occlusion should be avoided

              Layout Management Operations

              Reset Layout

              1. Click the "Reset Layout" button in the control panel
              2. The system will clear all current components
              3. Reload saved layout configurations
              4. If no saved configuration exists, an empty arrangement area will be displayed

              Clear All Components

              1. Click the "Clear All" button
              2. The system will display a confirmation dialog
              3. After confirmation, all window components will be removed
              4. The arrangement area will become blank

              Delete Individual Component

              1. Hover the mouse over the target window component
              2. Click the delete button (×) in the top-right corner of the window
              3. The component will be immediately removed from the arrangement area
              4. The corresponding device will reappear in the addable list

              Configuration Saving and Application

              Saving Layout Configuration

              1. Complete Layout Adjustment: Ensure all window components are adjusted to satisfactory positions and sizes
              2. Click Save Button: Click the "Save Layout" button at the bottom of the interface
              3. Configuration Writing: The system will write current layout information to configuration files
              4. Success Feedback: Display a successful save message prompt

              Configuration Storage Mechanism

              • Global Configuration: Stored in scrcpy.global configuration node
              • Device Configuration: Stored in scrcpy.[DeviceID] configuration node
              • Parameter Format:
                • --window-width: Window width
                • --window-height: Window height
                • --window-x: Window X coordinate
                • --window-y: Window Y coordinate

              Configuration Application Timing

              • When Starting Mirroring: Automatically apply corresponding window configuration when device starts mirroring
              • Configuration Inheritance: Device-specific configuration takes priority, unset parameters inherit global configuration
              • Dynamic Updates: Configuration takes effect immediately after saving, no application restart required

              Troubleshooting

              Common Issues

              Issue 1: Device not showing in add list

              • Confirm device is properly connected
              • Check if device is already added to arrangement
              • Try refreshing device list

              Issue 2: Window dragging not responsive

              • Confirm mouse click is in draggable area of window
              • Check if other programs are occupying mouse events
              • Try reopening arrangement interface

              Issue 3: Saved layout not taking effect

              • Confirm "Save Layout" button was clicked
              • Check if configuration file has write permissions
              • Try restarting application and testing again

              Issue 4: Abnormal window size

              • Check if minimum size limits are exceeded
              • Confirm monitor resolution settings are correct
              • Try resetting layout and reconfiguring

              By properly using the Window Arrangement feature, you can significantly improve multi-device management efficiency and create a personalized operating environment suitable for your workflow.

              +

              Skip to content

              Device Window Arrangement Feature Guide

              Device Window Arrangement is one of Escrcpy's advanced features, designed specifically for multi-device management and screen space optimization. Through a visual drag-and-drop interface, you can precisely control the position, size, and layout of each device window, enabling efficient multi-device collaborative operations.

              Feature Overview

              The Window Arrangement feature provides a fullscreen visual editing interface that allows you to:

              • Simultaneously manage the layout of multiple device windows
              • Adjust window positions and sizes through drag-and-drop
              • Set global default configurations and device-specific configurations
              • Preview window layout effects in real-time
              • Save and load custom layout schemes

              Core Components

              Global Configuration Component

              The global configuration component is used to set default window parameters for all devices, including:

              • Default window width and height
              • Default window position coordinates
              • Other common window properties

              Device Window Component

              Each connected device can be added as an independent window component, supporting:

              • Independent position and size settings
              • Device-specific window configurations
              • Inheritance or override of global configurations

              Detailed Operation Guide

              Starting Window Arrangement

              1. Launch from Main Interface
                • Find the "Arrange" button in the top-right corner of the main interface
                • Click the button to enter window arrangement interface
                • The system will open a fullscreen window arrangement interface

              Adding and Managing Components

              Adding Global Configuration Component

              1. Click the "Add Widget" dropdown button
              2. Select "Global Configuration" option
              3. The global configuration component will appear in the arrangement area
              4. This component is used to set default parameters for all devices

              Note: Each arrangement scheme can only have one global configuration component.

              Adding Device Window Components

              1. Click the "Add Widget" dropdown button
              2. Select the device you want to add from the device list
              3. The device window component will be added to the arrangement area
              4. Each device can only be added once

              Device Display Rules:

              • Only currently connected devices are displayed
              • Already added devices will not appear repeatedly in the dropdown list
              • Device names prioritize custom names, followed by device models

              Window Layout Adjustment

              Moving Window Position

              1. Select Target Window: Click the window component you want to move
              2. Drag to Move: Hold down the left mouse button and drag the window to the target position
              3. Real-time Feedback: You can see real-time position changes during dragging
              4. Release to Position: Release the mouse to complete position adjustment

              Adjusting Window Size

              1. Locate Adjustment Point: Move the mouse to the corner position of the window
              2. Drag to Adjust: Hold down the left mouse button and drag to change window size
              3. Proportion Constraints: The system automatically maintains reasonable window proportions
              4. Minimum Size Limit: Windows cannot be smaller than the preset minimum size

              Size Limitation Description

              • Minimum Width: 1/6 of container width
              • Minimum Height: 1/4 of container height
              • Boundary Constraints: Windows cannot be dragged outside the arrangement area
              • Overlap Handling: Windows are allowed to overlap, but complete occlusion should be avoided

              Layout Management Operations

              Reset Layout

              1. Click the "Reset Layout" button in the control panel
              2. The system will clear all current components
              3. Reload saved layout configurations
              4. If no saved configuration exists, an empty arrangement area will be displayed

              Clear All Components

              1. Click the "Clear All" button
              2. The system will display a confirmation dialog
              3. After confirmation, all window components will be removed
              4. The arrangement area will become blank

              Delete Individual Component

              1. Hover the mouse over the target window component
              2. Click the delete button (×) in the top-right corner of the window
              3. The component will be immediately removed from the arrangement area
              4. The corresponding device will reappear in the addable list

              Configuration Saving and Application

              Saving Layout Configuration

              1. Complete Layout Adjustment: Ensure all window components are adjusted to satisfactory positions and sizes
              2. Click Save Button: Click the "Save Layout" button at the bottom of the interface
              3. Configuration Writing: The system will write current layout information to configuration files
              4. Success Feedback: Display a successful save message prompt

              Configuration Storage Mechanism

              • Global Configuration: Stored in scrcpy.global configuration node
              • Device Configuration: Stored in scrcpy.[DeviceID] configuration node
              • Parameter Format:
                • --window-width: Window width
                • --window-height: Window height
                • --window-x: Window X coordinate
                • --window-y: Window Y coordinate

              Configuration Application Timing

              • When Starting Mirroring: Automatically apply corresponding window configuration when device starts mirroring
              • Configuration Inheritance: Device-specific configuration takes priority, unset parameters inherit global configuration
              • Dynamic Updates: Configuration takes effect immediately after saving, no application restart required

              Troubleshooting

              Common Issues

              Issue 1: Device not showing in add list

              • Confirm device is properly connected
              • Check if device is already added to arrangement
              • Try refreshing device list

              Issue 2: Window dragging not responsive

              • Confirm mouse click is in draggable area of window
              • Check if other programs are occupying mouse events
              • Try reopening arrangement interface

              Issue 3: Saved layout not taking effect

              • Confirm "Save Layout" button was clicked
              • Check if configuration file has write permissions
              • Try restarting application and testing again

              Issue 4: Abnormal window size

              • Check if minimum size limits are exceeded
              • Confirm monitor resolution settings are correct
              • Try resetting layout and reconfiguring

              By properly using the Window Arrangement feature, you can significantly improve multi-device management efficiency and create a personalized operating environment suitable for your workflow.

              Released under the MIT License.

              - + \ No newline at end of file diff --git a/hashmap.json b/hashmap.json index c747e528e..1e6bd2e0a 100644 --- a/hashmap.json +++ b/hashmap.json @@ -1 +1 @@ -{"changelog.md":"DapCavOL","contact.md":"KkYa3uax","donate.md":"BBx_C-dc","guide_index.md":"jY287bOo","guide_milestones.md":"DRlHQIKt","guide_operation.md":"_VmuwrbO","guide_preferences.md":"D8ZD2Zwp","guide_started.md":"EEjE48z7","guide_window-arrangement.md":"BzgeKK4Z","help_escrcpy.md":"3eFsSxBG","help_index.md":"CRX3uZ_O","help_scrcpy.md":"BDVfhDua","index.md":"D2nHulPk","reference_gnirehtet_api.md":"DyNKNgJ9","reference_gnirehtet_index.md":"nxOhXl82","reference_index.md":"Djt-uVAo","reference_scrcpy_audio.md":"Da28Zcw4","reference_scrcpy_build.md":"fIiiXNuy","reference_scrcpy_camera.md":"C4z6IhIb","reference_scrcpy_connection.md":"DSIXHGnp","reference_scrcpy_control.md":"DzZ9Zij4","reference_scrcpy_develop.md":"CUpmArhg","reference_scrcpy_device.md":"B-kEBKUa","reference_scrcpy_gamepad.md":"BYQSzNQ6","reference_scrcpy_index.md":"BqkGg6js","reference_scrcpy_keyboard.md":"BvhQojnm","reference_scrcpy_linux.md":"D1WLNUCR","reference_scrcpy_macos.md":"yUVgKjlM","reference_scrcpy_mouse.md":"BjDJcNrK","reference_scrcpy_otg.md":"OXNgJGrL","reference_scrcpy_recording.md":"WkzLmA5x","reference_scrcpy_shortcuts.md":"SQbbPtdC","reference_scrcpy_tunnels.md":"dJuyHgkx","reference_scrcpy_v4l2.md":"BDosYMTE","reference_scrcpy_video.md":"BYLBijtG","reference_scrcpy_virtual_display.md":"BtNi7opT","reference_scrcpy_window.md":"CHSan9MF","reference_scrcpy_windows.md":"Cw0zCoK1","zhhans_changelog.md":"2Zc7Jgcc","zhhans_contact.md":"Cetena6L","zhhans_donate.md":"w5BDK0Ms","zhhans_guide_index.md":"DkMHeL72","zhhans_guide_milestones.md":"DeZFUHF9","zhhans_guide_operation.md":"Bipv2JXi","zhhans_guide_preferences.md":"Dhq4kgli","zhhans_guide_started.md":"BfGSofGu","zhhans_guide_window-arrangement.md":"DnSOIRZJ","zhhans_help_escrcpy.md":"BkuUUzQz","zhhans_help_index.md":"DxcB-sqm","zhhans_help_scrcpy.md":"SyGcfN8V","zhhans_index.md":"C8TJL9vp","zhhans_reference_gnirehtet_api.md":"BTgPaxP4","zhhans_reference_gnirehtet_index.md":"Bk4s4Vk8","zhhans_reference_index.md":"CGHiWE8w","zhhans_reference_scrcpy_audio.md":"Ci73sZcu","zhhans_reference_scrcpy_build.md":"BAlUrcj9","zhhans_reference_scrcpy_camera.md":"VQweT33D","zhhans_reference_scrcpy_connection.md":"B0BYExGy","zhhans_reference_scrcpy_control.md":"CYtEodrI","zhhans_reference_scrcpy_develop.md":"DunfB6YE","zhhans_reference_scrcpy_device.md":"l5glMPhi","zhhans_reference_scrcpy_gamepad.md":"CdzxIWjL","zhhans_reference_scrcpy_index.md":"CZqbT2Bx","zhhans_reference_scrcpy_keyboard.md":"C_dDxxId","zhhans_reference_scrcpy_linux.md":"DQru3hlI","zhhans_reference_scrcpy_macos.md":"BS4HBTD0","zhhans_reference_scrcpy_mouse.md":"C4YAPHCb","zhhans_reference_scrcpy_otg.md":"cvXW-a1n","zhhans_reference_scrcpy_recording.md":"CdJ2QTP3","zhhans_reference_scrcpy_shortcuts.md":"DfOd1G6_","zhhans_reference_scrcpy_tunnels.md":"Di815MYR","zhhans_reference_scrcpy_v4l2.md":"BMBjF1Ul","zhhans_reference_scrcpy_video.md":"DLKe9g8i","zhhans_reference_scrcpy_virtual_display.md":"ajuA4Hjv","zhhans_reference_scrcpy_window.md":"hcLospOw","zhhans_reference_scrcpy_windows.md":"CxNg9o0d"} +{"changelog.md":"CLeybSg9","contact.md":"CdNfNi2K","donate.md":"CCPIfTmG","guide_index.md":"wdofpXIV","guide_milestones.md":"Dbvc78C7","guide_operation.md":"DRz_ByYk","guide_preferences.md":"DwWXgvxO","guide_started.md":"Cw7Y_wcV","guide_window-arrangement.md":"k3ig0Dl5","help_escrcpy.md":"DYv8jMH0","help_index.md":"D-y1cCRw","help_scrcpy.md":"DzrekZnR","index.md":"BH3rmAi9","reference_gnirehtet_api.md":"BiDxvT1O","reference_gnirehtet_index.md":"D8k-_T6B","reference_index.md":"B4Nq_fy8","reference_scrcpy_audio.md":"DkJRMmOs","reference_scrcpy_build.md":"BH-tiFND","reference_scrcpy_camera.md":"BE4EYS1u","reference_scrcpy_connection.md":"BXMCOubz","reference_scrcpy_control.md":"CBXgBm5L","reference_scrcpy_develop.md":"DeaiXHKE","reference_scrcpy_device.md":"BzdxXuhs","reference_scrcpy_gamepad.md":"B8k122qs","reference_scrcpy_index.md":"DC6Em73X","reference_scrcpy_keyboard.md":"CqSjDaQd","reference_scrcpy_linux.md":"Ck831qaX","reference_scrcpy_macos.md":"DJ4S5Uoa","reference_scrcpy_mouse.md":"DgIUOc3q","reference_scrcpy_otg.md":"C0kPRAWk","reference_scrcpy_recording.md":"B4MoSv_K","reference_scrcpy_shortcuts.md":"Bhh6gprT","reference_scrcpy_tunnels.md":"JZnpQxVq","reference_scrcpy_v4l2.md":"DcxrlHeM","reference_scrcpy_video.md":"CRUdwGgm","reference_scrcpy_virtual_display.md":"CfyHWD-A","reference_scrcpy_window.md":"Dck_fkSr","reference_scrcpy_windows.md":"Cmfuo7a_","zhhans_changelog.md":"D2vktLT2","zhhans_contact.md":"Cs0nv0yM","zhhans_donate.md":"Dy89suvK","zhhans_guide_index.md":"DXb83wHq","zhhans_guide_milestones.md":"CHJwNDbi","zhhans_guide_operation.md":"BcX3fsQq","zhhans_guide_preferences.md":"Cx2MP4Gd","zhhans_guide_started.md":"D1dor87b","zhhans_guide_window-arrangement.md":"C_mrQHh1","zhhans_help_escrcpy.md":"BofQfbxm","zhhans_help_index.md":"wiv2MIiK","zhhans_help_scrcpy.md":"ANaTnpEI","zhhans_index.md":"BC_eRWg5","zhhans_reference_gnirehtet_api.md":"CPSEyAUG","zhhans_reference_gnirehtet_index.md":"B2aFtpmS","zhhans_reference_index.md":"BVW0EtFH","zhhans_reference_scrcpy_audio.md":"lAK0kZXd","zhhans_reference_scrcpy_build.md":"C4zQ3gg_","zhhans_reference_scrcpy_camera.md":"CvdT7Ep9","zhhans_reference_scrcpy_connection.md":"u5su_UyD","zhhans_reference_scrcpy_control.md":"DWMPZThX","zhhans_reference_scrcpy_develop.md":"NXjK1m3Z","zhhans_reference_scrcpy_device.md":"DkqCxuvb","zhhans_reference_scrcpy_gamepad.md":"CvDdTNel","zhhans_reference_scrcpy_index.md":"CLeLpNdE","zhhans_reference_scrcpy_keyboard.md":"BrH0Gc25","zhhans_reference_scrcpy_linux.md":"NoS1Qt7i","zhhans_reference_scrcpy_macos.md":"6-5qUhXf","zhhans_reference_scrcpy_mouse.md":"COKqK1zY","zhhans_reference_scrcpy_otg.md":"DzXpA2B5","zhhans_reference_scrcpy_recording.md":"D3u_BVEN","zhhans_reference_scrcpy_shortcuts.md":"DoZUrZlS","zhhans_reference_scrcpy_tunnels.md":"T50bpaMh","zhhans_reference_scrcpy_v4l2.md":"Bn3F2L2R","zhhans_reference_scrcpy_video.md":"BhvqvMny","zhhans_reference_scrcpy_virtual_display.md":"qlUQNq_V","zhhans_reference_scrcpy_window.md":"Dt53wLOA","zhhans_reference_scrcpy_windows.md":"DFUowiJq"} diff --git a/help/escrcpy.html b/help/escrcpy.html index deccd25b8..6c96f5922 100644 --- a/help/escrcpy.html +++ b/help/escrcpy.html @@ -9,11 +9,11 @@ - + - + - + @@ -21,10 +21,10 @@ -
              Skip to content

              Escrcpy

              Computer cannot detect device after connecting

              1. Please unplug and reconnect your device, and make sure the device has granted USB debugging authorization.
              2. If it still doesn't work, your computer may be missing necessary drivers. Please install drivers using third-party tools such as DriverWizard and try again.

              Unable to enter Chinese

              In Scrcpy@2.4+ and above, the solution is as follows:

              1. Escrcpy Settings: Go to PreferencesInput ControlKeyboard Mode and select uhid mode.
              2. Device Input Method Preparation: Install an input method that supports physical keyboards (WeChat Input Method is recommended) and complete the setup.
              3. Start Mirroring: Click Start Mirroring in Escrcpy. Verification: The device’s SettingsSystemLanguage & Input should display options for Physical Keyboard and On-screen Keyboard.
              4. Device Input Settings: Enable WeChat Input Method in the On-screen Keyboard settings. Configure the keyboard layout in the Physical Keyboard settings to match the computer keyboard (only needs to be done once).
              5. Computer Input Preparation: Set the input mode to English (important).
              6. Switch Input Language: Use Ctrl + Shift to switch between English and Chinese.
              7. Start Using.

              Download WeChat Input Method

              Wireless connection prompts: The target computer actively refuses access

              The first wireless connection may require pairing. Alternatively, insert USB to ensure connection establishment and authorization success before using wireless.

              Clicking wireless mode after connecting via data cable has no response

              Please click again, or click refresh devices. Generally it will not exceed two clicks. If still not working, please provide device model and Android version to Issues

              Why is the device interaction control bar not designed as an automatically sticking floating menu?

              It is important to note that, in principle, Escrcpy is just a GUI version based on Scrcpy, although it does extend some functionality. However, these extensions do not affect the core of Scrcpy. To implement this particular feature, I would have to modify the underlying Scrcpy code, which would make it more difficult for Escrcpy to stay in sync with Scrcpy's updates, and the drawbacks would outweigh the benefits.

              Therefore, after careful consideration, we have decided to adopt the existing solution and look forward to Scrcpy adding native support for an interactive control bar in the future.

              Some devices can see screenshots after connecting but cannot operate

              Note: For Xiaomi phones in particular, it requires not only enabling USB debugging but also enabling USB debugging (Security Settings), which is to allow modifying permissions or simulating clicks via USB debugging.

              Please refer to the detailed instructions under Reasons why mouse and keyboard do not work

              Downloading prompts antivirus detection causing unable to download normally

              After feedback, Windows Defender may occasionally block the software packages from being downloaded due to lack of certificate signing. You can try the following solutions:

              1. Open Windows Security Center.
              2. Select Virus & threat protection.
              3. In the Virus & threat protection settings, click Manage settings.
              4. Find Real-time protection, you can try clicking Disable if permission allows. If unable to disable real-time protection, please skip this step.
              5. Scroll down the page, find Exclusions, click Add or remove exclusions.
              6. Add the folder path where you download the software packages as an exclusion item, i.e. add the folder to the Excluded list.

              Failed to get device list or error when starting mirroring/recording

              This is generally caused by an incorrect path for Adb or Scrcpy, you can try the following solutions:

              1. In the menu, select Preferences and then click the reset configuration button in the top right corner of Global Mode.
              2. Go to the Device List page and try enabling mirroring again.
              3. Make sure you have downloaded and installed the latest version of Escrcpy.
              4. Press Ctrl + Shift + I to open the developer tools and check for any error messages.
              5. If there are errors, take a screenshot and submit your issue with the screenshot on the Feedback Issues page.

              macOS window minimized to system tray icon not found

              This is generally caused by too many icons in the system tray overflowing and hiding the Escrcpy icon. Try using the following tools:

              After a successful installation of macOS, when I try to open it, I receive a prompt saying the file is damaged.

              This is usually due to the software package not being signed. You can try the following solutions:

              1. Open Terminal and execute sudo spctl --master-disable to allow software from any source.
              2. Open Terminal and execute sudo xattr -r -d com.apple.quarantine /Applications/Escrcpy.app to attempt fixing the damaged software package prompt.

              Only support Windows 10 and above versions.

              Audio capture exception causing mirroring failure.

              This usually happens because your computer lacks audio output or you have a low Android version (Android 11+).

              Please try disabling audio forwarding feature through the preferences settings to resolve this issue.

              Microsoft Store version mirror startup error

              This is caused by files in the installation directory lacking executable permissions.

              You need to customize the file paths for scrcpy and adb (ensuring they have executable permissions). If using reverse tethering, configure gnirehtet similarly.

              Could not execute "adb start-server"

              This might be due to Chinese or special characters in the installation path. Please try changing the installation path.

              Unable to Open After Installation in Linux System

              New restrictions have been implemented for AppImage applications in some popular distributions, such as Ubuntu 24.04, limiting the use of sandboxes. A temporary workaround is as follows:

              shell
              sudo chmod 4755 /opt/Escrcpy/chrome-sandbox

              Black edges appear after resizing the casting window

              If black edges appear after resizing the casting window, simply double-click the black edge area and it will automatically hide.

              +

              Skip to content

              Escrcpy

              Computer cannot detect device after connecting

              1. Please unplug and reconnect your device, and make sure the device has granted USB debugging authorization.
              2. If it still doesn't work, your computer may be missing necessary drivers. Please install drivers using third-party tools such as DriverWizard and try again.

              Unable to enter Chinese

              In Scrcpy@2.4+ and above, the solution is as follows:

              1. Escrcpy Settings: Go to PreferencesInput ControlKeyboard Mode and select uhid mode.
              2. Device Input Method Preparation: Install an input method that supports physical keyboards (WeChat Input Method is recommended) and complete the setup.
              3. Start Mirroring: Click Start Mirroring in Escrcpy. Verification: The device’s SettingsSystemLanguage & Input should display options for Physical Keyboard and On-screen Keyboard.
              4. Device Input Settings: Enable WeChat Input Method in the On-screen Keyboard settings. Configure the keyboard layout in the Physical Keyboard settings to match the computer keyboard (only needs to be done once).
              5. Computer Input Preparation: Set the input mode to English (important).
              6. Switch Input Language: Use Ctrl + Shift to switch between English and Chinese.
              7. Start Using.

              Download WeChat Input Method

              Wireless connection prompts: The target computer actively refuses access

              The first wireless connection may require pairing. Alternatively, insert USB to ensure connection establishment and authorization success before using wireless.

              Clicking wireless mode after connecting via data cable has no response

              Please click again, or click refresh devices. Generally it will not exceed two clicks. If still not working, please provide device model and Android version to Issues

              Why is the device interaction control bar not designed as an automatically sticking floating menu?

              It is important to note that, in principle, Escrcpy is just a GUI version based on Scrcpy, although it does extend some functionality. However, these extensions do not affect the core of Scrcpy. To implement this particular feature, I would have to modify the underlying Scrcpy code, which would make it more difficult for Escrcpy to stay in sync with Scrcpy's updates, and the drawbacks would outweigh the benefits.

              Therefore, after careful consideration, we have decided to adopt the existing solution and look forward to Scrcpy adding native support for an interactive control bar in the future.

              Some devices can see screenshots after connecting but cannot operate

              Note: For Xiaomi phones in particular, it requires not only enabling USB debugging but also enabling USB debugging (Security Settings), which is to allow modifying permissions or simulating clicks via USB debugging.

              Please refer to the detailed instructions under Reasons why mouse and keyboard do not work

              Downloading prompts antivirus detection causing unable to download normally

              After feedback, Windows Defender may occasionally block the software packages from being downloaded due to lack of certificate signing. You can try the following solutions:

              1. Open Windows Security Center.
              2. Select Virus & threat protection.
              3. In the Virus & threat protection settings, click Manage settings.
              4. Find Real-time protection, you can try clicking Disable if permission allows. If unable to disable real-time protection, please skip this step.
              5. Scroll down the page, find Exclusions, click Add or remove exclusions.
              6. Add the folder path where you download the software packages as an exclusion item, i.e. add the folder to the Excluded list.

              Failed to get device list or error when starting mirroring/recording

              This is generally caused by an incorrect path for Adb or Scrcpy, you can try the following solutions:

              1. In the menu, select Preferences and then click the reset configuration button in the top right corner of Global Mode.
              2. Go to the Device List page and try enabling mirroring again.
              3. Make sure you have downloaded and installed the latest version of Escrcpy.
              4. Press Ctrl + Shift + I to open the developer tools and check for any error messages.
              5. If there are errors, take a screenshot and submit your issue with the screenshot on the Feedback Issues page.

              macOS window minimized to system tray icon not found

              This is generally caused by too many icons in the system tray overflowing and hiding the Escrcpy icon. Try using the following tools:

              After a successful installation of macOS, when I try to open it, I receive a prompt saying the file is damaged.

              This is usually due to the software package not being signed. You can try the following solutions:

              1. Open Terminal and execute sudo spctl --master-disable to allow software from any source.
              2. Open Terminal and execute sudo xattr -r -d com.apple.quarantine /Applications/Escrcpy.app to attempt fixing the damaged software package prompt.

              Only support Windows 10 and above versions.

              Audio capture exception causing mirroring failure.

              This usually happens because your computer lacks audio output or you have a low Android version (Android 11+).

              Please try disabling audio forwarding feature through the preferences settings to resolve this issue.

              Microsoft Store version mirror startup error

              This is caused by files in the installation directory lacking executable permissions.

              You need to customize the file paths for scrcpy and adb (ensuring they have executable permissions). If using reverse tethering, configure gnirehtet similarly.

              Could not execute "adb start-server"

              This might be due to Chinese or special characters in the installation path. Please try changing the installation path.

              Unable to Open After Installation in Linux System

              New restrictions have been implemented for AppImage applications in some popular distributions, such as Ubuntu 24.04, limiting the use of sandboxes. A temporary workaround is as follows:

              shell
              sudo chmod 4755 /opt/Escrcpy/chrome-sandbox

              Black edges appear after resizing the casting window

              If black edges appear after resizing the casting window, simply double-click the black edge area and it will automatically hide.

              Released under the MIT License.

              - + \ No newline at end of file diff --git a/help/index.html b/help/index.html index 6aa217a6b..0939874ec 100644 --- a/help/index.html +++ b/help/index.html @@ -9,11 +9,11 @@ - + - + - + @@ -21,10 +21,10 @@ -
              Skip to content

              Help Center

              This section provides solutions to common problems for Escrcpy and Scrcpy users.

              +

              - + \ No newline at end of file diff --git a/help/scrcpy.html b/help/scrcpy.html index 1c11b2776..d7d69f776 100644 --- a/help/scrcpy.html +++ b/help/scrcpy.html @@ -9,11 +9,11 @@ - + - + - + @@ -44,10 +44,10 @@ WARN: 'adb reverse' failed, fallback to 'adb forward'

        (or if only unrelated USB devices are detected), there might be drivers issues.

        Please read #3654, in particular this comment and the next one.

        Control issues

        Mouse and keyboard do not work

        On some devices, you may need to enable an option to allow simulating input. In developer options, enable:

        USB debugging (Security settings)Allow granting permissions and simulating input via USB debugging

        Rebooting the device is necessary once this option is set.

        Special characters do not work

        The default text injection method is limited to ASCII characters. A trick allows to also inject some accented characters, but that's all. See #37.

        To avoid the problem, change the keyboard mode to simulate a physical keyboard.

        Client issues

        Issue with Wayland

        By default, SDL uses x11 on Linux. The video driver can be changed via the SDL_VIDEODRIVER environment variable:

        bash
        export SDL_VIDEODRIVER=wayland
         scrcpy

        On some distributions (at least Fedora), the package libdecor must be installed manually.

        See issues #2554 and #2559.

        KWin compositor crashes

        On Plasma Desktop, compositor is disabled while scrcpy is running.

        As a workaround, disable "Block compositing".

        Crashes

        Exception

        If you get any exception related to MediaCodec:

        ERROR: Exception on thread Thread[main,5,main]
         java.lang.IllegalStateException
        -        at android.media.MediaCodec.native_dequeueOutputBuffer(Native Method)

        then try with another encoder.

        + at android.media.MediaCodec.native_dequeueOutputBuffer(Native Method)

        then try with another encoder.

        Released under the MIT License.

        - + \ No newline at end of file diff --git a/index.html b/index.html index c605d62f6..5e9cf2b9a 100644 --- a/index.html +++ b/index.html @@ -9,11 +9,11 @@ - + - + - + @@ -24,7 +24,7 @@
        Skip to content

        EscrcpyDisplay and control your Android device graphically with scrcpy

        Powered by electron.

        Escrcpy

        Released under the MIT License.

        - + \ No newline at end of file diff --git a/reference/gnirehtet/api.html b/reference/gnirehtet/api.html index 272dff928..19a2ed84d 100644 --- a/reference/gnirehtet/api.html +++ b/reference/gnirehtet/api.html @@ -9,11 +9,11 @@ - + - + - + @@ -21,10 +21,10 @@ -
        Skip to content

        Gnirehtet API

        gnirehtet is a tool used to enable reverse tethering on Android devices, allowing the device to share the computer's internet connection via USB. Below is the detailed usage of each command along with examples.

        gnirehtet install [serial]

        Description: Install the client on the specified Android device and exit. If multiple devices are connected, the serial parameter must be provided.

        Example Usage:

        bash
        gnirehtet install

        If multiple devices are connected, specify the device:

        bash
        gnirehtet install 1234567890ABCDEF

        gnirehtet uninstall [serial]

        Description: Uninstall the client from the specified Android device and exit. If multiple devices are connected, the serial parameter must be provided.

        Example Usage:

        bash
        gnirehtet uninstall

        If multiple devices are connected, specify the device:

        bash
        gnirehtet uninstall 1234567890ABCDEF

        gnirehtet reinstall [serial]

        Description: Uninstall then install the client.

        Example Usage:

        bash
        gnirehtet reinstall

        If multiple devices are connected, specify the device:

        bash
        gnirehtet reinstall 1234567890ABCDEF

        gnirehtet run [serial] [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]

        Description: Enable reverse tethering for exactly one device:

        • Install the client if necessary.
        • Start the client.
        • Start the relay server.
        • On Ctrl+C, stop both the relay server and the client.

        Example Usage:

        bash
        gnirehtet run

        Specify DNS:

        bash
        gnirehtet run -d 8.8.8.8,8.8.4.4

        Specify port:

        bash
        gnirehtet run -p 8080

        Specify route:

        bash
        gnirehtet run -r 192.168.1.0/24

        gnirehtet autorun [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]

        Description: Enable reverse tethering for all devices:

        • Monitor devices and start clients (autostart).
        • Start the relay server.

        Example Usage:

        bash
        gnirehtet autorun

        Specify DNS:

        bash
        gnirehtet autorun -d 8.8.8.8,8.8.4.4

        Specify port:

        bash
        gnirehtet autorun -p 8080

        Specify route:

        bash
        gnirehtet autorun -r 192.168.1.0/24

        gnirehtet start [serial] [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]

        Description: Start a client on the Android device and exit.

        • If -d is specified, the device will use the specified DNS servers.
        • If -r is specified, only reverse tether the specified routes.
        • If -p is specified, the relay server will listen on the specified port.

        Example Usage:

        bash
        gnirehtet start

        Specify device serial:

        bash
        gnirehtet start 1234567890ABCDEF

        Specify DNS:

        bash
        gnirehtet start -d 8.8.8.8,8.8.4.4

        Specify port:

        bash
        gnirehtet start -p 8080

        Specify route:

        bash
        gnirehtet start -r 192.168.1.0/24

        gnirehtet autostart [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]

        Description: Listen for device connections and start a client on each detected device.

        • Accepts the same parameters as the start command (excluding the serial, which will be taken from the detected device).

        Example Usage:

        bash
        gnirehtet autostart

        Specify DNS:

        bash
        gnirehtet autostart -d 8.8.8.8,8.8.4.4

        Specify port:

        bash
        gnirehtet autostart -p 8080

        Specify route:

        bash
        gnirehtet autostart -r 192.168.1.0/24

        gnirehtet stop [serial]

        Description: Stop the client on the specified Android device and exit.

        Example Usage:

        bash
        gnirehtet stop

        Specify device serial:

        bash
        gnirehtet stop 1234567890ABCDEF

        gnirehtet restart [serial] [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]

        Description: Stop the current client and restart it.

        Example Usage:

        bash
        gnirehtet restart

        Specify device serial:

        bash
        gnirehtet restart 1234567890ABCDEF

        Specify DNS:

        bash
        gnirehtet restart -d 8.8.8.8,8.8.4.4

        Specify port:

        bash
        gnirehtet restart -p 8080

        Specify route:

        bash
        gnirehtet restart -r 192.168.1.0/24

        gnirehtet tunnel [serial] [-p PORT]

        Description: Set up the adb reverse tunnel. If a device is unplugged and plugged back in while gnirehtet is active, resetting the tunnel will restore the connection.

        Example Usage:

        bash
        gnirehtet tunnel

        Specify device serial:

        bash
        gnirehtet tunnel 1234567890ABCDEF

        Specify port:

        bash
        gnirehtet tunnel -p 8080

        gnirehtet relay [-p PORT]

        Description: Start the relay server in the current terminal.

        Example Usage:

        bash
        gnirehtet relay

        Specify port:

        bash
        gnirehtet relay -p 8080

        +

        Skip to content

        Gnirehtet API

        gnirehtet is a tool used to enable reverse tethering on Android devices, allowing the device to share the computer's internet connection via USB. Below is the detailed usage of each command along with examples.

        gnirehtet install [serial]

        Description: Install the client on the specified Android device and exit. If multiple devices are connected, the serial parameter must be provided.

        Example Usage:

        bash
        gnirehtet install

        If multiple devices are connected, specify the device:

        bash
        gnirehtet install 1234567890ABCDEF

        gnirehtet uninstall [serial]

        Description: Uninstall the client from the specified Android device and exit. If multiple devices are connected, the serial parameter must be provided.

        Example Usage:

        bash
        gnirehtet uninstall

        If multiple devices are connected, specify the device:

        bash
        gnirehtet uninstall 1234567890ABCDEF

        gnirehtet reinstall [serial]

        Description: Uninstall then install the client.

        Example Usage:

        bash
        gnirehtet reinstall

        If multiple devices are connected, specify the device:

        bash
        gnirehtet reinstall 1234567890ABCDEF

        gnirehtet run [serial] [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]

        Description: Enable reverse tethering for exactly one device:

        • Install the client if necessary.
        • Start the client.
        • Start the relay server.
        • On Ctrl+C, stop both the relay server and the client.

        Example Usage:

        bash
        gnirehtet run

        Specify DNS:

        bash
        gnirehtet run -d 8.8.8.8,8.8.4.4

        Specify port:

        bash
        gnirehtet run -p 8080

        Specify route:

        bash
        gnirehtet run -r 192.168.1.0/24

        gnirehtet autorun [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]

        Description: Enable reverse tethering for all devices:

        • Monitor devices and start clients (autostart).
        • Start the relay server.

        Example Usage:

        bash
        gnirehtet autorun

        Specify DNS:

        bash
        gnirehtet autorun -d 8.8.8.8,8.8.4.4

        Specify port:

        bash
        gnirehtet autorun -p 8080

        Specify route:

        bash
        gnirehtet autorun -r 192.168.1.0/24

        gnirehtet start [serial] [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]

        Description: Start a client on the Android device and exit.

        • If -d is specified, the device will use the specified DNS servers.
        • If -r is specified, only reverse tether the specified routes.
        • If -p is specified, the relay server will listen on the specified port.

        Example Usage:

        bash
        gnirehtet start

        Specify device serial:

        bash
        gnirehtet start 1234567890ABCDEF

        Specify DNS:

        bash
        gnirehtet start -d 8.8.8.8,8.8.4.4

        Specify port:

        bash
        gnirehtet start -p 8080

        Specify route:

        bash
        gnirehtet start -r 192.168.1.0/24

        gnirehtet autostart [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]

        Description: Listen for device connections and start a client on each detected device.

        • Accepts the same parameters as the start command (excluding the serial, which will be taken from the detected device).

        Example Usage:

        bash
        gnirehtet autostart

        Specify DNS:

        bash
        gnirehtet autostart -d 8.8.8.8,8.8.4.4

        Specify port:

        bash
        gnirehtet autostart -p 8080

        Specify route:

        bash
        gnirehtet autostart -r 192.168.1.0/24

        gnirehtet stop [serial]

        Description: Stop the client on the specified Android device and exit.

        Example Usage:

        bash
        gnirehtet stop

        Specify device serial:

        bash
        gnirehtet stop 1234567890ABCDEF

        gnirehtet restart [serial] [-d DNS[,DNS2,...]] [-p PORT] [-r ROUTE[,ROUTE2,...]]

        Description: Stop the current client and restart it.

        Example Usage:

        bash
        gnirehtet restart

        Specify device serial:

        bash
        gnirehtet restart 1234567890ABCDEF

        Specify DNS:

        bash
        gnirehtet restart -d 8.8.8.8,8.8.4.4

        Specify port:

        bash
        gnirehtet restart -p 8080

        Specify route:

        bash
        gnirehtet restart -r 192.168.1.0/24

        gnirehtet tunnel [serial] [-p PORT]

        Description: Set up the adb reverse tunnel. If a device is unplugged and plugged back in while gnirehtet is active, resetting the tunnel will restore the connection.

        Example Usage:

        bash
        gnirehtet tunnel

        Specify device serial:

        bash
        gnirehtet tunnel 1234567890ABCDEF

        Specify port:

        bash
        gnirehtet tunnel -p 8080

        gnirehtet relay [-p PORT]

        Description: Start the relay server in the current terminal.

        Example Usage:

        bash
        gnirehtet relay

        Specify port:

        bash
        gnirehtet relay -p 8080

        Released under the MIT License.

        - + \ No newline at end of file diff --git a/reference/gnirehtet/index.html b/reference/gnirehtet/index.html index 6540c91a8..956e5b764 100644 --- a/reference/gnirehtet/index.html +++ b/reference/gnirehtet/index.html @@ -9,11 +9,11 @@ - + - + - + @@ -37,10 +37,10 @@ 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.

        Articles

      +limitations under the License.

      Articles

Released under the MIT License.

- + \ No newline at end of file diff --git a/reference/index.html b/reference/index.html index b363d97ba..9f1fddd40 100644 --- a/reference/index.html +++ b/reference/index.html @@ -9,11 +9,11 @@ - + - + - + @@ -21,10 +21,10 @@ -
Skip to content

Reference

Escrcpy is built on the following open-source projects. The relevant content is provided as is for user reference and will be updated periodically.

+

Skip to content

Reference

Escrcpy is built on the following open-source projects. The relevant content is provided as is for user reference and will be updated periodically.

Released under the MIT License.

- + \ No newline at end of file diff --git a/reference/scrcpy/audio.html b/reference/scrcpy/audio.html index 7b3987b16..b5fe9f209 100644 --- a/reference/scrcpy/audio.html +++ b/reference/scrcpy/audio.html @@ -9,11 +9,11 @@ - + - + - + @@ -31,10 +31,10 @@ scrcpy --audio-codec=raw

In particular, if you get the following error:

Failed to initialize audio/opus, error 0xfffffffe

then your device has no Opus encoder: try scrcpy --audio-codec=aac.

For advanced usage, to pass arbitrary parameters to the MediaFormat, check --audio-codec-options in the manpage or in scrcpy --help.

For example, to change the FLAC compression level:

bash
scrcpy --audio-codec=flac --audio-codec-options=flac-compression-level=8

Encoder

Several encoders may be available on the device. They can be listed by:

bash
scrcpy --list-encoders

To select a specific encoder:

bash
scrcpy --audio-codec=opus --audio-encoder='c2.android.opus.encoder'

Bit rate

The default audio bit rate is 128Kbps. To change it:

bash
scrcpy --audio-bit-rate=64K
 scrcpy --audio-bit-rate=64000  # equivalent

This parameter does not apply to RAW audio codec (--audio-codec=raw).

Buffering

Audio buffering is unavoidable. It must be kept small enough so that the latency is acceptable, but large enough to minimize buffer underrun (causing audio glitches).

The default buffer size is set to 50ms. It can be adjusted:

bash
scrcpy --audio-buffer=40   # smaller than default
 scrcpy --audio-buffer=100  # higher than default

Note that this option changes the target buffering. It is possible that this target buffering might not be reached (on frequent buffer underflow typically).

If you don't interact with the device (to watch a video for example), a higher latency (for both video and audio) might be preferable to avoid glitches and smooth the playback:

scrcpy --video-buffer=200 --audio-buffer=200

It is also possible to configure another audio buffer (the audio output buffer), by default set to 5ms. Don't change it, unless you get some robotic and glitchy sound:

bash
# Only if absolutely necessary
-scrcpy --audio-output-buffer=10

+scrcpy --audio-output-buffer=10

Released under the MIT License.

- + \ No newline at end of file diff --git a/reference/scrcpy/build.html b/reference/scrcpy/build.html index fd0a5988b..fe55f9644 100644 --- a/reference/scrcpy/build.html +++ b/reference/scrcpy/build.html @@ -9,11 +9,11 @@ - + - + - + @@ -72,10 +72,10 @@ set ANDROID_SDK_ROOT=%LOCALAPPDATA%\Android\sdk

Then, build:

bash
meson setup x --buildtype=release --strip -Db_lto=true
 ninja -Cx  # DO NOT RUN AS ROOT

Note: ninja must be run as a non-root user (only ninja install must be run as root).

Option 2: Use prebuilt server

  • scrcpy-server-v3.2SHA-256: b920e0ea01936bf2482f4ba2fa985c22c13c621999e3d33b45baa5acfc1ea3d0

Download the prebuilt server somewhere, and specify its path during the Meson configuration:

bash
meson setup x --buildtype=release --strip -Db_lto=true \
     -Dprebuilt_server=/path/to/scrcpy-server
-ninja -Cx  # DO NOT RUN AS ROOT

The server only works with a matching client version (this server works with the master branch).

Run without installing:

bash
./run x [options]

Install

After a successful build, you can install scrcpy on the system:

bash
sudo ninja -Cx install    # without sudo on Windows

This installs several files:

  • /usr/local/bin/scrcpy (main app)
  • /usr/local/share/scrcpy/scrcpy-server (server to push to the device)
  • /usr/local/share/man/man1/scrcpy.1 (manpage)
  • /usr/local/share/icons/hicolor/256x256/apps/icon.png (app icon)
  • /usr/local/share/zsh/site-functions/_scrcpy (zsh completion)
  • /usr/local/share/bash-completion/completions/scrcpy (bash completion)

You can then run scrcpy.

Uninstall

bash
sudo ninja -Cx uninstall  # without sudo on Windows

+ninja -Cx # DO NOT RUN AS ROOT

The server only works with a matching client version (this server works with the master branch).

Run without installing:

bash
./run x [options]

Install

After a successful build, you can install scrcpy on the system:

bash
sudo ninja -Cx install    # without sudo on Windows

This installs several files:

  • /usr/local/bin/scrcpy (main app)
  • /usr/local/share/scrcpy/scrcpy-server (server to push to the device)
  • /usr/local/share/man/man1/scrcpy.1 (manpage)
  • /usr/local/share/icons/hicolor/256x256/apps/icon.png (app icon)
  • /usr/local/share/zsh/site-functions/_scrcpy (zsh completion)
  • /usr/local/share/bash-completion/completions/scrcpy (bash completion)

You can then run scrcpy.

Uninstall

bash
sudo ninja -Cx uninstall  # without sudo on Windows

Released under the MIT License.

- + \ No newline at end of file diff --git a/reference/scrcpy/camera.html b/reference/scrcpy/camera.html index cb04ab159..440a18f15 100644 --- a/reference/scrcpy/camera.html +++ b/reference/scrcpy/camera.html @@ -9,11 +9,11 @@ - + - + - + @@ -38,10 +38,10 @@ scrcpy --video-source=camera --camera-ar=4:3 # use the greatest size with an aspect ratio of 4:3 (+/- 10%) scrcpy --video-source=camera --camera-ar=1.6 # use the greatest size with an aspect ratio of 1.6 (+/- 10%) scrcpy --video-source=camera --camera-ar=sensor # use the greatest size with the aspect ratio of the camera sensor (+/- 10%) -scrcpy --video-source=camera -m1920 --camera-ar=16:9 # use the greatest width not above 1920 and the closest to 16:9 aspect ratio

If --camera-size is specified, then -m/--max-size and --camera-ar are forbidden (the size is determined by the value given explicitly):

bash
scrcpy --video-source=camera --camera-size=1920x1080 -m3000  # error

Rotation

To rotate the captured video, use the video orientation option:

scrcpy --video-source=camera --camera-size=1920x1080 --orientation=90

Frame rate

By default, camera is captured at Android's default frame rate (30 fps).

To configure a different frame rate:

scrcpy --video-source=camera --camera-fps=60

High speed capture

The Android camera API also supports a high speed capture mode.

This mode is restricted to specific resolutions and frame rates, listed by --list-camera-sizes.

scrcpy --video-source=camera --camera-size=1920x1080 --camera-fps=240

Brace expansion tip

All camera options start with --camera-, so if your shell supports it, you can benefit from brace expansion (for example, it is supported bash and zsh):

bash
scrcpy --video-source=camera --camera-{facing=back,ar=16:9,high-speed,fps=120}

This will be expanded as:

bash
scrcpy --video-source=camera --camera-facing=back --camera-ar=16:9 --camera-high-speed --camera-fps=120

Webcam

Combined with the V4L2 feature on Linux, the Android device camera may be used as a webcam on the computer.

+scrcpy --video-source=camera -m1920 --camera-ar=16:9 # use the greatest width not above 1920 and the closest to 16:9 aspect ratio

If --camera-size is specified, then -m/--max-size and --camera-ar are forbidden (the size is determined by the value given explicitly):

bash
scrcpy --video-source=camera --camera-size=1920x1080 -m3000  # error

Rotation

To rotate the captured video, use the video orientation option:

scrcpy --video-source=camera --camera-size=1920x1080 --orientation=90

Frame rate

By default, camera is captured at Android's default frame rate (30 fps).

To configure a different frame rate:

scrcpy --video-source=camera --camera-fps=60

High speed capture

The Android camera API also supports a high speed capture mode.

This mode is restricted to specific resolutions and frame rates, listed by --list-camera-sizes.

scrcpy --video-source=camera --camera-size=1920x1080 --camera-fps=240

Brace expansion tip

All camera options start with --camera-, so if your shell supports it, you can benefit from brace expansion (for example, it is supported bash and zsh):

bash
scrcpy --video-source=camera --camera-{facing=back,ar=16:9,high-speed,fps=120}

This will be expanded as:

bash
scrcpy --video-source=camera --camera-facing=back --camera-ar=16:9 --camera-high-speed --camera-fps=120

Webcam

Combined with the V4L2 feature on Linux, the Android device camera may be used as a webcam on the computer.

Released under the MIT License.

- + \ No newline at end of file diff --git a/reference/scrcpy/connection.html b/reference/scrcpy/connection.html index 6f4a1b5e7..7ea966c12 100644 --- a/reference/scrcpy/connection.html +++ b/reference/scrcpy/connection.html @@ -9,11 +9,11 @@ - + - + - + @@ -35,10 +35,10 @@ scrcpy
powershell
# in PowerShell
 $env:ANDROID_SERIAL = '0123456789abcdef'
 scrcpy

TCP/IP (wireless)

Scrcpy uses adb to communicate with the device, and adb can connect to a device over TCP/IP. The device must be connected on the same network as the computer.

Automatic

An option --tcpip allows to configure the connection automatically. There are two variants.

If adb TCP/IP mode is disabled on the device (or if you don't know the IP address), connect the device over USB, then run:

bash
scrcpy --tcpip   # without arguments

It will automatically find the device IP address and adb port, enable TCP/IP mode if necessary, then connect to the device before starting.

If the device (accessible at 192.168.1.1 in this example) already listens on a port (typically 5555) for incoming adb connections, then run:

bash
scrcpy --tcpip=192.168.1.1       # default port is 5555
-scrcpy --tcpip=192.168.1.1:5555

Prefix the address with a '+' to force a reconnection:

bash
scrcpy --tcpip=+192.168.1.1

Manual

Alternatively, it is possible to enable the TCP/IP connection manually using adb:

  1. Plug the device into a USB port on your computer.

  2. Connect the device to the same Wi-Fi network as your computer.

  3. Get your device IP address, in Settings → About phone → Status, or by executing this command:

    bash
    adb shell ip route | awk '{print $9}'
  4. Enable adb over TCP/IP on your device: adb tcpip 5555.

  5. Unplug your device.

  6. Connect to your device: adb connect DEVICE_IP:5555 (replace DEVICE_IP with the device IP address you found).

  7. Run scrcpy as usual.

  8. Run adb disconnect once you're done.

Since Android 11, a wireless debugging option allows you to bypass having to physically connect your device to your computer.

Autostart

A small tool (by the scrcpy author) allows you to run arbitrary commands whenever a new Android device is connected: AutoAdb. It can be used to start scrcpy:

bash
autoadb scrcpy -s '{}'

+scrcpy --tcpip=192.168.1.1:5555

Prefix the address with a '+' to force a reconnection:

bash
scrcpy --tcpip=+192.168.1.1

Manual

Alternatively, it is possible to enable the TCP/IP connection manually using adb:

  1. Plug the device into a USB port on your computer.

  2. Connect the device to the same Wi-Fi network as your computer.

  3. Get your device IP address, in Settings → About phone → Status, or by executing this command:

    bash
    adb shell ip route | awk '{print $9}'
  4. Enable adb over TCP/IP on your device: adb tcpip 5555.

  5. Unplug your device.

  6. Connect to your device: adb connect DEVICE_IP:5555 (replace DEVICE_IP with the device IP address you found).

  7. Run scrcpy as usual.

  8. Run adb disconnect once you're done.

Since Android 11, a wireless debugging option allows you to bypass having to physically connect your device to your computer.

Autostart

A small tool (by the scrcpy author) allows you to run arbitrary commands whenever a new Android device is connected: AutoAdb. It can be used to start scrcpy:

bash
autoadb scrcpy -s '{}'

Released under the MIT License.

- + \ No newline at end of file diff --git a/reference/scrcpy/control.html b/reference/scrcpy/control.html index e7dd12d1c..8342616a5 100644 --- a/reference/scrcpy/control.html +++ b/reference/scrcpy/control.html @@ -9,11 +9,11 @@ - + - + - + @@ -24,10 +24,10 @@
Skip to content

Control

Read-only

To disable controls (everything which can interact with the device: input keys, mouse events, drag&drop files):

bash
scrcpy --no-control
 scrcpy -n   # short version

Keyboard and mouse

Read keyboard and mouse.

Control only

To control the device without mirroring:

bash
scrcpy --no-video --no-audio

By default, the mouse is disabled when video playback is turned off.

To control the device using a relative mouse, enable UHID mouse mode:

bash
scrcpy --no-video --no-audio --mouse=uhid
 scrcpy --no-video --no-audio -M  # short version

To also use a UHID keyboard, set it explicitly:

bash
scrcpy --no-video --no-audio --mouse=uhid --keyboard=uhid
-scrcpy --no-video --no-audio -MK  # short version

To use AOA instead (over USB only):

bash
scrcpy --no-video --no-audio --keyboard=aoa --mouse=aoa

Copy-paste

Any time the Android clipboard changes, it is automatically synchronized to the computer clipboard.

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)

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 injects 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 Android clipboard. As a consequence, any Android application could read its content. You should avoid pasting sensitive content (like passwords) that way.

Some Android devices do not behave as expected when setting the device clipboard programmatically. An option --legacy-paste is provided to change the behavior of Ctrl+v and MOD+v so that they also inject the computer clipboard text as a sequence of key events (the same way as MOD+Shift+v).

To disable automatic clipboard synchronization, use --no-clipboard-autosync.

Pinch-to-zoom, rotate and tilt simulation

To simulate "pinch-to-zoom": Ctrl+click-and-move.

More precisely, hold down Ctrl while pressing the left-click button. Until the left-click button is released, all mouse movements scale and rotate the content (if supported by the app) relative to the center of the screen.

https://github.com/Genymobile/scrcpy/assets/543275/26c4a920-9805-43f1-8d4c-608752d04767

To simulate a vertical tilt gesture: Shift+click-and-move-up-or-down.

https://github.com/Genymobile/scrcpy/assets/543275/1e252341-4a90-4b29-9d11-9153b324669f

Similarly, to simulate a horizontal tilt gesture: Ctrl+Shift+click-and-move-left-or-right.

Technically, scrcpy generates additional touch events from a "virtual finger" at a location inverted through the center of the screen. When pressing Ctrl the x and y coordinates are inverted. Using Shift only inverts x, whereas using Ctrl+Shift only inverts y.

This only works for the default mouse mode (--mouse=sdk).

File drop

Install APK

To install an APK, drag & drop an APK file (ending with .apk) to the scrcpy window.

There is no visual feedback, a log is printed to the console.

Push file to device

To push a file to /sdcard/Download/ on the device, drag & drop a (non-APK) file to the scrcpy window.

There is no visual feedback, a log is printed to the console.

The target directory can be changed on start:

bash
scrcpy --push-target=/sdcard/Movies/

+scrcpy --no-video --no-audio -MK # short version

To use AOA instead (over USB only):

bash
scrcpy --no-video --no-audio --keyboard=aoa --mouse=aoa

Copy-paste

Any time the Android clipboard changes, it is automatically synchronized to the computer clipboard.

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)

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 injects 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 Android clipboard. As a consequence, any Android application could read its content. You should avoid pasting sensitive content (like passwords) that way.

Some Android devices do not behave as expected when setting the device clipboard programmatically. An option --legacy-paste is provided to change the behavior of Ctrl+v and MOD+v so that they also inject the computer clipboard text as a sequence of key events (the same way as MOD+Shift+v).

To disable automatic clipboard synchronization, use --no-clipboard-autosync.

Pinch-to-zoom, rotate and tilt simulation

To simulate "pinch-to-zoom": Ctrl+click-and-move.

More precisely, hold down Ctrl while pressing the left-click button. Until the left-click button is released, all mouse movements scale and rotate the content (if supported by the app) relative to the center of the screen.

https://github.com/Genymobile/scrcpy/assets/543275/26c4a920-9805-43f1-8d4c-608752d04767

To simulate a vertical tilt gesture: Shift+click-and-move-up-or-down.

https://github.com/Genymobile/scrcpy/assets/543275/1e252341-4a90-4b29-9d11-9153b324669f

Similarly, to simulate a horizontal tilt gesture: Ctrl+Shift+click-and-move-left-or-right.

Technically, scrcpy generates additional touch events from a "virtual finger" at a location inverted through the center of the screen. When pressing Ctrl the x and y coordinates are inverted. Using Shift only inverts x, whereas using Ctrl+Shift only inverts y.

This only works for the default mouse mode (--mouse=sdk).

File drop

Install APK

To install an APK, drag & drop an APK file (ending with .apk) to the scrcpy window.

There is no visual feedback, a log is printed to the console.

Push file to device

To push a file to /sdcard/Download/ on the device, drag & drop a (non-APK) file to the scrcpy window.

There is no visual feedback, a log is printed to the console.

The target directory can be changed on start:

bash
scrcpy --push-target=/sdcard/Movies/

Released under the MIT License.

- + \ No newline at end of file diff --git a/reference/scrcpy/develop.html b/reference/scrcpy/develop.html index 99b8e967a..77caf4865 100644 --- a/reference/scrcpy/develop.html +++ b/reference/scrcpy/develop.html @@ -9,11 +9,11 @@ - + - + - + @@ -62,10 +62,10 @@ raw_stream=true max_size=1920

As soon as a client connects over TCP on port 1234, the device will start streaming the video. For example, VLC can play the video (although you will experience a very high latency, more details here):

vlc -Idummy --demux=h264 --network-caching=0 tcp://localhost:1234

Hack

For more details, go read the code!

If you find a bug, or have an awesome idea to implement, please discuss and contribute 😉

Debug the server

The server is pushed to the device by the client on startup.

To debug it, enable the server debugger during configuration:

bash
meson setup x -Dserver_debugger=true
 # or, if x is already configured
 meson configure x -Dserver_debugger=true

Then recompile, and run scrcpy.

For Android < 11, it will start a debugger on port 5005 on the device and wait: Redirect that port to the computer:

bash
adb forward tcp:5005 tcp:5005

For Android >= 11, first find the listening port:

bash
adb jdwp
-# press Ctrl+C to interrupt

Then redirect the resulting PID:

bash
adb forward tcp:5005 jdwp:XXXX  # replace XXXX

In Android Studio, Run > Debug > Edit configurations... On the left, click on +, Remote, and fill the form:

  • Host: localhost
  • Port: 5005

Then click on Debug.

+# press Ctrl+C to interrupt

Then redirect the resulting PID:

bash
adb forward tcp:5005 jdwp:XXXX  # replace XXXX

In Android Studio, Run > Debug > Edit configurations... On the left, click on +, Remote, and fill the form:

  • Host: localhost
  • Port: 5005

Then click on Debug.

Released under the MIT License.

- + \ No newline at end of file diff --git a/reference/scrcpy/device.html b/reference/scrcpy/device.html index 4e37a066a..dc458f260 100644 --- a/reference/scrcpy/device.html +++ b/reference/scrcpy/device.html @@ -9,11 +9,11 @@ - + - + - + @@ -41,10 +41,10 @@ # enable show_touches adb shell settings put system show_touches 1 # disable show_touches -adb shell settings put system show_touches 0

Power off on close

To turn the device screen off when closing scrcpy:

bash
scrcpy --power-off-on-close

Power on on start

By default, on start, the device is powered on. To prevent this behavior:

bash
scrcpy --no-power-on

Start Android app

To list the Android apps installed on the device:

bash
scrcpy --list-apps

An app, selected by its package name, can be launched on start:

scrcpy --start-app=org.mozilla.firefox

This feature can be used to run an app in a virtual display:

scrcpy --new-display=1920x1080 --start-app=org.videolan.vlc

The app can be optionally forced-stop before being started, by adding a + prefix:

scrcpy --start-app=+org.mozilla.firefox

For convenience, it is also possible to select an app by its name, by adding a ? prefix:

scrcpy --start-app=?firefox

But retrieving app names may take some time (sometimes several seconds), so passing the package name is recommended.

The + and ? prefixes can be combined (in that order):

scrcpy --start-app=+?firefox

+adb shell settings put system show_touches 0

Power off on close

To turn the device screen off when closing scrcpy:

bash
scrcpy --power-off-on-close

Power on on start

By default, on start, the device is powered on. To prevent this behavior:

bash
scrcpy --no-power-on

Start Android app

To list the Android apps installed on the device:

bash
scrcpy --list-apps

An app, selected by its package name, can be launched on start:

scrcpy --start-app=org.mozilla.firefox

This feature can be used to run an app in a virtual display:

scrcpy --new-display=1920x1080 --start-app=org.videolan.vlc

The app can be optionally forced-stop before being started, by adding a + prefix:

scrcpy --start-app=+org.mozilla.firefox

For convenience, it is also possible to select an app by its name, by adding a ? prefix:

scrcpy --start-app=?firefox

But retrieving app names may take some time (sometimes several seconds), so passing the package name is recommended.

The + and ? prefixes can be combined (in that order):

scrcpy --start-app=+?firefox

Released under the MIT License.

- + \ No newline at end of file diff --git a/reference/scrcpy/gamepad.html b/reference/scrcpy/gamepad.html index 67bd280ec..430bd3c07 100644 --- a/reference/scrcpy/gamepad.html +++ b/reference/scrcpy/gamepad.html @@ -9,11 +9,11 @@ - + - + - + @@ -22,10 +22,10 @@
Skip to content

Gamepad

Several gamepad input modes are available:

  • --gamepad=disabled (default)
  • --gamepad=uhid (or -G): simulates physical HID gamepads using the UHID kernel module on the device
  • --gamepad=aoa: simulates physical HID gamepads using the AOAv2 protocol

Physical gamepad simulation

Two modes allow to simulate physical HID gamepads on the device, one for each physical gamepad plugged into the computer.

UHID

This mode simulates physical HID gamepads using the UHID kernel module on the device.

To enable UHID gamepads, use:

bash
scrcpy --gamepad=uhid
-scrcpy -G  # short version

Note: UHID may not work on old Android versions due to permission errors.

AOA

This mode simulates physical HID gamepads using the AOAv2 protocol.

To enable AOA gamepads, use:

bash
scrcpy --gamepad=aoa

Contrary to the other mode, it works at the USB level directly (so it only works over USB).

It does not use the scrcpy server, and does not require adb (USB debugging). Therefore, it is possible to control the device (but not mirror) even with USB debugging disabled (see OTG).

Note: For some reason, in this mode, Android detects multiple physical gamepads as a single misbehaving one. Use UHID if you need multiple gamepads.

Note: On Windows, it may only work in OTG mode, not while mirroring (it is not possible to open a USB device if it is already open by another process like the adb daemon).

+scrcpy -G # short version

Note: UHID may not work on old Android versions due to permission errors.

AOA

This mode simulates physical HID gamepads using the AOAv2 protocol.

To enable AOA gamepads, use:

bash
scrcpy --gamepad=aoa

Contrary to the other mode, it works at the USB level directly (so it only works over USB).

It does not use the scrcpy server, and does not require adb (USB debugging). Therefore, it is possible to control the device (but not mirror) even with USB debugging disabled (see OTG).

Note: For some reason, in this mode, Android detects multiple physical gamepads as a single misbehaving one. Use UHID if you need multiple gamepads.

Note: On Windows, it may only work in OTG mode, not while mirroring (it is not possible to open a USB device if it is already open by another process like the adb daemon).

Released under the MIT License.

- + \ No newline at end of file diff --git a/reference/scrcpy/index.html b/reference/scrcpy/index.html index 2f7a0853b..bdb60896d 100644 --- a/reference/scrcpy/index.html +++ b/reference/scrcpy/index.html @@ -9,11 +9,11 @@ - + - + - + @@ -36,10 +36,10 @@ 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.

+limitations under the License.

Released under the MIT License.

- + \ No newline at end of file diff --git a/reference/scrcpy/keyboard.html b/reference/scrcpy/keyboard.html index c83331487..d8aaa9f7d 100644 --- a/reference/scrcpy/keyboard.html +++ b/reference/scrcpy/keyboard.html @@ -9,11 +9,11 @@ - + - + - + @@ -22,10 +22,10 @@
Skip to content

Keyboard

Several keyboard input modes are available:

  • --keyboard=sdk (default)
  • --keyboard=uhid (or -K): simulates a physical HID keyboard using the UHID kernel module on the device
  • --keyboard=aoa: simulates a physical HID keyboard using the AOAv2 protocol
  • --keyboard=disabled

By default, sdk is used, but if you use scrcpy regularly, it is recommended to use uhid and configure the keyboard layout once and for all.

SDK keyboard

In this mode (--keyboard=sdk, or if the parameter is omitted), keyboard input events are injected at the Android API level. It works everywhere, but it is limited to ASCII and some other characters.

Note that on some devices, an additional option must be enabled in developer options for this keyboard mode to work. See prerequisites.

Additional parameters (specific to --keyboard=sdk) described below allow to customize the behavior.

Text injection preference

Two kinds of events are generated when typing text:

  • key events, signaling that a key is pressed or released;
  • text events, signaling that a text has been entered.

By default, numbers and "special characters" are inserted using text events, but letters are injected using key events, so that the keyboard behaves as expected in games (typically for WASD keys).

But this may cause issues. If you encounter such a problem, you can inject letters as text (or just switch to UHID):

bash
scrcpy --prefer-text

(but this will break keyboard behavior in games)

On the contrary, you could force to always inject raw key events:

bash
scrcpy --raw-key-events

Key repeat

By default, holding a key down generates repeated key events. Ths can cause performance problems in some games, where these events are useless anyway.

To avoid forwarding repeated key events:

bash
scrcpy --no-key-repeat

Physical keyboard simulation

Two modes allow to simulate a physical HID keyboard on the device.

To work properly, it is necessary to configure (once and for all) the keyboard layout on the device to match that of the computer.

The configuration page can be opened in one of the following ways:

  • from the scrcpy window (when uhid or aoa is used), by pressing MOD+k (see shortcuts)
  • from the device, in Settings → System → Languages and input → Physical devices
  • from a terminal on the computer, by executing adb shell am start -a android.settings.HARD_KEYBOARD_SETTINGS

From this configuration page, it is also possible to enable or disable on-screen keyboard.

UHID

This mode simulates a physical HID keyboard using the UHID kernel module on the device.

To enable UHID keyboard, use:

bash
scrcpy --keyboard=uhid
-scrcpy -K  # short version

Once the keyboard layout is configured (see above), it is the best mode for using the keyboard while mirroring:

  • it works for all characters and IME (contrary to --keyboard=sdk)
  • the on-screen keyboard can be disabled (contrary to --keyboard=sdk)
  • it works over TCP/IP (wirelessly) (contrary to --keyboard=aoa)
  • there are no issues on Windows (contrary to --keyboard=aoa)

One drawback is that it may not work on old Android versions due to permission errors.

AOA

This mode simulates a physical HID keyboard using the AOAv2 protocol.

To enable AOA keyboard, use:

bash
scrcpy --keyboard=aoa

Contrary to the other modes, it works at the USB level directly (so it only works over USB).

It does not use the scrcpy server, and does not require adb (USB debugging). Therefore, it is possible to control the device (but not mirror) even with USB debugging disabled (see OTG).

Note: On Windows, it may only work in OTG mode, not while mirroring (it is not possible to open a USB device if it is already open by another process like the adb daemon).

+scrcpy -K # short version

Once the keyboard layout is configured (see above), it is the best mode for using the keyboard while mirroring:

  • it works for all characters and IME (contrary to --keyboard=sdk)
  • the on-screen keyboard can be disabled (contrary to --keyboard=sdk)
  • it works over TCP/IP (wirelessly) (contrary to --keyboard=aoa)
  • there are no issues on Windows (contrary to --keyboard=aoa)

One drawback is that it may not work on old Android versions due to permission errors.

AOA

This mode simulates a physical HID keyboard using the AOAv2 protocol.

To enable AOA keyboard, use:

bash
scrcpy --keyboard=aoa

Contrary to the other modes, it works at the USB level directly (so it only works over USB).

It does not use the scrcpy server, and does not require adb (USB debugging). Therefore, it is possible to control the device (but not mirror) even with USB debugging disabled (see OTG).

Note: On Windows, it may only work in OTG mode, not while mirroring (it is not possible to open a USB device if it is already open by another process like the adb daemon).

Released under the MIT License.

- + \ No newline at end of file diff --git a/reference/scrcpy/linux.html b/reference/scrcpy/linux.html index 4de453cf2..9e9110f94 100644 --- a/reference/scrcpy/linux.html +++ b/reference/scrcpy/linux.html @@ -9,11 +9,11 @@ - + - + - + @@ -28,10 +28,10 @@ libswresample-dev libusb-1.0-0 libusb-1.0-0-dev

Then clone the repo and execute the installation script (source):

bash
git clone https://github.com/Genymobile/scrcpy
 cd scrcpy
 ./install_release.sh

When a new release is out, update the repo and reinstall:

bash
git pull
-./install_release.sh

To uninstall:

bash
sudo ninja -Cbuild-auto uninstall

Note that this simplified process only works for released versions (it downloads a prebuilt server binary), so for example you can't use it for testing the development branch (dev).

See build.md to build and install the app manually.

Run

Make sure that your device meets the prerequisites.

Once installed, run from a terminal:

bash
scrcpy

or with arguments (here to disable audio and record to file.mkv):

bash
scrcpy --no-audio --record=file.mkv

Documentation for command line arguments is available:

  • man scrcpy
  • scrcpy --help
  • on github

+./install_release.sh

To uninstall:

bash
sudo ninja -Cbuild-auto uninstall

Note that this simplified process only works for released versions (it downloads a prebuilt server binary), so for example you can't use it for testing the development branch (dev).

See build.md to build and install the app manually.

Run

Make sure that your device meets the prerequisites.

Once installed, run from a terminal:

bash
scrcpy

or with arguments (here to disable audio and record to file.mkv):

bash
scrcpy --no-audio --record=file.mkv

Documentation for command line arguments is available:

  • man scrcpy
  • scrcpy --help
  • on github

Released under the MIT License.

- + \ No newline at end of file diff --git a/reference/scrcpy/macos.html b/reference/scrcpy/macos.html index c057701e1..5c2bdb613 100644 --- a/reference/scrcpy/macos.html +++ b/reference/scrcpy/macos.html @@ -9,11 +9,11 @@ - + - + - + @@ -21,10 +21,10 @@ -
Skip to content

On macOS

Install

From the official release

Download a static build of the latest release:

and extract it.

Static builds of scrcpy for macOS are still experimental.

From a package manager

Scrcpy is available in Homebrew:

bash
brew install scrcpy

You need adb, accessible from your PATH. If you don't have it yet:

bash
brew install --cask android-platform-tools

Alternatively, Scrcpy is also available in MacPorts, which sets up adb for you:

bash
sudo port install scrcpy

See build.md to build and install the app manually.

Run

Make sure that your device meets the prerequisites.

Once installed, run from a terminal:

bash
scrcpy

or with arguments (here to disable audio and record to file.mkv):

bash
scrcpy --no-audio --record=file.mkv

Documentation for command line arguments is available:

  • man scrcpy
  • scrcpy --help
  • on github

+

Skip to content

On macOS

Install

From the official release

Download a static build of the latest release:

and extract it.

Static builds of scrcpy for macOS are still experimental.

From a package manager

Scrcpy is available in Homebrew:

bash
brew install scrcpy

You need adb, accessible from your PATH. If you don't have it yet:

bash
brew install --cask android-platform-tools

Alternatively, Scrcpy is also available in MacPorts, which sets up adb for you:

bash
sudo port install scrcpy

See build.md to build and install the app manually.

Run

Make sure that your device meets the prerequisites.

Once installed, run from a terminal:

bash
scrcpy

or with arguments (here to disable audio and record to file.mkv):

bash
scrcpy --no-audio --record=file.mkv

Documentation for command line arguments is available:

  • man scrcpy
  • scrcpy --help
  • on github

Released under the MIT License.

- + \ No newline at end of file diff --git a/reference/scrcpy/mouse.html b/reference/scrcpy/mouse.html index 76f64da49..d14fe85f2 100644 --- a/reference/scrcpy/mouse.html +++ b/reference/scrcpy/mouse.html @@ -9,11 +9,11 @@ - + - + - + @@ -40,10 +40,10 @@ # use 4th and 5th for BACK and HOME, # use Shift+4th and Shift+5th for APP_SWITCH # and expand notification panel

The second sequence of bindings may be omitted. In that case, it is the same as the first one:

bash
scrcpy --mouse-bind=bhsn
-scrcpy --mouse-bind=bhsn:bhsn  # equivalent

+scrcpy --mouse-bind=bhsn:bhsn # equivalent

Released under the MIT License.

- + \ No newline at end of file diff --git a/reference/scrcpy/otg.html b/reference/scrcpy/otg.html index 9e642dc63..dd7c9d9cb 100644 --- a/reference/scrcpy/otg.html +++ b/reference/scrcpy/otg.html @@ -9,11 +9,11 @@ - + - + - + @@ -27,10 +27,10 @@ scrcpy --otg --mouse=disabled

and to enable gamepads:

bash
scrcpy --otg --gamepad=aoa
 scrcpy --otg -G  # short version

It only works if the device is connected over USB.

OTG issues on Windows

See FAQ.

Control only

Note that the purpose of OTG is to control the device without USB debugging (adb).

If you want to solely control the device without mirroring while USB debugging is enabled, then OTG mode is not necessary.

Instead, disable video and audio, and select UHID (or AOA):

bash
scrcpy --no-video --no-audio --keyboard=uhid --mouse=uhid --gamepad=uhid
 scrcpy --no-video --no-audio -KMG  # short version
-scrcpy --no-video --no-audio --keyboard=aoa --mouse=aoa --gamepad=aoa

One benefit of UHID is that it also works wirelessly.

+scrcpy --no-video --no-audio --keyboard=aoa --mouse=aoa --gamepad=aoa

One benefit of UHID is that it also works wirelessly.

Released under the MIT License.

- + \ No newline at end of file diff --git a/reference/scrcpy/recording.html b/reference/scrcpy/recording.html index 701beca67..6e65ae57d 100644 --- a/reference/scrcpy/recording.html +++ b/reference/scrcpy/recording.html @@ -9,11 +9,11 @@ - + - + - + @@ -28,10 +28,10 @@ scrcpy --no-video --audio-codec=raw --record=file.wav # .m4a/.mp4 and .mka/.mkv are also supported for opus, aac and flac

Timestamps are captured on the device, so packet delay variation does not impact the recorded file, which is always clean (only if you use --record of course, not if you capture your scrcpy window and audio output on the computer).

Format

The video and audio streams are encoded on the device, but are muxed on the client side. Several formats (containers) are supported:

  • MP4 (.mp4, .m4a, .aac)
  • Matroska (.mkv, .mka)
  • OPUS (.opus)
  • FLAC (.flac)
  • WAV (.wav)

The container is automatically selected based on the filename.

It is also possible to explicitly select a container (in that case the filename needs not end with a known extension):

scrcpy --record=file --record-format=mkv

Rotation

The video can be recorded rotated. See video orientation.

No playback

To disable playback and control while recording:

bash
scrcpy --no-playback --no-control --record=file.mp4

It is also possible to disable video and audio playback separately:

bash
# Record both video and audio, but only play video
 scrcpy --record=file.mkv --no-audio-playback

To also disable the window:

bash
scrcpy --no-playback --no-window --record=file.mp4
-# interrupt recording with Ctrl+C

Time limit

To limit the recording time:

bash
scrcpy --record=file.mkv --time-limit=20  # in seconds

The --time-limit option is not limited to recording, it also impacts simple mirroring:

scrcpy --time-limit=20

+# interrupt recording with Ctrl+C

Time limit

To limit the recording time:

bash
scrcpy --record=file.mkv --time-limit=20  # in seconds

The --time-limit option is not limited to recording, it also impacts simple mirroring:

scrcpy --time-limit=20

Released under the MIT License.

- + \ No newline at end of file diff --git a/reference/scrcpy/shortcuts.html b/reference/scrcpy/shortcuts.html index 1a799292d..9954cad23 100644 --- a/reference/scrcpy/shortcuts.html +++ b/reference/scrcpy/shortcuts.html @@ -9,11 +9,11 @@ - + - + - + @@ -25,10 +25,10 @@ scrcpy --shortcut-mod=rctrl # use either LCtrl or LSuper for shortcuts -scrcpy --shortcut-mod=lctrl,lsuper

Super is typically the Windows or Cmd key.

ActionShortcut
Switch fullscreen modeMOD+f
Rotate display leftMOD+ (left)
Rotate display rightMOD+ (right)
Flip display horizontallyMOD+Shift+ (left) | MOD+Shift+ (right)
Flip display verticallyMOD+Shift+ (up) | MOD+Shift+ (down)
Pause or re-pause displayMOD+z
Unpause displayMOD+Shift+z
Reset video capture/encodingMOD+Shift+r
Resize window to 1:1 (pixel-perfect)MOD+g
Resize window to remove black bordersMOD+w | Double-left-click¹
Click on HOMEMOD+h | Middle-click
Click on BACKMOD+b | MOD+Backspace | Right-click²
Click on APP_SWITCHMOD+s | 4th-click³
Click on MENU (unlock screen)⁴MOD+m
Click on VOLUME_UPMOD+ (up)
Click on VOLUME_DOWNMOD+ (down)
Click on POWERMOD+p
Power onRight-click²
Turn device screen off (keep mirroring)MOD+o
Turn device screen onMOD+Shift+o
Rotate device screenMOD+r
Expand notification panelMOD+n | 5th-click³
Expand settings panelMOD+n+n | Double-5th-click³
Collapse panelsMOD+Shift+n
Copy to clipboard⁵MOD+c
Cut to clipboard⁵MOD+x
Synchronize clipboards and paste⁵MOD+v
Inject computer clipboard textMOD+Shift+v
Open keyboard settings (HID keyboard only)MOD+k
Enable/disable FPS counter (on stdout)MOD+i
Pinch-to-zoom/rotateCtrl+click-and-move
Tilt vertically (slide with 2 fingers)Shift+click-and-move
Tilt horizontally (slide with 2 fingers)Ctrl+Shift+click-and-move
Drag & drop APK fileInstall APK from computer
Drag & drop non-APK filePush file to device

¹Double-click on black borders to remove them.²Right-click turns the screen on if it was off, presses BACK otherwise.³4th and 5th mouse buttons, if your mouse has them.⁴For react-native apps in development, MENU triggers development menu.⁵Only on Android >= 7.

Shortcuts with repeated keys are executed by releasing and pressing the key a second time. For example, to execute "Expand settings panel":

  1. Press and keep pressing MOD.
  2. Then double-press n.
  3. Finally, release MOD.

All Ctrl+key shortcuts are forwarded to the device, so they are handled by the active application.

+scrcpy --shortcut-mod=lctrl,lsuper

Super is typically the Windows or Cmd key.

ActionShortcut
Switch fullscreen modeMOD+f
Rotate display leftMOD+ (left)
Rotate display rightMOD+ (right)
Flip display horizontallyMOD+Shift+ (left) | MOD+Shift+ (right)
Flip display verticallyMOD+Shift+ (up) | MOD+Shift+ (down)
Pause or re-pause displayMOD+z
Unpause displayMOD+Shift+z
Reset video capture/encodingMOD+Shift+r
Resize window to 1:1 (pixel-perfect)MOD+g
Resize window to remove black bordersMOD+w | Double-left-click¹
Click on HOMEMOD+h | Middle-click
Click on BACKMOD+b | MOD+Backspace | Right-click²
Click on APP_SWITCHMOD+s | 4th-click³
Click on MENU (unlock screen)⁴MOD+m
Click on VOLUME_UPMOD+ (up)
Click on VOLUME_DOWNMOD+ (down)
Click on POWERMOD+p
Power onRight-click²
Turn device screen off (keep mirroring)MOD+o
Turn device screen onMOD+Shift+o
Rotate device screenMOD+r
Expand notification panelMOD+n | 5th-click³
Expand settings panelMOD+n+n | Double-5th-click³
Collapse panelsMOD+Shift+n
Copy to clipboard⁵MOD+c
Cut to clipboard⁵MOD+x
Synchronize clipboards and paste⁵MOD+v
Inject computer clipboard textMOD+Shift+v
Open keyboard settings (HID keyboard only)MOD+k
Enable/disable FPS counter (on stdout)MOD+i
Pinch-to-zoom/rotateCtrl+click-and-move
Tilt vertically (slide with 2 fingers)Shift+click-and-move
Tilt horizontally (slide with 2 fingers)Ctrl+Shift+click-and-move
Drag & drop APK fileInstall APK from computer
Drag & drop non-APK filePush file to device

¹Double-click on black borders to remove them.²Right-click turns the screen on if it was off, presses BACK otherwise.³4th and 5th mouse buttons, if your mouse has them.⁴For react-native apps in development, MENU triggers development menu.⁵Only on Android >= 7.

Shortcuts with repeated keys are executed by releasing and pressing the key a second time. For example, to execute "Expand settings panel":

  1. Press and keep pressing MOD.
  2. Then double-press n.
  3. Finally, release MOD.

All Ctrl+key shortcuts are forwarded to the device, so they are handled by the active application.

Released under the MIT License.

- + \ No newline at end of file diff --git a/reference/scrcpy/tunnels.html b/reference/scrcpy/tunnels.html index d4b3cd7ad..420688f0b 100644 --- a/reference/scrcpy/tunnels.html +++ b/reference/scrcpy/tunnels.html @@ -9,11 +9,11 @@ - + - + - + @@ -47,10 +47,10 @@ set ADB_SERVER_SOCKET=tcp:localhost:5038 scrcpy --force-adb-forward
powershell
# in PowerShell
 $env:ADB_SERVER_SOCKET = 'tcp:localhost:5038'
-scrcpy --force-adb-forward

+scrcpy --force-adb-forward

Released under the MIT License.

- + \ No newline at end of file diff --git a/reference/scrcpy/v4l2.html b/reference/scrcpy/v4l2.html index f98f38092..317e69713 100644 --- a/reference/scrcpy/v4l2.html +++ b/reference/scrcpy/v4l2.html @@ -9,11 +9,11 @@ - + - + - + @@ -27,10 +27,10 @@ # simple but might be sufficient ls /dev/video*

To start scrcpy using a v4l2 sink:

bash
scrcpy --v4l2-sink=/dev/videoN
 scrcpy --v4l2-sink=/dev/videoN --no-video-playback  # disable playback window

(replace N with the device ID, check with ls /dev/video*)

Once enabled, you can open your video stream with a v4l2-capable tool:

bash
ffplay -i /dev/videoN
-vlc v4l2:///dev/videoN   # VLC might add some buffering delay

For example, you could capture the video within OBS or within your video conference tool.

Buffering

By default, there is no video buffering, to get the lowest possible latency.

As for the video display, it is possible to add buffering to delay the v4l2 stream:

bash
scrcpy --v4l2-buffer=300     # add 300ms buffering for v4l2 sink

+vlc v4l2:///dev/videoN # VLC might add some buffering delay

For example, you could capture the video within OBS or within your video conference tool.

Buffering

By default, there is no video buffering, to get the lowest possible latency.

As for the video display, it is possible to add buffering to delay the v4l2 stream:

bash
scrcpy --v4l2-buffer=300     # add 300ms buffering for v4l2 sink

Released under the MIT License.

- + \ No newline at end of file diff --git a/reference/scrcpy/video.html b/reference/scrcpy/video.html index 467392133..3c72e57a1 100644 --- a/reference/scrcpy/video.html +++ b/reference/scrcpy/video.html @@ -9,11 +9,11 @@ - + - + - + @@ -56,10 +56,10 @@ scrcpy --v4l2-sink=/dev/video2 --no-video-playback # Record both video and audio, but only play video -scrcpy --record=file.mkv --no-audio-playback

No video

To disable video forwarding completely, so that only audio is forwarded:

scrcpy --no-video

Video4Linux

See the dedicated Video4Linux page.

+scrcpy --record=file.mkv --no-audio-playback

No video

To disable video forwarding completely, so that only audio is forwarded:

scrcpy --no-video

Video4Linux

See the dedicated Video4Linux page.

Released under the MIT License.

- + \ No newline at end of file diff --git a/reference/scrcpy/virtual_display.html b/reference/scrcpy/virtual_display.html index 109e09c1b..9b74c9dd0 100644 --- a/reference/scrcpy/virtual_display.html +++ b/reference/scrcpy/virtual_display.html @@ -9,11 +9,11 @@ - + - + - + @@ -25,10 +25,10 @@ scrcpy --new-display=1920x1080/420 # force 420 dpi scrcpy --new-display # use the main display size and density scrcpy --new-display=/240 # use the main display size and 240 dpi

The new virtual display is destroyed on exit.

Start app

On some devices, a launcher is available in the virtual display.

When no launcher is available (or if is explicitly disabled by --no-vd-system-decorations), the virtual display is empty. In that case, you must start an Android app.

For example:

bash
scrcpy --new-display=1920x1080 --start-app=org.videolan.vlc

The app may itself be a launcher. For example, to run the open source Fossify Launcher:

bash
scrcpy --new-display=1920x1080 --no-vd-system-decorations --start-app=org.fossify.home

System decorations

By default, virtual display system decorations are enabled. To disable them, use --no-vd-system-decorations:

scrcpy --new-display --no-vd-system-decorations

This is useful for some devices which might display a broken UI, or to disable any default launcher UI available in virtual displays.

Note that if no app is started, no content will be rendered, so no video frame will be produced at all.

Destroy on close

By default, when the virtual display is closed, the running apps are destroyed.

To move them to the main display instead, use:

scrcpy --new-display --no-vd-destroy-content

Display IME policy

By default, the virtual display IME appears on the default display.

To make it appear on the local display, use --display-ime-policy=local:

bash
scrcpy --display-id=1 --display-ime-policy=local
-scrcpy --new-display --display-ime-policy=local

+scrcpy --new-display --display-ime-policy=local

Released under the MIT License.

- + \ No newline at end of file diff --git a/reference/scrcpy/window.html b/reference/scrcpy/window.html index 250b486ae..00d10a8d9 100644 --- a/reference/scrcpy/window.html +++ b/reference/scrcpy/window.html @@ -9,11 +9,11 @@ - + - + - + @@ -23,10 +23,10 @@
Skip to content

Window

Disable window

To disable window (may be useful for recording or for playing audio only):

bash
scrcpy --no-window --record=file.mp4
 # Ctrl+C to interrupt

Title

By default, the window title is the device model. It can be changed:

bash
scrcpy --window-title='My device'

Position and size

The initial window position and size may be specified:

bash
scrcpy --window-x=100 --window-y=100 --window-width=800 --window-height=600

Borderless

To disable window decorations:

bash
scrcpy --window-borderless

Always on top

To keep the window always on top:

bash
scrcpy --always-on-top

Fullscreen

The app may be started directly in fullscreen:

bash
scrcpy --fullscreen
-scrcpy -f   # short version

Fullscreen mode can then be toggled dynamically with MOD+f (see shortcuts).

Disable screensaver

By default, scrcpy does not prevent the screensaver from running on the computer. To disable it:

bash
scrcpy --disable-screensaver

+scrcpy -f # short version

Fullscreen mode can then be toggled dynamically with MOD+f (see shortcuts).

Disable screensaver

By default, scrcpy does not prevent the screensaver from running on the computer. To disable it:

bash
scrcpy --disable-screensaver

Released under the MIT License.

- + \ No newline at end of file diff --git a/reference/scrcpy/windows.html b/reference/scrcpy/windows.html index e2de858c4..dc2e6f3d2 100644 --- a/reference/scrcpy/windows.html +++ b/reference/scrcpy/windows.html @@ -9,11 +9,11 @@ - + - + - + @@ -23,10 +23,10 @@
Skip to content

On Windows

Install

From the official release

Download the latest release:

and extract it.

From a package manager

From WinGet (ADB and other dependencies will be installed alongside scrcpy):

bash
winget install --exact Genymobile.scrcpy

From Chocolatey:

bash
choco install scrcpy
 choco install adb    # if you don't have it yet

From Scoop:

bash
scoop install scrcpy
-scoop install adb    # if you don't have it yet

See build.md to build and install the app manually.

Run

Make sure that your device meets the prerequisites.

Scrcpy is a command line application: it is mainly intended to be executed from a terminal with command line arguments.

To open a terminal at the expected location, double-click on open_a_terminal_here.bat in your scrcpy directory, then type your command. For example, without arguments:

bash
scrcpy

or with arguments (here to disable audio and record to file.mkv):

scrcpy --no-audio --record=file.mkv

Documentation for command line arguments is available:

To start scrcpy directly without opening a terminal, double-click on one of these files:

  • scrcpy-console.bat: start with a terminal open (it will close when scrcpy terminates, unless an error occurs);
  • scrcpy-noconsole.vbs: start without a terminal (but you won't see any error message).

Avoid double-clicking on scrcpy.exe directly: on error, the terminal would close immediately and you won't have time to read any error message (this executable is intended to be run from the terminal). Use scrcpy-console.bat instead.

If you plan to always use the same arguments, create a file myscrcpy.bat (enable show file extensions to avoid confusion) containing your command, For example:

bash
scrcpy --prefer-text --turn-screen-off --stay-awake

Then just double-click on that file.

You could also edit (a copy of) scrcpy-console.bat or scrcpy-noconsole.vbs to add some arguments.

+scoop install adb # if you don't have it yet

See build.md to build and install the app manually.

Run

Make sure that your device meets the prerequisites.

Scrcpy is a command line application: it is mainly intended to be executed from a terminal with command line arguments.

To open a terminal at the expected location, double-click on open_a_terminal_here.bat in your scrcpy directory, then type your command. For example, without arguments:

bash
scrcpy

or with arguments (here to disable audio and record to file.mkv):

scrcpy --no-audio --record=file.mkv

Documentation for command line arguments is available:

To start scrcpy directly without opening a terminal, double-click on one of these files:

  • scrcpy-console.bat: start with a terminal open (it will close when scrcpy terminates, unless an error occurs);
  • scrcpy-noconsole.vbs: start without a terminal (but you won't see any error message).

Avoid double-clicking on scrcpy.exe directly: on error, the terminal would close immediately and you won't have time to read any error message (this executable is intended to be run from the terminal). Use scrcpy-console.bat instead.

If you plan to always use the same arguments, create a file myscrcpy.bat (enable show file extensions to avoid confusion) containing your command, For example:

bash
scrcpy --prefer-text --turn-screen-off --stay-awake

Then just double-click on that file.

You could also edit (a copy of) scrcpy-console.bat or scrcpy-noconsole.vbs to add some arguments.

Released under the MIT License.

- + \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index c652147ce..02d8810da 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://viarotel.eu.org/changelog2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/changelog2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/contact2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/contact2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/donate2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/donate2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/guide/2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/guide/2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/guide/milestones2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/guide/milestones2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/guide/operation2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/guide/operation2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/guide/preferences2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/guide/preferences2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/guide/started2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/guide/started2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/guide/window-arrangement2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/guide/window-arrangement2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/help/escrcpy2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/help/escrcpy2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/help/2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/help/2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/help/scrcpy2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/help/scrcpy2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/reference/gnirehtet/api2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/reference/gnirehtet/api2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/reference/gnirehtet/2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/reference/gnirehtet/2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/reference/2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/reference/2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/reference/scrcpy/audio2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/audio2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/reference/scrcpy/build2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/build2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/reference/scrcpy/camera2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/camera2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/reference/scrcpy/connection2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/connection2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/reference/scrcpy/control2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/control2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/reference/scrcpy/develop2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/develop2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/reference/scrcpy/device2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/device2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/reference/scrcpy/gamepad2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/gamepad2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/reference/scrcpy/2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/reference/scrcpy/keyboard2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/keyboard2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/reference/scrcpy/linux2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/linux2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/reference/scrcpy/macos2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/macos2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/reference/scrcpy/mouse2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/mouse2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/reference/scrcpy/otg2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/otg2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/reference/scrcpy/recording2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/recording2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/reference/scrcpy/shortcuts2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/shortcuts2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/reference/scrcpy/tunnels2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/tunnels2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/reference/scrcpy/v4l22026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/v4l22026-02-27T02:10:43.000Zhttps://viarotel.eu.org/reference/scrcpy/video2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/video2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/reference/scrcpy/virtual_display2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/virtual_display2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/reference/scrcpy/window2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/window2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/reference/scrcpy/windows2026-02-27T02:10:43.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/windows2026-02-27T02:10:43.000Z \ No newline at end of file +https://viarotel.eu.org/changelog2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/changelog2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/contact2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/contact2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/donate2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/donate2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/guide/2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/guide/2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/guide/milestones2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/guide/milestones2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/guide/operation2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/guide/operation2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/guide/preferences2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/guide/preferences2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/guide/started2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/guide/started2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/guide/window-arrangement2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/guide/window-arrangement2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/help/escrcpy2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/help/escrcpy2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/help/2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/help/2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/help/scrcpy2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/help/scrcpy2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/reference/gnirehtet/api2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/reference/gnirehtet/api2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/reference/gnirehtet/2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/reference/gnirehtet/2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/reference/2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/reference/2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/reference/scrcpy/audio2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/audio2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/reference/scrcpy/build2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/build2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/reference/scrcpy/camera2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/camera2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/reference/scrcpy/connection2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/connection2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/reference/scrcpy/control2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/control2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/reference/scrcpy/develop2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/develop2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/reference/scrcpy/device2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/device2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/reference/scrcpy/gamepad2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/gamepad2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/reference/scrcpy/2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/reference/scrcpy/keyboard2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/keyboard2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/reference/scrcpy/linux2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/linux2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/reference/scrcpy/macos2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/macos2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/reference/scrcpy/mouse2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/mouse2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/reference/scrcpy/otg2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/otg2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/reference/scrcpy/recording2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/recording2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/reference/scrcpy/shortcuts2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/shortcuts2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/reference/scrcpy/tunnels2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/tunnels2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/reference/scrcpy/v4l22026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/v4l22026-02-27T02:20:34.000Zhttps://viarotel.eu.org/reference/scrcpy/video2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/video2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/reference/scrcpy/virtual_display2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/virtual_display2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/reference/scrcpy/window2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/window2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/reference/scrcpy/windows2026-02-27T02:20:34.000Zhttps://viarotel.eu.org/zhHans/reference/scrcpy/windows2026-02-27T02:20:34.000Z \ No newline at end of file diff --git a/zhHans/changelog.html b/zhHans/changelog.html index 46469a70c..0124553a7 100644 --- a/zhHans/changelog.html +++ b/zhHans/changelog.html @@ -9,11 +9,11 @@ - + - + - + @@ -21,10 +21,10 @@ -
Skip to content

Changelog

2.1.4 (2026-01-14)

Miscellaneous Chores

  • add release name format to config (6db1b51)
  • update release workflow and build commands (8f5345b)

2.1.3 (2026-01-14)

Miscellaneous Chores

  • add linked-versions plugin to release config (415e4ae)

2.1.2 (2026-01-14)

Bug Fixes

  • 🐛 Fix automatic build issues (aba8f27)

Miscellaneous Chores

  • add GH_TOKEN env to release workflow (078bf18)
  • release 2.1.1 (d1c04ce)
  • release 2.1.2 (91d9bbd)
  • release 2.1.2 (c7c8616)
  • remove release creation step from workflow (b73c179)
  • remove unnecessary comments in App.vue (22e331d)
  • remove unnecessary comments in App.vue (5ae8fbe)
  • update electron-builder config path and publish options (d3b4914)
  • update pull request title pattern (060ad4a)
  • update release configuration and patterns (0054fd4)

2.1.0 (2026-01-14)

Features

  • ✨ Add auto launch functionality and preference option (69c75cc)
  • ✨ Add hidden launch option for auto-start (dd1c2e1)
  • ✨ Add subscribe configuration hook and update UI (80b3534)
  • ✨ Add system tray support and Linux auto-launch (df414b9)
  • 🔖 Copilot adds thinking_stream event support (22623c4)
  • 🚑️ The portable version now supports automatically generating configuration files in the running directory (ba551b7)
  • add custom empty state icon for device list (65b028f)
  • add zip target for macOS builds (f52d3a5)

Bug Fixes

  • 🐛 Fix delete message and config initialization (82a77ea)
  • 🐛 Fixed the issue of failed export and export configuration files (fd32c36)
  • 🐛 Update dependencies and add sharp override in workspace configuration (dbf366a)
  • 💰 Update payment amount handling in subscription (422950c)
  • add background color and improve window initialization (498fc90)
  • adjust empty state icon styling in device list (363bf3d)
  • ensure concurrency limit is numeric (d2c977c)
  • types: allow typed payload handlers by using any[] for handle listener rest params (b4e8058)

Performance Improvements

  • 🚀 Use an external library instead of the built-in autoglm.js (d1f8176)

Code Refactoring

  • ⚡️ Refactor code structure for improved readability and maintainability (f211924)
  • 🌐 Update language labels to native text (cb7ac96)
  • 🌐 Update subscription translations for multiple locales (b4e5780)
  • 🎨 Redesign task dialog with card layout (cd06d3b)
  • 🎨 Simplify config UI layout and update maxSteps (af18241)
  • 🔄 Auto configure Copilot after payment (c00ac1e)
  • 🔄 Move ESLint config to root and clean up dependencies (f2bd345)
  • 🔄 Optimize session callbacks and event handling (ae19570)
  • 🔄 Rename ipc to services for better structure (8212872)
  • 🔄 Rename start module to launch for clarity (5d44ebf)
  • 🔧 Optimize copilot config change detection (2776e8a)
  • 🔧 Replace quick prompts with PromptBar component (9b0c4df)
  • improve theme switching and background handling (b3203af)
  • migrate copilot config to store (e323611)
  • replace rotation icon with outline version (95ad30d)
  • replace send icon with rocket icon (ef9e7d3)
  • replace svg icons with font icons (9eca902)
  • replace trash icon with Delete icon (c59994e)

2.0.1 (2026-01-06)

Bug Fixes

  • 🐛 Fix the problem of abnormal subscription recharge fee (b32043c)

2.0.0 (2026-01-05)

Features

  • ✨ Add system terminal support (e5c157e)
  • ✨ Device lists will now intelligently merge duplicate device entries and share device configurations (52cc4b1)
  • ✨ Integrate scrcpy binaries for macos (85bf096)
  • ✨ Introducing a new file icon display component and enhancing the File Explorer dialog. (11be6f1)
  • ✨ Now supports copying device screenshots and recording files to the clipboard (bdb3644)
  • ✨ Now you can arrange your device windows through a graphical interface (91ad249)
  • ✨ Support edge hiding function (14a81de)
  • ✨ Support floating control bar (8807e50)
  • ✨ Support pairing and connecting to devices via QR code (14306b2)
  • ✨ Support to close the device screen when controlling (a84c775)
  • ✨ Supports starting applications for mirroring (d19e781)
  • ✨ Use the new interface design (b08021b)
  • 💥[Release-As: 2.0.0] major copilot overhaul with AutoGLM and multi-device automation (7ad5ecd)
  • 📸 Enhanced recording (7f10161)
  • 🔍️ Optimize the search function of the app (94ccb7b)
  • 🚀 Split the file manager into independent windows and support multiple instances in parallel (f41d853)
  • 🚀 Support adding the open application action to the desktop shortcut. (Not supported on macOS) (add251f)
  • 🚀 Supports connecting historical devices via device list (e0687e8)
  • 🚀 Supports dragging the device control bar to sort (64a98b2)
  • 🚀 Update to scrcpy v3.3.2 (462536c)
  • 🚚 Support batch startup mirroring (fcfd78e)
  • 🚚 The file manager has been refactored and improved, and more useful features have been added. (5cd5992)

Bug Fixes

  • ♻️ Fixed repeated dependency issues (9777622)
  • 🐛 Fix automatic release (c2254aa)
  • 🐛 Fix device support audio and video encoding cannot be parsed (9b7f6a9)
  • 🐛 Fix for built-in scrcpy not supporting x64 macos (0d60655)
  • 🐛 Fix issue with incorrect address bar path when returning to the previous level in file management (0222675)
  • 🐛 Fix linux build errors (9b43dc0)
  • 🐛 Fix the display ID value type error (2b7ee79)
  • 🐛 Fix the mirror group bug (cd7d9cd)
  • 🐛 Fix the problem of build failure caused by missing dependencies (e34e1c2)
  • 🐛 Fix the problem of Windows calling system terminal failure (194689e)
  • 🐛 Fix the problem of Windows terminal injection command failure (fbf88d0)
  • 🐛 Fix typos (a7a3a17)
  • 🐛 Fixed an issue where macos built-in updates failed (432eceb)
  • 🐛 Fixed an issue where some options in preferences could not be turned off (269bd29)
  • 🐛 Fixed possible sandbox issues on Linux (ff9f9bd)
  • 🐛 Fixed the conflict between device control bar sorting and click events (18a57b9)
  • 🐛 Fixed the issue of abnormal path display in the file manager address bar (2f63f6f)
  • 🐛 Fixed the issue of duplicate filter conditions in the device list (6c4242c)
  • 🐛 Fixed the issue of layout flickering when refreshing the device list page (608b8f3)
  • 🐛 Fixed the issue of saving exceptions after adjusting parameters in preference settings (4a18f61)
  • 🐛 Fixed the issue where activating the program on macOS in certain situations would cause the tray to be created repeatedly (cf8e183)
  • 🐛 Fixed the issue where all configurations would be cleared when resetting the category configuration in preferences (6ee9a92)
  • 🐛 Fixed the issue where Chinese text cannot be saved in file management read and write text (34785dd)
  • 🐛 Fixed the issue where PowerShell failed to call the system terminal (7beb027)
  • 🐛 Fixed the issue where recorded files could not be copied to the clipboard under Windows (119b518)
  • 🐛 Fixed the issue where there is a chance of an error when closing the floating control bar on macOS (5c2c711)
  • 🐛 Fixed the problem of minimizing the visibility of tray icons (b0f42aa)
  • 🐛 Issue not taking effect after restarting the application after switching themes (857c480)
  • 🐛 Make StartApp compatible with scrcpy v3.0 (1082e0d)
  • 🐛 Rename --display-buffer to --video-buffer (b2bb0ae)
  • 🐛 Repair ADB timeout problems (b5bffc5)
  • 🐛 Repair floating action bar start application error (487e7e2)
  • 🐛 Repair part of internationalization Lost dynamics (d18444f)
  • 🐛 Resolve default recording error (358064e)
  • 🐛 Resolved the issue where the device list could not be displayed due to compatibility issues with certain devices (2c53b77)
  • 🐛 Resolving build errors (d21fa29)
  • 🐛 Restore the --display-buffer parameter to solve the mirroring problem (0f3d869)
  • 🐛 Solve the conflict between floating navigation bar and quick APP launch (460aca1)
  • 🐛 Solve the problem of abnormal display timing when recording related functions are successful (67d279e)
  • 🐛 Solve the problem of IPV6 address connection failure (1a95325)
  • 🐛 Solve the problem of startup error of development mode under Linux (5c4f65e)
  • 🐛 Solve the problem of Windows disabling video forwarding and crashing (10b902a)
  • 🐛 Solved the problem that the main window could not be restored after being moved off the screen in some cases (d054f8d)
  • 🐛 Start app to adapt to dark mode (ae13fde)
  • 🐛 Temporarily disable scrcpy integration in macOS (9bf4d5c)
  • 🐛 Update scrcpy-server file to solve the problem of not being able to obtain device APP list (63f7135)
  • 📝 Fixed the issue that special characters in Windows prevented the creation of app shortcut launch (301dac5)
  • 🔧 Camera recording and screen off configuration conflict (4508758)
  • 🔧 Fixed button loading prompt conflict issue (c323ad6)
  • 🩹 Restore the windows build configuration (9491069)
  • 🚀 Fix the issue of abnormal program exit behavior under windows (705f8be)

Performance Improvements

  • ♻️ Adjust the position of the start application button (9833932)
  • ♻️ Code structure optimization (595216b)
  • ♻️ Enhance recording stability (3dd7525)
  • ♻️ Improve ADB connection stability (7655ba6)
  • ♻️ Improve the stability of window arrangement function (7ae3f21)
  • ♻️ Improve wireless connection stability (85be898)
  • ♻️ Improved device connection stability (1d603ab)
  • ♻️ No longer building universal packages for macOS (db5deb4)
  • ♻️ Optimize camera recording (4be2cf4)
  • ♻️ Optimize camera recording stability (952b2a7)
  • ♻️ Optimize device details performance (38d1433)
  • ♻️ Optimize device list interaction logic (3812061)
  • ♻️ Optimize file manager interaction (b168cc3)
  • ♻️ Optimize QR code connection experience (86f5e69)
  • ♻️ Optimize the Russian presentation effect (0d8a8ee)
  • ♻️ Optimized contextBridge related improvements for stability (0e098c3)
  • ♻️ Optimized the adb daemon startup failure detection mechanism (ca6be85)
  • ♻️ Reduce build package size by removing redundant dependencies (7b61b25)
  • ♻️ Refactor configuration related code to improve stability (37bf438)
  • ♻️ Script and directory structure optimization (68378ef)
  • ♻️ Simplify sandbox automatic configuration manager code to improve performance (1b82336)
  • ♻️ Support interruption during waiting for wireless connection (344b385)
  • ♻️ Supports retrieving a list of applications (b1a6ba7)
  • ♻️ Update mirror icon (c214e5a)
  • ♻️ When the application fails to start, display the error message (dbc34d6)
  • ♿️ Supports adjusting the closing method of the application in preferences (e643f8e)
  • ⚗️ Experimental support for turning off screen controls (9555f58)
  • ⚡️ Improve the start APP experience (29e5e1b)
  • ⚡️ Optimize scrcpy parameter conversion performance (18dcd24)
  • ⚡️ Optimize startup application performance (8e94494)
  • ⚡️ Optimize the method of obtaining the available displays of the device (9e31c84)
  • ⚡️ Optimize the stability of options that need to dynamically obtain parameters in preference settings (39bbc98)
  • ✅ A new method is adopted to solve the problem of IP type configuration storage (5488a1e)
  • ✅ File management supports selecting directories for uploading (fd2e639)
  • ✅ Provides the function of detecting and migrating configurations when deleting a device (39e0533)
  • ✅ Support switching devices on the floating control bar (50440f5)
  • ✨ Adjust the position of the wireless connection screen (3e3fc34)
  • ✨ Enable new icon (695e35d)
  • ✨ The floating control bar supports transparent display when inactive (34f27c5)
  • ✨ Update to scrcpy@2.7 to support the gamepad (0053e87)
  • ➖ Remove redundant console (9a67142)
  • ⬆️ Improve QR code connection performance (b413889)
  • ⬆️ Improved performance of automated mirroring (33a03c3)
  • ⬆️ Optimize edge hiding performance (74a91a4)
  • ⬆️ Optimize the performance of the floating control bar (a1c60ec)
  • 🌱 Optimize app icon background color and corner radius. (bc4f492)
  • 🌱 Optimize application icon details (55800be)
  • 🌱 UI details and documentation optimization (5b5bbf7)
  • 🍻 Improve file manager reliability (9063243)
  • 🐛 Improve wireless connection verification method (69fecc3)
  • 👥 Control bar sorting supports state synchronization (88abe95)
  • 👷 Added edge hiding function switch (d25714a)
  • 👷 Explicitly clean up unnecessary child processes on exit (0549dda)
  • 👷 Optimize the edge hiding function (d5caaa9)
  • 👷 Remove redundant code comments (ca4e826)
  • 👽️ Experimental support for adding open application actions to linux desktop shortcuts (6897c0e)
  • 👽️ Experimentally add linux arm64 support (5b033fd)
  • 💄 Improve space utilization of device window layout tools (939a2d2)
  • 💄 Improved Russian display (ca79e1b)
  • 💄 Normalize control window titles and generated file names (ccc7f0e)
  • 💄 Optimization of display effect of device list page (305187d)
  • 💄 Optimize device refresh mode (ea75615)
  • 💄 Optimize dialog display (1813718)
  • 💄 Optimize pairing interface display (df4103b)
  • 💄 Optimize preference setting button layout (47ae53d)
  • 💄 Optimize Russian display effect (5ca39ae)
  • 💄 Optimize the display effect of horizontal screen screenshots (90c7163)
  • 💄 Optimize the interface display effect (c7a5cd4)
  • 💄 Window layout adapted to dark mode theme (eab402b)
  • 💫 Adjust gnirehtet configuration behavior to make it consistent with user operation habits (7507915)
  • 💫 Support appending gnirehtet custom parameters in configuration (206a030)
  • 📌 Standardize the device list lifecycle processing flow. IPv6 addresses must be enclosed in [] and the port number cannot be omitted for wireless connections. (93c059d)
  • 📌 Support saving the main panel window size status (cef022f)
  • 📝 Add docs entry to the program (db5d157)
  • 📝 Add Japanese language support (969378f)
  • 📝 Added Arabic language support (f6c9fa4)
  • 📝 Optimize the scheduled task list (c666709)
  • 📝 Optimize the title of the control interface to solve the problem of duplicate device names (06a151d)
  • 📝 Optimized startup app package name display (22eb718)
  • 📝 Simplified partial translation (7411487)
  • 📦️ Update the upload function to support file and directory selection, and optimize the interface layout (7f5bd35)
  • 📸 Recording camera support (10d0370)
  • 📸 Support viewing real-time images and power information of the device (d262adf)
  • 🔀 Optimize the storage policy configured in preferences (b9faabf)
  • 🔊 Expanded audio source options (fc91f07)
  • 🔍️ Optimize QR code style to avoid scanning problems on some devices (dd3ad6c)
  • 🔖 Adjust the order of quick entry functions (ccb59e1)
  • 🔖 Optimize interaction of preferred terminal options (900dc69)
  • 🔧 Optimized startup APP function interaction (468af22)
  • 🔧 Temporarily disable scheduled tasks that are too far away (be5e639)
  • 🔨 Fixed the problem that some models could not reversely supply the network due to the blocking of installation detection when using Gnirehtet (c5369af)
  • 🔨 Improve the reliability of the linux sandbox configuration tool (6de2538)
  • 🧑‍💻 Improve application performance with VueRouter (6a8c190)
  • 🧑‍💻 Improve device-based terminal experience (88a0356)
  • 🧑‍💻 Optimize application icon size under macOS (066d81f)
  • 🧑‍💻 Optimize the interactive experience of the device control bar (8388646)
  • 🩹 Add an option to enable keyboard fix on app startup to be compatible with older versions of scrcpy (be89b36)
  • 🩹 Closing a screen via the control bar no longer requires creating a help window (84c7be7)
  • 🚀 Adjust options to support scrcpy v3.0 (0602676)
  • 🚀 After getting the device list, query and save the SerialNo of each device in preparation for subsequent integration (4464e7e)
  • 🚀 Clean output when closing built-in terminal (c976d4c)
  • 🚀 Extended floating control bar function (790e703)
  • 🚀 File management supports returning to the root directory (2e27443)
  • 🚀 Improve app icon quality (8a6f4c7)
  • 🚀 Improve performance by asynchronously storing main interface boundary information (d230c15)
  • 🚀 Modify the adb connection method to be compatible with scan connection (e6e8a09)
  • 🚀 Optimization of window arrangement function (33786ab)
  • 🚀 Optimize device connection experience (0690f2d)
  • 🚀 Optimize device list connection behavior and configuration migration strategy (8237058)
  • 🚀 Optimize program performance (9af3988)
  • 🚀 Optimize system terminal stability (2ffc588)
  • 🚀 Optimize the built-in terminal interaction experience (bb56d5b)
  • 🚀 Optimize the default behavior when adding new widgets to the device window arrangement (1be470a)
  • 🚀 Optimize the details of the new version of the icon (db9b19a)
  • 🚀 Optimize the display effect of application icons under windows (e0c221f)
  • 🚀 Optimize the display effect of new icons in smaller sizes (7d91d71)
  • 🚀 Optimize the layout effect of the task list (044cfcd)
  • 🚀 Optimize the menu trigger method for the upload function (8d39f5b)
  • 🚀 Optimize the storage strategy for preference Settings (359b9b9)
  • 🚀 Provide feedback on the application shortcut addition (d7eca8d)
  • 🚀 Supports display of offline devices (dcf817f)
  • 🚀 Supports opening using the main monitor when starting the APP (aec9b78)
  • 🚀 The main panel supports single instance startup (c49d22c)
  • 🚀 Update to scrcpy v3.3.1 (a2bb039)
  • 🚀 Update to scrcpy v3.0 (bf06382)
  • 🚀 Update to scrcpy v3.0.2 (7510548)
  • 🚀 Update to scrcpy v3.1 (7c74c71)
  • 🚀 Update to scrcpy v3.2 (57c11af)
  • 🚀 Update to scrcpy v3.3 (bbf2335)
  • 🚀 Update to scrcpy v3.3.3 (8566644)
  • 🚚 Reduce some unnecessary verifications and increase the speed at which equipment starts reverse network supply (c17aaba)

Miscellaneous Chores

Code Refactoring

  • ♻️ Reconstruct the multi-device batch upload function (dbdaa35)
  • 🔨 Optimize code (f61d820)

1.34.2 (2025-12-08)

Performance Improvements

  • 📦️ Update the upload function to support file and directory selection, and optimize the interface layout (7f5bd35)
  • 🚀 Optimize the menu trigger method for the upload function (8d39f5b)

1.34.1 (2025-12-07)

Performance Improvements

  • 🍻 Improve file manager reliability (9063243)

1.34.0 (2025-12-07)

Features

  • ✨ Introducing a new file icon display component and enhancing the File Explorer dialog. (11be6f1)
  • 🚀 Split the file manager into independent windows and support multiple instances in parallel (f41d853)
  • 🚚 The file manager has been refactored and improved, and more useful features have been added. (5cd5992)

Bug Fixes

  • 🐛 Fixed the conflict between device control bar sorting and click events (18a57b9)
  • 🐛 Fixed the issue of abnormal path display in the file manager address bar (2f63f6f)
  • 🐛 Fixed the issue where Chinese text cannot be saved in file management read and write text (34785dd)

Performance Improvements

  • ♻️ Optimize file manager interaction (b168cc3)
  • ✨ Enable new icon (695e35d)
  • 🌱 Optimize app icon background color and corner radius. (bc4f492)
  • 🌱 Optimize application icon details (55800be)
  • 📝 Optimize the scheduled task list (c666709)
  • 🧑‍💻 Optimize application icon size under macOS (066d81f)
  • 🧑‍💻 Optimize the interactive experience of the device control bar (8388646)
  • 🚀 Improve app icon quality (8a6f4c7)
  • 🚀 Optimize program performance (9af3988)
  • 🚀 Optimize the details of the new version of the icon (db9b19a)
  • 🚀 Optimize the display effect of application icons under windows (e0c221f)
  • 🚀 Optimize the display effect of new icons in smaller sizes (7d91d71)

1.33.0 (2025-11-20)

Features

  • ✨ Add system terminal support (e5c157e)

Bug Fixes

  • 🐛 Fix issue with incorrect address bar path when returning to the previous level in file management (0222675)
  • 🐛 Fix the problem of Windows calling system terminal failure (194689e)
  • 🐛 Fix the problem of Windows terminal injection command failure (fbf88d0)
  • 🐛 Fixed the issue where PowerShell failed to call the system terminal (7beb027)

Performance Improvements

  • 🔖 Optimize interaction of preferred terminal options (900dc69)
  • 🚀 Clean output when closing built-in terminal (c976d4c)
  • 🚀 Optimize system terminal stability (2ffc588)
  • 🚀 Optimize the built-in terminal interaction experience (bb56d5b)

1.32.2 (2025-09-29)

Performance Improvements

  • 🚀 Update to scrcpy v3.3.3 (8566644)

1.32.1 (2025-09-10)

Performance Improvements

  • 🌱 UI details and documentation optimization (5b5bbf7)

1.32.0 (2025-09-08)

Features

  • ✨ Now supports copying device screenshots and recording files to the clipboard (bdb3644)
  • 🚀 Update to scrcpy v3.3.2 (462536c)

Bug Fixes

  • 🐛 Fixed the issue where recorded files could not be copied to the clipboard under Windows (119b518)
  • 🔧 Fixed button loading prompt conflict issue (c323ad6)

Performance Improvements

  • ✅ Provides the function of detecting and migrating configurations when deleting a device (39e0533)
  • 📌 Standardize the device list lifecycle processing flow. IPv6 addresses must be enclosed in [] and the port number cannot be omitted for wireless connections. (93c059d)
  • 🚀 Modify the adb connection method to be compatible with scan connection (e6e8a09)
  • 🚀 Optimize device list connection behavior and configuration migration strategy (8237058)

1.31.3 (2025-09-01)

Performance Improvements

  • 💄 Window layout adapted to dark mode theme (eab402b)

1.31.2 (2025-09-01)

Bug Fixes

  • 🐛 Resolved the issue where the device list could not be displayed due to compatibility issues with certain devices (2c53b77)

Performance Improvements

  • 🚀 Optimization of window arrangement function (33786ab)

1.31.1 (2025-08-29)

Performance Improvements

  • 👷 Remove redundant code comments (ca4e826)

1.31.0 (2025-08-29)

Features

  • ✨ Device lists will now intelligently merge duplicate device entries and share device configurations (52cc4b1)
  • ✨ Now you can arrange your device windows through a graphical interface (91ad249)

Bug Fixes

  • 🐛 Fix typos (a7a3a17)
  • 🐛 Fixed possible sandbox issues on Linux (ff9f9bd)
  • 🐛 Fixed the issue of saving exceptions after adjusting parameters in preference settings (4a18f61)
  • 🐛 Issue not taking effect after restarting the application after switching themes (857c480)

Performance Improvements

  • ♻️ Improve the stability of window arrangement function (7ae3f21)
  • ♻️ Simplify sandbox automatic configuration manager code to improve performance (1b82336)
  • 💄 Improve space utilization of device window layout tools (939a2d2)
  • 🔖 Adjust the order of quick entry functions (ccb59e1)
  • 🔨 Improve the reliability of the linux sandbox configuration tool (6de2538)
  • 🚀 After getting the device list, query and save the SerialNo of each device in preparation for subsequent integration (4464e7e)
  • 🚀 Improve performance by asynchronously storing main interface boundary information (d230c15)
  • 🚀 Optimize the default behavior when adding new widgets to the device window arrangement (1be470a)
  • 🚀 Optimize the layout effect of the task list (044cfcd)
  • 🚀 Optimize the storage strategy for preference Settings (359b9b9)

1.30.2 (2025-07-15)

Performance Improvements

  • ♻️ Optimize device list interaction logic (3812061)
  • 📝 Add Japanese language support (969378f)

1.30.1 (2025-07-14)

Bug Fixes

  • 🐛 Fixed the issue where all configurations would be cleared when resetting the category configuration in preferences (6ee9a92)
  • 🐛 Solve the problem of abnormal display timing when recording related functions are successful (67d279e)
  • 📝 Fixed the issue that special characters in Windows prevented the creation of app shortcut launch (301dac5)

Performance Improvements

  • 📝 Optimized startup app package name display (22eb718)
  • 🔧 Optimized startup APP function interaction (468af22)

1.30.0 (2025-07-14)

Features

  • 🔍️ Optimize the search function of the app (94ccb7b)
  • 🚀 Supports dragging the device control bar to sort (64a98b2)

Bug Fixes

  • 🐛 Fixed the issue of layout flickering when refreshing the device list page (608b8f3)
  • 🐛 Fixed the issue where activating the program on macOS in certain situations would cause the tray to be created repeatedly (cf8e183)
  • 🐛 Fixed the issue where there is a chance of an error when closing the floating control bar on macOS (5c2c711)
  • 🚀 Fix the issue of abnormal program exit behavior under windows (705f8be)

Performance Improvements

  • ♻️ Code structure optimization (595216b)
  • 👥 Control bar sorting supports state synchronization (88abe95)
  • 📝 Optimize the title of the control interface to solve the problem of duplicate device names (06a151d)
  • 🔀 Optimize the storage policy configured in preferences (b9faabf)
  • 🚀 Supports opening using the main monitor when starting the APP (aec9b78)

1.29.9 (2025-06-27)

Performance Improvements

  • 🚀 Update to scrcpy v3.3.1 (a2bb039)

1.29.8 (2025-06-20)

Bug Fixes

  • 🐛 Update scrcpy-server file to solve the problem of not being able to obtain device APP list (63f7135)

1.29.7 (2025-06-16)

Performance Improvements

  • 🚀 Update to scrcpy v3.3 (bbf2335)

1.29.6 (2025-04-27)

Performance Improvements

  • 📝 Added Arabic language support (f6c9fa4)
  • 🚀 File management supports returning to the root directory (2e27443)

1.29.5 (2025-04-17)

Bug Fixes

  • 🐛 Fix the problem of build failure caused by missing dependencies (e34e1c2)

1.29.4 (2025-04-17)

Bug Fixes

  • 🐛 Fixed an issue where some options in preferences could not be turned off (269bd29)

Performance Improvements

  • 💫 Adjust gnirehtet configuration behavior to make it consistent with user operation habits (7507915)
  • 🔍️ Optimize QR code style to avoid scanning problems on some devices (dd3ad6c)
  • 🩹 Add an option to enable keyboard fix on app startup to be compatible with older versions of scrcpy (be89b36)

1.29.3 (2025-04-02)

Performance Improvements

  • 📝 Add docs entry to the program (db5d157)
  • 🚚 Reduce some unnecessary verifications and increase the speed at which equipment starts reverse network supply (c17aaba)

1.29.2 (2025-03-31)

Performance Improvements

  • 🔨 Fixed the problem that some models could not reversely supply the network due to the blocking of installation detection when using Gnirehtet (c5369af)

1.29.1 (2025-03-31)

Performance Improvements

  • 🔊 Expanded audio source options (fc91f07)
  • 🩹 Closing a screen via the control bar no longer requires creating a help window (84c7be7)
  • 🚀 Update to scrcpy v3.2 (57c11af)

1.29.0 (2025-03-27)

Features

  • 🚀 Support adding the open application action to the desktop shortcut. (Not supported on macOS) (add251f)
  • 🚚 Support batch startup mirroring (fcfd78e)

Bug Fixes

  • 🐛 Solve the conflict between floating navigation bar and quick APP launch (460aca1)
  • 🐛 Solve the problem of startup error of development mode under Linux (5c4f65e)

Performance Improvements

  • ✨ The floating control bar supports transparent display when inactive (34f27c5)
  • 👷 Explicitly clean up unnecessary child processes on exit (0549dda)
  • 👽️ Experimental support for adding open application actions to linux desktop shortcuts (6897c0e)
  • 👽️ Experimentally add linux arm64 support (5b033fd)
  • 💄 Optimization of display effect of device list page (305187d)
  • 💫 Support appending gnirehtet custom parameters in configuration (206a030)
  • 🚀 Provide feedback on the application shortcut addition (d7eca8d)

1.28.7 (2025-02-17)

Bug Fixes

  • 🐛 Fixed the issue of duplicate filter conditions in the device list (6c4242c)
  • 🐛 Solved the problem that the main window could not be restored after being moved off the screen in some cases (d054f8d)

Performance Improvements

  • ⬆️ Improved performance of automated mirroring (33a03c3)
  • 💄 Optimize the display effect of horizontal screen screenshots (90c7163)
  • 🚀 The main panel supports single instance startup (c49d22c)

1.28.6 (2025-02-05)

Bug Fixes

  • 🐛 Resolving build errors (d21fa29)

1.28.5 (2025-02-05)

Performance Improvements

  • ✅ File management supports selecting directories for uploading (fd2e639)
  • ⬆️ Improve QR code connection performance (b413889)

1.28.4 (2025-01-13)

Bug Fixes

  • 🐛 Fix the display ID value type error (2b7ee79)
  • 🐛 Solve the problem of IPV6 address connection failure (1a95325)

Performance Improvements

  • ♻️ Improve wireless connection stability (85be898)
  • ⚡️ Optimize the method of obtaining the available displays of the device (9e31c84)
  • 🐛 Improve wireless connection verification method (69fecc3)
  • 👷 Added edge hiding function switch (d25714a)

1.28.3 (2024-12-28)

Performance Improvements

  • ♻️ Optimize device details performance (38d1433)

1.28.2 (2024-12-27)

Performance Improvements

  • 👷 Optimize the edge hiding function (d5caaa9)
  • 📸 Support viewing real-time images and power information of the device (d262adf)

1.28.1 (2024-12-20)

Performance Improvements

  • ♻️ Optimize QR code connection experience (86f5e69)

1.28.0 (2024-12-20)

Features

  • ✨ Support pairing and connecting to devices via QR code (14306b2)
  • 🚀 Supports connecting historical devices via device list (e0687e8)

Bug Fixes

  • 🐛 Solve the problem of Windows disabling video forwarding and crashing (10b902a)

Performance Improvements

  • ♻️ Update mirror icon (c214e5a)
  • ✅ A new method is adopted to solve the problem of IP type configuration storage (5488a1e)
  • 🚀 Optimize device connection experience (0690f2d)
  • 🚀 Supports display of offline devices (dcf817f)

1.27.7 (2024-12-10)

Performance Improvements

  • 🚀 Update to scrcpy v3.1 (7c74c71)

1.27.6 (2024-12-05)

Bug Fixes

  • ♻️ Fixed repeated dependency issues (9777622)

Performance Improvements

  • ♻️ Optimized contextBridge related improvements for stability (0e098c3)
  • ♻️ Reduce build package size by removing redundant dependencies (7b61b25)
  • 🚀 Update to scrcpy v3.0.2 (7510548)

1.27.5 (2024-11-29)

Performance Improvements

  • ➖ Remove redundant console (9a67142)

1.27.4 (2024-11-29)

Bug Fixes

  • 🐛 Fix automatic release (c2254aa)
  • 🐛 Fixed an issue where macos built-in updates failed (432eceb)

1.27.3 (2024-11-28)

Bug Fixes

  • 🐛 Fix for built-in scrcpy not supporting x64 macos (0d60655)

Performance Improvements

  • ♻️ Improved device connection stability (1d603ab)
  • ♻️ Optimized the adb daemon startup failure detection mechanism (ca6be85)
  • 🧑‍💻 Improve device-based terminal experience (88a0356)

1.27.2 (2024-11-26)

Bug Fixes

  • 🐛 Start app to adapt to dark mode (ae13fde)

1.27.1 (2024-11-25)

Bug Fixes

  • 🐛 Make StartApp compatible with scrcpy v3.0 (1082e0d)

Performance Improvements

  • 🚀 Adjust options to support scrcpy v3.0 (0602676)
  • 🚀 Update to scrcpy v3.0 (bf06382)

1.27.0 (2024-11-21)

Features

  • ✨ Support edge hiding function (14a81de)

Performance Improvements

  • ⬆️ Optimize edge hiding performance (74a91a4)

1.26.4 (2024-11-14)

Bug Fixes

  • 🐛 Temporarily disable scrcpy integration in macOS (9bf4d5c)

1.26.3 (2024-11-08)

Bug Fixes

  • 🐛 Fix device support audio and video encoding cannot be parsed (9b7f6a9)
  • 🐛 Restore the --display-buffer parameter to solve the mirroring problem (0f3d869)

Performance Improvements

  • ♻️ Support interruption during waiting for wireless connection (344b385)
  • ♻️ Supports retrieving a list of applications (b1a6ba7)
  • ⚡️ Optimize startup application performance (8e94494)

1.26.2 (2024-11-06)

Bug Fixes

  • 🐛 Fix linux build errors (9b43dc0)

1.26.1 (2024-11-06)

Performance Improvements

  • ♻️ No longer building universal packages for macOS (db5deb4)

1.26.0 (2024-11-06)

Features

  • ✨ Integrate scrcpy binaries for macos (85bf096)
  • ✨ Supports starting applications for mirroring (d19e781)

Bug Fixes

  • 🐛 Rename --display-buffer to --video-buffer (b2bb0ae)
  • 🐛 Repair floating action bar start application error (487e7e2)
  • 🩹 Restore the windows build configuration (9491069)

Performance Improvements

  • ♻️ Adjust the position of the start application button (9833932)
  • ♻️ When the application fails to start, display the error message (dbc34d6)
  • ⚡️ Improve the start APP experience (29e5e1b)

1.25.5 (2024-11-05)

Performance Improvements

  • ⚡️ Optimize the stability of options that need to dynamically obtain parameters in preference settings (39bbc98)

1.25.4 (2024-10-31)

Performance Improvements

  • ♻️ Enhance recording stability (3dd7525)
  • ♻️ Optimize camera recording stability (952b2a7)
  • 💄 Normalize control window titles and generated file names (ccc7f0e)

1.25.3 (2024-10-29)

Bug Fixes

  • 🔧 Camera recording and screen off configuration conflict (4508758)

Performance Improvements

  • 🔧 Temporarily disable scheduled tasks that are too far away (be5e639)

1.25.2 (2024-10-29)

Bug Fixes

  • 🐛 Resolve default recording error (358064e)

1.25.1 (2024-10-28)

Miscellaneous Chores

1.25.0 (2024-10-28)

Features

  • ✨ Support to close the device screen when controlling (a84c775)
  • 📸 Enhanced recording (7f10161)

Performance Improvements

  • ♻️ Optimize camera recording (4be2cf4)
  • ♻️ Script and directory structure optimization (68378ef)
  • ⚗️ Experimental support for turning off screen controls (9555f58)
  • ⚡️ Optimize scrcpy parameter conversion performance (18dcd24)
  • 💄 Improved Russian display (ca79e1b)
  • 📸 Recording camera support (10d0370)

1.24.3 (2024-10-21)

Performance Improvements

  • 💄 Optimize Russian display effect (5ca39ae)

1.24.2 (2024-09-16)

Bug Fixes

  • 🐛 Fix the mirror group bug (cd7d9cd)

1.24.1 (2024-09-16)

Performance Improvements

  • ✨ Update to scrcpy@2.7 to support the gamepad (0053e87)
  • ⬆️ Optimize the performance of the floating control bar (a1c60ec)
  • 🚀 Extended floating control bar function (790e703)

1.24.0 (2024-09-12)

Features

  • ✨ Support floating control bar (8807e50)

Performance Improvements

  • ✅ Support switching devices on the floating control bar (50440f5)
  • 💄 Optimize preference setting button layout (47ae53d)

1.23.6 (2024-09-09)

Bug Fixes

  • 🐛 Fixed the problem of minimizing the visibility of tray icons (b0f42aa)
  • 🐛 Repair ADB timeout problems (b5bffc5)

1.23.5 (2024-09-09)

Performance Improvements

  • ♻️ Improve ADB connection stability (7655ba6)

1.23.4 (2024-09-08)

Bug Fixes

  • 🐛 Repair part of internationalization Lost dynamics (d18444f)

1.23.3 (2024-09-08)

Performance Improvements

  • ♻️ Optimize the performance of equipment interaction column and file manager (41ffcf5)

1.23.2 (2024-09-07)

Performance Improvements

  • 🚀 Support file manager upload to the current directory (737c2a3)

1.23.1 (2024-09-07)

Performance Improvements

  • ⬆️ Update dependencies (8b03862)

1.23.0 (2024-09-07)

Features

  • ✨ Support graphic file manager (8155723)
  • 🚀 Initially add a new file manager (94ee007)

Performance Improvements

1.22.4 (2024-08-03)

Bug Fixes

  • 🐛 plan task Remove operation bug (5205935)

Performance Improvements

1.22.3 (2024-08-03)

Performance Improvements

  • ♻️ Update scrcpy to 2.6.1 (1eef9d2)

1.22.2 (2024-07-25)

Performance Improvements

  • 💄 Optimize the display effect of the dark mode (38f854b)
  • 💄 Optimize the display effect of the quick operation bar (7b3c4db)
  • 💄 Optimize the display effect of the tabs bar (5b2d41c)

1.22.1 (2024-07-25)

Bug Fixes

  • 🐛 Fixed asset publishing issues (222f626)

1.22.0 (2024-07-25)

Features

  • 🚀 Add a scheduled task list (d72202b)
  • 🚀 Add basic timing task function (04a7608)
  • 🚀 Add timing task entrance (8393c85)
  • 🚀 添加定时任务入口 (6ce66d4)

Bug Fixes

  • 🐛 The internationalization problem of repairing path selector (8e6af20)
  • 💄 Optimize wireless connection user interface (50ae742)

Performance Improvements

  • 💄 Optimization of the operation bar at the top of the equipment list (81bd3d9)
  • 💄 Optimized operation button layout (16f9535)

1.21.4 (2024-07-14)

Performance Improvements

  • ♻️ Optimize custom startup performance (abd468b)
  • ♻️ Perfect allSettledWrapper method (5b7d0af)

1.21.3 (2024-07-13)

Bug Fixes

  • Fix the width problem of custom startup pop-up windows (9a7e56b)

1.21.2 (2024-07-13)

Bug Fixes

  • 🐛 Fix terminal style abnormalities in dark theme (3d4dc7c)

Performance Improvements

  • ♻️ Improve code robustness (2f389af)
  • 🚀 Optimize batch operation interaction (343eab2)

1.21.1 (2024-07-13)

Bug Fixes

  • 🐛 Fix dependency build errors (5b02621)

1.21.0 (2024-07-13)

Features

  • 🎉 Support batch execution script function (8097022)
  • 🚀 Support execution script function (2013413)

Bug Fixes

  • 🐛 Repair the problem of equipment width in the English state (25c42d9)
  • 📝 Update Translation (33b0181)

Performance Improvements

  • ✅ Support batch screenshot and other performance optimization (db9e3e7)
  • ✨ Support for custom startup mirroring (677f30c)
  • 🐛 Fix the problem of frequently trigger preservation of preferences (8261916)

1.20.1 (2024-07-04)

Bug Fixes

  • 🐛 Fix batch text spelling errors (062c689)

1.20.0 (2024-07-04)

Features

  • ✨ Add batch installation application function (37ce245)

Performance Improvements

  • 🚀 Add mouse binding options (7ee4ba4)

1.19.4 (2024-07-02)

Bug Fixes

  • 🐛 Fix terminal style problems (9fc1ded)
  • Update Chinese language translations (b8d77e3)

Performance Improvements

  • 🚀 Update to scrcpy v2.5 (22cc5a3)

1.19.3 (2024-06-13)

Bug Fixes

  • 🐛 Abnormal operations cause the program that cannot be closed (b989140)

1.19.2 (2024-06-03)

Bug Fixes

  • 🐛 Automatically apply local languages (0cc8208)

1.19.1 (2024-05-26)

Bug Fixes

  • 🐛 In some cases, the light mode is abnormal (ea227e0)
  • 🐛 Search for shortcut key conflicts (c70e6ca)

Performance Improvements

1.19.0 (2024-05-15)

Features

  • 🚀 Add page search function (6dd8244)
  • 🚀 Update dependencies to support ESM (9f1696f)

Bug Fixes

  • 🐛 Resolving build failures (8460945)
  • 🐛 Tips unavailable (603e4e9)

Performance Improvements

  • ♻️ FindInPage API (fcf8269)
  • ♻️ Optimize dark mode (2f2e1cf)
  • ♻️ Search interaction (a195b7e)
  • ♻️ Search variable name (7c55e50)
  • 🐛 Global search error (091d503)
  • 🚀 优化页面查找工具性能 (8587977)

1.18.4 (2024-05-04)

Bug Fixes

  • 🐛 Wireless adb does not support Spaces (1f27597)

1.18.3 (2024-04-12)

Performance Improvements

  • ♻️ i18n configuration (1ca0469)

1.18.2 (2024-04-11)

Bug Fixes

  • 🐛 zh_TW Language support (885af3a)

1.18.1 (2024-04-11)

Bug Fixes

  • 🔧 Repair merge zh-TW failed (81ff63f)

Performance Improvements

1.18.0 (2024-04-11)

Features

  • Add a simple zh_TW Traditional Chinese locale (cec6539)

1.17.8 (2024-03-29)

Bug Fixes

  • 🐛 Camera configuration conflict (07cc5f3)
  • 🐛 OTG configuration conflict (576d287)
  • 🐛 OTG mode: could not turn screen off (c5bed0e)

1.17.7 (2024-03-27)

Bug Fixes

  • ♻️ Remove the redundant imports (a06708f)

Performance Improvements

  • ♻️ Optimize delete history logic (780e3b9)
  • ♻️ Support delete historical connection (c82560f)
  • 💄 Wireless style optimization (ba51fe3)

1.17.6 (2024-03-21)

Performance Improvements

  • ♻️ Supports automatic execution of mirrors on devices (11e0884)

1.17.5 (2024-03-17)

Performance Improvements

1.17.4 (2024-03-14)

Performance Improvements

  • ♻️ Options in the preference settings (dc711cb)

1.17.3 (2024-03-13)

Performance Improvements

  • ♻️ Remove console log (6e25eb7)

1.17.2 (2024-03-10)

Bug Fixes

  • 🐛 Abnormal built-in terminal adb command (368551a)

Performance Improvements

  • ♻️ Update eslint config (bf2d2b4)

1.17.1 (2024-03-05)

Performance Improvements

  • ♻️ Interactive logic optimization (193f80a)
  • ♻️ Optimize design and code (d507c2d)
  • ♻️ Optimize equipment operation (389ac33)
  • ➖ Remove redundant packages (f9e4a0e)
  • 💄 Optimize dark mode styles (1cac054)

1.17.0 (2024-03-04)

Features

  • 🎉 Update to scrcpy v2.4 (02a4d39)

1.16.8 (2023-12-27)

Bug Fixes

  • 🐛 The maximum size description error (01fd926)

1.16.7 (2023-12-19)

Performance Improvements

1.16.6 (2023-12-19)

Miscellaneous Chores

1.16.5 (2023-12-19)

Performance Improvements

  • 📝 Control in stop charging (8707eb5)

1.16.4 (2023-12-19)

Bug Fixes

  • 🐛 Pairing code type issue (889fe8c)

1.16.3 (2023-12-03)

Performance Improvements

  • 🚀 Update scrcpy v2.3.1 (3566655)

1.16.2 (2023-12-02)

Bug Fixes

1.16.1 (2023-11-26)

Bug Fixes

1.16.0 (2023-11-26)

Performance Improvements

Miscellaneous Chores

1.15.0 (2023-11-18)

Features

  • 添加投屏窗口大小控制 (97d7868)

Performance Improvements

  • 🚀 Add window position option (866aa2c)

1.14.3 (2023-11-17)

Performance Improvements

  • ♻️ Add context menu (f0f25a7)
  • ♻️ Optimize extended menu bar interaction (de9352c)
  • 📝 Optimization preferences description (30eca50)

1.14.2 (2023-11-16)

Performance Improvements

  • ♻️ Optimize autoConnect historical devices (755a130)
  • 💡 Add autoConnect option (a57b847)

1.14.1 (2023-11-14)

Bug Fixes

  • 🐛 Abnormal terminal theme (20d37c1)

1.14.0 (2023-11-14)

Features

  • 🎉 Add Terminal Debugging (fdf40c7)

Performance Improvements

  • ♻️ Optimize terminal performance (d3afc4b)
  • 💄 Update terminal style (5b6b8d1)
  • 🚨 Optimization error prompt (b759502)

1.13.5 (2023-11-11)

Performance Improvements

  • ♻️ Mirror group shutdown logic (296e21d)
  • ♻️ Optimize mirror group (5793c24)

1.13.4 (2023-11-10)

Performance Improvements

  • ♻️ Optimization updater (61ccd4a)
  • ♻️ Optimize mirror group (81c007f)

1.13.3 (2023-11-10)

Bug Fixes

  • 🐛 Recording prompt and file format errors (bfdad9e)

Performance Improvements

  • ♻️ Optimize Batch connection performance (36de67b)
  • ♻️ Optimize file push prompts (4a3575f)
  • ♻️ Optimize historical device connections (83f8c04)
  • ✨ Support bulk connecting to historical devices (b7eb1dd)

1.13.2 (2023-11-09)

Bug Fixes

Performance Improvements

  • ♻️ Configure Incompatible Handling Mechanism (c0e6a01)
  • ♻️ Optimize gnirehtet (de3555b)
  • 💄 Optimize volume control and gnirehtet (b40bdcf)
  • 🚀 Add File push function (70f8b46)
  • 🚀 Add screen rotation shortcut menu (dd601df)

1.13.1 (2023-11-08)

Performance Improvements

  • ♻️ Adjust volume control position (1b3f49e)
  • ♻️ Optimize configuration file logic (5f8cc5a)
  • 🚀 Add volume control (1505518)

1.13.0 (2023-11-07)

Features

  • 🎉 Add mirror group function (0c9d36f)

Bug Fixes

Performance Improvements

  • ♻️ Optimize mirror group (cf9c82d)
  • ♻️ optimize mirror group tips (46defbf)
  • ♻️ Optimize preferences (7a6417e)
  • ♻️ Optimize window control (0530ed3)
  • 💄 Update styles (37da97b)
  • 🚀 Add camera options (5a04b4c)

1.12.4 (2023-11-03)

Bug Fixes

  • 🐛 MacOS reduced to the tray to evoke failure (d7bf83b)

1.12.3 (2023-11-03)

Bug Fixes

  • 🐛 MacOS reduced to the tray to evoke failure (6153bc4)

1.12.2 (2023-11-03)

Bug Fixes

1.12.1 (2023-11-03)

Bug Fixes

  • 🐛 Add gnirehtet fix option (f9c6c32)
  • 🐛 Display options cannot be changed (3046746)
  • 🐛 Preference style (0f72090)
  • 🐛 Reset preferences language not restored (d691780)
  • 🐛 Unable to update path selector (3279c34)
  • 🐛 Video codec preset error (1af9abd)

Performance Improvements

  • ♻️ optimize Codec (6154ffc)
  • ♻️ Optimize recording (f4dfb2c)
  • 🎨 Update preferences style (e9befea)

1.12.0 (2023-11-02)

Features

  • 🎉 Update Scrcpy to v2.2 (5c401a8)

Bug Fixes

Performance Improvements

1.11.9 (2023-10-31)

Performance Improvements

  • ♻️ Optimization gnirehtet and scrcpy (9cf800c)
  • ♻️ Optimize Gnirehtet interaction (a90e570)

1.11.8 (2023-10-31)

Bug Fixes

  • 🎨 修复 macOS 设置主题跟随系统后 某些情况下循环触发导致死循环的问题 (1d7b188)

1.11.7 (2023-10-31)

Bug Fixes

  • 🐛 macOS x64ArchFiles Errors (151cb29)

1.11.6 (2023-10-31)

Bug Fixes

  • 🐛 macOS x64ArchFiles Errors (7dbca01)

1.11.5 (2023-10-31)

Bug Fixes

  • 🐛 macOS x64ArchFiles Errors (ad3f77f)

1.11.4 (2023-10-31)

Bug Fixes

  • 🐛 macOS x64ArchFiles Errors (4b4e116)

1.11.3 (2023-10-31)

Bug Fixes

  • 🐛 Unix permission issues (1279994)
  • 🐛 Unix permission issues (dc9a3c4)
  • 🐛 x64ArchFiles Error (82a99d9)

1.11.2 (2023-10-30)

Bug Fixes

  • 🐛 修复 macOS 打包失败的问题 (1b2236c)

1.11.1 (2023-10-30)

Bug Fixes

  • 🐛 修复 macOS 打包失败的问题 (37e2837)

1.11.0 (2023-10-30)

Features

  • 🎉 Add gnirehtet reverse tethering function (2c97189)

Bug Fixes

  • 🐛 gnirehtet custom dependent paths error (cfd0e1d)

Performance Improvements

  • ♻️ Optimize Gnirehtet interaction (e1237cd)
  • ♻️ 拆分依赖文件禁用冗余的警告信息 (93ad836)
  • ♻️ 目录结构及描述调整 (f9a32d6)
  • ♻️ 补充依赖及目录结构调整 (b18256b)

1.10.2 (2023-10-28)

Bug Fixes

  • 🐛 修复设置主题跟随系统后没有生效的问题 (95a83f4)

1.10.1 (2023-10-28)

Bug Fixes

  • 🐛 修复 linux 无法启动镜像或录制服务以及修改自定义依赖目录的问题 (d815643)

1.10.0 (2023-10-27)

Features

  • 🚀 新增支持 深色模式、国际化语言、运行日志等功能 (4b13f58)

Bug Fixes

  • 🐛 修复 linux 打包后图标丢失的问题 (217d82d)
  • 🐛 修复安装路径包含空格会导致无法启动服务的问题 (29ae786)
  • 🐛 修复录制结束点击取消异常弹窗以及点击重启服务没有反应的问题 (054c55b)
  • 🔧 修复自定义路径功能没有生效的问题 (894b581)

Performance Improvements

1.9.1 (2023-10-24)

Performance Improvements

  • 💄 窗口控制及交互逻辑优化 (52514e2)

1.9.0 (2023-10-24)

Features

  • 🚀 添加 i18n 初步支持 (18d490f)

Bug Fixes

  • 🐛 修复 macOS 最小化到托盘后状态栏图标不显示的问题 (a789826)

1.8.17 (2023-10-23)

Bug Fixes

  • 🐛 尝试修复构建失败 (daeb9e5)

1.8.16 (2023-10-23)

Performance Improvements

  • ✨ 采用新的 Logo 设计 (3bf79d3)

1.8.15 (2023-10-22)

Bug Fixes

  • 🐛 修复 Linux 平台启动白屏无法正常使用的问题 (54e713b)

1.8.14 (2023-10-21)

Bug Fixes

  • 🐛 修复 linux 打包配置错误的问题 (a9668d9)

1.8.13 (2023-10-21)

Performance Improvements

  • 🚀 为 windows 添加 ARM64 软件包编译 (368e8ee)
  • 🚀 支持所有平台在点击关闭按钮时选择是否保存到托盘中的功能 (8360198)

1.8.12 (2023-10-21)

Bug Fixes

  • 🐛 修复 macOS 或 linux 下自定义依赖选项描述错误的问题 (0d4b1ce)

1.8.11 (2023-10-21)

Performance Improvements

  • 🔨 优化窗口默认大小 (393e899)

1.8.10 (2023-10-20)

Bug Fixes

  • 🐛 修复 macOS 窗口问题 (f768566)

1.8.9 (2023-10-20)

Bug Fixes

  • 🐛 修复 macOS 窗口过小导致出现横向滚动条的问题 (8ee34ca)

1.8.8 (2023-10-20)

Bug Fixes

  • 🚀 修复 macOS 简单关闭应用重新打开时报错的问题 (4b259c3)

1.8.7 (2023-10-20)

Bug Fixes

  • 🐛 修复打包多个平台时可能生成重复文件导致发布软件包失败的问题 (e89a7a5)

1.8.6 (2023-10-20)

Bug Fixes

  • 🔧 修复 macOS 无法正确获取系统依赖路径的问题 (2352593)

1.8.5 (2023-10-20)

Bug Fixes

  • 🚑️ 修复 Linux maintainer 问题 (4e1542a)

1.8.4 (2023-10-20)

Bug Fixes

  • 🚑️ 修复 Linux 打包失败的问题 (96f85d8)

1.8.3 (2023-10-20)

Bug Fixes

  • 🚀 修复 MacOS 软件包安装后无线显示 Logo 的问题 (77dd81b)

1.8.2 (2023-10-20)

Bug Fixes

  • 🔧 修复 Linux 及 MacOS 获取默认依赖路径异常的问题 (87b533f)
  • 🔧 修复 MacOS ARM64 版本打包失败的问题 (e9a8fc2)

1.8.1 (2023-10-20)

Performance Improvements

  • 🚀 支持创建更多架构的 MacOS 软件包格式 (4780e7c)

1.8.0 (2023-10-20)

Features

  • 🚀 初步添加对 Linux 以及 MacOS 的支持 (569ed2e)

Bug Fixes

  • 📝 偏好设置描述信息修改 (23d68d4)
  • 🔧 设备列表标签显示细节调整 (4f2f00e)

Performance Improvements

  • 📝 设备备注文本框描述信息调整 (379b325)

1.7.1 (2023-10-20)

Bug Fixes

  • 🚀 修复对设备进行独立配置时的一些问题 (6ccd6d0)

Performance Improvements

  • 🎉 初步支持设置偏好设置的作用域范围 (5dd328c)

1.7.0 (2023-10-19)

Features

  • 🚀 新增支持导入及导出配置 (326a133)
  • 🚀 新增支持添加设备备注 (43f15be)

Performance Improvements

  • ➕ 设备交互栏添加重启设备及打开通知栏功能 (1341fb8)

1.6.10 (2023-10-18)

Performance Improvements

  • 🚀 采用新的方法实现所有进程共享 isPackaged (8a5f7d9)

1.6.9 (2023-10-17)

Bug Fixes

  • 🔧 优化 isPackaged 判断条件解决某些情况下资源路径解析异常的问题 (fbd1885)

1.6.8 (2023-10-17)

Performance Improvements

  • 🚀 支持通过操作栏安装应用并提供相应安装反馈 (3bd2075)

1.6.7 (2023-10-17)

Performance Improvements

  • 📝 去除冗余的依赖项 (a6744dc)

1.6.6 (2023-10-17)

Bug Fixes

  • 🐛 build fix (09c8dee)
  • 🐛 修复 electron 资源路径问题 (955756e)

1.6.5 (2023-10-16)

Bug Fixes

  • 🐛 修复 App NextTick 错误 (79d85eb)

1.6.4 (2023-10-16)

Bug Fixes

  • 🐛 修复 electron-builder 配置异常导致打包的文件无法发布的问题 (9a4efa5)
  • 🚀 修复设备列表按钮状态变更影响布局变化的问题 (83a8043)

1.6.3 (2023-10-16)

Bug Fixes

  • 🐛 修复打包后图标丢失的问题 (58a66f1)

1.6.2 (2023-10-13)

Bug Fixes

  • 🐛 修复USB未授权设备导致无线连接地址变为假值的问题 (9c25325)

1.6.1 (2023-10-13)

Performance Improvements

  • 🔨 自定义通用的文件存储路径相关逻辑完善 (8455e86)

1.6.0 (2023-10-13)

Features

  • 🚀 增加了对设备交互控制栏的支持 (fd20736)

1.5.3 (2023-10-13)

Bug Fixes

  • 🔧 修复点击无线模式没有反应的问题 (9d55ef9)

1.5.2 (2023-10-13)

Bug Fixes

  • 📝 修复高级配置标题语义不明的问题 (218de1c)

Performance Improvements

  • 🚀 添加更多的高级配置并更新文档 (922abd2)

1.5.1 (2023-10-12)

Bug Fixes

  • 🐛 去除页面组件冗余参数 (8e5df15)

1.5.0 (2023-10-12)

Features

  • 🚀 添加音视频录制功能以及更多的高级选项 (b6986d1)

1.4.1 (2023-10-12)

Bug Fixes

  • 🐛 修复检查更新失败没有提示的问题 (6f733ea)

1.4.0 (2023-10-11)

Features

  • 🚀 添加在线检查更新功能 (8de04e0)

Bug Fixes

  • 🔨 修复无线配对时表单验证错误 (7cd9ea3)
  • 🔨 修复直接进行无线连接时没有处理配对设备的问题 (4263d07)

1.3.3 (2023-09-26)

Bug Fixes

  • 🐛 修复触摸点配置描述错误的问题 (4e2be23)

1.3.2 (2023-09-19)

Bug Fixes

  • 🔧 修复旋转屏幕配置异常的问题 (af7a319)

1.3.1 (2023-09-19)

Bug Fixes

  • 🔧 修复图标不透明的问题 (24c011f)

1.3.0 (2023-09-19)

Features

  • ✨ 用户界面进行优化,制作了合适的 Logo (1b96ffc)

1.2.0 (2023-09-19)

Features

  • 🎉 优化设备界面视图并添加虚拟控制栏配置 (3be0682)

1.1.0 (2023-09-18)

Features

  • 🚀 增加了常用的 Scrcpy 高级配置 (ac52df2)

1.0.2 (2023-09-18)

Performance Improvements

  • 🚀 合并无线连接及有线连接到设备列表 (e84f24e)

1.0.1 (2023-09-16)

Bug Fixes

  • 🔧 去除未测试环境的打包以修复构建失败的问题 (d6ec7fd)

1.0.0 (2023-09-16)

Features

  • 📝 添加基本的有线连接支持 (647a0c5)
  • 🚀 添加 Electron 基本支持 (a46a5e1)
  • 🚀 添加初步的构建及发布支持 (c85f8fb)
  • 🚀 添加基本的无线连接功能 (6dd2db9)

Bug Fixes

  • 🔧 修复 ADB 环境变量配置错误导致无法连接的问题 (9ef7203)

+

Skip to content

Changelog

2.1.4 (2026-01-14)

Miscellaneous Chores

  • add release name format to config (6db1b51)
  • update release workflow and build commands (8f5345b)

2.1.3 (2026-01-14)

Miscellaneous Chores

  • add linked-versions plugin to release config (415e4ae)

2.1.2 (2026-01-14)

Bug Fixes

  • 🐛 Fix automatic build issues (aba8f27)

Miscellaneous Chores

  • add GH_TOKEN env to release workflow (078bf18)
  • release 2.1.1 (d1c04ce)
  • release 2.1.2 (91d9bbd)
  • release 2.1.2 (c7c8616)
  • remove release creation step from workflow (b73c179)
  • remove unnecessary comments in App.vue (22e331d)
  • remove unnecessary comments in App.vue (5ae8fbe)
  • update electron-builder config path and publish options (d3b4914)
  • update pull request title pattern (060ad4a)
  • update release configuration and patterns (0054fd4)

2.1.0 (2026-01-14)

Features

  • ✨ Add auto launch functionality and preference option (69c75cc)
  • ✨ Add hidden launch option for auto-start (dd1c2e1)
  • ✨ Add subscribe configuration hook and update UI (80b3534)
  • ✨ Add system tray support and Linux auto-launch (df414b9)
  • 🔖 Copilot adds thinking_stream event support (22623c4)
  • 🚑️ The portable version now supports automatically generating configuration files in the running directory (ba551b7)
  • add custom empty state icon for device list (65b028f)
  • add zip target for macOS builds (f52d3a5)

Bug Fixes

  • 🐛 Fix delete message and config initialization (82a77ea)
  • 🐛 Fixed the issue of failed export and export configuration files (fd32c36)
  • 🐛 Update dependencies and add sharp override in workspace configuration (dbf366a)
  • 💰 Update payment amount handling in subscription (422950c)
  • add background color and improve window initialization (498fc90)
  • adjust empty state icon styling in device list (363bf3d)
  • ensure concurrency limit is numeric (d2c977c)
  • types: allow typed payload handlers by using any[] for handle listener rest params (b4e8058)

Performance Improvements

  • 🚀 Use an external library instead of the built-in autoglm.js (d1f8176)

Code Refactoring

  • ⚡️ Refactor code structure for improved readability and maintainability (f211924)
  • 🌐 Update language labels to native text (cb7ac96)
  • 🌐 Update subscription translations for multiple locales (b4e5780)
  • 🎨 Redesign task dialog with card layout (cd06d3b)
  • 🎨 Simplify config UI layout and update maxSteps (af18241)
  • 🔄 Auto configure Copilot after payment (c00ac1e)
  • 🔄 Move ESLint config to root and clean up dependencies (f2bd345)
  • 🔄 Optimize session callbacks and event handling (ae19570)
  • 🔄 Rename ipc to services for better structure (8212872)
  • 🔄 Rename start module to launch for clarity (5d44ebf)
  • 🔧 Optimize copilot config change detection (2776e8a)
  • 🔧 Replace quick prompts with PromptBar component (9b0c4df)
  • improve theme switching and background handling (b3203af)
  • migrate copilot config to store (e323611)
  • replace rotation icon with outline version (95ad30d)
  • replace send icon with rocket icon (ef9e7d3)
  • replace svg icons with font icons (9eca902)
  • replace trash icon with Delete icon (c59994e)

2.0.1 (2026-01-06)

Bug Fixes

  • 🐛 Fix the problem of abnormal subscription recharge fee (b32043c)

2.0.0 (2026-01-05)

Features

  • ✨ Add system terminal support (e5c157e)
  • ✨ Device lists will now intelligently merge duplicate device entries and share device configurations (52cc4b1)
  • ✨ Integrate scrcpy binaries for macos (85bf096)
  • ✨ Introducing a new file icon display component and enhancing the File Explorer dialog. (11be6f1)
  • ✨ Now supports copying device screenshots and recording files to the clipboard (bdb3644)
  • ✨ Now you can arrange your device windows through a graphical interface (91ad249)
  • ✨ Support edge hiding function (14a81de)
  • ✨ Support floating control bar (8807e50)
  • ✨ Support pairing and connecting to devices via QR code (14306b2)
  • ✨ Support to close the device screen when controlling (a84c775)
  • ✨ Supports starting applications for mirroring (d19e781)
  • ✨ Use the new interface design (b08021b)
  • 💥[Release-As: 2.0.0] major copilot overhaul with AutoGLM and multi-device automation (7ad5ecd)
  • 📸 Enhanced recording (7f10161)
  • 🔍️ Optimize the search function of the app (94ccb7b)
  • 🚀 Split the file manager into independent windows and support multiple instances in parallel (f41d853)
  • 🚀 Support adding the open application action to the desktop shortcut. (Not supported on macOS) (add251f)
  • 🚀 Supports connecting historical devices via device list (e0687e8)
  • 🚀 Supports dragging the device control bar to sort (64a98b2)
  • 🚀 Update to scrcpy v3.3.2 (462536c)
  • 🚚 Support batch startup mirroring (fcfd78e)
  • 🚚 The file manager has been refactored and improved, and more useful features have been added. (5cd5992)

Bug Fixes

  • ♻️ Fixed repeated dependency issues (9777622)
  • 🐛 Fix automatic release (c2254aa)
  • 🐛 Fix device support audio and video encoding cannot be parsed (9b7f6a9)
  • 🐛 Fix for built-in scrcpy not supporting x64 macos (0d60655)
  • 🐛 Fix issue with incorrect address bar path when returning to the previous level in file management (0222675)
  • 🐛 Fix linux build errors (9b43dc0)
  • 🐛 Fix the display ID value type error (2b7ee79)
  • 🐛 Fix the mirror group bug (cd7d9cd)
  • 🐛 Fix the problem of build failure caused by missing dependencies (e34e1c2)
  • 🐛 Fix the problem of Windows calling system terminal failure (194689e)
  • 🐛 Fix the problem of Windows terminal injection command failure (fbf88d0)
  • 🐛 Fix typos (a7a3a17)
  • 🐛 Fixed an issue where macos built-in updates failed (432eceb)
  • 🐛 Fixed an issue where some options in preferences could not be turned off (269bd29)
  • 🐛 Fixed possible sandbox issues on Linux (ff9f9bd)
  • 🐛 Fixed the conflict between device control bar sorting and click events (18a57b9)
  • 🐛 Fixed the issue of abnormal path display in the file manager address bar (2f63f6f)
  • 🐛 Fixed the issue of duplicate filter conditions in the device list (6c4242c)
  • 🐛 Fixed the issue of layout flickering when refreshing the device list page (608b8f3)
  • 🐛 Fixed the issue of saving exceptions after adjusting parameters in preference settings (4a18f61)
  • 🐛 Fixed the issue where activating the program on macOS in certain situations would cause the tray to be created repeatedly (cf8e183)
  • 🐛 Fixed the issue where all configurations would be cleared when resetting the category configuration in preferences (6ee9a92)
  • 🐛 Fixed the issue where Chinese text cannot be saved in file management read and write text (34785dd)
  • 🐛 Fixed the issue where PowerShell failed to call the system terminal (7beb027)
  • 🐛 Fixed the issue where recorded files could not be copied to the clipboard under Windows (119b518)
  • 🐛 Fixed the issue where there is a chance of an error when closing the floating control bar on macOS (5c2c711)
  • 🐛 Fixed the problem of minimizing the visibility of tray icons (b0f42aa)
  • 🐛 Issue not taking effect after restarting the application after switching themes (857c480)
  • 🐛 Make StartApp compatible with scrcpy v3.0 (1082e0d)
  • 🐛 Rename --display-buffer to --video-buffer (b2bb0ae)
  • 🐛 Repair ADB timeout problems (b5bffc5)
  • 🐛 Repair floating action bar start application error (487e7e2)
  • 🐛 Repair part of internationalization Lost dynamics (d18444f)
  • 🐛 Resolve default recording error (358064e)
  • 🐛 Resolved the issue where the device list could not be displayed due to compatibility issues with certain devices (2c53b77)
  • 🐛 Resolving build errors (d21fa29)
  • 🐛 Restore the --display-buffer parameter to solve the mirroring problem (0f3d869)
  • 🐛 Solve the conflict between floating navigation bar and quick APP launch (460aca1)
  • 🐛 Solve the problem of abnormal display timing when recording related functions are successful (67d279e)
  • 🐛 Solve the problem of IPV6 address connection failure (1a95325)
  • 🐛 Solve the problem of startup error of development mode under Linux (5c4f65e)
  • 🐛 Solve the problem of Windows disabling video forwarding and crashing (10b902a)
  • 🐛 Solved the problem that the main window could not be restored after being moved off the screen in some cases (d054f8d)
  • 🐛 Start app to adapt to dark mode (ae13fde)
  • 🐛 Temporarily disable scrcpy integration in macOS (9bf4d5c)
  • 🐛 Update scrcpy-server file to solve the problem of not being able to obtain device APP list (63f7135)
  • 📝 Fixed the issue that special characters in Windows prevented the creation of app shortcut launch (301dac5)
  • 🔧 Camera recording and screen off configuration conflict (4508758)
  • 🔧 Fixed button loading prompt conflict issue (c323ad6)
  • 🩹 Restore the windows build configuration (9491069)
  • 🚀 Fix the issue of abnormal program exit behavior under windows (705f8be)

Performance Improvements

  • ♻️ Adjust the position of the start application button (9833932)
  • ♻️ Code structure optimization (595216b)
  • ♻️ Enhance recording stability (3dd7525)
  • ♻️ Improve ADB connection stability (7655ba6)
  • ♻️ Improve the stability of window arrangement function (7ae3f21)
  • ♻️ Improve wireless connection stability (85be898)
  • ♻️ Improved device connection stability (1d603ab)
  • ♻️ No longer building universal packages for macOS (db5deb4)
  • ♻️ Optimize camera recording (4be2cf4)
  • ♻️ Optimize camera recording stability (952b2a7)
  • ♻️ Optimize device details performance (38d1433)
  • ♻️ Optimize device list interaction logic (3812061)
  • ♻️ Optimize file manager interaction (b168cc3)
  • ♻️ Optimize QR code connection experience (86f5e69)
  • ♻️ Optimize the Russian presentation effect (0d8a8ee)
  • ♻️ Optimized contextBridge related improvements for stability (0e098c3)
  • ♻️ Optimized the adb daemon startup failure detection mechanism (ca6be85)
  • ♻️ Reduce build package size by removing redundant dependencies (7b61b25)
  • ♻️ Refactor configuration related code to improve stability (37bf438)
  • ♻️ Script and directory structure optimization (68378ef)
  • ♻️ Simplify sandbox automatic configuration manager code to improve performance (1b82336)
  • ♻️ Support interruption during waiting for wireless connection (344b385)
  • ♻️ Supports retrieving a list of applications (b1a6ba7)
  • ♻️ Update mirror icon (c214e5a)
  • ♻️ When the application fails to start, display the error message (dbc34d6)
  • ♿️ Supports adjusting the closing method of the application in preferences (e643f8e)
  • ⚗️ Experimental support for turning off screen controls (9555f58)
  • ⚡️ Improve the start APP experience (29e5e1b)
  • ⚡️ Optimize scrcpy parameter conversion performance (18dcd24)
  • ⚡️ Optimize startup application performance (8e94494)
  • ⚡️ Optimize the method of obtaining the available displays of the device (9e31c84)
  • ⚡️ Optimize the stability of options that need to dynamically obtain parameters in preference settings (39bbc98)
  • ✅ A new method is adopted to solve the problem of IP type configuration storage (5488a1e)
  • ✅ File management supports selecting directories for uploading (fd2e639)
  • ✅ Provides the function of detecting and migrating configurations when deleting a device (39e0533)
  • ✅ Support switching devices on the floating control bar (50440f5)
  • ✨ Adjust the position of the wireless connection screen (3e3fc34)
  • ✨ Enable new icon (695e35d)
  • ✨ The floating control bar supports transparent display when inactive (34f27c5)
  • ✨ Update to scrcpy@2.7 to support the gamepad (0053e87)
  • ➖ Remove redundant console (9a67142)
  • ⬆️ Improve QR code connection performance (b413889)
  • ⬆️ Improved performance of automated mirroring (33a03c3)
  • ⬆️ Optimize edge hiding performance (74a91a4)
  • ⬆️ Optimize the performance of the floating control bar (a1c60ec)
  • 🌱 Optimize app icon background color and corner radius. (bc4f492)
  • 🌱 Optimize application icon details (55800be)
  • 🌱 UI details and documentation optimization (5b5bbf7)
  • 🍻 Improve file manager reliability (9063243)
  • 🐛 Improve wireless connection verification method (69fecc3)
  • 👥 Control bar sorting supports state synchronization (88abe95)
  • 👷 Added edge hiding function switch (d25714a)
  • 👷 Explicitly clean up unnecessary child processes on exit (0549dda)
  • 👷 Optimize the edge hiding function (d5caaa9)
  • 👷 Remove redundant code comments (ca4e826)
  • 👽️ Experimental support for adding open application actions to linux desktop shortcuts (6897c0e)
  • 👽️ Experimentally add linux arm64 support (5b033fd)
  • 💄 Improve space utilization of device window layout tools (939a2d2)
  • 💄 Improved Russian display (ca79e1b)
  • 💄 Normalize control window titles and generated file names (ccc7f0e)
  • 💄 Optimization of display effect of device list page (305187d)
  • 💄 Optimize device refresh mode (ea75615)
  • 💄 Optimize dialog display (1813718)
  • 💄 Optimize pairing interface display (df4103b)
  • 💄 Optimize preference setting button layout (47ae53d)
  • 💄 Optimize Russian display effect (5ca39ae)
  • 💄 Optimize the display effect of horizontal screen screenshots (90c7163)
  • 💄 Optimize the interface display effect (c7a5cd4)
  • 💄 Window layout adapted to dark mode theme (eab402b)
  • 💫 Adjust gnirehtet configuration behavior to make it consistent with user operation habits (7507915)
  • 💫 Support appending gnirehtet custom parameters in configuration (206a030)
  • 📌 Standardize the device list lifecycle processing flow. IPv6 addresses must be enclosed in [] and the port number cannot be omitted for wireless connections. (93c059d)
  • 📌 Support saving the main panel window size status (cef022f)
  • 📝 Add docs entry to the program (db5d157)
  • 📝 Add Japanese language support (969378f)
  • 📝 Added Arabic language support (f6c9fa4)
  • 📝 Optimize the scheduled task list (c666709)
  • 📝 Optimize the title of the control interface to solve the problem of duplicate device names (06a151d)
  • 📝 Optimized startup app package name display (22eb718)
  • 📝 Simplified partial translation (7411487)
  • 📦️ Update the upload function to support file and directory selection, and optimize the interface layout (7f5bd35)
  • 📸 Recording camera support (10d0370)
  • 📸 Support viewing real-time images and power information of the device (d262adf)
  • 🔀 Optimize the storage policy configured in preferences (b9faabf)
  • 🔊 Expanded audio source options (fc91f07)
  • 🔍️ Optimize QR code style to avoid scanning problems on some devices (dd3ad6c)
  • 🔖 Adjust the order of quick entry functions (ccb59e1)
  • 🔖 Optimize interaction of preferred terminal options (900dc69)
  • 🔧 Optimized startup APP function interaction (468af22)
  • 🔧 Temporarily disable scheduled tasks that are too far away (be5e639)
  • 🔨 Fixed the problem that some models could not reversely supply the network due to the blocking of installation detection when using Gnirehtet (c5369af)
  • 🔨 Improve the reliability of the linux sandbox configuration tool (6de2538)
  • 🧑‍💻 Improve application performance with VueRouter (6a8c190)
  • 🧑‍💻 Improve device-based terminal experience (88a0356)
  • 🧑‍💻 Optimize application icon size under macOS (066d81f)
  • 🧑‍💻 Optimize the interactive experience of the device control bar (8388646)
  • 🩹 Add an option to enable keyboard fix on app startup to be compatible with older versions of scrcpy (be89b36)
  • 🩹 Closing a screen via the control bar no longer requires creating a help window (84c7be7)
  • 🚀 Adjust options to support scrcpy v3.0 (0602676)
  • 🚀 After getting the device list, query and save the SerialNo of each device in preparation for subsequent integration (4464e7e)
  • 🚀 Clean output when closing built-in terminal (c976d4c)
  • 🚀 Extended floating control bar function (790e703)
  • 🚀 File management supports returning to the root directory (2e27443)
  • 🚀 Improve app icon quality (8a6f4c7)
  • 🚀 Improve performance by asynchronously storing main interface boundary information (d230c15)
  • 🚀 Modify the adb connection method to be compatible with scan connection (e6e8a09)
  • 🚀 Optimization of window arrangement function (33786ab)
  • 🚀 Optimize device connection experience (0690f2d)
  • 🚀 Optimize device list connection behavior and configuration migration strategy (8237058)
  • 🚀 Optimize program performance (9af3988)
  • 🚀 Optimize system terminal stability (2ffc588)
  • 🚀 Optimize the built-in terminal interaction experience (bb56d5b)
  • 🚀 Optimize the default behavior when adding new widgets to the device window arrangement (1be470a)
  • 🚀 Optimize the details of the new version of the icon (db9b19a)
  • 🚀 Optimize the display effect of application icons under windows (e0c221f)
  • 🚀 Optimize the display effect of new icons in smaller sizes (7d91d71)
  • 🚀 Optimize the layout effect of the task list (044cfcd)
  • 🚀 Optimize the menu trigger method for the upload function (8d39f5b)
  • 🚀 Optimize the storage strategy for preference Settings (359b9b9)
  • 🚀 Provide feedback on the application shortcut addition (d7eca8d)
  • 🚀 Supports display of offline devices (dcf817f)
  • 🚀 Supports opening using the main monitor when starting the APP (aec9b78)
  • 🚀 The main panel supports single instance startup (c49d22c)
  • 🚀 Update to scrcpy v3.3.1 (a2bb039)
  • 🚀 Update to scrcpy v3.0 (bf06382)
  • 🚀 Update to scrcpy v3.0.2 (7510548)
  • 🚀 Update to scrcpy v3.1 (7c74c71)
  • 🚀 Update to scrcpy v3.2 (57c11af)
  • 🚀 Update to scrcpy v3.3 (bbf2335)
  • 🚀 Update to scrcpy v3.3.3 (8566644)
  • 🚚 Reduce some unnecessary verifications and increase the speed at which equipment starts reverse network supply (c17aaba)

Miscellaneous Chores

Code Refactoring

  • ♻️ Reconstruct the multi-device batch upload function (dbdaa35)
  • 🔨 Optimize code (f61d820)

1.34.2 (2025-12-08)

Performance Improvements

  • 📦️ Update the upload function to support file and directory selection, and optimize the interface layout (7f5bd35)
  • 🚀 Optimize the menu trigger method for the upload function (8d39f5b)

1.34.1 (2025-12-07)

Performance Improvements

  • 🍻 Improve file manager reliability (9063243)

1.34.0 (2025-12-07)

Features

  • ✨ Introducing a new file icon display component and enhancing the File Explorer dialog. (11be6f1)
  • 🚀 Split the file manager into independent windows and support multiple instances in parallel (f41d853)
  • 🚚 The file manager has been refactored and improved, and more useful features have been added. (5cd5992)

Bug Fixes

  • 🐛 Fixed the conflict between device control bar sorting and click events (18a57b9)
  • 🐛 Fixed the issue of abnormal path display in the file manager address bar (2f63f6f)
  • 🐛 Fixed the issue where Chinese text cannot be saved in file management read and write text (34785dd)

Performance Improvements

  • ♻️ Optimize file manager interaction (b168cc3)
  • ✨ Enable new icon (695e35d)
  • 🌱 Optimize app icon background color and corner radius. (bc4f492)
  • 🌱 Optimize application icon details (55800be)
  • 📝 Optimize the scheduled task list (c666709)
  • 🧑‍💻 Optimize application icon size under macOS (066d81f)
  • 🧑‍💻 Optimize the interactive experience of the device control bar (8388646)
  • 🚀 Improve app icon quality (8a6f4c7)
  • 🚀 Optimize program performance (9af3988)
  • 🚀 Optimize the details of the new version of the icon (db9b19a)
  • 🚀 Optimize the display effect of application icons under windows (e0c221f)
  • 🚀 Optimize the display effect of new icons in smaller sizes (7d91d71)

1.33.0 (2025-11-20)

Features

  • ✨ Add system terminal support (e5c157e)

Bug Fixes

  • 🐛 Fix issue with incorrect address bar path when returning to the previous level in file management (0222675)
  • 🐛 Fix the problem of Windows calling system terminal failure (194689e)
  • 🐛 Fix the problem of Windows terminal injection command failure (fbf88d0)
  • 🐛 Fixed the issue where PowerShell failed to call the system terminal (7beb027)

Performance Improvements

  • 🔖 Optimize interaction of preferred terminal options (900dc69)
  • 🚀 Clean output when closing built-in terminal (c976d4c)
  • 🚀 Optimize system terminal stability (2ffc588)
  • 🚀 Optimize the built-in terminal interaction experience (bb56d5b)

1.32.2 (2025-09-29)

Performance Improvements

  • 🚀 Update to scrcpy v3.3.3 (8566644)

1.32.1 (2025-09-10)

Performance Improvements

  • 🌱 UI details and documentation optimization (5b5bbf7)

1.32.0 (2025-09-08)

Features

  • ✨ Now supports copying device screenshots and recording files to the clipboard (bdb3644)
  • 🚀 Update to scrcpy v3.3.2 (462536c)

Bug Fixes

  • 🐛 Fixed the issue where recorded files could not be copied to the clipboard under Windows (119b518)
  • 🔧 Fixed button loading prompt conflict issue (c323ad6)

Performance Improvements

  • ✅ Provides the function of detecting and migrating configurations when deleting a device (39e0533)
  • 📌 Standardize the device list lifecycle processing flow. IPv6 addresses must be enclosed in [] and the port number cannot be omitted for wireless connections. (93c059d)
  • 🚀 Modify the adb connection method to be compatible with scan connection (e6e8a09)
  • 🚀 Optimize device list connection behavior and configuration migration strategy (8237058)

1.31.3 (2025-09-01)

Performance Improvements

  • 💄 Window layout adapted to dark mode theme (eab402b)

1.31.2 (2025-09-01)

Bug Fixes

  • 🐛 Resolved the issue where the device list could not be displayed due to compatibility issues with certain devices (2c53b77)

Performance Improvements

  • 🚀 Optimization of window arrangement function (33786ab)

1.31.1 (2025-08-29)

Performance Improvements

  • 👷 Remove redundant code comments (ca4e826)

1.31.0 (2025-08-29)

Features

  • ✨ Device lists will now intelligently merge duplicate device entries and share device configurations (52cc4b1)
  • ✨ Now you can arrange your device windows through a graphical interface (91ad249)

Bug Fixes

  • 🐛 Fix typos (a7a3a17)
  • 🐛 Fixed possible sandbox issues on Linux (ff9f9bd)
  • 🐛 Fixed the issue of saving exceptions after adjusting parameters in preference settings (4a18f61)
  • 🐛 Issue not taking effect after restarting the application after switching themes (857c480)

Performance Improvements

  • ♻️ Improve the stability of window arrangement function (7ae3f21)
  • ♻️ Simplify sandbox automatic configuration manager code to improve performance (1b82336)
  • 💄 Improve space utilization of device window layout tools (939a2d2)
  • 🔖 Adjust the order of quick entry functions (ccb59e1)
  • 🔨 Improve the reliability of the linux sandbox configuration tool (6de2538)
  • 🚀 After getting the device list, query and save the SerialNo of each device in preparation for subsequent integration (4464e7e)
  • 🚀 Improve performance by asynchronously storing main interface boundary information (d230c15)
  • 🚀 Optimize the default behavior when adding new widgets to the device window arrangement (1be470a)
  • 🚀 Optimize the layout effect of the task list (044cfcd)
  • 🚀 Optimize the storage strategy for preference Settings (359b9b9)

1.30.2 (2025-07-15)

Performance Improvements

  • ♻️ Optimize device list interaction logic (3812061)
  • 📝 Add Japanese language support (969378f)

1.30.1 (2025-07-14)

Bug Fixes

  • 🐛 Fixed the issue where all configurations would be cleared when resetting the category configuration in preferences (6ee9a92)
  • 🐛 Solve the problem of abnormal display timing when recording related functions are successful (67d279e)
  • 📝 Fixed the issue that special characters in Windows prevented the creation of app shortcut launch (301dac5)

Performance Improvements

  • 📝 Optimized startup app package name display (22eb718)
  • 🔧 Optimized startup APP function interaction (468af22)

1.30.0 (2025-07-14)

Features

  • 🔍️ Optimize the search function of the app (94ccb7b)
  • 🚀 Supports dragging the device control bar to sort (64a98b2)

Bug Fixes

  • 🐛 Fixed the issue of layout flickering when refreshing the device list page (608b8f3)
  • 🐛 Fixed the issue where activating the program on macOS in certain situations would cause the tray to be created repeatedly (cf8e183)
  • 🐛 Fixed the issue where there is a chance of an error when closing the floating control bar on macOS (5c2c711)
  • 🚀 Fix the issue of abnormal program exit behavior under windows (705f8be)

Performance Improvements

  • ♻️ Code structure optimization (595216b)
  • 👥 Control bar sorting supports state synchronization (88abe95)
  • 📝 Optimize the title of the control interface to solve the problem of duplicate device names (06a151d)
  • 🔀 Optimize the storage policy configured in preferences (b9faabf)
  • 🚀 Supports opening using the main monitor when starting the APP (aec9b78)

1.29.9 (2025-06-27)

Performance Improvements

  • 🚀 Update to scrcpy v3.3.1 (a2bb039)

1.29.8 (2025-06-20)

Bug Fixes

  • 🐛 Update scrcpy-server file to solve the problem of not being able to obtain device APP list (63f7135)

1.29.7 (2025-06-16)

Performance Improvements

  • 🚀 Update to scrcpy v3.3 (bbf2335)

1.29.6 (2025-04-27)

Performance Improvements

  • 📝 Added Arabic language support (f6c9fa4)
  • 🚀 File management supports returning to the root directory (2e27443)

1.29.5 (2025-04-17)

Bug Fixes

  • 🐛 Fix the problem of build failure caused by missing dependencies (e34e1c2)

1.29.4 (2025-04-17)

Bug Fixes

  • 🐛 Fixed an issue where some options in preferences could not be turned off (269bd29)

Performance Improvements

  • 💫 Adjust gnirehtet configuration behavior to make it consistent with user operation habits (7507915)
  • 🔍️ Optimize QR code style to avoid scanning problems on some devices (dd3ad6c)
  • 🩹 Add an option to enable keyboard fix on app startup to be compatible with older versions of scrcpy (be89b36)

1.29.3 (2025-04-02)

Performance Improvements

  • 📝 Add docs entry to the program (db5d157)
  • 🚚 Reduce some unnecessary verifications and increase the speed at which equipment starts reverse network supply (c17aaba)

1.29.2 (2025-03-31)

Performance Improvements

  • 🔨 Fixed the problem that some models could not reversely supply the network due to the blocking of installation detection when using Gnirehtet (c5369af)

1.29.1 (2025-03-31)

Performance Improvements

  • 🔊 Expanded audio source options (fc91f07)
  • 🩹 Closing a screen via the control bar no longer requires creating a help window (84c7be7)
  • 🚀 Update to scrcpy v3.2 (57c11af)

1.29.0 (2025-03-27)

Features

  • 🚀 Support adding the open application action to the desktop shortcut. (Not supported on macOS) (add251f)
  • 🚚 Support batch startup mirroring (fcfd78e)

Bug Fixes

  • 🐛 Solve the conflict between floating navigation bar and quick APP launch (460aca1)
  • 🐛 Solve the problem of startup error of development mode under Linux (5c4f65e)

Performance Improvements

  • ✨ The floating control bar supports transparent display when inactive (34f27c5)
  • 👷 Explicitly clean up unnecessary child processes on exit (0549dda)
  • 👽️ Experimental support for adding open application actions to linux desktop shortcuts (6897c0e)
  • 👽️ Experimentally add linux arm64 support (5b033fd)
  • 💄 Optimization of display effect of device list page (305187d)
  • 💫 Support appending gnirehtet custom parameters in configuration (206a030)
  • 🚀 Provide feedback on the application shortcut addition (d7eca8d)

1.28.7 (2025-02-17)

Bug Fixes

  • 🐛 Fixed the issue of duplicate filter conditions in the device list (6c4242c)
  • 🐛 Solved the problem that the main window could not be restored after being moved off the screen in some cases (d054f8d)

Performance Improvements

  • ⬆️ Improved performance of automated mirroring (33a03c3)
  • 💄 Optimize the display effect of horizontal screen screenshots (90c7163)
  • 🚀 The main panel supports single instance startup (c49d22c)

1.28.6 (2025-02-05)

Bug Fixes

  • 🐛 Resolving build errors (d21fa29)

1.28.5 (2025-02-05)

Performance Improvements

  • ✅ File management supports selecting directories for uploading (fd2e639)
  • ⬆️ Improve QR code connection performance (b413889)

1.28.4 (2025-01-13)

Bug Fixes

  • 🐛 Fix the display ID value type error (2b7ee79)
  • 🐛 Solve the problem of IPV6 address connection failure (1a95325)

Performance Improvements

  • ♻️ Improve wireless connection stability (85be898)
  • ⚡️ Optimize the method of obtaining the available displays of the device (9e31c84)
  • 🐛 Improve wireless connection verification method (69fecc3)
  • 👷 Added edge hiding function switch (d25714a)

1.28.3 (2024-12-28)

Performance Improvements

  • ♻️ Optimize device details performance (38d1433)

1.28.2 (2024-12-27)

Performance Improvements

  • 👷 Optimize the edge hiding function (d5caaa9)
  • 📸 Support viewing real-time images and power information of the device (d262adf)

1.28.1 (2024-12-20)

Performance Improvements

  • ♻️ Optimize QR code connection experience (86f5e69)

1.28.0 (2024-12-20)

Features

  • ✨ Support pairing and connecting to devices via QR code (14306b2)
  • 🚀 Supports connecting historical devices via device list (e0687e8)

Bug Fixes

  • 🐛 Solve the problem of Windows disabling video forwarding and crashing (10b902a)

Performance Improvements

  • ♻️ Update mirror icon (c214e5a)
  • ✅ A new method is adopted to solve the problem of IP type configuration storage (5488a1e)
  • 🚀 Optimize device connection experience (0690f2d)
  • 🚀 Supports display of offline devices (dcf817f)

1.27.7 (2024-12-10)

Performance Improvements

  • 🚀 Update to scrcpy v3.1 (7c74c71)

1.27.6 (2024-12-05)

Bug Fixes

  • ♻️ Fixed repeated dependency issues (9777622)

Performance Improvements

  • ♻️ Optimized contextBridge related improvements for stability (0e098c3)
  • ♻️ Reduce build package size by removing redundant dependencies (7b61b25)
  • 🚀 Update to scrcpy v3.0.2 (7510548)

1.27.5 (2024-11-29)

Performance Improvements

  • ➖ Remove redundant console (9a67142)

1.27.4 (2024-11-29)

Bug Fixes

  • 🐛 Fix automatic release (c2254aa)
  • 🐛 Fixed an issue where macos built-in updates failed (432eceb)

1.27.3 (2024-11-28)

Bug Fixes

  • 🐛 Fix for built-in scrcpy not supporting x64 macos (0d60655)

Performance Improvements

  • ♻️ Improved device connection stability (1d603ab)
  • ♻️ Optimized the adb daemon startup failure detection mechanism (ca6be85)
  • 🧑‍💻 Improve device-based terminal experience (88a0356)

1.27.2 (2024-11-26)

Bug Fixes

  • 🐛 Start app to adapt to dark mode (ae13fde)

1.27.1 (2024-11-25)

Bug Fixes

  • 🐛 Make StartApp compatible with scrcpy v3.0 (1082e0d)

Performance Improvements

  • 🚀 Adjust options to support scrcpy v3.0 (0602676)
  • 🚀 Update to scrcpy v3.0 (bf06382)

1.27.0 (2024-11-21)

Features

  • ✨ Support edge hiding function (14a81de)

Performance Improvements

  • ⬆️ Optimize edge hiding performance (74a91a4)

1.26.4 (2024-11-14)

Bug Fixes

  • 🐛 Temporarily disable scrcpy integration in macOS (9bf4d5c)

1.26.3 (2024-11-08)

Bug Fixes

  • 🐛 Fix device support audio and video encoding cannot be parsed (9b7f6a9)
  • 🐛 Restore the --display-buffer parameter to solve the mirroring problem (0f3d869)

Performance Improvements

  • ♻️ Support interruption during waiting for wireless connection (344b385)
  • ♻️ Supports retrieving a list of applications (b1a6ba7)
  • ⚡️ Optimize startup application performance (8e94494)

1.26.2 (2024-11-06)

Bug Fixes

  • 🐛 Fix linux build errors (9b43dc0)

1.26.1 (2024-11-06)

Performance Improvements

  • ♻️ No longer building universal packages for macOS (db5deb4)

1.26.0 (2024-11-06)

Features

  • ✨ Integrate scrcpy binaries for macos (85bf096)
  • ✨ Supports starting applications for mirroring (d19e781)

Bug Fixes

  • 🐛 Rename --display-buffer to --video-buffer (b2bb0ae)
  • 🐛 Repair floating action bar start application error (487e7e2)
  • 🩹 Restore the windows build configuration (9491069)

Performance Improvements

  • ♻️ Adjust the position of the start application button (9833932)
  • ♻️ When the application fails to start, display the error message (dbc34d6)
  • ⚡️ Improve the start APP experience (29e5e1b)

1.25.5 (2024-11-05)

Performance Improvements

  • ⚡️ Optimize the stability of options that need to dynamically obtain parameters in preference settings (39bbc98)

1.25.4 (2024-10-31)

Performance Improvements

  • ♻️ Enhance recording stability (3dd7525)
  • ♻️ Optimize camera recording stability (952b2a7)
  • 💄 Normalize control window titles and generated file names (ccc7f0e)

1.25.3 (2024-10-29)

Bug Fixes

  • 🔧 Camera recording and screen off configuration conflict (4508758)

Performance Improvements

  • 🔧 Temporarily disable scheduled tasks that are too far away (be5e639)

1.25.2 (2024-10-29)

Bug Fixes

  • 🐛 Resolve default recording error (358064e)

1.25.1 (2024-10-28)

Miscellaneous Chores

1.25.0 (2024-10-28)

Features

  • ✨ Support to close the device screen when controlling (a84c775)
  • 📸 Enhanced recording (7f10161)

Performance Improvements

  • ♻️ Optimize camera recording (4be2cf4)
  • ♻️ Script and directory structure optimization (68378ef)
  • ⚗️ Experimental support for turning off screen controls (9555f58)
  • ⚡️ Optimize scrcpy parameter conversion performance (18dcd24)
  • 💄 Improved Russian display (ca79e1b)
  • 📸 Recording camera support (10d0370)

1.24.3 (2024-10-21)

Performance Improvements

  • 💄 Optimize Russian display effect (5ca39ae)

1.24.2 (2024-09-16)

Bug Fixes

  • 🐛 Fix the mirror group bug (cd7d9cd)

1.24.1 (2024-09-16)

Performance Improvements

  • ✨ Update to scrcpy@2.7 to support the gamepad (0053e87)
  • ⬆️ Optimize the performance of the floating control bar (a1c60ec)
  • 🚀 Extended floating control bar function (790e703)

1.24.0 (2024-09-12)

Features

  • ✨ Support floating control bar (8807e50)

Performance Improvements

  • ✅ Support switching devices on the floating control bar (50440f5)
  • 💄 Optimize preference setting button layout (47ae53d)

1.23.6 (2024-09-09)

Bug Fixes

  • 🐛 Fixed the problem of minimizing the visibility of tray icons (b0f42aa)
  • 🐛 Repair ADB timeout problems (b5bffc5)

1.23.5 (2024-09-09)

Performance Improvements

  • ♻️ Improve ADB connection stability (7655ba6)

1.23.4 (2024-09-08)

Bug Fixes

  • 🐛 Repair part of internationalization Lost dynamics (d18444f)

1.23.3 (2024-09-08)

Performance Improvements

  • ♻️ Optimize the performance of equipment interaction column and file manager (41ffcf5)

1.23.2 (2024-09-07)

Performance Improvements

  • 🚀 Support file manager upload to the current directory (737c2a3)

1.23.1 (2024-09-07)

Performance Improvements

  • ⬆️ Update dependencies (8b03862)

1.23.0 (2024-09-07)

Features

  • ✨ Support graphic file manager (8155723)
  • 🚀 Initially add a new file manager (94ee007)

Performance Improvements

1.22.4 (2024-08-03)

Bug Fixes

  • 🐛 plan task Remove operation bug (5205935)

Performance Improvements

1.22.3 (2024-08-03)

Performance Improvements

  • ♻️ Update scrcpy to 2.6.1 (1eef9d2)

1.22.2 (2024-07-25)

Performance Improvements

  • 💄 Optimize the display effect of the dark mode (38f854b)
  • 💄 Optimize the display effect of the quick operation bar (7b3c4db)
  • 💄 Optimize the display effect of the tabs bar (5b2d41c)

1.22.1 (2024-07-25)

Bug Fixes

  • 🐛 Fixed asset publishing issues (222f626)

1.22.0 (2024-07-25)

Features

  • 🚀 Add a scheduled task list (d72202b)
  • 🚀 Add basic timing task function (04a7608)
  • 🚀 Add timing task entrance (8393c85)
  • 🚀 添加定时任务入口 (6ce66d4)

Bug Fixes

  • 🐛 The internationalization problem of repairing path selector (8e6af20)
  • 💄 Optimize wireless connection user interface (50ae742)

Performance Improvements

  • 💄 Optimization of the operation bar at the top of the equipment list (81bd3d9)
  • 💄 Optimized operation button layout (16f9535)

1.21.4 (2024-07-14)

Performance Improvements

  • ♻️ Optimize custom startup performance (abd468b)
  • ♻️ Perfect allSettledWrapper method (5b7d0af)

1.21.3 (2024-07-13)

Bug Fixes

  • Fix the width problem of custom startup pop-up windows (9a7e56b)

1.21.2 (2024-07-13)

Bug Fixes

  • 🐛 Fix terminal style abnormalities in dark theme (3d4dc7c)

Performance Improvements

  • ♻️ Improve code robustness (2f389af)
  • 🚀 Optimize batch operation interaction (343eab2)

1.21.1 (2024-07-13)

Bug Fixes

  • 🐛 Fix dependency build errors (5b02621)

1.21.0 (2024-07-13)

Features

  • 🎉 Support batch execution script function (8097022)
  • 🚀 Support execution script function (2013413)

Bug Fixes

  • 🐛 Repair the problem of equipment width in the English state (25c42d9)
  • 📝 Update Translation (33b0181)

Performance Improvements

  • ✅ Support batch screenshot and other performance optimization (db9e3e7)
  • ✨ Support for custom startup mirroring (677f30c)
  • 🐛 Fix the problem of frequently trigger preservation of preferences (8261916)

1.20.1 (2024-07-04)

Bug Fixes

  • 🐛 Fix batch text spelling errors (062c689)

1.20.0 (2024-07-04)

Features

  • ✨ Add batch installation application function (37ce245)

Performance Improvements

  • 🚀 Add mouse binding options (7ee4ba4)

1.19.4 (2024-07-02)

Bug Fixes

  • 🐛 Fix terminal style problems (9fc1ded)
  • Update Chinese language translations (b8d77e3)

Performance Improvements

  • 🚀 Update to scrcpy v2.5 (22cc5a3)

1.19.3 (2024-06-13)

Bug Fixes

  • 🐛 Abnormal operations cause the program that cannot be closed (b989140)

1.19.2 (2024-06-03)

Bug Fixes

  • 🐛 Automatically apply local languages (0cc8208)

1.19.1 (2024-05-26)

Bug Fixes

  • 🐛 In some cases, the light mode is abnormal (ea227e0)
  • 🐛 Search for shortcut key conflicts (c70e6ca)

Performance Improvements

1.19.0 (2024-05-15)

Features

  • 🚀 Add page search function (6dd8244)
  • 🚀 Update dependencies to support ESM (9f1696f)

Bug Fixes

  • 🐛 Resolving build failures (8460945)
  • 🐛 Tips unavailable (603e4e9)

Performance Improvements

  • ♻️ FindInPage API (fcf8269)
  • ♻️ Optimize dark mode (2f2e1cf)
  • ♻️ Search interaction (a195b7e)
  • ♻️ Search variable name (7c55e50)
  • 🐛 Global search error (091d503)
  • 🚀 优化页面查找工具性能 (8587977)

1.18.4 (2024-05-04)

Bug Fixes

  • 🐛 Wireless adb does not support Spaces (1f27597)

1.18.3 (2024-04-12)

Performance Improvements

  • ♻️ i18n configuration (1ca0469)

1.18.2 (2024-04-11)

Bug Fixes

  • 🐛 zh_TW Language support (885af3a)

1.18.1 (2024-04-11)

Bug Fixes

  • 🔧 Repair merge zh-TW failed (81ff63f)

Performance Improvements

1.18.0 (2024-04-11)

Features

  • Add a simple zh_TW Traditional Chinese locale (cec6539)

1.17.8 (2024-03-29)

Bug Fixes

  • 🐛 Camera configuration conflict (07cc5f3)
  • 🐛 OTG configuration conflict (576d287)
  • 🐛 OTG mode: could not turn screen off (c5bed0e)

1.17.7 (2024-03-27)

Bug Fixes

  • ♻️ Remove the redundant imports (a06708f)

Performance Improvements

  • ♻️ Optimize delete history logic (780e3b9)
  • ♻️ Support delete historical connection (c82560f)
  • 💄 Wireless style optimization (ba51fe3)

1.17.6 (2024-03-21)

Performance Improvements

  • ♻️ Supports automatic execution of mirrors on devices (11e0884)

1.17.5 (2024-03-17)

Performance Improvements

1.17.4 (2024-03-14)

Performance Improvements

  • ♻️ Options in the preference settings (dc711cb)

1.17.3 (2024-03-13)

Performance Improvements

  • ♻️ Remove console log (6e25eb7)

1.17.2 (2024-03-10)

Bug Fixes

  • 🐛 Abnormal built-in terminal adb command (368551a)

Performance Improvements

  • ♻️ Update eslint config (bf2d2b4)

1.17.1 (2024-03-05)

Performance Improvements

  • ♻️ Interactive logic optimization (193f80a)
  • ♻️ Optimize design and code (d507c2d)
  • ♻️ Optimize equipment operation (389ac33)
  • ➖ Remove redundant packages (f9e4a0e)
  • 💄 Optimize dark mode styles (1cac054)

1.17.0 (2024-03-04)

Features

  • 🎉 Update to scrcpy v2.4 (02a4d39)

1.16.8 (2023-12-27)

Bug Fixes

  • 🐛 The maximum size description error (01fd926)

1.16.7 (2023-12-19)

Performance Improvements

1.16.6 (2023-12-19)

Miscellaneous Chores

1.16.5 (2023-12-19)

Performance Improvements

  • 📝 Control in stop charging (8707eb5)

1.16.4 (2023-12-19)

Bug Fixes

  • 🐛 Pairing code type issue (889fe8c)

1.16.3 (2023-12-03)

Performance Improvements

  • 🚀 Update scrcpy v2.3.1 (3566655)

1.16.2 (2023-12-02)

Bug Fixes

1.16.1 (2023-11-26)

Bug Fixes

1.16.0 (2023-11-26)

Performance Improvements

Miscellaneous Chores

1.15.0 (2023-11-18)

Features

  • 添加投屏窗口大小控制 (97d7868)

Performance Improvements

  • 🚀 Add window position option (866aa2c)

1.14.3 (2023-11-17)

Performance Improvements

  • ♻️ Add context menu (f0f25a7)
  • ♻️ Optimize extended menu bar interaction (de9352c)
  • 📝 Optimization preferences description (30eca50)

1.14.2 (2023-11-16)

Performance Improvements

  • ♻️ Optimize autoConnect historical devices (755a130)
  • 💡 Add autoConnect option (a57b847)

1.14.1 (2023-11-14)

Bug Fixes

  • 🐛 Abnormal terminal theme (20d37c1)

1.14.0 (2023-11-14)

Features

  • 🎉 Add Terminal Debugging (fdf40c7)

Performance Improvements

  • ♻️ Optimize terminal performance (d3afc4b)
  • 💄 Update terminal style (5b6b8d1)
  • 🚨 Optimization error prompt (b759502)

1.13.5 (2023-11-11)

Performance Improvements

  • ♻️ Mirror group shutdown logic (296e21d)
  • ♻️ Optimize mirror group (5793c24)

1.13.4 (2023-11-10)

Performance Improvements

  • ♻️ Optimization updater (61ccd4a)
  • ♻️ Optimize mirror group (81c007f)

1.13.3 (2023-11-10)

Bug Fixes

  • 🐛 Recording prompt and file format errors (bfdad9e)

Performance Improvements

  • ♻️ Optimize Batch connection performance (36de67b)
  • ♻️ Optimize file push prompts (4a3575f)
  • ♻️ Optimize historical device connections (83f8c04)
  • ✨ Support bulk connecting to historical devices (b7eb1dd)

1.13.2 (2023-11-09)

Bug Fixes

Performance Improvements

  • ♻️ Configure Incompatible Handling Mechanism (c0e6a01)
  • ♻️ Optimize gnirehtet (de3555b)
  • 💄 Optimize volume control and gnirehtet (b40bdcf)
  • 🚀 Add File push function (70f8b46)
  • 🚀 Add screen rotation shortcut menu (dd601df)

1.13.1 (2023-11-08)

Performance Improvements

  • ♻️ Adjust volume control position (1b3f49e)
  • ♻️ Optimize configuration file logic (5f8cc5a)
  • 🚀 Add volume control (1505518)

1.13.0 (2023-11-07)

Features

  • 🎉 Add mirror group function (0c9d36f)

Bug Fixes

Performance Improvements

  • ♻️ Optimize mirror group (cf9c82d)
  • ♻️ optimize mirror group tips (46defbf)
  • ♻️ Optimize preferences (7a6417e)
  • ♻️ Optimize window control (0530ed3)
  • 💄 Update styles (37da97b)
  • 🚀 Add camera options (5a04b4c)

1.12.4 (2023-11-03)

Bug Fixes

  • 🐛 MacOS reduced to the tray to evoke failure (d7bf83b)

1.12.3 (2023-11-03)

Bug Fixes

  • 🐛 MacOS reduced to the tray to evoke failure (6153bc4)

1.12.2 (2023-11-03)

Bug Fixes

1.12.1 (2023-11-03)

Bug Fixes

  • 🐛 Add gnirehtet fix option (f9c6c32)
  • 🐛 Display options cannot be changed (3046746)
  • 🐛 Preference style (0f72090)
  • 🐛 Reset preferences language not restored (d691780)
  • 🐛 Unable to update path selector (3279c34)
  • 🐛 Video codec preset error (1af9abd)

Performance Improvements

  • ♻️ optimize Codec (6154ffc)
  • ♻️ Optimize recording (f4dfb2c)
  • 🎨 Update preferences style (e9befea)

1.12.0 (2023-11-02)

Features

  • 🎉 Update Scrcpy to v2.2 (5c401a8)

Bug Fixes

Performance Improvements

1.11.9 (2023-10-31)

Performance Improvements

  • ♻️ Optimization gnirehtet and scrcpy (9cf800c)
  • ♻️ Optimize Gnirehtet interaction (a90e570)

1.11.8 (2023-10-31)

Bug Fixes

  • 🎨 修复 macOS 设置主题跟随系统后 某些情况下循环触发导致死循环的问题 (1d7b188)

1.11.7 (2023-10-31)

Bug Fixes

  • 🐛 macOS x64ArchFiles Errors (151cb29)

1.11.6 (2023-10-31)

Bug Fixes

  • 🐛 macOS x64ArchFiles Errors (7dbca01)

1.11.5 (2023-10-31)

Bug Fixes

  • 🐛 macOS x64ArchFiles Errors (ad3f77f)

1.11.4 (2023-10-31)

Bug Fixes

  • 🐛 macOS x64ArchFiles Errors (4b4e116)

1.11.3 (2023-10-31)

Bug Fixes

  • 🐛 Unix permission issues (1279994)
  • 🐛 Unix permission issues (dc9a3c4)
  • 🐛 x64ArchFiles Error (82a99d9)

1.11.2 (2023-10-30)

Bug Fixes

  • 🐛 修复 macOS 打包失败的问题 (1b2236c)

1.11.1 (2023-10-30)

Bug Fixes

  • 🐛 修复 macOS 打包失败的问题 (37e2837)

1.11.0 (2023-10-30)

Features

  • 🎉 Add gnirehtet reverse tethering function (2c97189)

Bug Fixes

  • 🐛 gnirehtet custom dependent paths error (cfd0e1d)

Performance Improvements

  • ♻️ Optimize Gnirehtet interaction (e1237cd)
  • ♻️ 拆分依赖文件禁用冗余的警告信息 (93ad836)
  • ♻️ 目录结构及描述调整 (f9a32d6)
  • ♻️ 补充依赖及目录结构调整 (b18256b)

1.10.2 (2023-10-28)

Bug Fixes

  • 🐛 修复设置主题跟随系统后没有生效的问题 (95a83f4)

1.10.1 (2023-10-28)

Bug Fixes

  • 🐛 修复 linux 无法启动镜像或录制服务以及修改自定义依赖目录的问题 (d815643)

1.10.0 (2023-10-27)

Features

  • 🚀 新增支持 深色模式、国际化语言、运行日志等功能 (4b13f58)

Bug Fixes

  • 🐛 修复 linux 打包后图标丢失的问题 (217d82d)
  • 🐛 修复安装路径包含空格会导致无法启动服务的问题 (29ae786)
  • 🐛 修复录制结束点击取消异常弹窗以及点击重启服务没有反应的问题 (054c55b)
  • 🔧 修复自定义路径功能没有生效的问题 (894b581)

Performance Improvements

1.9.1 (2023-10-24)

Performance Improvements

  • 💄 窗口控制及交互逻辑优化 (52514e2)

1.9.0 (2023-10-24)

Features

  • 🚀 添加 i18n 初步支持 (18d490f)

Bug Fixes

  • 🐛 修复 macOS 最小化到托盘后状态栏图标不显示的问题 (a789826)

1.8.17 (2023-10-23)

Bug Fixes

  • 🐛 尝试修复构建失败 (daeb9e5)

1.8.16 (2023-10-23)

Performance Improvements

  • ✨ 采用新的 Logo 设计 (3bf79d3)

1.8.15 (2023-10-22)

Bug Fixes

  • 🐛 修复 Linux 平台启动白屏无法正常使用的问题 (54e713b)

1.8.14 (2023-10-21)

Bug Fixes

  • 🐛 修复 linux 打包配置错误的问题 (a9668d9)

1.8.13 (2023-10-21)

Performance Improvements

  • 🚀 为 windows 添加 ARM64 软件包编译 (368e8ee)
  • 🚀 支持所有平台在点击关闭按钮时选择是否保存到托盘中的功能 (8360198)

1.8.12 (2023-10-21)

Bug Fixes

  • 🐛 修复 macOS 或 linux 下自定义依赖选项描述错误的问题 (0d4b1ce)

1.8.11 (2023-10-21)

Performance Improvements

  • 🔨 优化窗口默认大小 (393e899)

1.8.10 (2023-10-20)

Bug Fixes

  • 🐛 修复 macOS 窗口问题 (f768566)

1.8.9 (2023-10-20)

Bug Fixes

  • 🐛 修复 macOS 窗口过小导致出现横向滚动条的问题 (8ee34ca)

1.8.8 (2023-10-20)

Bug Fixes

  • 🚀 修复 macOS 简单关闭应用重新打开时报错的问题 (4b259c3)

1.8.7 (2023-10-20)

Bug Fixes

  • 🐛 修复打包多个平台时可能生成重复文件导致发布软件包失败的问题 (e89a7a5)

1.8.6 (2023-10-20)

Bug Fixes

  • 🔧 修复 macOS 无法正确获取系统依赖路径的问题 (2352593)

1.8.5 (2023-10-20)

Bug Fixes

  • 🚑️ 修复 Linux maintainer 问题 (4e1542a)

1.8.4 (2023-10-20)

Bug Fixes

  • 🚑️ 修复 Linux 打包失败的问题 (96f85d8)

1.8.3 (2023-10-20)

Bug Fixes

  • 🚀 修复 MacOS 软件包安装后无线显示 Logo 的问题 (77dd81b)

1.8.2 (2023-10-20)

Bug Fixes

  • 🔧 修复 Linux 及 MacOS 获取默认依赖路径异常的问题 (87b533f)
  • 🔧 修复 MacOS ARM64 版本打包失败的问题 (e9a8fc2)

1.8.1 (2023-10-20)

Performance Improvements

  • 🚀 支持创建更多架构的 MacOS 软件包格式 (4780e7c)

1.8.0 (2023-10-20)

Features

  • 🚀 初步添加对 Linux 以及 MacOS 的支持 (569ed2e)

Bug Fixes

  • 📝 偏好设置描述信息修改 (23d68d4)
  • 🔧 设备列表标签显示细节调整 (4f2f00e)

Performance Improvements

  • 📝 设备备注文本框描述信息调整 (379b325)

1.7.1 (2023-10-20)

Bug Fixes

  • 🚀 修复对设备进行独立配置时的一些问题 (6ccd6d0)

Performance Improvements

  • 🎉 初步支持设置偏好设置的作用域范围 (5dd328c)

1.7.0 (2023-10-19)

Features

  • 🚀 新增支持导入及导出配置 (326a133)
  • 🚀 新增支持添加设备备注 (43f15be)

Performance Improvements

  • ➕ 设备交互栏添加重启设备及打开通知栏功能 (1341fb8)

1.6.10 (2023-10-18)

Performance Improvements

  • 🚀 采用新的方法实现所有进程共享 isPackaged (8a5f7d9)

1.6.9 (2023-10-17)

Bug Fixes

  • 🔧 优化 isPackaged 判断条件解决某些情况下资源路径解析异常的问题 (fbd1885)

1.6.8 (2023-10-17)

Performance Improvements

  • 🚀 支持通过操作栏安装应用并提供相应安装反馈 (3bd2075)

1.6.7 (2023-10-17)

Performance Improvements

  • 📝 去除冗余的依赖项 (a6744dc)

1.6.6 (2023-10-17)

Bug Fixes

  • 🐛 build fix (09c8dee)
  • 🐛 修复 electron 资源路径问题 (955756e)

1.6.5 (2023-10-16)

Bug Fixes

  • 🐛 修复 App NextTick 错误 (79d85eb)

1.6.4 (2023-10-16)

Bug Fixes

  • 🐛 修复 electron-builder 配置异常导致打包的文件无法发布的问题 (9a4efa5)
  • 🚀 修复设备列表按钮状态变更影响布局变化的问题 (83a8043)

1.6.3 (2023-10-16)

Bug Fixes

  • 🐛 修复打包后图标丢失的问题 (58a66f1)

1.6.2 (2023-10-13)

Bug Fixes

  • 🐛 修复USB未授权设备导致无线连接地址变为假值的问题 (9c25325)

1.6.1 (2023-10-13)

Performance Improvements

  • 🔨 自定义通用的文件存储路径相关逻辑完善 (8455e86)

1.6.0 (2023-10-13)

Features

  • 🚀 增加了对设备交互控制栏的支持 (fd20736)

1.5.3 (2023-10-13)

Bug Fixes

  • 🔧 修复点击无线模式没有反应的问题 (9d55ef9)

1.5.2 (2023-10-13)

Bug Fixes

  • 📝 修复高级配置标题语义不明的问题 (218de1c)

Performance Improvements

  • 🚀 添加更多的高级配置并更新文档 (922abd2)

1.5.1 (2023-10-12)

Bug Fixes

  • 🐛 去除页面组件冗余参数 (8e5df15)

1.5.0 (2023-10-12)

Features

  • 🚀 添加音视频录制功能以及更多的高级选项 (b6986d1)

1.4.1 (2023-10-12)

Bug Fixes

  • 🐛 修复检查更新失败没有提示的问题 (6f733ea)

1.4.0 (2023-10-11)

Features

  • 🚀 添加在线检查更新功能 (8de04e0)

Bug Fixes

  • 🔨 修复无线配对时表单验证错误 (7cd9ea3)
  • 🔨 修复直接进行无线连接时没有处理配对设备的问题 (4263d07)

1.3.3 (2023-09-26)

Bug Fixes

  • 🐛 修复触摸点配置描述错误的问题 (4e2be23)

1.3.2 (2023-09-19)

Bug Fixes

  • 🔧 修复旋转屏幕配置异常的问题 (af7a319)

1.3.1 (2023-09-19)

Bug Fixes

  • 🔧 修复图标不透明的问题 (24c011f)

1.3.0 (2023-09-19)

Features

  • ✨ 用户界面进行优化,制作了合适的 Logo (1b96ffc)

1.2.0 (2023-09-19)

Features

  • 🎉 优化设备界面视图并添加虚拟控制栏配置 (3be0682)

1.1.0 (2023-09-18)

Features

  • 🚀 增加了常用的 Scrcpy 高级配置 (ac52df2)

1.0.2 (2023-09-18)

Performance Improvements

  • 🚀 合并无线连接及有线连接到设备列表 (e84f24e)

1.0.1 (2023-09-16)

Bug Fixes

  • 🔧 去除未测试环境的打包以修复构建失败的问题 (d6ec7fd)

1.0.0 (2023-09-16)

Features

  • 📝 添加基本的有线连接支持 (647a0c5)
  • 🚀 添加 Electron 基本支持 (a46a5e1)
  • 🚀 添加初步的构建及发布支持 (c85f8fb)
  • 🚀 添加基本的无线连接功能 (6dd2db9)

Bug Fixes

  • 🔧 修复 ADB 环境变量配置错误导致无法连接的问题 (9ef7203)

Released under the MIT License.

- + \ No newline at end of file diff --git a/zhHans/contact.html b/zhHans/contact.html index fee4cd286..32f9b28f4 100644 --- a/zhHans/contact.html +++ b/zhHans/contact.html @@ -9,11 +9,11 @@ - + - + - + @@ -21,10 +21,10 @@ -
Skip to content

+

- + \ No newline at end of file diff --git a/zhHans/donate.html b/zhHans/donate.html index 85e24104f..5f865db75 100644 --- a/zhHans/donate.html +++ b/zhHans/donate.html @@ -9,11 +9,11 @@ - + - + - + @@ -21,10 +21,10 @@ -
Skip to content

捐赠项目♥️

如果该项目帮到你的话,可以请我喝杯咖啡,让我更有精神完善该项目 😛

viarotel-wepayviarotel-alipayviarotel-paypal

+

- + \ No newline at end of file diff --git a/zhHans/guide/index.html b/zhHans/guide/index.html index a9f99b6f4..392e35604 100644 --- a/zhHans/guide/index.html +++ b/zhHans/guide/index.html @@ -9,11 +9,11 @@ - + - + - + @@ -21,10 +21,10 @@ -
Skip to content

Escrcpy:基于Electron的图形化安卓设备控制工具

什么是Escrcpy?

Escrcpy是一款基于Electron开发的图形化安卓设备控制工具。它基于知名的开源项目Scrcpy构建,为用户提供了更加友好且功能丰富的图形界面。通过Escrcpy,用户可以轻松地在电脑上显示并控制安卓设备,享受高清、低延迟的投屏体验。

核心功能

高效稳定的投屏体验

  • ⚡️ 高性能:支持30-120 fps(取决于设备性能)
  • 🌟 高质量:支持1920×1080或更高分辨率显示
  • 🕒 低延迟:延迟仅35~70毫秒
  • 🚀 快速启动:约1秒即可显示首帧画面

丰富的功能特性

  • 📡 无线连接:支持通过扫码快速连接设备
  • 🤖 自动化:自动连接设备、自动执行投屏、自定义脚本及定时任务
  • 💡 高度可定制:多设备管理、独立配置、自定义备注、配置导入导出
  • 🖥️ 窗口编排:可视化多设备窗口布局管理,支持拖拽调整位置和尺寸
  • 🔗 反向网络共享:内置Gnirehtet反向网络共享功能
  • 🎨 主题切换:支持浅色/深色模式,随系统自动切换

优化的用户体验

  • 😎 轻量化:原生支持,仅显示设备屏幕
  • 🙅‍♂️ 无残留:不会在安卓设备上留下任何痕迹
  • 🤩 纯净体验:无需账户、无广告、无需联网
  • 🗽 完全免费开源

使用场景

Escrcpy非常适合以下场景:

  1. 开发者在电脑上调试安卓应用
  2. 游戏玩家在大屏幕上畅玩手游
  3. 需要录制手机屏幕内容的用户
  4. 工作中需在电脑上操作手机的情况
  5. 教学时演示手机操作

跨平台支持

Escrcpy支持主流操作系统:

  • Windows
  • macOS
  • Linux

技术优势

作为Scrcpy的图形界面版本,Escrcpy保留了Scrcpy的全部优点,同时新增了:

  • 更直观的设备管理界面
  • 更便捷的连接方式
  • 更丰富的自定义选项
  • 更完善的批量操作功能

未来发展

项目团队将持续完善Escrcpy,未来计划包括:

  • 优化投屏窗口位置与大小的设置方式
  • 提升批量设备连接体验
  • 开发图形化脚本编辑工具

如何使用

Escrcpy是一个完全免费的开源项目,具体使用方法请参考:

快速开始 👉

结语

Escrcpy为Scrcpy带来了现代化的图形界面和增强功能,让安卓设备控制变得更简单高效。无论你是开发者还是普通用户,Escrcpy都能为你提供出色的设备控制体验。其开源免费的特性,也让更多人能够毫无顾虑地使用这一优秀工具。

如果你正在寻找一款强大且易用的安卓设备控制工具,Escrcpy绝对值得一试!

+

Skip to content

Escrcpy:基于Electron的图形化安卓设备控制工具

什么是Escrcpy?

Escrcpy是一款基于Electron开发的图形化安卓设备控制工具。它基于知名的开源项目Scrcpy构建,为用户提供了更加友好且功能丰富的图形界面。通过Escrcpy,用户可以轻松地在电脑上显示并控制安卓设备,享受高清、低延迟的投屏体验。

核心功能

高效稳定的投屏体验

  • ⚡️ 高性能:支持30-120 fps(取决于设备性能)
  • 🌟 高质量:支持1920×1080或更高分辨率显示
  • 🕒 低延迟:延迟仅35~70毫秒
  • 🚀 快速启动:约1秒即可显示首帧画面

丰富的功能特性

  • 📡 无线连接:支持通过扫码快速连接设备
  • 🤖 自动化:自动连接设备、自动执行投屏、自定义脚本及定时任务
  • 💡 高度可定制:多设备管理、独立配置、自定义备注、配置导入导出
  • 🖥️ 窗口编排:可视化多设备窗口布局管理,支持拖拽调整位置和尺寸
  • 🔗 反向网络共享:内置Gnirehtet反向网络共享功能
  • 🎨 主题切换:支持浅色/深色模式,随系统自动切换

优化的用户体验

  • 😎 轻量化:原生支持,仅显示设备屏幕
  • 🙅‍♂️ 无残留:不会在安卓设备上留下任何痕迹
  • 🤩 纯净体验:无需账户、无广告、无需联网
  • 🗽 完全免费开源

使用场景

Escrcpy非常适合以下场景:

  1. 开发者在电脑上调试安卓应用
  2. 游戏玩家在大屏幕上畅玩手游
  3. 需要录制手机屏幕内容的用户
  4. 工作中需在电脑上操作手机的情况
  5. 教学时演示手机操作

跨平台支持

Escrcpy支持主流操作系统:

  • Windows
  • macOS
  • Linux

技术优势

作为Scrcpy的图形界面版本,Escrcpy保留了Scrcpy的全部优点,同时新增了:

  • 更直观的设备管理界面
  • 更便捷的连接方式
  • 更丰富的自定义选项
  • 更完善的批量操作功能

未来发展

项目团队将持续完善Escrcpy,未来计划包括:

  • 优化投屏窗口位置与大小的设置方式
  • 提升批量设备连接体验
  • 开发图形化脚本编辑工具

如何使用

Escrcpy是一个完全免费的开源项目,具体使用方法请参考:

快速开始 👉

结语

Escrcpy为Scrcpy带来了现代化的图形界面和增强功能,让安卓设备控制变得更简单高效。无论你是开发者还是普通用户,Escrcpy都能为你提供出色的设备控制体验。其开源免费的特性,也让更多人能够毫无顾虑地使用这一优秀工具。

如果你正在寻找一款强大且易用的安卓设备控制工具,Escrcpy绝对值得一试!

Released under the MIT License.

- + \ No newline at end of file diff --git a/zhHans/guide/milestones.html b/zhHans/guide/milestones.html index 38458f9f9..8fd5d38ee 100644 --- a/zhHans/guide/milestones.html +++ b/zhHans/guide/milestones.html @@ -9,11 +9,11 @@ - + - + - + @@ -21,10 +21,10 @@ -
Skip to content

里程碑

优先级从高到低:

  • 优化Logo设计 ✅
  • 软件更新功能 ✅
  • 录制并保存音视频 ✅
  • 设备快捷交互控制栏 ✅
  • 自定义Adb和Scrcpy依赖项 ✅
  • 自定义设备名称 ✅
  • 导出和导入偏好设置 ✅
  • 单独设备配置 ✅
  • 支持macOS和Linux系统 ✅
  • 国际化支持 ✅
  • 深色模式 ✅
  • 反向网络共享(Gnirehtet)✅
  • 摄像头镜像 ✅
  • 多屏协同 ✅
  • 文件推送、屏幕旋转、音频控制 ✅
  • 批量连接历史设备 ✅
  • 内置终端 ✅
  • 自动执行镜像 ✅
  • 灵活启动镜像 ✅
  • 批量处理 ✅
  • 计划任务 ✅
  • 图形化文件管理器 ✅
  • 悬浮控制栏 ✅
  • 增强版录制功能 ✅
  • 启动APP(多线程) ✅
  • 主窗口边缘隐藏 ✅
  • 设备分组(通过备注筛选) ✅
  • 改进历史设备连接体验 ✅
  • 文件管理支持上传目录 ✅
  • 支持添加打开APP到桌面快捷方式(仅Windows) ✅
  • 支持设备批量启动 ✅
  • 支持通过可视化编排工具控制各设备的窗口布局 ✅
  • 整合同一设备的不同连接方式和配置,提升用户体验 ✅
  • 增强设备文件管理器 ✅
  • 集成 AutoGLM 无需脚本使用自然语言控制你的安卓设备 ✅
  • 重构主进程架构,提升性能和稳定性 ✅
  • 通过可视化编排工具支持脚本的自动化 🚧

+

Skip to content

里程碑

优先级从高到低:

  • 优化Logo设计 ✅
  • 软件更新功能 ✅
  • 录制并保存音视频 ✅
  • 设备快捷交互控制栏 ✅
  • 自定义Adb和Scrcpy依赖项 ✅
  • 自定义设备名称 ✅
  • 导出和导入偏好设置 ✅
  • 单独设备配置 ✅
  • 支持macOS和Linux系统 ✅
  • 国际化支持 ✅
  • 深色模式 ✅
  • 反向网络共享(Gnirehtet)✅
  • 摄像头镜像 ✅
  • 多屏协同 ✅
  • 文件推送、屏幕旋转、音频控制 ✅
  • 批量连接历史设备 ✅
  • 内置终端 ✅
  • 自动执行镜像 ✅
  • 灵活启动镜像 ✅
  • 批量处理 ✅
  • 计划任务 ✅
  • 图形化文件管理器 ✅
  • 悬浮控制栏 ✅
  • 增强版录制功能 ✅
  • 启动APP(多线程) ✅
  • 主窗口边缘隐藏 ✅
  • 设备分组(通过备注筛选) ✅
  • 改进历史设备连接体验 ✅
  • 文件管理支持上传目录 ✅
  • 支持添加打开APP到桌面快捷方式(仅Windows) ✅
  • 支持设备批量启动 ✅
  • 支持通过可视化编排工具控制各设备的窗口布局 ✅
  • 整合同一设备的不同连接方式和配置,提升用户体验 ✅
  • 增强设备文件管理器 ✅
  • 集成 AutoGLM 无需脚本使用自然语言控制你的安卓设备 ✅
  • 重构主进程架构,提升性能和稳定性 ✅
  • 通过可视化编排工具支持脚本的自动化 🚧

Released under the MIT License.

- + \ No newline at end of file diff --git a/zhHans/guide/operation.html b/zhHans/guide/operation.html index 06fd4abd2..2b28f93ae 100644 --- a/zhHans/guide/operation.html +++ b/zhHans/guide/operation.html @@ -9,11 +9,11 @@ - + - + - + @@ -21,10 +21,10 @@ -
Skip to content

设备操作指南

批量处理

  • 批量镜像
  • 批量截屏
  • 批量安装应用
  • 批量文件管理
  • 批量执行脚本
  • 批量计划任务

控制模式

  • 镜像模式
  • 录制模式
  • 摄像头录制
  • 音频录制
  • 摄像头
  • 自定义模式
  • OTG模式

设备交互栏

  • 自动操控(AutoGLM)
  • 切换应用
  • 返回主页
  • 返回键
  • 启动APP(镜像组)
  • 关闭屏幕(实验性功能)
  • 通知中心
  • 电源键
  • 屏幕旋转
  • 音量控制
  • 截图
  • 重启设备
  • 安装APP
  • 文件管理器
  • 执行脚本
  • 计划任务
  • Gnirehtet(反向网络共享)

+

Skip to content

设备操作指南

批量处理

  • 批量镜像
  • 批量截屏
  • 批量安装应用
  • 批量文件管理
  • 批量执行脚本
  • 批量计划任务

控制模式

  • 镜像模式
  • 录制模式
  • 摄像头录制
  • 音频录制
  • 摄像头
  • 自定义模式
  • OTG模式

设备交互栏

  • 自动操控(AutoGLM)
  • 切换应用
  • 返回主页
  • 返回键
  • 启动APP(镜像组)
  • 关闭屏幕(实验性功能)
  • 通知中心
  • 电源键
  • 屏幕旋转
  • 音量控制
  • 截图
  • 重启设备
  • 安装APP
  • 文件管理器
  • 执行脚本
  • 计划任务
  • Gnirehtet(反向网络共享)

Released under the MIT License.

- + \ No newline at end of file diff --git a/zhHans/guide/preferences.html b/zhHans/guide/preferences.html index 5572eaf89..2a382c0a0 100644 --- a/zhHans/guide/preferences.html +++ b/zhHans/guide/preferences.html @@ -9,11 +9,11 @@ - + - + - + @@ -21,10 +21,10 @@ -
Skip to content

偏好设置

持续完善中,目前已支持以下常用配置项

通用设置

  • 主题风格
  • 语言选择
  • 文件存储路径
  • ADB路径
  • Scrcpy路径
  • Gnirehtet路径
  • Scrcpy参数
  • Gnirehtet参数
  • 自动连接设备
  • 自动执行镜像
  • Gnirehtet修复
  • 调试模式
  • 悬浮控制栏
  • 使用系统终端
  • 首选终端
  • 并发上限

视频控制

  • 禁用视频传输
  • 最大分辨率
  • 视频比特率
  • 刷新频率
  • 视频编解码器
  • 显示方向
  • 旋转角度
  • 屏幕裁剪
  • 显示器选择
  • 视频缓冲区
  • 接收端(v4l2)缓冲区

设备控制

  • 显示触摸点
  • 保持唤醒状态
  • 控制时关闭屏幕
  • 控制结束后关闭屏幕
  • 禁用控制时自动亮屏
  • 模拟辅助显示器

窗口控制

  • 窗口宽度
  • 窗口高度
  • 窗口X坐标
  • 窗口Y坐标
  • 无边框模式
  • 全屏模式
  • 窗口置顶
  • 禁用屏幕保护

音频控制

  • 禁用音频传输
  • 保留设备音频
  • 音频源选择
  • 音频编解码器
  • 音频比特率
  • 音频缓冲区
  • 音频输出缓冲区

音视频录制

  • 录制视频格式
  • 录制视频方向
  • 录制时长
  • 禁用视频回放
  • 禁用音频回放

输入控制

  • 鼠标模式
  • 鼠标绑定
  • 键盘模式
  • 键盘注入方式
  • 游戏手柄设置

摄像头控制

  • 摄像头源选择
  • 摄像头尺寸
  • 摄像头比例
  • 摄像头帧率

+

Skip to content

偏好设置

持续完善中,目前已支持以下常用配置项

通用设置

  • 主题风格
  • 语言选择
  • 文件存储路径
  • ADB路径
  • Scrcpy路径
  • Gnirehtet路径
  • Scrcpy参数
  • Gnirehtet参数
  • 自动连接设备
  • 自动执行镜像
  • Gnirehtet修复
  • 调试模式
  • 悬浮控制栏
  • 使用系统终端
  • 首选终端
  • 并发上限

视频控制

  • 禁用视频传输
  • 最大分辨率
  • 视频比特率
  • 刷新频率
  • 视频编解码器
  • 显示方向
  • 旋转角度
  • 屏幕裁剪
  • 显示器选择
  • 视频缓冲区
  • 接收端(v4l2)缓冲区

设备控制

  • 显示触摸点
  • 保持唤醒状态
  • 控制时关闭屏幕
  • 控制结束后关闭屏幕
  • 禁用控制时自动亮屏
  • 模拟辅助显示器

窗口控制

  • 窗口宽度
  • 窗口高度
  • 窗口X坐标
  • 窗口Y坐标
  • 无边框模式
  • 全屏模式
  • 窗口置顶
  • 禁用屏幕保护

音频控制

  • 禁用音频传输
  • 保留设备音频
  • 音频源选择
  • 音频编解码器
  • 音频比特率
  • 音频缓冲区
  • 音频输出缓冲区

音视频录制

  • 录制视频格式
  • 录制视频方向
  • 录制时长
  • 禁用视频回放
  • 禁用音频回放

输入控制

  • 鼠标模式
  • 鼠标绑定
  • 键盘模式
  • 键盘注入方式
  • 游戏手柄设置

摄像头控制

  • 摄像头源选择
  • 摄像头尺寸
  • 摄像头比例
  • 摄像头帧率

Released under the MIT License.

- + \ No newline at end of file diff --git a/zhHans/guide/started.html b/zhHans/guide/started.html index bf40ce174..1fcff6e59 100644 --- a/zhHans/guide/started.html +++ b/zhHans/guide/started.html @@ -9,11 +9,11 @@ - + - + - + @@ -21,10 +21,10 @@ -
Skip to content

快速上手

安装说明

手动安装(通过发行包)

macOS用户可通过Homebrew安装

详见 homebrew-escrcpy

USB连接方式

注意:若手机弹出调试授权提示,请点击允许

  1. 在安卓设备上启用开发者模式USB调试功能
  2. 启动Escrcpy并将安卓设备通过USB连接电脑
  3. Escrcpy设备列表应已检测到您的设备,点击"开始镜像"
  4. 开始使用!

无线连接方式

扫码连接

  1. 先完成USB连接方式的步骤1-2
  2. 在开发者选项中启用并进入"无线调试"
  3. 点击"通过二维码配对设备"
  4. 开始使用!

IP地址连接

注意:若首次无线连接失败,可能需先进行无线配对,详见常见问题

注意:需在无线调试页面获取设备无线地址(通常为连接WiFi时分配的IP地址)和端口号(默认为5555)

  1. 先完成USB连接方式的步骤1-2
  2. 在Escrcpy中输入设备IP地址和端口号,点击"连接设备"
  3. 此时设备列表应显示您的手机,点击"开始镜像"
  4. 开始使用!

macOS与Linux平台

注意:这些平台未预装Scrcpy,需手动安装

Escrcpy@1.27.1+版本已初步集成scrcpy二进制文件,无需手动安装

  1. Linux用户参考安装文档
  2. macOS用户参考安装文档
  3. 依赖安装成功后,按照USB连接或无线连接的步骤操作即可

Gnirehtet反向网络共享

Windows和Linux应用已内置Gnirehtet功能,可实现PC到安卓设备的网络共享。

设备连接成功后,通过设备->设备控制栏->Gnirehtet启用反向网络功能。

注意:macOS版本未内置Gnirehtet,需手动安装才能使用该功能安装指南

+

Skip to content

快速上手

安装说明

手动安装(通过发行包)

macOS用户可通过Homebrew安装

详见 homebrew-escrcpy

USB连接方式

注意:若手机弹出调试授权提示,请点击允许

  1. 在安卓设备上启用开发者模式USB调试功能
  2. 启动Escrcpy并将安卓设备通过USB连接电脑
  3. Escrcpy设备列表应已检测到您的设备,点击"开始镜像"
  4. 开始使用!

无线连接方式

扫码连接

  1. 先完成USB连接方式的步骤1-2
  2. 在开发者选项中启用并进入"无线调试"
  3. 点击"通过二维码配对设备"
  4. 开始使用!

IP地址连接

注意:若首次无线连接失败,可能需先进行无线配对,详见常见问题

注意:需在无线调试页面获取设备无线地址(通常为连接WiFi时分配的IP地址)和端口号(默认为5555)

  1. 先完成USB连接方式的步骤1-2
  2. 在Escrcpy中输入设备IP地址和端口号,点击"连接设备"
  3. 此时设备列表应显示您的手机,点击"开始镜像"
  4. 开始使用!

macOS与Linux平台

注意:这些平台未预装Scrcpy,需手动安装

Escrcpy@1.27.1+版本已初步集成scrcpy二进制文件,无需手动安装

  1. Linux用户参考安装文档
  2. macOS用户参考安装文档
  3. 依赖安装成功后,按照USB连接或无线连接的步骤操作即可

Gnirehtet反向网络共享

Windows和Linux应用已内置Gnirehtet功能,可实现PC到安卓设备的网络共享。

设备连接成功后,通过设备->设备控制栏->Gnirehtet启用反向网络功能。

注意:macOS版本未内置Gnirehtet,需手动安装才能使用该功能安装指南

Released under the MIT License.

- + \ No newline at end of file diff --git a/zhHans/guide/window-arrangement.html b/zhHans/guide/window-arrangement.html index 6e42a13e3..cdc0c8e47 100644 --- a/zhHans/guide/window-arrangement.html +++ b/zhHans/guide/window-arrangement.html @@ -9,11 +9,11 @@ - + - + - + @@ -21,10 +21,10 @@ -
Skip to content

设备窗口编排功能详解

设备窗口编排是 Escrcpy 的高级功能之一,专为多设备管理和屏幕空间优化而设计。通过可视化的拖拽界面,您可以精确控制每个设备窗口的位置、大小和布局,实现高效的多设备协同操作。

功能概述

窗口编排功能提供了一个全屏的可视化编辑界面,让您能够:

  • 同时管理多个设备窗口的布局
  • 通过拖拽方式调整窗口位置和尺寸
  • 设置全局默认配置和设备特定配置
  • 实时预览窗口布局效果
  • 保存和加载自定义布局方案

核心组件

全局配置组件

全局配置组件用于设置所有设备的默认窗口参数,包括:

  • 默认窗口宽度和高度
  • 默认窗口位置坐标
  • 其他通用窗口属性

设备窗口组件

每个连接的设备都可以添加为独立的窗口组件,支持:

  • 独立的位置和尺寸设置
  • 设备特定的窗口配置
  • 继承或覆盖全局配置

详细操作指南

启动窗口编排

  1. 通过主界面启动
    • 在主界面右上角找到"窗口编排"按钮
    • 点击该按钮进入窗口编排界面
    • 系统将打开全屏的窗口编排界面

添加和管理组件

添加全局配置组件

  1. 点击"添加组件"下拉按钮
  2. 选择"全局配置"选项
  3. 全局配置组件将出现在编排区域
  4. 该组件用于设置所有设备的默认参数

注意:每个编排方案中只能有一个全局配置组件。

添加设备窗口组件

  1. 点击"添加组件"下拉按钮
  2. 从设备列表中选择要添加的设备
  3. 设备窗口组件将添加到编排区域
  4. 每个设备只能添加一次

设备显示规则

  • 只显示当前已连接的设备
  • 已添加的设备不会在下拉列表中重复显示
  • 设备名称优先显示自定义名称,其次为设备型号

窗口布局调整

移动窗口位置

  1. 选择目标窗口:点击要移动的窗口组件
  2. 拖拽移动:按住鼠标左键拖拽窗口到目标位置
  3. 实时反馈:拖拽过程中可以看到实时的位置变化
  4. 释放定位:松开鼠标完成位置调整

调整窗口尺寸

  1. 定位调整点:将鼠标移动到窗口的边角位置
  2. 拖拽调整:按住鼠标左键拖拽来改变窗口大小
  3. 比例约束:系统会自动维持合理的窗口比例
  4. 最小尺寸限制:窗口不能小于预设的最小尺寸

尺寸限制说明

  • 最小宽度:容器宽度的 1/6
  • 最小高度:容器高度的 1/4
  • 边界约束:窗口不能拖拽到编排区域外部
  • 重叠处理:允许窗口重叠,但建议避免完全遮挡

布局管理操作

重置布局

  1. 点击控制面板中的"重置布局"按钮
  2. 系统将清除当前所有组件
  3. 重新加载保存的布局配置
  4. 如果没有保存的配置,将显示空白编排区域

清除全部组件

  1. 点击"清除全部"按钮
  2. 系统将弹出确认对话框
  3. 确认后将移除所有窗口组件
  4. 编排区域将变为空白状态

删除单个组件

  1. 将鼠标悬停在目标窗口组件上
  2. 点击窗口右上角的删除按钮(×)
  3. 该组件将立即从编排区域移除
  4. 对应的设备将重新出现在可添加列表中

配置保存和应用

保存布局配置

  1. 完成布局调整:确保所有窗口组件都已调整到满意的位置和尺寸
  2. 点击保存按钮:点击界面底部的"保存布局"按钮
  3. 配置写入:系统将当前布局信息写入配置文件
  4. 成功反馈:显示保存成功的消息提示

配置存储机制

  • 全局配置:存储在 scrcpy.global 配置节点
  • 设备配置:存储在 scrcpy.[设备ID] 配置节点
  • 参数格式
    • --window-width:窗口宽度
    • --window-height:窗口高度
    • --window-x:窗口X坐标
    • --window-y:窗口Y坐标

配置应用时机

  • 启动镜像时:设备开始镜像时自动应用对应的窗口配置
  • 配置继承:设备特定配置优先,未设置的参数继承全局配置
  • 动态更新:保存配置后立即生效,无需重启应用

故障排除

常见问题

问题1:设备不显示在添加列表中

  • 确认设备已正确连接
  • 检查设备是否已经添加到编排中
  • 尝试刷新设备列表

问题2:窗口拖拽不响应

  • 确认鼠标点击在窗口的可拖拽区域
  • 检查是否有其他程序占用鼠标事件
  • 尝试重新打开编排界面

问题3:保存的布局没有生效

  • 确认点击了"保存布局"按钮
  • 检查配置文件是否有写入权限
  • 尝试重启应用后再次测试

问题4:窗口尺寸异常

  • 检查是否超出了最小尺寸限制
  • 确认显示器分辨率设置正确
  • 尝试重置布局后重新配置

通过合理使用窗口编排功能,您可以显著提高多设备管理的效率,创建适合自己工作流程的个性化操作环境。

+

Skip to content

设备窗口编排功能详解

设备窗口编排是 Escrcpy 的高级功能之一,专为多设备管理和屏幕空间优化而设计。通过可视化的拖拽界面,您可以精确控制每个设备窗口的位置、大小和布局,实现高效的多设备协同操作。

功能概述

窗口编排功能提供了一个全屏的可视化编辑界面,让您能够:

  • 同时管理多个设备窗口的布局
  • 通过拖拽方式调整窗口位置和尺寸
  • 设置全局默认配置和设备特定配置
  • 实时预览窗口布局效果
  • 保存和加载自定义布局方案

核心组件

全局配置组件

全局配置组件用于设置所有设备的默认窗口参数,包括:

  • 默认窗口宽度和高度
  • 默认窗口位置坐标
  • 其他通用窗口属性

设备窗口组件

每个连接的设备都可以添加为独立的窗口组件,支持:

  • 独立的位置和尺寸设置
  • 设备特定的窗口配置
  • 继承或覆盖全局配置

详细操作指南

启动窗口编排

  1. 通过主界面启动
    • 在主界面右上角找到"窗口编排"按钮
    • 点击该按钮进入窗口编排界面
    • 系统将打开全屏的窗口编排界面

添加和管理组件

添加全局配置组件

  1. 点击"添加组件"下拉按钮
  2. 选择"全局配置"选项
  3. 全局配置组件将出现在编排区域
  4. 该组件用于设置所有设备的默认参数

注意:每个编排方案中只能有一个全局配置组件。

添加设备窗口组件

  1. 点击"添加组件"下拉按钮
  2. 从设备列表中选择要添加的设备
  3. 设备窗口组件将添加到编排区域
  4. 每个设备只能添加一次

设备显示规则

  • 只显示当前已连接的设备
  • 已添加的设备不会在下拉列表中重复显示
  • 设备名称优先显示自定义名称,其次为设备型号

窗口布局调整

移动窗口位置

  1. 选择目标窗口:点击要移动的窗口组件
  2. 拖拽移动:按住鼠标左键拖拽窗口到目标位置
  3. 实时反馈:拖拽过程中可以看到实时的位置变化
  4. 释放定位:松开鼠标完成位置调整

调整窗口尺寸

  1. 定位调整点:将鼠标移动到窗口的边角位置
  2. 拖拽调整:按住鼠标左键拖拽来改变窗口大小
  3. 比例约束:系统会自动维持合理的窗口比例
  4. 最小尺寸限制:窗口不能小于预设的最小尺寸

尺寸限制说明

  • 最小宽度:容器宽度的 1/6
  • 最小高度:容器高度的 1/4
  • 边界约束:窗口不能拖拽到编排区域外部
  • 重叠处理:允许窗口重叠,但建议避免完全遮挡

布局管理操作

重置布局

  1. 点击控制面板中的"重置布局"按钮
  2. 系统将清除当前所有组件
  3. 重新加载保存的布局配置
  4. 如果没有保存的配置,将显示空白编排区域

清除全部组件

  1. 点击"清除全部"按钮
  2. 系统将弹出确认对话框
  3. 确认后将移除所有窗口组件
  4. 编排区域将变为空白状态

删除单个组件

  1. 将鼠标悬停在目标窗口组件上
  2. 点击窗口右上角的删除按钮(×)
  3. 该组件将立即从编排区域移除
  4. 对应的设备将重新出现在可添加列表中

配置保存和应用

保存布局配置

  1. 完成布局调整:确保所有窗口组件都已调整到满意的位置和尺寸
  2. 点击保存按钮:点击界面底部的"保存布局"按钮
  3. 配置写入:系统将当前布局信息写入配置文件
  4. 成功反馈:显示保存成功的消息提示

配置存储机制

  • 全局配置:存储在 scrcpy.global 配置节点
  • 设备配置:存储在 scrcpy.[设备ID] 配置节点
  • 参数格式
    • --window-width:窗口宽度
    • --window-height:窗口高度
    • --window-x:窗口X坐标
    • --window-y:窗口Y坐标

配置应用时机

  • 启动镜像时:设备开始镜像时自动应用对应的窗口配置
  • 配置继承:设备特定配置优先,未设置的参数继承全局配置
  • 动态更新:保存配置后立即生效,无需重启应用

故障排除

常见问题

问题1:设备不显示在添加列表中

  • 确认设备已正确连接
  • 检查设备是否已经添加到编排中
  • 尝试刷新设备列表

问题2:窗口拖拽不响应

  • 确认鼠标点击在窗口的可拖拽区域
  • 检查是否有其他程序占用鼠标事件
  • 尝试重新打开编排界面

问题3:保存的布局没有生效

  • 确认点击了"保存布局"按钮
  • 检查配置文件是否有写入权限
  • 尝试重启应用后再次测试

问题4:窗口尺寸异常

  • 检查是否超出了最小尺寸限制
  • 确认显示器分辨率设置正确
  • 尝试重置布局后重新配置

通过合理使用窗口编排功能,您可以显著提高多设备管理的效率,创建适合自己工作流程的个性化操作环境。

Released under the MIT License.

- + \ No newline at end of file diff --git a/zhHans/help/escrcpy.html b/zhHans/help/escrcpy.html index 789ad0d62..a62aa0057 100644 --- a/zhHans/help/escrcpy.html +++ b/zhHans/help/escrcpy.html @@ -9,11 +9,11 @@ - + - + - + @@ -21,10 +21,10 @@ -
Skip to content

Escrcpy

电脑连接后无法识别设备

  1. 请重新插拔设备,并确保设备已授权USB调试权限。
  2. 若仍无法识别,可能是电脑缺少必要驱动。请使用驱动精灵等第三方工具安装驱动后重试。

无法输入中文

在Scrcpy@2.4+及以上版本中,解决方案如下:

  1. Escrcpy设置:进入偏好设置输入控制键盘模式,选择uhid模式。
  2. 设备输入法准备:安装支持物理键盘的输入法(推荐微信输入法)并完成设置。
  3. 启动镜像:点击Escrcpy中的开始镜像。验证:设备的设置系统语言与输入中应显示物理键盘屏幕键盘选项。
  4. 设备输入设置:在屏幕键盘设置中启用微信输入法。在物理键盘设置中配置键盘布局与电脑键盘一致(仅需设置一次)。
  5. 电脑输入准备:将输入模式设置为英文(重要)。
  6. 切换输入语言:使用Ctrl + Shift切换中英文。
  7. 开始使用。

下载微信输入法

无线连接提示:目标计算机积极拒绝访问

首次无线连接可能需要配对。或插入USB确保连接建立并授权成功后再使用无线。

数据线连接后点击无线模式无响应

请再次点击,或点击刷新设备。通常不会超过两次点击。若仍无效,请提交设备型号和安卓版本至Issues

为何设备交互控制栏未设计为自动贴边的悬浮菜单?

需注意,原则上Escrcpy只是基于Scrcpy的GUI版本,尽管扩展了部分功能,但这些扩展不影响Scrcpy核心。实现该特性需修改底层Scrcpy代码,这会导致Escrcpy更难同步Scrcpy更新,弊大于利。

因此,经慎重考虑,我们决定采用现有方案,并期待Scrcpy未来原生支持交互控制栏。

部分设备连接后可见画面但无法操作

注:小米手机尤其需注意,除开启USB调试外,还需开启USB调试(安全设置),即允许通过USB调试修改权限或模拟点击。

详细说明请参考鼠标键盘无法工作的原因

下载时提示杀毒检测导致无法正常下载

经反馈,因缺少证书签名,Windows Defender偶会拦截软件包下载。可尝试以下方案:

  1. 打开Windows安全中心
  2. 选择病毒和威胁防护
  3. 病毒和威胁防护设置中点击管理设置
  4. 找到实时保护,若权限允许可尝试点击关闭。若无法关闭实时保护,请跳过此步。
  5. 向下滚动页面,找到排除项,点击添加或删除排除项
  6. 将下载软件包的文件夹路径添加为排除项,即加入排除列表

启动镜像/录制时获取设备列表失败或报错

通常由AdbScrcpy路径错误引起,可尝试以下方案:

  1. 在菜单中选择偏好设置,点击全局模式右上角的重置配置按钮。
  2. 进入设备列表页面重试启用镜像。
  3. 确保已下载安装最新版Escrcpy
  4. Ctrl + Shift + I打开开发者工具检查报错信息。
  5. 若有报错,截图并提交至反馈Issues页面。

macOS窗口最小化至系统托盘图标未找到

通常因系统托盘图标过多溢出隐藏了Escrcpy图标。可尝试使用以下工具:

macOS安装成功后打开提示文件已损坏

通常因软件包未签名导致。可尝试以下方案:

  1. 打开终端执行sudo spctl --master-disable允许任何来源软件。
  2. 打开终端执行sudo xattr -r -d com.apple.quarantine /Applications/Escrcpy.app尝试修复损坏提示。

无法定位程序输入点DiscardvirtualMemory于动态链接库Kernel32.dll上

仅支持Windows 10及以上版本。

音频捕获异常导致镜像失败

通常因电脑缺少音频输出或安卓版本过低(Android 11+)。

请尝试通过偏好设置禁用音频转发功能解决此问题。

微软商店版镜像启动报错

因安装目录文件缺少执行权限引起。

需自定义scrcpyadb的文件路径(确保有执行权限)。若使用反向网络共享,需同样配置gnirehtet

无法执行"adb start-server"

可能是安装路径包含中文或特殊字符。请尝试更改安装路径。

Linux系统安装后无法打开

部分流行发行版(如Ubuntu 24.04)对AppImage应用新增了沙盒使用限制。临时解决方案如下:

shell
sudo chmod 4755 /opt/Escrcpy/chrome-sandbox

调整投屏窗口大小后出现黑边

当调整投屏窗口尺寸后出现黑边时,只需双击黑边区域即可让其自动隐藏。

+

Skip to content

Escrcpy

电脑连接后无法识别设备

  1. 请重新插拔设备,并确保设备已授权USB调试权限。
  2. 若仍无法识别,可能是电脑缺少必要驱动。请使用驱动精灵等第三方工具安装驱动后重试。

无法输入中文

在Scrcpy@2.4+及以上版本中,解决方案如下:

  1. Escrcpy设置:进入偏好设置输入控制键盘模式,选择uhid模式。
  2. 设备输入法准备:安装支持物理键盘的输入法(推荐微信输入法)并完成设置。
  3. 启动镜像:点击Escrcpy中的开始镜像。验证:设备的设置系统语言与输入中应显示物理键盘屏幕键盘选项。
  4. 设备输入设置:在屏幕键盘设置中启用微信输入法。在物理键盘设置中配置键盘布局与电脑键盘一致(仅需设置一次)。
  5. 电脑输入准备:将输入模式设置为英文(重要)。
  6. 切换输入语言:使用Ctrl + Shift切换中英文。
  7. 开始使用。

下载微信输入法

无线连接提示:目标计算机积极拒绝访问

首次无线连接可能需要配对。或插入USB确保连接建立并授权成功后再使用无线。

数据线连接后点击无线模式无响应

请再次点击,或点击刷新设备。通常不会超过两次点击。若仍无效,请提交设备型号和安卓版本至Issues

为何设备交互控制栏未设计为自动贴边的悬浮菜单?

需注意,原则上Escrcpy只是基于Scrcpy的GUI版本,尽管扩展了部分功能,但这些扩展不影响Scrcpy核心。实现该特性需修改底层Scrcpy代码,这会导致Escrcpy更难同步Scrcpy更新,弊大于利。

因此,经慎重考虑,我们决定采用现有方案,并期待Scrcpy未来原生支持交互控制栏。

部分设备连接后可见画面但无法操作

注:小米手机尤其需注意,除开启USB调试外,还需开启USB调试(安全设置),即允许通过USB调试修改权限或模拟点击。

详细说明请参考鼠标键盘无法工作的原因

下载时提示杀毒检测导致无法正常下载

经反馈,因缺少证书签名,Windows Defender偶会拦截软件包下载。可尝试以下方案:

  1. 打开Windows安全中心
  2. 选择病毒和威胁防护
  3. 病毒和威胁防护设置中点击管理设置
  4. 找到实时保护,若权限允许可尝试点击关闭。若无法关闭实时保护,请跳过此步。
  5. 向下滚动页面,找到排除项,点击添加或删除排除项
  6. 将下载软件包的文件夹路径添加为排除项,即加入排除列表

启动镜像/录制时获取设备列表失败或报错

通常由AdbScrcpy路径错误引起,可尝试以下方案:

  1. 在菜单中选择偏好设置,点击全局模式右上角的重置配置按钮。
  2. 进入设备列表页面重试启用镜像。
  3. 确保已下载安装最新版Escrcpy
  4. Ctrl + Shift + I打开开发者工具检查报错信息。
  5. 若有报错,截图并提交至反馈Issues页面。

macOS窗口最小化至系统托盘图标未找到

通常因系统托盘图标过多溢出隐藏了Escrcpy图标。可尝试使用以下工具:

macOS安装成功后打开提示文件已损坏

通常因软件包未签名导致。可尝试以下方案:

  1. 打开终端执行sudo spctl --master-disable允许任何来源软件。
  2. 打开终端执行sudo xattr -r -d com.apple.quarantine /Applications/Escrcpy.app尝试修复损坏提示。

无法定位程序输入点DiscardvirtualMemory于动态链接库Kernel32.dll上

仅支持Windows 10及以上版本。

音频捕获异常导致镜像失败

通常因电脑缺少音频输出或安卓版本过低(Android 11+)。

请尝试通过偏好设置禁用音频转发功能解决此问题。

微软商店版镜像启动报错

因安装目录文件缺少执行权限引起。

需自定义scrcpyadb的文件路径(确保有执行权限)。若使用反向网络共享,需同样配置gnirehtet

无法执行"adb start-server"

可能是安装路径包含中文或特殊字符。请尝试更改安装路径。

Linux系统安装后无法打开

部分流行发行版(如Ubuntu 24.04)对AppImage应用新增了沙盒使用限制。临时解决方案如下:

shell
sudo chmod 4755 /opt/Escrcpy/chrome-sandbox

调整投屏窗口大小后出现黑边

当调整投屏窗口尺寸后出现黑边时,只需双击黑边区域即可让其自动隐藏。

Released under the MIT License.

- + \ No newline at end of file diff --git a/zhHans/help/index.html b/zhHans/help/index.html index 373090adc..a66e0a314 100644 --- a/zhHans/help/index.html +++ b/zhHans/help/index.html @@ -9,11 +9,11 @@ - + - + - + @@ -21,10 +21,10 @@ -
Skip to content

帮助中心

本节为Escrcpy和Scrcpy用户提供了解决常见问题的解决方案。

+

- + \ No newline at end of file diff --git a/zhHans/help/scrcpy.html b/zhHans/help/scrcpy.html index a70b8fa26..be98c0ed7 100644 --- a/zhHans/help/scrcpy.html +++ b/zhHans/help/scrcpy.html @@ -9,11 +9,11 @@ - + - + - + @@ -44,10 +44,10 @@ WARN: 'adb reverse' 失败,回退至 'adb forward'

(或仅检测到无关 USB 设备),可能是驱动问题。 请阅读 #3654,特别是 此评论后续说明

控制问题

鼠标键盘失效

部分设备需启用以下选项: 开发者选项 → USB 调试(安全设置)允许通过 USB 调试授予权限和模拟输入 启用后需重启设备。详见 #70

特殊字符输入异常

默认文本注入仅支持 ASCII 字符。 可通过技巧输入部分 带重音字符,但功能有限(参见 #37)。 解决方案:切换为 物理键盘模拟模式

客户端问题

Wayland 兼容性问题

Linux 默认使用 x11,可通过环境变量切换 视频驱动

bash
export SDL_VIDEODRIVER=wayland
 scrcpy

部分发行版(如 Fedora)需手动安装 libdecor 包。 详见 #2554#2559

KWin 合成器崩溃

Plasma 桌面环境下运行 scrcpy 时会禁用合成器。 临时解决方案:关闭 "阻止合成" 选项。

崩溃问题

MediaCodec 异常

若出现以下异常:

ERROR: 线程 Thread[main,5,main] 抛出异常
 java.lang.IllegalStateException
-        at android.media.MediaCodec.native_dequeueOutputBuffer(Native Method)

请尝试更换 编码器