@yume-chan/scrcpy 0.0.17 → 0.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +21 -3
- package/CHANGELOG.md +13 -4
- package/LICENSE +1 -1
- package/README.md +41 -24
- package/bin/scrcpy-server +0 -0
- package/bin/version.d.ts +1 -1
- package/bin/version.js +1 -1
- package/esm/adb/client.d.ts +15 -14
- package/esm/adb/client.d.ts.map +1 -1
- package/esm/adb/client.js +66 -41
- package/esm/adb/client.js.map +1 -1
- package/esm/adb/connection.d.ts +16 -7
- package/esm/adb/connection.d.ts.map +1 -1
- package/esm/adb/connection.js +21 -13
- package/esm/adb/connection.js.map +1 -1
- package/esm/adb/options/1_16.d.ts +4 -4
- package/esm/adb/options/1_16.d.ts.map +1 -1
- package/esm/adb/options/1_16.js +2 -2
- package/esm/adb/options/1_16.js.map +1 -1
- package/esm/adb/options/1_22.d.ts +4 -4
- package/esm/adb/options/1_22.d.ts.map +1 -1
- package/esm/adb/options/1_22.js +2 -2
- package/esm/adb/options/1_22.js.map +1 -1
- package/esm/adb/options/types.d.ts +10 -9
- package/esm/adb/options/types.d.ts.map +1 -1
- package/esm/adb/options/types.js +11 -4
- package/esm/adb/options/types.js.map +1 -1
- package/esm/control/back-or-screen-on.d.ts +3 -0
- package/esm/control/back-or-screen-on.d.ts.map +1 -0
- package/esm/control/back-or-screen-on.js +2 -0
- package/esm/control/back-or-screen-on.js.map +1 -0
- package/esm/control/hover-helper.d.ts +18 -0
- package/esm/control/hover-helper.d.ts.map +1 -0
- package/esm/control/hover-helper.js +44 -0
- package/esm/control/hover-helper.js.map +1 -0
- package/esm/control/index.d.ts +11 -7
- package/esm/control/index.d.ts.map +1 -1
- package/esm/control/index.js +11 -7
- package/esm/control/index.js.map +1 -1
- package/esm/control/inject-keycode.d.ts +12 -4
- package/esm/control/inject-keycode.d.ts.map +1 -1
- package/esm/control/inject-keycode.js +15 -7
- package/esm/control/inject-keycode.js.map +1 -1
- package/esm/control/inject-scroll.d.ts +3 -0
- package/esm/control/inject-scroll.d.ts.map +1 -0
- package/esm/control/inject-scroll.js +2 -0
- package/esm/control/inject-scroll.js.map +1 -0
- package/esm/control/inject-text.d.ts +2 -2
- package/esm/control/inject-text.d.ts.map +1 -1
- package/esm/control/inject-touch.d.ts +12 -4
- package/esm/control/inject-touch.d.ts.map +1 -1
- package/esm/control/inject-touch.js +44 -11
- package/esm/control/inject-touch.js.map +1 -1
- package/esm/control/rotate-device.d.ts +2 -2
- package/esm/control/rotate-device.d.ts.map +1 -1
- package/esm/control/serializer.d.ts +22 -11
- package/esm/control/serializer.d.ts.map +1 -1
- package/esm/control/serializer.js +32 -26
- package/esm/control/serializer.js.map +1 -1
- package/esm/control/set-clipboard.d.ts +3 -0
- package/esm/control/set-clipboard.d.ts.map +1 -0
- package/esm/control/set-clipboard.js +2 -0
- package/esm/control/set-clipboard.js.map +1 -0
- package/esm/control/set-screen-power-mode.d.ts +2 -2
- package/esm/control/set-screen-power-mode.d.ts.map +1 -1
- package/esm/device-message/ack-clipboard.d.ts +9 -0
- package/esm/device-message/ack-clipboard.d.ts.map +1 -0
- package/esm/device-message/ack-clipboard.js +6 -0
- package/esm/device-message/ack-clipboard.js.map +1 -0
- package/esm/device-message/clipboard.d.ts +3 -3
- package/esm/device-message/clipboard.d.ts.map +1 -1
- package/esm/device-message/clipboard.js +4 -4
- package/esm/device-message/clipboard.js.map +1 -1
- package/esm/device-message/index.d.ts +4 -3
- package/esm/device-message/index.d.ts.map +1 -1
- package/esm/device-message/index.js +4 -3
- package/esm/device-message/index.js.map +1 -1
- package/esm/device-message/stream.d.ts +4 -3
- package/esm/device-message/stream.d.ts.map +1 -1
- package/esm/device-message/stream.js +8 -4
- package/esm/device-message/stream.js.map +1 -1
- package/esm/options/1_16/codec-options.d.ts +3 -2
- package/esm/options/1_16/codec-options.d.ts.map +1 -1
- package/esm/options/1_16/codec-options.js +6 -7
- package/esm/options/1_16/codec-options.js.map +1 -1
- package/esm/options/1_16/h264-configuration.d.ts +49 -0
- package/esm/options/1_16/h264-configuration.d.ts.map +1 -0
- package/esm/options/1_16/h264-configuration.js +414 -0
- package/esm/options/1_16/h264-configuration.js.map +1 -0
- package/esm/options/1_16/index.d.ts +4 -3
- package/esm/options/1_16/index.d.ts.map +1 -1
- package/esm/options/1_16/index.js +4 -3
- package/esm/options/1_16/index.js.map +1 -1
- package/esm/options/1_16/options.d.ts +17 -20
- package/esm/options/1_16/options.d.ts.map +1 -1
- package/esm/options/1_16/options.js +51 -49
- package/esm/options/1_16/options.js.map +1 -1
- package/esm/options/1_16/scroll.d.ts +27 -0
- package/esm/options/1_16/scroll.d.ts.map +1 -0
- package/esm/options/1_16/scroll.js +56 -0
- package/esm/options/1_16/scroll.js.map +1 -0
- package/esm/options/1_16/sps.d.ts +1 -1
- package/esm/options/1_16/sps.d.ts.map +1 -1
- package/esm/options/1_16/sps.js +25 -17
- package/esm/options/1_16/sps.js.map +1 -1
- package/esm/options/1_18.d.ts +6 -6
- package/esm/options/1_18.d.ts.map +1 -1
- package/esm/options/1_18.js +5 -5
- package/esm/options/1_18.js.map +1 -1
- package/esm/options/1_21.d.ts +12 -1
- package/esm/options/1_21.d.ts.map +1 -1
- package/esm/options/1_21.js +14 -3
- package/esm/options/1_21.js.map +1 -1
- package/esm/options/1_22/index.d.ts +3 -0
- package/esm/options/1_22/index.d.ts.map +1 -0
- package/esm/options/1_22/index.js +3 -0
- package/esm/options/1_22/index.js.map +1 -0
- package/esm/options/{1_22.d.ts → 1_22/options.d.ts} +4 -15
- package/esm/options/1_22/options.d.ts.map +1 -0
- package/esm/options/{1_22.js → 1_22/options.js} +5 -9
- package/esm/options/1_22/options.js.map +1 -0
- package/esm/options/1_22/scroll.d.ts +17 -0
- package/esm/options/1_22/scroll.d.ts.map +1 -0
- package/esm/options/1_22/scroll.js +15 -0
- package/esm/options/1_22/scroll.js.map +1 -0
- package/esm/options/1_23.d.ts +3 -3
- package/esm/options/1_23.d.ts.map +1 -1
- package/esm/options/1_23.js +7 -6
- package/esm/options/1_23.js.map +1 -1
- package/esm/options/1_25/index.d.ts +3 -0
- package/esm/options/1_25/index.d.ts.map +1 -0
- package/esm/options/1_25/index.js +3 -0
- package/esm/options/1_25/index.js.map +1 -0
- package/esm/options/1_25/options.d.ts +6 -0
- package/esm/options/1_25/options.d.ts.map +1 -0
- package/esm/options/1_25/options.js +8 -0
- package/esm/options/1_25/options.js.map +1 -0
- package/esm/options/1_25/scroll.d.ts +19 -0
- package/esm/options/1_25/scroll.d.ts.map +1 -0
- package/esm/options/1_25/scroll.js +33 -0
- package/esm/options/1_25/scroll.js.map +1 -0
- package/esm/options/index.d.ts +5 -4
- package/esm/options/index.d.ts.map +1 -1
- package/esm/options/index.js +5 -4
- package/esm/options/index.js.map +1 -1
- package/esm/options/types.d.ts +14 -12
- package/esm/options/types.d.ts.map +1 -1
- package/esm/options/types.js +6 -4
- package/esm/options/types.js.map +1 -1
- package/package.json +19 -12
- package/scripts/fetch-server.cjs +19 -9
- package/src/adb/client.ts +142 -89
- package/src/adb/connection.ts +77 -30
- package/src/adb/options/1_16.ts +13 -6
- package/src/adb/options/1_22.ts +12 -6
- package/src/adb/options/types.ts +34 -14
- package/src/control/back-or-screen-on.ts +4 -0
- package/src/control/hover-helper.ts +56 -0
- package/src/control/index.ts +11 -7
- package/src/control/inject-keycode.ts +23 -10
- package/src/control/inject-scroll.ts +4 -0
- package/src/control/inject-touch.ts +58 -14
- package/src/control/serializer.ts +106 -41
- package/src/control/set-clipboard.ts +4 -0
- package/src/device-message/ack-clipboard.ts +10 -0
- package/src/device-message/clipboard.ts +8 -8
- package/src/device-message/index.ts +4 -3
- package/src/device-message/stream.ts +17 -7
- package/src/options/1_16/codec-options.ts +17 -10
- package/src/options/1_16/h264-configuration.ts +485 -0
- package/src/options/1_16/index.ts +4 -3
- package/src/options/1_16/options.ts +175 -130
- package/src/options/1_16/scroll.ts +76 -0
- package/src/options/1_18.ts +22 -12
- package/src/options/1_21.ts +31 -13
- package/src/options/1_22/index.ts +2 -0
- package/src/options/{1_22.ts → 1_22/options.ts} +8 -17
- package/src/options/1_22/scroll.ts +26 -0
- package/src/options/1_23.ts +32 -20
- package/src/options/1_25/index.ts +2 -0
- package/src/options/1_25/options.ts +12 -0
- package/src/options/1_25/scroll.ts +52 -0
- package/src/options/index.ts +5 -4
- package/src/options/types.ts +34 -17
- package/tsconfig.build.json +1 -1
- package/tsconfig.build.tsbuildinfo +1 -1
- package/esm/decoder/index.d.ts +0 -28
- package/esm/decoder/index.d.ts.map +0 -1
- package/esm/decoder/index.js +0 -2
- package/esm/decoder/index.js.map +0 -1
- package/esm/decoder/tinyh264/index.d.ts +0 -20
- package/esm/decoder/tinyh264/index.d.ts.map +0 -1
- package/esm/decoder/tinyh264/index.js +0 -86
- package/esm/decoder/tinyh264/index.js.map +0 -1
- package/esm/decoder/tinyh264/worker.d.ts +0 -2
- package/esm/decoder/tinyh264/worker.d.ts.map +0 -1
- package/esm/decoder/tinyh264/worker.js +0 -3
- package/esm/decoder/tinyh264/worker.js.map +0 -1
- package/esm/decoder/tinyh264/wrapper.d.ts +0 -21
- package/esm/decoder/tinyh264/wrapper.d.ts.map +0 -1
- package/esm/decoder/tinyh264/wrapper.js +0 -74
- package/esm/decoder/tinyh264/wrapper.js.map +0 -1
- package/esm/decoder/types.d.ts +0 -2
- package/esm/decoder/types.d.ts.map +0 -1
- package/esm/decoder/types.js +0 -2
- package/esm/decoder/types.js.map +0 -1
- package/esm/decoder/web-codecs/index.d.ts +0 -22
- package/esm/decoder/web-codecs/index.d.ts.map +0 -1
- package/esm/decoder/web-codecs/index.js +0 -81
- package/esm/decoder/web-codecs/index.js.map +0 -1
- package/esm/options/1_22.d.ts.map +0 -1
- package/esm/options/1_22.js.map +0 -1
- package/src/options/1_16/sps.ts +0 -300
- package/tsconfig.test.tsbuildinfo +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/adb/connection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/adb/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAEH,KAAK,cAAc,EAEnB,KAAK,oBAAoB,EAC5B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,WAAW,0BAA0B;IACvC,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,cAAc,EAAE,OAAO,CAAC;CAC3B;AAED,8BAAsB,mBAAoB,YAAW,UAAU;IAC3D,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEnB,SAAS,CAAC,OAAO,EAAE,0BAA0B,CAAC;gBAE3B,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,0BAA0B;IAKzD,UAAU,IAAI,cAAc,CAAC,IAAI,CAAC;aAIzB,UAAU,IAAI,cAAc,CACxC;QACI,UAAU,EAAE,cAAc,CAAC,UAAU,CAAC;QACtC,aAAa,EACP,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,GAC5C,SAAS;KAClB,CACJ;IAEM,OAAO,IAAI,IAAI;CAGzB;AAED,qBAAa,0BAA2B,SAAQ,mBAAmB;IAC/D,OAAO,CAAC,OAAO;YAID,eAAe;YAaf,kBAAkB;IAcnB,UAAU,IAAI,OAAO,CAC9B;QACI,UAAU,EAAE,cAAc,CAAC,UAAU,CAAC;QACtC,aAAa,EACP,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,GAC5C,SAAS;KAClB,CACJ;CAuBJ;AAED,qBAAa,0BAA2B,SAAQ,mBAAmB;IAC/D,OAAO,CAAC,OAAO,CAEb;IAEF,OAAO,CAAC,OAAO,CAAU;IAEH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAsBnC,MAAM;IAMP,UAAU,IAAI,OAAO,CAC9B;QACI,UAAU,EAAE,cAAc,CAAC,UAAU,CAAC;QACtC,aAAa,EACP,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,GAC5C,SAAS;KAClB,CACJ;IAwBe,OAAO;CAQ1B"}
|
package/esm/adb/connection.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { delay } from
|
|
2
|
-
import { TransformStream } from
|
|
1
|
+
import { delay } from "@yume-chan/async";
|
|
2
|
+
import { TransformStream, } from "@yume-chan/stream-extra";
|
|
3
3
|
export class AdbScrcpyConnection {
|
|
4
4
|
adb;
|
|
5
5
|
options;
|
|
@@ -7,15 +7,19 @@ export class AdbScrcpyConnection {
|
|
|
7
7
|
this.adb = adb;
|
|
8
8
|
this.options = options;
|
|
9
9
|
}
|
|
10
|
-
initialize() {
|
|
11
|
-
|
|
10
|
+
initialize() {
|
|
11
|
+
// do nothing
|
|
12
|
+
}
|
|
13
|
+
dispose() {
|
|
14
|
+
// do nothing
|
|
15
|
+
}
|
|
12
16
|
}
|
|
13
17
|
export class AdbScrcpyForwardConnection extends AdbScrcpyConnection {
|
|
14
18
|
connect() {
|
|
15
|
-
return this.adb.createSocket(
|
|
19
|
+
return this.adb.createSocket("localabstract:scrcpy");
|
|
16
20
|
}
|
|
17
21
|
async connectAndRetry() {
|
|
18
|
-
for (let i = 0; i < 100; i
|
|
22
|
+
for (let i = 0; i < 100; i += 1) {
|
|
19
23
|
try {
|
|
20
24
|
return await this.connect();
|
|
21
25
|
}
|
|
@@ -32,7 +36,7 @@ export class AdbScrcpyForwardConnection extends AdbScrcpyConnection {
|
|
|
32
36
|
const { done, value } = await reader.read();
|
|
33
37
|
// server will write a `0` to signal connection success
|
|
34
38
|
if (done || value.byteLength !== 1 || value[0] !== 0) {
|
|
35
|
-
throw new Error(
|
|
39
|
+
throw new Error("Unexpected response from server");
|
|
36
40
|
}
|
|
37
41
|
reader.releaseLock();
|
|
38
42
|
}
|
|
@@ -50,7 +54,7 @@ export class AdbScrcpyForwardConnection extends AdbScrcpyConnection {
|
|
|
50
54
|
const { done, value } = await reader.read();
|
|
51
55
|
// 64 bytes device name + 2 bytes video width + 2 bytes video height
|
|
52
56
|
if (done || value.byteLength !== 64 + 2 + 2) {
|
|
53
|
-
throw new Error(
|
|
57
|
+
throw new Error("Unexpected response from server");
|
|
54
58
|
}
|
|
55
59
|
reader.releaseLock();
|
|
56
60
|
}
|
|
@@ -62,12 +66,14 @@ export class AdbScrcpyReverseConnection extends AdbScrcpyConnection {
|
|
|
62
66
|
address;
|
|
63
67
|
async initialize() {
|
|
64
68
|
// try to unbind first, ignore errors
|
|
65
|
-
await this.adb.reverse.remove(
|
|
69
|
+
await this.adb.reverse.remove("localabstract:scrcpy").catch((e) => {
|
|
70
|
+
void e;
|
|
71
|
+
});
|
|
66
72
|
const queue = new TransformStream();
|
|
67
73
|
this.streams = queue.readable.getReader();
|
|
68
74
|
const writer = queue.writable.getWriter();
|
|
69
|
-
this.address = await this.adb.reverse.add(
|
|
70
|
-
writer.write(socket);
|
|
75
|
+
this.address = await this.adb.reverse.add("localabstract:scrcpy", "tcp:27183", (socket) => {
|
|
76
|
+
void writer.write(socket);
|
|
71
77
|
return true;
|
|
72
78
|
});
|
|
73
79
|
}
|
|
@@ -86,7 +92,7 @@ export class AdbScrcpyReverseConnection extends AdbScrcpyConnection {
|
|
|
86
92
|
const { done, value } = await reader.read();
|
|
87
93
|
// 64 bytes device name + 2 bytes video width + 2 bytes video height
|
|
88
94
|
if (done || value.byteLength !== 64 + 2 + 2) {
|
|
89
|
-
throw new Error(
|
|
95
|
+
throw new Error("Unexpected response from server");
|
|
90
96
|
}
|
|
91
97
|
reader.releaseLock();
|
|
92
98
|
}
|
|
@@ -96,7 +102,9 @@ export class AdbScrcpyReverseConnection extends AdbScrcpyConnection {
|
|
|
96
102
|
// Don't await this!
|
|
97
103
|
// `reverse.remove`'s response will never arrive
|
|
98
104
|
// before we read all pending data from `videoStream`
|
|
99
|
-
this.adb.reverse.remove(this.address)
|
|
105
|
+
this.adb.reverse.remove(this.address).catch((e) => {
|
|
106
|
+
void e;
|
|
107
|
+
});
|
|
100
108
|
}
|
|
101
109
|
}
|
|
102
110
|
//# sourceMappingURL=connection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/adb/connection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/adb/connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type
|
|
3
|
-
import { AdbScrcpyConnection } from
|
|
4
|
-
import { AdbScrcpyOptionsBase } from
|
|
1
|
+
import { type Adb } from "@yume-chan/adb";
|
|
2
|
+
import { type ScrcpyOptionsInit1_16 } from "../../options/index.js";
|
|
3
|
+
import { type AdbScrcpyConnection } from "../connection.js";
|
|
4
|
+
import { AdbScrcpyOptionsBase } from "./types.js";
|
|
5
5
|
export declare class AdbScrcpyOptions1_16<T extends ScrcpyOptionsInit1_16 = ScrcpyOptionsInit1_16> extends AdbScrcpyOptionsBase<T> {
|
|
6
6
|
createConnection(adb: Adb): AdbScrcpyConnection;
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1_16.d.ts","sourceRoot":"","sources":["../../../src/adb/options/1_16.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"1_16.d.ts","sourceRoot":"","sources":["../../../src/adb/options/1_16.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAGH,KAAK,mBAAmB,EAE3B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,qBAAa,oBAAoB,CAC7B,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,CACzD,SAAQ,oBAAoB,CAAC,CAAC,CAAC;IACb,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,mBAAmB;CAclE"}
|
package/esm/adb/options/1_16.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AdbScrcpyForwardConnection, AdbScrcpyReverseConnection } from
|
|
2
|
-
import { AdbScrcpyOptionsBase } from
|
|
1
|
+
import { AdbScrcpyForwardConnection, AdbScrcpyReverseConnection, } from "../connection.js";
|
|
2
|
+
import { AdbScrcpyOptionsBase } from "./types.js";
|
|
3
3
|
export class AdbScrcpyOptions1_16 extends AdbScrcpyOptionsBase {
|
|
4
4
|
createConnection(adb) {
|
|
5
5
|
const options = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1_16.js","sourceRoot":"","sources":["../../../src/adb/options/1_16.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"1_16.js","sourceRoot":"","sources":["../../../src/adb/options/1_16.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,0BAA0B,EAC1B,0BAA0B,GAG7B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,OAAO,oBAEX,SAAQ,oBAAuB;IACb,gBAAgB,CAAC,GAAQ;QACrC,MAAM,OAAO,GAA+B;YACxC,uEAAuE;YACvE,wEAAwE;YACxE,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,IAAI;SACvB,CAAC;QACF,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;YAC1B,OAAO,IAAI,0BAA0B,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;SACvD;aAAM;YACH,OAAO,IAAI,0BAA0B,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;SACvD;IACL,CAAC;CACJ"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type
|
|
3
|
-
import { AdbScrcpyConnection } from
|
|
4
|
-
import { AdbScrcpyOptions1_16 } from
|
|
1
|
+
import { type Adb } from "@yume-chan/adb";
|
|
2
|
+
import { type ScrcpyOptionsInit1_22 } from "../../options/index.js";
|
|
3
|
+
import { type AdbScrcpyConnection } from "../connection.js";
|
|
4
|
+
import { AdbScrcpyOptions1_16 } from "./1_16.js";
|
|
5
5
|
export declare class AdbScrcpyOptions1_22<T extends ScrcpyOptionsInit1_22 = ScrcpyOptionsInit1_22> extends AdbScrcpyOptions1_16<T> {
|
|
6
6
|
createConnection(adb: Adb): AdbScrcpyConnection;
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1_22.d.ts","sourceRoot":"","sources":["../../../src/adb/options/1_22.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"1_22.d.ts","sourceRoot":"","sources":["../../../src/adb/options/1_22.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EACH,KAAK,mBAAmB,EAG3B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEjD,qBAAa,oBAAoB,CAC7B,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,CACzD,SAAQ,oBAAoB,CAAC,CAAC,CAAC;IACb,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,mBAAmB;CAWlE"}
|
package/esm/adb/options/1_22.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AdbScrcpyForwardConnection, AdbScrcpyReverseConnection } from
|
|
2
|
-
import { AdbScrcpyOptions1_16 } from
|
|
1
|
+
import { AdbScrcpyForwardConnection, AdbScrcpyReverseConnection, } from "../connection.js";
|
|
2
|
+
import { AdbScrcpyOptions1_16 } from "./1_16.js";
|
|
3
3
|
export class AdbScrcpyOptions1_22 extends AdbScrcpyOptions1_16 {
|
|
4
4
|
createConnection(adb) {
|
|
5
5
|
const options = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1_22.js","sourceRoot":"","sources":["../../../src/adb/options/1_22.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"1_22.js","sourceRoot":"","sources":["../../../src/adb/options/1_22.ts"],"names":[],"mappings":"AAGA,OAAO,EAEH,0BAA0B,EAC1B,0BAA0B,GAC7B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEjD,MAAM,OAAO,oBAEX,SAAQ,oBAAuB;IACb,gBAAgB,CAAC,GAAQ;QACrC,MAAM,OAAO,GAAG;YACZ,GAAG,IAAI,CAAC,eAAe,EAAE;YACzB,GAAG,IAAI,CAAC,KAAK;SAChB,CAAC;QACF,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;YAC1B,OAAO,IAAI,0BAA0B,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;SACvD;aAAM;YACH,OAAO,IAAI,0BAA0B,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;SACvD;IACL,CAAC;CACJ"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type
|
|
3
|
-
import type
|
|
4
|
-
import
|
|
5
|
-
import type
|
|
6
|
-
export interface AdbScrcpyOptions<T> extends ScrcpyOptions<T> {
|
|
1
|
+
import { type Adb } from "@yume-chan/adb";
|
|
2
|
+
import { type TransformStream } from "@yume-chan/stream-extra";
|
|
3
|
+
import { type ScrcpyBackOrScreenOnControlMessage, type ScrcpyControlMessageType, type ScrcpySetClipboardControlMessage } from "../../control/index.js";
|
|
4
|
+
import { type ScrcpyOptions, type ScrcpyVideoStreamPacket } from "../../options/index.js";
|
|
5
|
+
import { type AdbScrcpyConnection } from "../connection.js";
|
|
6
|
+
export interface AdbScrcpyOptions<T extends object> extends ScrcpyOptions<T> {
|
|
7
7
|
createConnection(adb: Adb): AdbScrcpyConnection;
|
|
8
8
|
}
|
|
9
|
-
export declare abstract class AdbScrcpyOptionsBase<T> implements ScrcpyOptions<T> {
|
|
9
|
+
export declare abstract class AdbScrcpyOptionsBase<T extends object> implements ScrcpyOptions<T> {
|
|
10
10
|
private raw;
|
|
11
11
|
get value(): Partial<T>;
|
|
12
12
|
set value(value: Partial<T>);
|
|
@@ -16,8 +16,9 @@ export declare abstract class AdbScrcpyOptionsBase<T> implements ScrcpyOptions<T
|
|
|
16
16
|
getOutputEncoderNameRegex(): RegExp;
|
|
17
17
|
createVideoStreamTransformer(): TransformStream<Uint8Array, ScrcpyVideoStreamPacket>;
|
|
18
18
|
getControlMessageTypes(): ScrcpyControlMessageType[];
|
|
19
|
-
serializeBackOrScreenOnControlMessage(message:
|
|
20
|
-
|
|
19
|
+
serializeBackOrScreenOnControlMessage(message: ScrcpyBackOrScreenOnControlMessage): Uint8Array | undefined;
|
|
20
|
+
serializeSetClipboardControlMessage(message: ScrcpySetClipboardControlMessage): Uint8Array;
|
|
21
|
+
getScrollController(): import("../../options/index.js").ScrcpyScrollController;
|
|
21
22
|
abstract createConnection(adb: Adb): AdbScrcpyConnection;
|
|
22
23
|
}
|
|
23
24
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adb/options/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adb/options/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EACH,KAAK,kCAAkC,EACvC,KAAK,wBAAwB,EAC7B,KAAK,gCAAgC,EACxC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACH,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC/B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC;IACxE,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,mBAAmB,CAAC;CACnD;AAED,8BAAsB,oBAAoB,CAAC,CAAC,SAAS,MAAM,CACvD,YAAW,aAAa,CAAC,CAAC,CAAC;IAE3B,OAAO,CAAC,GAAG,CAAmB;IAE9B,IAAW,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAE7B;IACD,IAAW,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAEjC;gBAEkB,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC;IAIjC,eAAe,IAAI,CAAC;IAIpB,qBAAqB,IAAI,MAAM,EAAE;IAIjC,yBAAyB,IAAI,MAAM;IAInC,4BAA4B,IAAI,eAAe,CAClD,UAAU,EACV,uBAAuB,CAC1B;IAIM,sBAAsB,IAAI,wBAAwB,EAAE;IAIpD,qCAAqC,CACxC,OAAO,EAAE,kCAAkC,GAC5C,UAAU,GAAG,SAAS;IAIlB,mCAAmC,CACtC,OAAO,EAAE,gCAAgC,GAC1C,UAAU;IAIN,mBAAmB;aAIV,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,mBAAmB;CAClE"}
|
package/esm/adb/options/types.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
export class AdbScrcpyOptionsBase {
|
|
2
2
|
raw;
|
|
3
|
-
get value() {
|
|
4
|
-
|
|
3
|
+
get value() {
|
|
4
|
+
return this.raw.value;
|
|
5
|
+
}
|
|
6
|
+
set value(value) {
|
|
7
|
+
this.raw.value = value;
|
|
8
|
+
}
|
|
5
9
|
constructor(raw) {
|
|
6
10
|
this.raw = raw;
|
|
7
11
|
}
|
|
@@ -23,8 +27,11 @@ export class AdbScrcpyOptionsBase {
|
|
|
23
27
|
serializeBackOrScreenOnControlMessage(message) {
|
|
24
28
|
return this.raw.serializeBackOrScreenOnControlMessage(message);
|
|
25
29
|
}
|
|
26
|
-
|
|
27
|
-
return this.raw.
|
|
30
|
+
serializeSetClipboardControlMessage(message) {
|
|
31
|
+
return this.raw.serializeSetClipboardControlMessage(message);
|
|
32
|
+
}
|
|
33
|
+
getScrollController() {
|
|
34
|
+
return this.raw.getScrollController();
|
|
28
35
|
}
|
|
29
36
|
}
|
|
30
37
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/adb/options/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/adb/options/types.ts"],"names":[],"mappings":"AAkBA,MAAM,OAAgB,oBAAoB;IAG9B,GAAG,CAAmB;IAE9B,IAAW,KAAK;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;IAC1B,CAAC;IACD,IAAW,KAAK,CAAC,KAAiB;QAC9B,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,YAAmB,GAAqB;QACpC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,CAAC;IAEM,eAAe;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;IACtC,CAAC;IAEM,qBAAqB;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAC5C,CAAC;IAEM,yBAAyB;QAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE,CAAC;IAChD,CAAC;IAEM,4BAA4B;QAI/B,OAAO,IAAI,CAAC,GAAG,CAAC,4BAA4B,EAAE,CAAC;IACnD,CAAC;IAEM,sBAAsB;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC;IAC7C,CAAC;IAEM,qCAAqC,CACxC,OAA2C;QAE3C,OAAO,IAAI,CAAC,GAAG,CAAC,qCAAqC,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IAEM,mCAAmC,CACtC,OAAyC;QAEzC,OAAO,IAAI,CAAC,GAAG,CAAC,mCAAmC,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC;IAEM,mBAAmB;QACtB,OAAO,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAC1C,CAAC;CAGJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"back-or-screen-on.d.ts","sourceRoot":"","sources":["../../src/control/back-or-screen-on.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,sCAAsC,EAAE,MAAM,aAAa,CAAC;AAE1E,MAAM,MAAM,kCAAkC,GAC1C,sCAAsC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"back-or-screen-on.js","sourceRoot":"","sources":["../../src/control/back-or-screen-on.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type ScrcpyInjectTouchControlMessage } from "./inject-touch.js";
|
|
2
|
+
/**
|
|
3
|
+
* On both Android and Windows, while both mouse and touch are supported input devices,
|
|
4
|
+
* only one of them can be active at a time. Touch the screen with a finger will deactivate mouse,
|
|
5
|
+
* and move the mouse will deactivate touch.
|
|
6
|
+
*
|
|
7
|
+
* On Android, this is achieved by dispatching a `MotionEvent.ACTION_UP` event for the previous input type.
|
|
8
|
+
* But on Chrome, there is no such event, causing both mouse and touch to be active at the same time.
|
|
9
|
+
* This can cause the new input to appear as "ignored".
|
|
10
|
+
*
|
|
11
|
+
* This helper class synthesis `ACTION_UP` events when a different pointer type appears,
|
|
12
|
+
* so Scrcpy server can remove the previously hovering pointer.
|
|
13
|
+
*/
|
|
14
|
+
export declare class ScrcpyHoverHelper {
|
|
15
|
+
private lastHoverMessage;
|
|
16
|
+
process(message: Omit<ScrcpyInjectTouchControlMessage, "type">): ScrcpyInjectTouchControlMessage[];
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=hover-helper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hover-helper.d.ts","sourceRoot":"","sources":["../../src/control/hover-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,+BAA+B,EACvC,MAAM,mBAAmB,CAAC;AAG3B;;;;;;;;;;;GAWG;AACH,qBAAa,iBAAiB;IAI1B,OAAO,CAAC,gBAAgB,CAA8C;IAE/D,OAAO,CACV,OAAO,EAAE,IAAI,CAAC,+BAA+B,EAAE,MAAM,CAAC,GACvD,+BAA+B,EAAE;CA6BvC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { AndroidMotionEventAction, } from "./inject-touch.js";
|
|
2
|
+
import { ScrcpyControlMessageType } from "./type.js";
|
|
3
|
+
/**
|
|
4
|
+
* On both Android and Windows, while both mouse and touch are supported input devices,
|
|
5
|
+
* only one of them can be active at a time. Touch the screen with a finger will deactivate mouse,
|
|
6
|
+
* and move the mouse will deactivate touch.
|
|
7
|
+
*
|
|
8
|
+
* On Android, this is achieved by dispatching a `MotionEvent.ACTION_UP` event for the previous input type.
|
|
9
|
+
* But on Chrome, there is no such event, causing both mouse and touch to be active at the same time.
|
|
10
|
+
* This can cause the new input to appear as "ignored".
|
|
11
|
+
*
|
|
12
|
+
* This helper class synthesis `ACTION_UP` events when a different pointer type appears,
|
|
13
|
+
* so Scrcpy server can remove the previously hovering pointer.
|
|
14
|
+
*/
|
|
15
|
+
export class ScrcpyHoverHelper {
|
|
16
|
+
// AFAIK, only mouse and pen can have hover state
|
|
17
|
+
// and you can't have two mouses or pens.
|
|
18
|
+
// So remember the last hovering pointer is enough.
|
|
19
|
+
lastHoverMessage;
|
|
20
|
+
process(message) {
|
|
21
|
+
const result = [];
|
|
22
|
+
// A different pointer appeared,
|
|
23
|
+
// Cancel previously hovering pointer so Scrcpy server can free up the pointer ID.
|
|
24
|
+
if (this.lastHoverMessage &&
|
|
25
|
+
this.lastHoverMessage.pointerId !== message.pointerId) {
|
|
26
|
+
// TODO: Inject MotionEvent.ACTION_HOVER_EXIT
|
|
27
|
+
// From testing, it seems no App cares about this event.
|
|
28
|
+
result.push({
|
|
29
|
+
...this.lastHoverMessage,
|
|
30
|
+
action: AndroidMotionEventAction.Up,
|
|
31
|
+
});
|
|
32
|
+
this.lastHoverMessage = undefined;
|
|
33
|
+
}
|
|
34
|
+
if (message.action === AndroidMotionEventAction.HoverMove) {
|
|
35
|
+
// TODO: Inject MotionEvent.ACTION_HOVER_ENTER
|
|
36
|
+
this.lastHoverMessage = message;
|
|
37
|
+
}
|
|
38
|
+
message.type =
|
|
39
|
+
ScrcpyControlMessageType.InjectTouch;
|
|
40
|
+
result.push(message);
|
|
41
|
+
return result;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=hover-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hover-helper.js","sourceRoot":"","sources":["../../src/control/hover-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,wBAAwB,GAE3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAErD;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,iBAAiB;IAC1B,iDAAiD;IACjD,yCAAyC;IACzC,mDAAmD;IAC3C,gBAAgB,CAA8C;IAE/D,OAAO,CACV,OAAsD;QAEtD,MAAM,MAAM,GAAsC,EAAE,CAAC;QAErD,gCAAgC;QAChC,kFAAkF;QAClF,IACI,IAAI,CAAC,gBAAgB;YACrB,IAAI,CAAC,gBAAgB,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,EACvD;YACE,6CAA6C;YAC7C,wDAAwD;YACxD,MAAM,CAAC,IAAI,CAAC;gBACR,GAAG,IAAI,CAAC,gBAAgB;gBACxB,MAAM,EAAE,wBAAwB,CAAC,EAAE;aACtC,CAAC,CAAC;YACH,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;SACrC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,wBAAwB,CAAC,SAAS,EAAE;YACvD,8CAA8C;YAC9C,IAAI,CAAC,gBAAgB,GAAG,OAA0C,CAAC;SACtE;QAEA,OAA2C,CAAC,IAAI;YAC7C,wBAAwB,CAAC,WAAW,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,OAA0C,CAAC,CAAC;QAExD,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ"}
|
package/esm/control/index.d.ts
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
5
|
-
export * from
|
|
6
|
-
export * from
|
|
7
|
-
export * from
|
|
1
|
+
export * from "./back-or-screen-on.js";
|
|
2
|
+
export * from "./hover-helper.js";
|
|
3
|
+
export * from "./inject-keycode.js";
|
|
4
|
+
export * from "./inject-scroll.js";
|
|
5
|
+
export * from "./inject-text.js";
|
|
6
|
+
export * from "./inject-touch.js";
|
|
7
|
+
export * from "./rotate-device.js";
|
|
8
|
+
export * from "./serializer.js";
|
|
9
|
+
export * from "./set-clipboard.js";
|
|
10
|
+
export * from "./set-screen-power-mode.js";
|
|
11
|
+
export * from "./type.js";
|
|
8
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/control/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/control/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,WAAW,CAAC"}
|
package/esm/control/index.js
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
5
|
-
export * from
|
|
6
|
-
export * from
|
|
7
|
-
export * from
|
|
1
|
+
export * from "./back-or-screen-on.js";
|
|
2
|
+
export * from "./hover-helper.js";
|
|
3
|
+
export * from "./inject-keycode.js";
|
|
4
|
+
export * from "./inject-scroll.js";
|
|
5
|
+
export * from "./inject-text.js";
|
|
6
|
+
export * from "./inject-touch.js";
|
|
7
|
+
export * from "./rotate-device.js";
|
|
8
|
+
export * from "./serializer.js";
|
|
9
|
+
export * from "./set-clipboard.js";
|
|
10
|
+
export * from "./set-screen-power-mode.js";
|
|
11
|
+
export * from "./type.js";
|
|
8
12
|
//# sourceMappingURL=index.js.map
|
package/esm/control/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/control/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/control/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,WAAW,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import Struct from
|
|
2
|
-
import { ScrcpyControlMessageType } from
|
|
1
|
+
import Struct from "@yume-chan/struct";
|
|
2
|
+
import { ScrcpyControlMessageType } from "./type.js";
|
|
3
3
|
export declare enum AndroidKeyEventAction {
|
|
4
4
|
Down = 0,
|
|
5
5
|
Up = 1
|
|
@@ -7,6 +7,10 @@ export declare enum AndroidKeyEventAction {
|
|
|
7
7
|
export declare enum AndroidKeyCode {
|
|
8
8
|
Home = 3,
|
|
9
9
|
Back = 4,
|
|
10
|
+
DPadUp = 19,
|
|
11
|
+
DPadDown = 20,
|
|
12
|
+
DPadLeft = 21,
|
|
13
|
+
DPadRight = 22,
|
|
10
14
|
VolumeUp = 24,
|
|
11
15
|
VolumeDown = 25,
|
|
12
16
|
A = 29,
|
|
@@ -39,6 +43,10 @@ export declare enum AndroidKeyCode {
|
|
|
39
43
|
Space = 62,
|
|
40
44
|
Enter = 66,
|
|
41
45
|
Delete = 67,
|
|
46
|
+
Escape = 111,
|
|
47
|
+
ForwardDelete = 112,
|
|
48
|
+
MoveHome = 122,
|
|
49
|
+
MoveEnd = 123,
|
|
42
50
|
VolumeMute = 164,
|
|
43
51
|
AppSwitch = 187
|
|
44
52
|
}
|
|
@@ -48,6 +56,6 @@ export declare const ScrcpyInjectKeyCodeControlMessage: Struct<{
|
|
|
48
56
|
keyCode: number;
|
|
49
57
|
repeat: number;
|
|
50
58
|
metaState: number;
|
|
51
|
-
}, never,
|
|
52
|
-
export
|
|
59
|
+
}, never, Record<never, never>, undefined>;
|
|
60
|
+
export type ScrcpyInjectKeyCodeControlMessage = typeof ScrcpyInjectKeyCodeControlMessage["TInit"];
|
|
53
61
|
//# sourceMappingURL=inject-keycode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inject-keycode.d.ts","sourceRoot":"","sources":["../../src/control/inject-keycode.ts"],"names":[],"mappings":"AAAA,OAAO,MAAuB,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAErD,oBAAY,qBAAqB;IAC7B,IAAI,IAAI;IACR,EAAE,IAAI;CACT;AAGD,oBAAY,cAAc;IACtB,IAAI,IAAI;IACR,IAAI,IAAI;IACR,QAAQ,KAAK;IACb,UAAU,KAAA;
|
|
1
|
+
{"version":3,"file":"inject-keycode.d.ts","sourceRoot":"","sources":["../../src/control/inject-keycode.ts"],"names":[],"mappings":"AAAA,OAAO,MAAuB,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAErD,oBAAY,qBAAqB;IAC7B,IAAI,IAAI;IACR,EAAE,IAAI;CACT;AAGD,oBAAY,cAAc;IACtB,IAAI,IAAI;IACR,IAAI,IAAI;IAER,MAAM,KAAK;IACX,QAAQ,KAAA;IACR,QAAQ,KAAA;IACR,SAAS,KAAA;IAET,QAAQ,KAAK;IACb,UAAU,KAAA;IAEV,CAAC,KAAK;IACN,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IAED,GAAG,KAAK;IACR,KAAK,KAAA;IACL,KAAK,KAAK;IACV,MAAM,KAAA;IACN,MAAM,MAAM;IACZ,aAAa,MAAA;IAEb,QAAQ,MAAM;IACd,OAAO,MAAM;IAEb,UAAU,MAAM;IAChB,SAAS,MAAM;CAClB;AAED,eAAO,MAAM,iCAAiC;;;;;;0CAKtB,CAAC;AAEzB,MAAM,MAAM,iCAAiC,GACzC,OAAO,iCAAiC,CAAC,OAAO,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import Struct, { placeholder } from
|
|
2
|
-
import { ScrcpyControlMessageType } from
|
|
1
|
+
import Struct, { placeholder } from "@yume-chan/struct";
|
|
2
|
+
import { ScrcpyControlMessageType } from "./type.js";
|
|
3
3
|
export var AndroidKeyEventAction;
|
|
4
4
|
(function (AndroidKeyEventAction) {
|
|
5
5
|
AndroidKeyEventAction[AndroidKeyEventAction["Down"] = 0] = "Down";
|
|
@@ -10,6 +10,10 @@ export var AndroidKeyCode;
|
|
|
10
10
|
(function (AndroidKeyCode) {
|
|
11
11
|
AndroidKeyCode[AndroidKeyCode["Home"] = 3] = "Home";
|
|
12
12
|
AndroidKeyCode[AndroidKeyCode["Back"] = 4] = "Back";
|
|
13
|
+
AndroidKeyCode[AndroidKeyCode["DPadUp"] = 19] = "DPadUp";
|
|
14
|
+
AndroidKeyCode[AndroidKeyCode["DPadDown"] = 20] = "DPadDown";
|
|
15
|
+
AndroidKeyCode[AndroidKeyCode["DPadLeft"] = 21] = "DPadLeft";
|
|
16
|
+
AndroidKeyCode[AndroidKeyCode["DPadRight"] = 22] = "DPadRight";
|
|
13
17
|
AndroidKeyCode[AndroidKeyCode["VolumeUp"] = 24] = "VolumeUp";
|
|
14
18
|
AndroidKeyCode[AndroidKeyCode["VolumeDown"] = 25] = "VolumeDown";
|
|
15
19
|
AndroidKeyCode[AndroidKeyCode["A"] = 29] = "A";
|
|
@@ -42,13 +46,17 @@ export var AndroidKeyCode;
|
|
|
42
46
|
AndroidKeyCode[AndroidKeyCode["Space"] = 62] = "Space";
|
|
43
47
|
AndroidKeyCode[AndroidKeyCode["Enter"] = 66] = "Enter";
|
|
44
48
|
AndroidKeyCode[AndroidKeyCode["Delete"] = 67] = "Delete";
|
|
49
|
+
AndroidKeyCode[AndroidKeyCode["Escape"] = 111] = "Escape";
|
|
50
|
+
AndroidKeyCode[AndroidKeyCode["ForwardDelete"] = 112] = "ForwardDelete";
|
|
51
|
+
AndroidKeyCode[AndroidKeyCode["MoveHome"] = 122] = "MoveHome";
|
|
52
|
+
AndroidKeyCode[AndroidKeyCode["MoveEnd"] = 123] = "MoveEnd";
|
|
45
53
|
AndroidKeyCode[AndroidKeyCode["VolumeMute"] = 164] = "VolumeMute";
|
|
46
54
|
AndroidKeyCode[AndroidKeyCode["AppSwitch"] = 187] = "AppSwitch";
|
|
47
55
|
})(AndroidKeyCode = AndroidKeyCode || (AndroidKeyCode = {}));
|
|
48
56
|
export const ScrcpyInjectKeyCodeControlMessage = new Struct()
|
|
49
|
-
.uint8(
|
|
50
|
-
.uint8(
|
|
51
|
-
.uint32(
|
|
52
|
-
.uint32(
|
|
53
|
-
.uint32(
|
|
57
|
+
.uint8("type", ScrcpyControlMessageType.InjectKeyCode)
|
|
58
|
+
.uint8("action", placeholder())
|
|
59
|
+
.uint32("keyCode")
|
|
60
|
+
.uint32("repeat")
|
|
61
|
+
.uint32("metaState");
|
|
54
62
|
//# sourceMappingURL=inject-keycode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inject-keycode.js","sourceRoot":"","sources":["../../src/control/inject-keycode.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAErD,MAAM,CAAN,IAAY,qBAGX;AAHD,WAAY,qBAAqB;IAC7B,iEAAQ,CAAA;IACR,6DAAM,CAAA;AACV,CAAC,EAHW,qBAAqB,GAArB,qBAAqB,KAArB,qBAAqB,QAGhC;AAED,oHAAoH;AACpH,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"inject-keycode.js","sourceRoot":"","sources":["../../src/control/inject-keycode.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAErD,MAAM,CAAN,IAAY,qBAGX;AAHD,WAAY,qBAAqB;IAC7B,iEAAQ,CAAA;IACR,6DAAM,CAAA;AACV,CAAC,EAHW,qBAAqB,GAArB,qBAAqB,KAArB,qBAAqB,QAGhC;AAED,oHAAoH;AACpH,MAAM,CAAN,IAAY,cAmDX;AAnDD,WAAY,cAAc;IACtB,mDAAQ,CAAA;IACR,mDAAQ,CAAA;IAER,wDAAW,CAAA;IACX,4DAAQ,CAAA;IACR,4DAAQ,CAAA;IACR,8DAAS,CAAA;IAET,4DAAa,CAAA;IACb,gEAAU,CAAA;IAEV,8CAAM,CAAA;IACN,8CAAC,CAAA;IACD,8CAAC,CAAA;IACD,8CAAC,CAAA;IACD,8CAAC,CAAA;IACD,8CAAC,CAAA;IACD,8CAAC,CAAA;IACD,8CAAC,CAAA;IACD,8CAAC,CAAA;IACD,8CAAC,CAAA;IACD,8CAAC,CAAA;IACD,8CAAC,CAAA;IACD,8CAAC,CAAA;IACD,8CAAC,CAAA;IACD,8CAAC,CAAA;IACD,8CAAC,CAAA;IACD,8CAAC,CAAA;IACD,8CAAC,CAAA;IACD,8CAAC,CAAA;IACD,8CAAC,CAAA;IACD,8CAAC,CAAA;IACD,8CAAC,CAAA;IACD,8CAAC,CAAA;IACD,8CAAC,CAAA;IACD,8CAAC,CAAA;IACD,8CAAC,CAAA;IAED,kDAAQ,CAAA;IACR,sDAAK,CAAA;IACL,sDAAU,CAAA;IACV,wDAAM,CAAA;IACN,yDAAY,CAAA;IACZ,uEAAa,CAAA;IAEb,6DAAc,CAAA;IACd,2DAAa,CAAA;IAEb,iEAAgB,CAAA;IAChB,+DAAe,CAAA;AACnB,CAAC,EAnDW,cAAc,GAAd,cAAc,KAAd,cAAc,QAmDzB;AAED,MAAM,CAAC,MAAM,iCAAiC,GAAG,IAAI,MAAM,EAAE;KACxD,KAAK,CAAC,MAAM,EAAE,wBAAwB,CAAC,aAAsB,CAAC;KAC9D,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAyB,CAAC;KACrD,MAAM,CAAC,SAAS,CAAC;KACjB,MAAM,CAAC,QAAQ,CAAC;KAChB,MAAM,CAAC,WAAW,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inject-scroll.d.ts","sourceRoot":"","sources":["../../src/control/inject-scroll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oCAAoC,EAAE,MAAM,qBAAqB,CAAC;AAEhF,MAAM,MAAM,gCAAgC,GACxC,oCAAoC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inject-scroll.js","sourceRoot":"","sources":["../../src/control/inject-scroll.ts"],"names":[],"mappings":""}
|
|
@@ -4,6 +4,6 @@ export declare const ScrcpyInjectTextControlMessage: Struct<{
|
|
|
4
4
|
type: ScrcpyControlMessageType.InjectText;
|
|
5
5
|
length: number;
|
|
6
6
|
text: string;
|
|
7
|
-
}, "length",
|
|
8
|
-
export
|
|
7
|
+
}, "length", Record<never, never>, undefined>;
|
|
8
|
+
export type ScrcpyInjectTextControlMessage = typeof ScrcpyInjectTextControlMessage['TInit'];
|
|
9
9
|
//# sourceMappingURL=inject-text.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inject-text.d.ts","sourceRoot":"","sources":["../../src/control/inject-text.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAErD,eAAO,MAAM,8BAA8B;;;;
|
|
1
|
+
{"version":3,"file":"inject-text.d.ts","sourceRoot":"","sources":["../../src/control/inject-text.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAErD,eAAO,MAAM,8BAA8B;;;;6CAIO,CAAC;AAEnD,MAAM,MAAM,8BAA8B,GACtC,OAAO,8BAA8B,CAAC,OAAO,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import Struct from
|
|
2
|
-
import { ScrcpyControlMessageType } from
|
|
1
|
+
import Struct, { NumberFieldType } from "@yume-chan/struct";
|
|
2
|
+
import { ScrcpyControlMessageType } from "./type.js";
|
|
3
3
|
export declare enum AndroidMotionEventAction {
|
|
4
4
|
Down = 0,
|
|
5
5
|
Up = 1,
|
|
@@ -15,6 +15,14 @@ export declare enum AndroidMotionEventAction {
|
|
|
15
15
|
ButtonPress = 11,
|
|
16
16
|
ButtonRelease = 12
|
|
17
17
|
}
|
|
18
|
+
export declare namespace ScrcpyPointerId {
|
|
19
|
+
const Mouse: bigint;
|
|
20
|
+
const Finger: bigint;
|
|
21
|
+
const VirtualMouse: bigint;
|
|
22
|
+
const VirtualFinger: bigint;
|
|
23
|
+
}
|
|
24
|
+
export declare function clamp(value: number, min: number, max: number): number;
|
|
25
|
+
export declare const ScrcpyFloatToUint16NumberType: NumberFieldType;
|
|
18
26
|
export declare const ScrcpyInjectTouchControlMessage: Struct<{
|
|
19
27
|
type: ScrcpyControlMessageType.InjectTouch;
|
|
20
28
|
action: AndroidMotionEventAction;
|
|
@@ -25,6 +33,6 @@ export declare const ScrcpyInjectTouchControlMessage: Struct<{
|
|
|
25
33
|
screenHeight: number;
|
|
26
34
|
pressure: number;
|
|
27
35
|
buttons: number;
|
|
28
|
-
}, never,
|
|
29
|
-
export
|
|
36
|
+
}, never, Record<never, never>, undefined>;
|
|
37
|
+
export type ScrcpyInjectTouchControlMessage = typeof ScrcpyInjectTouchControlMessage["TInit"];
|
|
30
38
|
//# sourceMappingURL=inject-touch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inject-touch.d.ts","sourceRoot":"","sources":["../../src/control/inject-touch.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"inject-touch.d.ts","sourceRoot":"","sources":["../../src/control/inject-touch.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAEX,eAAe,EAElB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAGrD,oBAAY,wBAAwB;IAChC,IAAI,IAAA;IACJ,EAAE,IAAA;IACF,IAAI,IAAA;IACJ,MAAM,IAAA;IACN,OAAO,IAAA;IACP,WAAW,IAAA;IACX,SAAS,IAAA;IACT,SAAS,IAAA;IACT,MAAM,IAAA;IACN,UAAU,IAAA;IACV,SAAS,KAAA;IACT,WAAW,KAAA;IACX,aAAa,KAAA;CAChB;AAGD,yBAAiB,eAAe,CAAC;IACtB,MAAM,KAAK,QAAa,CAAC;IACzB,MAAM,MAAM,QAAa,CAAC;IAC1B,MAAM,YAAY,QAAa,CAAC;IAChC,MAAM,aAAa,QAAa,CAAC;CAC3C;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAUrE;AAED,eAAO,MAAM,6BAA6B,EAAE,eAc3C,CAAC;AAMF,eAAO,MAAM,+BAA+B;;;;;;;;;;0CAStB,CAAC;AAEvB,MAAM,MAAM,+BAA+B,GACvC,OAAO,+BAA+B,CAAC,OAAO,CAAC,CAAC"}
|