@yume-chan/scrcpy 2.0.1 → 2.1.1
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.md +14 -0
- package/README.md +5 -2
- package/esm/1_15/impl/clipboard-stream.d.ts +2 -1
- package/esm/1_15/impl/clipboard-stream.d.ts.map +1 -1
- package/esm/1_15/impl/clipboard-stream.js +4 -7
- package/esm/1_15/impl/clipboard-stream.js.map +1 -1
- package/esm/1_15/impl/defaults.d.ts.map +1 -1
- package/esm/1_15/impl/defaults.js +2 -2
- package/esm/1_15/impl/defaults.js.map +1 -1
- package/esm/1_15/impl/scroll-controller.d.ts.map +1 -1
- package/esm/1_15/impl/scroll-controller.js +22 -21
- package/esm/1_15/impl/scroll-controller.js.map +1 -1
- package/esm/1_15/options.d.ts +2 -3
- package/esm/1_15/options.d.ts.map +1 -1
- package/esm/1_15/options.js +6 -15
- package/esm/1_15/options.js.map +1 -1
- package/esm/1_17/options.d.ts +2 -3
- package/esm/1_17/options.d.ts.map +1 -1
- package/esm/1_17/options.js +6 -15
- package/esm/1_17/options.js.map +1 -1
- package/esm/1_18/options.d.ts +2 -3
- package/esm/1_18/options.d.ts.map +1 -1
- package/esm/1_18/options.js +6 -15
- package/esm/1_18/options.js.map +1 -1
- package/esm/1_21/impl/set-clipboard.d.ts +2 -1
- package/esm/1_21/impl/set-clipboard.d.ts.map +1 -1
- package/esm/1_21/impl/set-clipboard.js +2 -5
- package/esm/1_21/impl/set-clipboard.js.map +1 -1
- package/esm/1_21/options.d.ts +2 -3
- package/esm/1_21/options.d.ts.map +1 -1
- package/esm/1_21/options.js +7 -21
- package/esm/1_21/options.js.map +1 -1
- package/esm/1_22/options.d.ts +2 -3
- package/esm/1_22/options.d.ts.map +1 -1
- package/esm/1_22/options.js +7 -21
- package/esm/1_22/options.js.map +1 -1
- package/esm/1_23/options.d.ts +2 -3
- package/esm/1_23/options.d.ts.map +1 -1
- package/esm/1_23/options.js +7 -21
- package/esm/1_23/options.js.map +1 -1
- package/esm/1_24/options.d.ts +2 -3
- package/esm/1_24/options.d.ts.map +1 -1
- package/esm/1_24/options.js +7 -21
- package/esm/1_24/options.js.map +1 -1
- package/esm/1_25/options.d.ts +2 -3
- package/esm/1_25/options.d.ts.map +1 -1
- package/esm/1_25/options.js +7 -21
- package/esm/1_25/options.js.map +1 -1
- package/esm/2_0/options.d.ts +2 -3
- package/esm/2_0/options.d.ts.map +1 -1
- package/esm/2_0/options.js +7 -21
- package/esm/2_0/options.js.map +1 -1
- package/esm/2_1/options.d.ts +2 -3
- package/esm/2_1/options.d.ts.map +1 -1
- package/esm/2_1/options.js +7 -21
- package/esm/2_1/options.js.map +1 -1
- package/esm/2_2/options.d.ts +2 -3
- package/esm/2_2/options.d.ts.map +1 -1
- package/esm/2_2/options.js +7 -21
- package/esm/2_2/options.js.map +1 -1
- package/esm/2_3/options.d.ts +2 -3
- package/esm/2_3/options.d.ts.map +1 -1
- package/esm/2_3/options.js +7 -21
- package/esm/2_3/options.js.map +1 -1
- package/esm/2_4/impl/uhid-output-stream.d.ts +2 -1
- package/esm/2_4/impl/uhid-output-stream.d.ts.map +1 -1
- package/esm/2_4/impl/uhid-output-stream.js +2 -5
- package/esm/2_4/impl/uhid-output-stream.js.map +1 -1
- package/esm/2_4/options.d.ts +2 -3
- package/esm/2_4/options.d.ts.map +1 -1
- package/esm/2_4/options.js +8 -27
- package/esm/2_4/options.js.map +1 -1
- package/esm/2_6/options.d.ts +2 -3
- package/esm/2_6/options.d.ts.map +1 -1
- package/esm/2_6/options.js +8 -22
- package/esm/2_6/options.js.map +1 -1
- package/esm/2_7/impl/serialize-uhid-create.d.ts +2 -2
- package/esm/2_7/impl/serialize-uhid-create.d.ts.map +1 -1
- package/esm/2_7/impl/serialize-uhid-create.js +3 -4
- package/esm/2_7/impl/serialize-uhid-create.js.map +1 -1
- package/esm/2_7/options.d.ts +2 -3
- package/esm/2_7/options.d.ts.map +1 -1
- package/esm/2_7/options.js +8 -22
- package/esm/2_7/options.js.map +1 -1
- package/esm/3_0/options.d.ts +2 -3
- package/esm/3_0/options.d.ts.map +1 -1
- package/esm/3_0/options.js +8 -22
- package/esm/3_0/options.js.map +1 -1
- package/esm/3_1/impl/serialize-uhid-create.d.ts +2 -2
- package/esm/3_1/impl/serialize-uhid-create.d.ts.map +1 -1
- package/esm/3_1/impl/serialize-uhid-create.js +3 -4
- package/esm/3_1/impl/serialize-uhid-create.js.map +1 -1
- package/esm/3_1/options.d.ts +2 -3
- package/esm/3_1/options.d.ts.map +1 -1
- package/esm/3_1/options.js +8 -22
- package/esm/3_1/options.js.map +1 -1
- package/esm/3_2/impl/defaults.d.ts +57 -0
- package/esm/3_2/impl/defaults.d.ts.map +1 -0
- package/esm/3_2/impl/defaults.js +6 -0
- package/esm/3_2/impl/defaults.js.map +1 -0
- package/esm/3_2/impl/index.d.ts +4 -0
- package/esm/3_2/impl/index.d.ts.map +1 -0
- package/esm/3_2/impl/index.js +3 -0
- package/esm/3_2/impl/index.js.map +1 -0
- package/esm/3_2/impl/init.d.ts +6 -0
- package/esm/3_2/impl/init.d.ts.map +1 -0
- package/esm/3_2/impl/init.js +2 -0
- package/esm/3_2/impl/init.js.map +1 -0
- package/esm/3_2/impl/prev.d.ts +2 -0
- package/esm/3_2/impl/prev.d.ts.map +1 -0
- package/esm/3_2/impl/prev.js +2 -0
- package/esm/3_2/impl/prev.js.map +1 -0
- package/esm/3_2/index.d.ts +2 -0
- package/esm/3_2/index.d.ts.map +1 -0
- package/esm/3_2/index.js +2 -0
- package/esm/3_2/index.js.map +1 -0
- package/esm/3_2/options.d.ts +90 -0
- package/esm/3_2/options.d.ts.map +1 -0
- package/esm/3_2/options.js +78 -0
- package/esm/3_2/options.js.map +1 -0
- package/esm/3_3.d.ts +8 -0
- package/esm/3_3.d.ts.map +1 -0
- package/esm/3_3.js +7 -0
- package/esm/3_3.js.map +1 -0
- package/esm/3_3_1/impl/index.d.ts +3 -0
- package/esm/3_3_1/impl/index.d.ts.map +1 -0
- package/esm/3_3_1/impl/index.js +3 -0
- package/esm/3_3_1/impl/index.js.map +1 -0
- package/esm/3_3_1/impl/prev.d.ts +2 -0
- package/esm/3_3_1/impl/prev.d.ts.map +1 -0
- package/esm/3_3_1/impl/prev.js +2 -0
- package/esm/3_3_1/impl/prev.js.map +1 -0
- package/esm/3_3_1/impl/scroll-controller.d.ts +7 -0
- package/esm/3_3_1/impl/scroll-controller.d.ts.map +1 -0
- package/esm/3_3_1/impl/scroll-controller.js +15 -0
- package/esm/3_3_1/impl/scroll-controller.js.map +1 -0
- package/esm/3_3_1/index.d.ts +2 -0
- package/esm/3_3_1/index.d.ts.map +1 -0
- package/esm/3_3_1/index.js +2 -0
- package/esm/3_3_1/index.js.map +1 -0
- package/esm/3_3_1/options.d.ts +90 -0
- package/esm/3_3_1/options.d.ts.map +1 -0
- package/esm/3_3_1/options.js +78 -0
- package/esm/3_3_1/options.js.map +1 -0
- package/esm/base/device-message.d.ts +10 -1
- package/esm/base/device-message.d.ts.map +1 -1
- package/esm/base/device-message.js +40 -1
- package/esm/base/device-message.js.map +1 -1
- package/esm/base/options.d.ts +2 -3
- package/esm/base/options.d.ts.map +1 -1
- package/esm/control/message-type-map.d.ts +2 -2
- package/esm/control/message-type-map.d.ts.map +1 -1
- package/esm/control/message-type-map.js.map +1 -1
- package/esm/index.d.ts +3 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +3 -0
- package/esm/index.js.map +1 -1
- package/esm/latest.d.ts +5 -5
- package/esm/latest.d.ts.map +1 -1
- package/esm/latest.js +3 -3
- package/esm/latest.js.map +1 -1
- package/package.json +9 -9
- package/src/1_15/impl/clipboard-stream.ts +5 -7
- package/src/1_15/impl/defaults.ts +15 -16
- package/src/1_15/impl/scroll-controller.ts +22 -19
- package/src/1_15/options.ts +9 -21
- package/src/1_17/options.ts +9 -21
- package/src/1_18/options.ts +9 -21
- package/src/1_21/impl/set-clipboard.ts +2 -5
- package/src/1_21/options.ts +13 -28
- package/src/1_22/options.ts +13 -28
- package/src/1_23/options.ts +13 -28
- package/src/1_24/options.ts +13 -28
- package/src/1_25/options.ts +13 -28
- package/src/2_0/options.ts +13 -28
- package/src/2_1/options.ts +13 -28
- package/src/2_2/options.ts +13 -28
- package/src/2_3/options.ts +13 -28
- package/src/2_4/impl/uhid-output-stream.ts +3 -6
- package/src/2_4/options.ts +16 -35
- package/src/2_6/options.ts +16 -29
- package/src/2_7/impl/serialize-uhid-create.ts +9 -11
- package/src/2_7/options.ts +16 -29
- package/src/3_0/options.ts +16 -29
- package/src/3_1/impl/serialize-uhid-create.ts +11 -13
- package/src/3_1/options.ts +16 -29
- package/src/3_2/impl/defaults.ts +8 -0
- package/src/3_2/impl/index.ts +3 -0
- package/src/3_2/impl/init.ts +17 -0
- package/src/3_2/impl/prev.ts +1 -0
- package/src/3_2/index.ts +1 -0
- package/src/3_2/options.ts +177 -0
- package/src/3_3.ts +14 -0
- package/src/3_3_1/impl/index.ts +6 -0
- package/src/3_3_1/impl/prev.ts +1 -0
- package/src/3_3_1/impl/scroll-controller.ts +21 -0
- package/src/3_3_1/index.ts +1 -0
- package/src/3_3_1/options.ts +177 -0
- package/src/base/device-message.ts +50 -1
- package/src/base/options.ts +3 -8
- package/src/control/message-type-map.ts +3 -3
- package/src/index.ts +3 -0
- package/src/latest.ts +5 -5
- package/tsconfig.build.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Change Log - @yume-chan/scrcpy
|
|
2
2
|
|
|
3
|
+
## 2.1.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 7edd616: Fix UHID output stream doesn't work from server version 2.6
|
|
8
|
+
- e0def5b: Add support for server version 3.3.1
|
|
9
|
+
|
|
10
|
+
## 2.1.0
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- Updated dependencies [40a60ca]
|
|
15
|
+
- @yume-chan/stream-extra@2.1.0
|
|
16
|
+
|
|
3
17
|
## 2.0.1
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -21,16 +21,19 @@
|
|
|
21
21
|
<a href="https://www.npmjs.com/package/@yume-chan/scrcpy">
|
|
22
22
|
<img alt="npm" src="https://img.shields.io/npm/dm/%40yume-chan/scrcpy?logo=npm">
|
|
23
23
|
</a>
|
|
24
|
-
<a href="https://
|
|
24
|
+
<a href="https://tangoadb.dev/discord">
|
|
25
25
|
<img alt="Discord" src="https://img.shields.io/discord/1120215514732564502?logo=discord&logoColor=%23ffffff&label=Discord">
|
|
26
26
|
</a>
|
|
27
|
+
<a href="https://tangoadb.dev/wechat">
|
|
28
|
+
<img alt="WeChat Group" src="https://img.shields.io/badge/WeChat-Group-%2307C160?logo=wechat&logoColor=white">
|
|
29
|
+
</a>
|
|
27
30
|
</p>
|
|
28
31
|
|
|
29
32
|
This package is part of [Tango ADB](https://github.com/yume-chan/ya-webadb). Generally you need multiple packages to build a complete ADB client that can run on Web browsers and Node.js. Read the documentation for more information.
|
|
30
33
|
|
|
31
34
|
## Documentation
|
|
32
35
|
|
|
33
|
-
Check the latest documentation at https://
|
|
36
|
+
Check the latest documentation at https://tangoadb.dev/scrcpy/
|
|
34
37
|
|
|
35
38
|
## Sponsors
|
|
36
39
|
|
|
@@ -8,8 +8,9 @@ export declare const ClipboardDeviceMessage: import("@yume-chan/struct").Struct<
|
|
|
8
8
|
}>>;
|
|
9
9
|
export declare class ClipboardStream extends PushReadableStream<string> implements ScrcpyDeviceMessageParser {
|
|
10
10
|
#private;
|
|
11
|
+
readonly id = 0;
|
|
11
12
|
constructor();
|
|
12
|
-
parse(
|
|
13
|
+
parse(_id: number, stream: AsyncExactReadable): Promise<undefined>;
|
|
13
14
|
close(): void;
|
|
14
15
|
error(e?: unknown): void;
|
|
15
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clipboard-stream.d.ts","sourceRoot":"","sources":["../../../src/1_15/impl/clipboard-stream.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAErE,eAAO,MAAM,sBAAsB;;;;GAGlC,CAAC;AAEF,qBAAa,eACT,SAAQ,kBAAkB,CAAC,MAAM,CACjC,YAAW,yBAAyB
|
|
1
|
+
{"version":3,"file":"clipboard-stream.d.ts","sourceRoot":"","sources":["../../../src/1_15/impl/clipboard-stream.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAErE,eAAO,MAAM,sBAAsB;;;;GAGlC,CAAC;AAEF,qBAAa,eACT,SAAQ,kBAAkB,CAAC,MAAM,CACjC,YAAW,yBAAyB;;IAIpC,QAAQ,CAAC,EAAE,KAAK;;IAUV,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;IAKxE,KAAK;IAIL,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO;CAGpB"}
|
|
@@ -3,6 +3,7 @@ import { string, struct, u32 } from "@yume-chan/struct";
|
|
|
3
3
|
export const ClipboardDeviceMessage = struct({ content: string(u32) }, { littleEndian: false });
|
|
4
4
|
export class ClipboardStream extends PushReadableStream {
|
|
5
5
|
#controller;
|
|
6
|
+
id = 0;
|
|
6
7
|
constructor() {
|
|
7
8
|
let controller;
|
|
8
9
|
super((controller_) => {
|
|
@@ -10,13 +11,9 @@ export class ClipboardStream extends PushReadableStream {
|
|
|
10
11
|
});
|
|
11
12
|
this.#controller = controller;
|
|
12
13
|
}
|
|
13
|
-
async parse(
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
await this.#controller.enqueue(message.content);
|
|
17
|
-
return true;
|
|
18
|
-
}
|
|
19
|
-
return false;
|
|
14
|
+
async parse(_id, stream) {
|
|
15
|
+
const message = await ClipboardDeviceMessage.deserialize(stream);
|
|
16
|
+
await this.#controller.enqueue(message.content);
|
|
20
17
|
}
|
|
21
18
|
close() {
|
|
22
19
|
this.#controller.close();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clipboard-stream.js","sourceRoot":"","sources":["../../../src/1_15/impl/clipboard-stream.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAIxD,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CACxC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EACxB,EAAE,YAAY,EAAE,KAAK,EAAE,CAC1B,CAAC;AAEF,MAAM,OAAO,eACT,SAAQ,kBAA0B;IAGlC,WAAW,CAAuC;
|
|
1
|
+
{"version":3,"file":"clipboard-stream.js","sourceRoot":"","sources":["../../../src/1_15/impl/clipboard-stream.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAIxD,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CACxC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EACxB,EAAE,YAAY,EAAE,KAAK,EAAE,CAC1B,CAAC;AAEF,MAAM,OAAO,eACT,SAAQ,kBAA0B;IAGlC,WAAW,CAAuC;IAEzC,EAAE,GAAG,CAAC,CAAC;IAEhB;QACI,IAAI,UAAiD,CAAC;QACtD,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE;YAClB,UAAU,GAAG,WAAW,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,GAAW,EAAE,MAA0B;QAC/C,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACjE,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,KAAK;QACD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,CAAW;QACb,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/1_15/impl/defaults.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/1_15/impl/defaults.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;CAcc,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { VideoOrientation } from "./init.js";
|
|
2
|
-
export const Defaults =
|
|
2
|
+
export const Defaults = {
|
|
3
3
|
logLevel: "debug",
|
|
4
4
|
maxSize: 0,
|
|
5
5
|
bitRate: 8_000_000,
|
|
@@ -13,5 +13,5 @@ export const Defaults = /* #__PURE__ */ (() => ({
|
|
|
13
13
|
showTouches: false,
|
|
14
14
|
stayAwake: false,
|
|
15
15
|
codecOptions: undefined,
|
|
16
|
-
}
|
|
16
|
+
};
|
|
17
17
|
//# sourceMappingURL=defaults.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/1_15/impl/defaults.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,CAAC,MAAM,QAAQ,GAAG
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/1_15/impl/defaults.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,CAAC,MAAM,QAAQ,GAAG;IACpB,QAAQ,EAAE,OAAO;IACjB,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,CAAC;IACT,oBAAoB,EAAE,gBAAgB,CAAC,QAAQ;IAC/C,aAAa,EAAE,KAAK;IACpB,IAAI,EAAE,SAAS;IACf,aAAa,EAAE,IAAI;IACnB,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,CAAC;IACZ,WAAW,EAAE,KAAK;IAClB,SAAS,EAAE,KAAK;IAChB,YAAY,EAAE,SAAS;CACQ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll-controller.d.ts","sourceRoot":"","sources":["../../../src/1_15/impl/scroll-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,iBAAiB,CAAC;AAExE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;GAWtC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,UAAU,CAC/C,OAAO,0BAA0B,CACpC,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,gBAAiB,YAAW,sBAAsB;;IAI3D,SAAS,CAAC,cAAc,CACpB,OAAO,EAAE,gCAAgC,GAC1C,gCAAgC,GAAG,SAAS;
|
|
1
|
+
{"version":3,"file":"scroll-controller.d.ts","sourceRoot":"","sources":["../../../src/1_15/impl/scroll-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,iBAAiB,CAAC;AAExE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;GAWtC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,UAAU,CAC/C,OAAO,0BAA0B,CACpC,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,gBAAiB,YAAW,sBAAsB;;IAI3D,SAAS,CAAC,cAAc,CACpB,OAAO,EAAE,gCAAgC,GAC1C,gCAAgC,GAAG,SAAS;IAkC/C,sBAAsB,CAClB,OAAO,EAAE,gCAAgC,GAC1C,UAAU,GAAG,SAAS;CAQ5B;AAED,wBAAgB,sBAAsB,IAAI,sBAAsB,CAE/D"}
|
|
@@ -18,31 +18,32 @@ export class ScrollController {
|
|
|
18
18
|
#accumulatedX = 0;
|
|
19
19
|
#accumulatedY = 0;
|
|
20
20
|
processMessage(message) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
21
|
+
// Ref https://github.com/libsdl-org/SDL/blob/878ea48b607f23e4ec8c12d1395b86ab529e30d0/src/events/SDL_mouse.c#L897-L914
|
|
22
|
+
if (message.scrollX) {
|
|
23
|
+
if (Math.sign(message.scrollX) !== Math.sign(this.#accumulatedX)) {
|
|
24
|
+
this.#accumulatedX = message.scrollX;
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
this.#accumulatedX += message.scrollX;
|
|
28
|
+
}
|
|
28
29
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
if (message.scrollY) {
|
|
31
|
+
if (Math.sign(message.scrollY) !== Math.sign(this.#accumulatedY)) {
|
|
32
|
+
this.#accumulatedY = message.scrollY;
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
this.#accumulatedY += message.scrollY;
|
|
36
|
+
}
|
|
32
37
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
scrollY = -1;
|
|
39
|
-
this.#accumulatedY = 0;
|
|
40
|
-
}
|
|
41
|
-
if (scrollX === 0 && scrollY === 0) {
|
|
38
|
+
const integerX = this.#accumulatedX | 0;
|
|
39
|
+
this.#accumulatedX -= integerX;
|
|
40
|
+
const integerY = this.#accumulatedY | 0;
|
|
41
|
+
this.#accumulatedY -= integerY;
|
|
42
|
+
if (integerX === 0 && integerY === 0) {
|
|
42
43
|
return undefined;
|
|
43
44
|
}
|
|
44
|
-
message.scrollX =
|
|
45
|
-
message.scrollY =
|
|
45
|
+
message.scrollX = integerX;
|
|
46
|
+
message.scrollY = integerY;
|
|
46
47
|
return message;
|
|
47
48
|
}
|
|
48
49
|
serializeScrollMessage(message) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll-controller.js","sourceRoot":"","sources":["../../../src/1_15/impl/scroll-controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAK9D,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAC5C;IACI,IAAI,EAAE,EAAE;IACR,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;IACb,UAAU,EAAE,GAAG;IACf,WAAW,EAAE,GAAG;IAChB,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,GAAG;CACf,EACD,EAAE,YAAY,EAAE,KAAK,EAAE,CAC1B,CAAC;AAMF;;;;;GAKG;AACH,MAAM,OAAO,gBAAgB;IACzB,aAAa,GAAG,CAAC,CAAC;IAClB,aAAa,GAAG,CAAC,CAAC;IAER,cAAc,CACpB,OAAyC;QAEzC,
|
|
1
|
+
{"version":3,"file":"scroll-controller.js","sourceRoot":"","sources":["../../../src/1_15/impl/scroll-controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAK9D,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAC5C;IACI,IAAI,EAAE,EAAE;IACR,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;IACb,UAAU,EAAE,GAAG;IACf,WAAW,EAAE,GAAG;IAChB,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,GAAG;CACf,EACD,EAAE,YAAY,EAAE,KAAK,EAAE,CAC1B,CAAC;AAMF;;;;;GAKG;AACH,MAAM,OAAO,gBAAgB;IACzB,aAAa,GAAG,CAAC,CAAC;IAClB,aAAa,GAAG,CAAC,CAAC;IAER,cAAc,CACpB,OAAyC;QAEzC,uHAAuH;QAEvH,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC/D,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;YAC1C,CAAC;QACL,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC/D,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;YAC1C,CAAC;QACL,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,aAAa,IAAI,QAAQ,CAAC;QAE/B,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,aAAa,IAAI,QAAQ,CAAC;QAE/B,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC;QAC3B,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC;QAC3B,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,sBAAsB,CAClB,OAAyC;QAEzC,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,OAAO,0BAA0B,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC;CACJ;AAED,MAAM,UAAU,sBAAsB;IAClC,OAAO,IAAI,gBAAgB,EAAE,CAAC;AAClC,CAAC"}
|
package/esm/1_15/options.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { MaybePromiseLike } from "@yume-chan/async";
|
|
2
2
|
import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
|
|
3
|
-
import type { AsyncExactReadable, ExactReadable } from "@yume-chan/struct";
|
|
4
3
|
import type { ScrcpyControlMessageType, ScrcpyDisplay, ScrcpyMediaStreamPacket, ScrcpyOptions, ScrcpyScrollController, ScrcpyVideoStream } from "../base/index.js";
|
|
4
|
+
import { ScrcpyDeviceMessageParsers } from "../base/index.js";
|
|
5
5
|
import type { ScrcpyBackOrScreenOnControlMessage, ScrcpyInjectTouchControlMessage, ScrcpySetClipboardControlMessage } from "../latest.js";
|
|
6
6
|
import type { Init } from "./impl/index.js";
|
|
7
7
|
export declare class ScrcpyOptions1_15 implements ScrcpyOptions<Init> {
|
|
@@ -24,13 +24,12 @@ export declare class ScrcpyOptions1_15 implements ScrcpyOptions<Init> {
|
|
|
24
24
|
readonly value: Required<Init>;
|
|
25
25
|
get controlMessageTypes(): readonly ScrcpyControlMessageType[];
|
|
26
26
|
get clipboard(): ReadableStream<string> | undefined;
|
|
27
|
+
get deviceMessageParsers(): ScrcpyDeviceMessageParsers;
|
|
27
28
|
constructor(init: Init);
|
|
28
29
|
serialize(): string[];
|
|
29
30
|
setListDisplays(): void;
|
|
30
31
|
parseDisplay(line: string): ScrcpyDisplay | undefined;
|
|
31
32
|
parseVideoStreamMetadata(stream: ReadableStream<Uint8Array>): MaybePromiseLike<ScrcpyVideoStream>;
|
|
32
|
-
parseDeviceMessage(id: number, stream: ExactReadable | AsyncExactReadable): Promise<void>;
|
|
33
|
-
endDeviceMessageStream(e?: unknown): void;
|
|
34
33
|
createMediaStreamTransformer(): TransformStream<Uint8Array, ScrcpyMediaStreamPacket>;
|
|
35
34
|
serializeInjectTouchControlMessage(message: ScrcpyInjectTouchControlMessage): Uint8Array;
|
|
36
35
|
serializeBackOrScreenOnControlMessage(message: ScrcpyBackOrScreenOnControlMessage): Uint8Array | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/1_15/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/1_15/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/E,OAAO,KAAK,EACR,wBAAwB,EACxB,aAAa,EACb,uBAAuB,EACvB,aAAa,EACb,sBAAsB,EACtB,iBAAiB,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EACR,kCAAkC,EAClC,+BAA+B,EAC/B,gCAAgC,EACnC,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAiB5C,qBAAa,iBAAkB,YAAW,aAAa,CAAC,IAAI,CAAC;;IACzD,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;MAAY;IAEpC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE/B,IAAI,mBAAmB,IAAI,SAAS,wBAAwB,EAAE,CAE7D;IAGD,IAAI,SAAS,IAAI,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAElD;IAGD,IAAI,oBAAoB,+BAEvB;gBAEW,IAAI,EAAE,IAAI;IAUtB,SAAS,IAAI,MAAM,EAAE;IAIrB,eAAe,IAAI,IAAI;IAIvB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIrD,wBAAwB,CACpB,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,gBAAgB,CAAC,iBAAiB,CAAC;IAItC,4BAA4B,IAAI,eAAe,CAC3C,UAAU,EACV,uBAAuB,CAC1B;IAID,kCAAkC,CAC9B,OAAO,EAAE,+BAA+B,GACzC,UAAU;IAIb,qCAAqC,CACjC,OAAO,EAAE,kCAAkC,GAC5C,UAAU,GAAG,SAAS;IAIzB,mCAAmC,CAC/B,OAAO,EAAE,gCAAgC,GAC1C,UAAU;IAIb,sBAAsB,IAAI,sBAAsB;CAGnD;AAED,KAAK,KAAK,GAAG,IAAI,CAAC;AAElB,yBAAiB,iBAAiB,CAAC;IAC/B,KAAY,IAAI,GAAG,KAAK,CAAC;CAC5B"}
|
package/esm/1_15/options.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ScrcpyDeviceMessageParsers } from "../base/index.js";
|
|
1
2
|
import { ClipboardStream, ControlMessageTypes, createMediaStreamTransformer, createScrollController, Defaults, parseDisplay, parseVideoStreamMetadata, serialize, serializeBackOrScreenOnControlMessage, serializeInjectTouchControlMessage, SerializeOrder, serializeSetClipboardControlMessage, setListDisplays, } from "./impl/index.js";
|
|
2
3
|
export class ScrcpyOptions1_15 {
|
|
3
4
|
static Defaults = Defaults;
|
|
@@ -9,10 +10,14 @@ export class ScrcpyOptions1_15 {
|
|
|
9
10
|
get clipboard() {
|
|
10
11
|
return this.#clipboard;
|
|
11
12
|
}
|
|
13
|
+
#deviceMessageParsers = new ScrcpyDeviceMessageParsers();
|
|
14
|
+
get deviceMessageParsers() {
|
|
15
|
+
return this.#deviceMessageParsers;
|
|
16
|
+
}
|
|
12
17
|
constructor(init) {
|
|
13
18
|
this.value = { ...Defaults, ...init };
|
|
14
19
|
if (this.value.control) {
|
|
15
|
-
this.#clipboard = new ClipboardStream();
|
|
20
|
+
this.#clipboard = this.#deviceMessageParsers.add(new ClipboardStream());
|
|
16
21
|
}
|
|
17
22
|
}
|
|
18
23
|
serialize() {
|
|
@@ -27,20 +32,6 @@ export class ScrcpyOptions1_15 {
|
|
|
27
32
|
parseVideoStreamMetadata(stream) {
|
|
28
33
|
return parseVideoStreamMetadata(stream);
|
|
29
34
|
}
|
|
30
|
-
async parseDeviceMessage(id, stream) {
|
|
31
|
-
if (await this.#clipboard.parse(id, stream)) {
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
throw new Error("Unknown device message");
|
|
35
|
-
}
|
|
36
|
-
endDeviceMessageStream(e) {
|
|
37
|
-
if (e) {
|
|
38
|
-
this.#clipboard.error(e);
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
this.#clipboard.close();
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
35
|
createMediaStreamTransformer() {
|
|
45
36
|
return createMediaStreamTransformer(this.value);
|
|
46
37
|
}
|
package/esm/1_15/options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/1_15/options.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/1_15/options.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAQ9D,OAAO,EACH,eAAe,EACf,mBAAmB,EACnB,4BAA4B,EAC5B,sBAAsB,EACtB,QAAQ,EACR,YAAY,EACZ,wBAAwB,EACxB,SAAS,EACT,qCAAqC,EACrC,kCAAkC,EAClC,cAAc,EACd,mCAAmC,EACnC,eAAe,GAClB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,OAAO,iBAAiB;IAC1B,MAAM,CAAU,QAAQ,GAAG,QAAQ,CAAC;IAE3B,KAAK,CAAiB;IAE/B,IAAI,mBAAmB;QACnB,OAAO,mBAAmB,CAAC;IAC/B,CAAC;IAED,UAAU,CAA8B;IACxC,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,qBAAqB,GAAG,IAAI,0BAA0B,EAAE,CAAC;IACzD,IAAI,oBAAoB;QACpB,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACtC,CAAC;IAED,YAAY,IAAU;QAClB,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;QAEtC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAC5C,IAAI,eAAe,EAAE,CACxB,CAAC;QACN,CAAC;IACL,CAAC;IAED,SAAS;QACL,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACjD,CAAC;IAED,eAAe;QACX,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,YAAY,CAAC,IAAY;QACrB,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,wBAAwB,CACpB,MAAkC;QAElC,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,4BAA4B;QAIxB,OAAO,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,kCAAkC,CAC9B,OAAwC;QAExC,OAAO,kCAAkC,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,qCAAqC,CACjC,OAA2C;QAE3C,OAAO,qCAAqC,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,mCAAmC,CAC/B,OAAyC;QAEzC,OAAO,mCAAmC,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,sBAAsB;QAClB,OAAO,sBAAsB,EAAE,CAAC;IACpC,CAAC"}
|
package/esm/1_17/options.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { MaybePromiseLike } from "@yume-chan/async";
|
|
2
2
|
import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
|
|
3
|
-
import type { AsyncExactReadable, ExactReadable } from "@yume-chan/struct";
|
|
4
3
|
import type { ScrcpyControlMessageType, ScrcpyDisplay, ScrcpyEncoder, ScrcpyMediaStreamPacket, ScrcpyOptions, ScrcpyOptionsListEncoders, ScrcpyScrollController, ScrcpyVideoStream } from "../base/index.js";
|
|
4
|
+
import { ScrcpyDeviceMessageParsers } from "../base/index.js";
|
|
5
5
|
import type { ScrcpyBackOrScreenOnControlMessage, ScrcpyInjectTouchControlMessage, ScrcpySetClipboardControlMessage } from "../latest.js";
|
|
6
6
|
import type { Init } from "./impl/index.js";
|
|
7
7
|
export declare class ScrcpyOptions1_17 implements ScrcpyOptions<Init>, ScrcpyOptionsListEncoders {
|
|
@@ -25,6 +25,7 @@ export declare class ScrcpyOptions1_17 implements ScrcpyOptions<Init>, ScrcpyOpt
|
|
|
25
25
|
readonly value: Required<Init>;
|
|
26
26
|
get controlMessageTypes(): readonly ScrcpyControlMessageType[];
|
|
27
27
|
get clipboard(): ReadableStream<string> | undefined;
|
|
28
|
+
get deviceMessageParsers(): ScrcpyDeviceMessageParsers;
|
|
28
29
|
constructor(init: Init);
|
|
29
30
|
serialize(): string[];
|
|
30
31
|
setListDisplays(): void;
|
|
@@ -32,8 +33,6 @@ export declare class ScrcpyOptions1_17 implements ScrcpyOptions<Init>, ScrcpyOpt
|
|
|
32
33
|
setListEncoders(): void;
|
|
33
34
|
parseEncoder(line: string): ScrcpyEncoder | undefined;
|
|
34
35
|
parseVideoStreamMetadata(stream: ReadableStream<Uint8Array>): MaybePromiseLike<ScrcpyVideoStream>;
|
|
35
|
-
parseDeviceMessage(id: number, stream: ExactReadable | AsyncExactReadable): Promise<void>;
|
|
36
|
-
endDeviceMessageStream(e?: unknown): void;
|
|
37
36
|
createMediaStreamTransformer(): TransformStream<Uint8Array, ScrcpyMediaStreamPacket>;
|
|
38
37
|
serializeInjectTouchControlMessage(message: ScrcpyInjectTouchControlMessage): Uint8Array;
|
|
39
38
|
serializeBackOrScreenOnControlMessage(message: ScrcpyBackOrScreenOnControlMessage): Uint8Array | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/1_17/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/1_17/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/E,OAAO,KAAK,EACR,wBAAwB,EACxB,aAAa,EACb,aAAa,EACb,uBAAuB,EACvB,aAAa,EACb,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EACR,kCAAkC,EAClC,+BAA+B,EAC/B,gCAAgC,EACnC,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAoB5C,qBAAa,iBACT,YAAW,aAAa,CAAC,IAAI,CAAC,EAAE,yBAAyB;;IAEzD,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;;MAAY;IAEpC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE/B,IAAI,mBAAmB,IAAI,SAAS,wBAAwB,EAAE,CAE7D;IAGD,IAAI,SAAS,IAAI,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAElD;IAGD,IAAI,oBAAoB,+BAEvB;gBAEW,IAAI,EAAE,IAAI;IAUtB,SAAS,IAAI,MAAM,EAAE;IAIrB,eAAe,IAAI,IAAI;IAIvB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIrD,eAAe;IAIf,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIrD,wBAAwB,CACpB,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,gBAAgB,CAAC,iBAAiB,CAAC;IAItC,4BAA4B,IAAI,eAAe,CAC3C,UAAU,EACV,uBAAuB,CAC1B;IAID,kCAAkC,CAC9B,OAAO,EAAE,+BAA+B,GACzC,UAAU;IAIb,qCAAqC,CACjC,OAAO,EAAE,kCAAkC,GAC5C,UAAU,GAAG,SAAS;IAIzB,mCAAmC,CAC/B,OAAO,EAAE,gCAAgC,GAC1C,UAAU;IAIb,sBAAsB,IAAI,sBAAsB;CAGnD;AAED,KAAK,KAAK,GAAG,IAAI,CAAC;AAElB,yBAAiB,iBAAiB,CAAC;IAC/B,KAAY,IAAI,GAAG,KAAK,CAAC;CAC5B"}
|
package/esm/1_17/options.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ScrcpyDeviceMessageParsers } from "../base/index.js";
|
|
1
2
|
import { ClipboardStream, ControlMessageTypes, createMediaStreamTransformer, createScrollController, Defaults, EncoderRegex, parseDisplay, parseEncoder, parseVideoStreamMetadata, serialize, serializeBackOrScreenOnControlMessage, serializeInjectTouchControlMessage, SerializeOrder, serializeSetClipboardControlMessage, setListDisplays, setListEncoders, } from "./impl/index.js";
|
|
2
3
|
export class ScrcpyOptions1_17 {
|
|
3
4
|
static Defaults = Defaults;
|
|
@@ -9,10 +10,14 @@ export class ScrcpyOptions1_17 {
|
|
|
9
10
|
get clipboard() {
|
|
10
11
|
return this.#clipboard;
|
|
11
12
|
}
|
|
13
|
+
#deviceMessageParsers = new ScrcpyDeviceMessageParsers();
|
|
14
|
+
get deviceMessageParsers() {
|
|
15
|
+
return this.#deviceMessageParsers;
|
|
16
|
+
}
|
|
12
17
|
constructor(init) {
|
|
13
18
|
this.value = { ...Defaults, ...init };
|
|
14
19
|
if (this.value.control) {
|
|
15
|
-
this.#clipboard = new ClipboardStream();
|
|
20
|
+
this.#clipboard = this.#deviceMessageParsers.add(new ClipboardStream());
|
|
16
21
|
}
|
|
17
22
|
}
|
|
18
23
|
serialize() {
|
|
@@ -33,20 +38,6 @@ export class ScrcpyOptions1_17 {
|
|
|
33
38
|
parseVideoStreamMetadata(stream) {
|
|
34
39
|
return parseVideoStreamMetadata(stream);
|
|
35
40
|
}
|
|
36
|
-
async parseDeviceMessage(id, stream) {
|
|
37
|
-
if (await this.#clipboard.parse(id, stream)) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
throw new Error("Unknown device message");
|
|
41
|
-
}
|
|
42
|
-
endDeviceMessageStream(e) {
|
|
43
|
-
if (e) {
|
|
44
|
-
this.#clipboard.error(e);
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
this.#clipboard.close();
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
41
|
createMediaStreamTransformer() {
|
|
51
42
|
return createMediaStreamTransformer(this.value);
|
|
52
43
|
}
|
package/esm/1_17/options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/1_17/options.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/1_17/options.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAQ9D,OAAO,EACH,eAAe,EACf,mBAAmB,EACnB,4BAA4B,EAC5B,sBAAsB,EACtB,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,wBAAwB,EACxB,SAAS,EACT,qCAAqC,EACrC,kCAAkC,EAClC,cAAc,EACd,mCAAmC,EACnC,eAAe,EACf,eAAe,GAClB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,OAAO,iBAAiB;IAG1B,MAAM,CAAU,QAAQ,GAAG,QAAQ,CAAC;IAE3B,KAAK,CAAiB;IAE/B,IAAI,mBAAmB;QACnB,OAAO,mBAAmB,CAAC;IAC/B,CAAC;IAED,UAAU,CAA8B;IACxC,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,qBAAqB,GAAG,IAAI,0BAA0B,EAAE,CAAC;IACzD,IAAI,oBAAoB;QACpB,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACtC,CAAC;IAED,YAAY,IAAU;QAClB,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;QAEtC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAC5C,IAAI,eAAe,EAAE,CACxB,CAAC;QACN,CAAC;IACL,CAAC;IAED,SAAS;QACL,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACjD,CAAC;IAED,eAAe;QACX,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,YAAY,CAAC,IAAY;QACrB,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,eAAe;QACX,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,YAAY,CAAC,IAAY;QACrB,OAAO,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC5C,CAAC;IAED,wBAAwB,CACpB,MAAkC;QAElC,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,4BAA4B;QAIxB,OAAO,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,kCAAkC,CAC9B,OAAwC;QAExC,OAAO,kCAAkC,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,qCAAqC,CACjC,OAA2C;QAE3C,OAAO,qCAAqC,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,mCAAmC,CAC/B,OAAyC;QAEzC,OAAO,mCAAmC,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,sBAAsB;QAClB,OAAO,sBAAsB,EAAE,CAAC;IACpC,CAAC"}
|
package/esm/1_18/options.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { MaybePromiseLike } from "@yume-chan/async";
|
|
2
2
|
import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
|
|
3
|
-
import type { AsyncExactReadable, ExactReadable } from "@yume-chan/struct";
|
|
4
3
|
import type { ScrcpyControlMessageType, ScrcpyDisplay, ScrcpyEncoder, ScrcpyMediaStreamPacket, ScrcpyOptions, ScrcpyOptionsListEncoders, ScrcpyScrollController, ScrcpyVideoStream } from "../base/index.js";
|
|
4
|
+
import { ScrcpyDeviceMessageParsers } from "../base/index.js";
|
|
5
5
|
import type { ScrcpyBackOrScreenOnControlMessage, ScrcpyInjectTouchControlMessage, ScrcpySetClipboardControlMessage } from "../latest.js";
|
|
6
6
|
import type { Init } from "./impl/index.js";
|
|
7
7
|
export declare class ScrcpyOptions1_18 implements ScrcpyOptions<Init>, ScrcpyOptionsListEncoders {
|
|
@@ -26,6 +26,7 @@ export declare class ScrcpyOptions1_18 implements ScrcpyOptions<Init>, ScrcpyOpt
|
|
|
26
26
|
readonly value: Required<Init>;
|
|
27
27
|
get controlMessageTypes(): readonly ScrcpyControlMessageType[];
|
|
28
28
|
get clipboard(): ReadableStream<string> | undefined;
|
|
29
|
+
get deviceMessageParsers(): ScrcpyDeviceMessageParsers;
|
|
29
30
|
constructor(init: Init);
|
|
30
31
|
serialize(): string[];
|
|
31
32
|
setListDisplays(): void;
|
|
@@ -33,8 +34,6 @@ export declare class ScrcpyOptions1_18 implements ScrcpyOptions<Init>, ScrcpyOpt
|
|
|
33
34
|
setListEncoders(): void;
|
|
34
35
|
parseEncoder(line: string): ScrcpyEncoder | undefined;
|
|
35
36
|
parseVideoStreamMetadata(stream: ReadableStream<Uint8Array>): MaybePromiseLike<ScrcpyVideoStream>;
|
|
36
|
-
parseDeviceMessage(id: number, stream: ExactReadable | AsyncExactReadable): Promise<void>;
|
|
37
|
-
endDeviceMessageStream(e?: unknown): void;
|
|
38
37
|
createMediaStreamTransformer(): TransformStream<Uint8Array, ScrcpyMediaStreamPacket>;
|
|
39
38
|
serializeInjectTouchControlMessage(message: ScrcpyInjectTouchControlMessage): Uint8Array;
|
|
40
39
|
serializeBackOrScreenOnControlMessage(message: ScrcpyBackOrScreenOnControlMessage): Uint8Array | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/1_18/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/1_18/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/E,OAAO,KAAK,EACR,wBAAwB,EACxB,aAAa,EACb,aAAa,EACb,uBAAuB,EACvB,aAAa,EACb,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EACR,kCAAkC,EAClC,+BAA+B,EAC/B,gCAAgC,EACnC,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAoB5C,qBAAa,iBACT,YAAW,aAAa,CAAC,IAAI,CAAC,EAAE,yBAAyB;;IAEzD,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;;;MAAY;IAEpC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE/B,IAAI,mBAAmB,IAAI,SAAS,wBAAwB,EAAE,CAE7D;IAGD,IAAI,SAAS,IAAI,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAElD;IAGD,IAAI,oBAAoB,+BAEvB;gBAEW,IAAI,EAAE,IAAI;IAUtB,SAAS,IAAI,MAAM,EAAE;IAIrB,eAAe,IAAI,IAAI;IAIvB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIrD,eAAe;IAIf,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIrD,wBAAwB,CACpB,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,gBAAgB,CAAC,iBAAiB,CAAC;IAItC,4BAA4B,IAAI,eAAe,CAC3C,UAAU,EACV,uBAAuB,CAC1B;IAID,kCAAkC,CAC9B,OAAO,EAAE,+BAA+B,GACzC,UAAU;IAIb,qCAAqC,CACjC,OAAO,EAAE,kCAAkC,GAC5C,UAAU,GAAG,SAAS;IAIzB,mCAAmC,CAC/B,OAAO,EAAE,gCAAgC,GAC1C,UAAU;IAIb,sBAAsB,IAAI,sBAAsB;CAGnD;AAED,KAAK,KAAK,GAAG,IAAI,CAAC;AAElB,yBAAiB,iBAAiB,CAAC;IAC/B,KAAY,IAAI,GAAG,KAAK,CAAC;CAC5B"}
|
package/esm/1_18/options.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ScrcpyDeviceMessageParsers } from "../base/index.js";
|
|
1
2
|
import { ClipboardStream, ControlMessageTypes, createMediaStreamTransformer, createScrollController, Defaults, EncoderRegex, parseDisplay, parseEncoder, parseVideoStreamMetadata, serialize, serializeBackOrScreenOnControlMessage, serializeInjectTouchControlMessage, SerializeOrder, serializeSetClipboardControlMessage, setListDisplays, setListEncoders, } from "./impl/index.js";
|
|
2
3
|
export class ScrcpyOptions1_18 {
|
|
3
4
|
static Defaults = Defaults;
|
|
@@ -9,10 +10,14 @@ export class ScrcpyOptions1_18 {
|
|
|
9
10
|
get clipboard() {
|
|
10
11
|
return this.#clipboard;
|
|
11
12
|
}
|
|
13
|
+
#deviceMessageParsers = new ScrcpyDeviceMessageParsers();
|
|
14
|
+
get deviceMessageParsers() {
|
|
15
|
+
return this.#deviceMessageParsers;
|
|
16
|
+
}
|
|
12
17
|
constructor(init) {
|
|
13
18
|
this.value = { ...Defaults, ...init };
|
|
14
19
|
if (this.value.control) {
|
|
15
|
-
this.#clipboard = new ClipboardStream();
|
|
20
|
+
this.#clipboard = this.#deviceMessageParsers.add(new ClipboardStream());
|
|
16
21
|
}
|
|
17
22
|
}
|
|
18
23
|
serialize() {
|
|
@@ -33,20 +38,6 @@ export class ScrcpyOptions1_18 {
|
|
|
33
38
|
parseVideoStreamMetadata(stream) {
|
|
34
39
|
return parseVideoStreamMetadata(stream);
|
|
35
40
|
}
|
|
36
|
-
async parseDeviceMessage(id, stream) {
|
|
37
|
-
if (await this.#clipboard.parse(id, stream)) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
throw new Error("Unknown device message");
|
|
41
|
-
}
|
|
42
|
-
endDeviceMessageStream(e) {
|
|
43
|
-
if (e) {
|
|
44
|
-
this.#clipboard.error(e);
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
this.#clipboard.close();
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
41
|
createMediaStreamTransformer() {
|
|
51
42
|
return createMediaStreamTransformer(this.value);
|
|
52
43
|
}
|
package/esm/1_18/options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/1_18/options.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/1_18/options.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAQ9D,OAAO,EACH,eAAe,EACf,mBAAmB,EACnB,4BAA4B,EAC5B,sBAAsB,EACtB,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,wBAAwB,EACxB,SAAS,EACT,qCAAqC,EACrC,kCAAkC,EAClC,cAAc,EACd,mCAAmC,EACnC,eAAe,EACf,eAAe,GAClB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,OAAO,iBAAiB;IAG1B,MAAM,CAAU,QAAQ,GAAG,QAAQ,CAAC;IAE3B,KAAK,CAAiB;IAE/B,IAAI,mBAAmB;QACnB,OAAO,mBAAmB,CAAC;IAC/B,CAAC;IAED,UAAU,CAA8B;IACxC,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,qBAAqB,GAAG,IAAI,0BAA0B,EAAE,CAAC;IACzD,IAAI,oBAAoB;QACpB,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACtC,CAAC;IAED,YAAY,IAAU;QAClB,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;QAEtC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAC5C,IAAI,eAAe,EAAE,CACxB,CAAC;QACN,CAAC;IACL,CAAC;IAED,SAAS;QACL,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACjD,CAAC;IAED,eAAe;QACX,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,YAAY,CAAC,IAAY;QACrB,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,eAAe;QACX,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,YAAY,CAAC,IAAY;QACrB,OAAO,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC5C,CAAC;IAED,wBAAwB,CACpB,MAAkC;QAElC,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,4BAA4B;QAIxB,OAAO,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,kCAAkC,CAC9B,OAAwC;QAExC,OAAO,kCAAkC,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,qCAAqC,CACjC,OAA2C;QAE3C,OAAO,qCAAqC,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,mCAAmC,CAC/B,OAAyC;QAEzC,OAAO,mCAAmC,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,sBAAsB;QAClB,OAAO,sBAAsB,EAAE,CAAC;IACpC,CAAC"}
|
|
@@ -20,7 +20,8 @@ export declare const SetClipboardControlMessage: import("@yume-chan/struct").Str
|
|
|
20
20
|
export type SetClipboardControlMessage = StructInit<typeof SetClipboardControlMessage>;
|
|
21
21
|
export declare class AckClipboardHandler implements ScrcpyDeviceMessageParser {
|
|
22
22
|
#private;
|
|
23
|
-
|
|
23
|
+
readonly id = 1;
|
|
24
|
+
parse(_id: number, stream: AsyncExactReadable): Promise<undefined>;
|
|
24
25
|
close(): void;
|
|
25
26
|
error(e?: unknown): void;
|
|
26
27
|
serializeSetClipboardControlMessage(message: ScrcpySetClipboardControlMessage): Uint8Array | [Uint8Array, Promise<void>];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-clipboard.d.ts","sourceRoot":"","sources":["../../../src/1_21/impl/set-clipboard.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGxE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,iBAAiB,CAAC;AAExE,eAAO,MAAM,yBAAyB;;;;GAGrC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;GAQtC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,UAAU,CAC/C,OAAO,0BAA0B,CACpC,CAAC;AAEF,qBAAa,mBAAoB,YAAW,yBAAyB;;
|
|
1
|
+
{"version":3,"file":"set-clipboard.d.ts","sourceRoot":"","sources":["../../../src/1_21/impl/set-clipboard.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGxE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,iBAAiB,CAAC;AAExE,eAAO,MAAM,yBAAyB;;;;GAGrC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;GAQtC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,UAAU,CAC/C,OAAO,0BAA0B,CACpC,CAAC;AAEF,qBAAa,mBAAoB,YAAW,yBAAyB;;IAKjE,QAAQ,CAAC,EAAE,KAAK;IAEV,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;IASxE,KAAK,IAAI,IAAI;IAQb,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI;IAQxB,mCAAmC,CAC/B,OAAO,EAAE,gCAAgC,GAC1C,UAAU,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CAgB9C"}
|
|
@@ -10,17 +10,14 @@ export const SetClipboardControlMessage = struct({
|
|
|
10
10
|
export class AckClipboardHandler {
|
|
11
11
|
#resolvers = new Map();
|
|
12
12
|
#closed = false;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
return false;
|
|
16
|
-
}
|
|
13
|
+
id = 1;
|
|
14
|
+
async parse(_id, stream) {
|
|
17
15
|
const message = await AckClipboardDeviceMessage.deserialize(stream);
|
|
18
16
|
const resolver = this.#resolvers.get(message.sequence);
|
|
19
17
|
if (resolver) {
|
|
20
18
|
resolver.resolve();
|
|
21
19
|
this.#resolvers.delete(message.sequence);
|
|
22
20
|
}
|
|
23
|
-
return true;
|
|
24
21
|
}
|
|
25
22
|
close() {
|
|
26
23
|
for (const resolver of this.#resolvers.values()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-clipboard.js","sourceRoot":"","sources":["../../../src/1_21/impl/set-clipboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAKjE,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAC3C,EAAE,QAAQ,EAAE,GAAG,EAAE,EACjB,EAAE,YAAY,EAAE,KAAK,EAAE,CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAC5C;IACI,IAAI,EAAE,EAAE;IACR,QAAQ,EAAE,GAAG;IACb,KAAK,EAAE,EAAE,EAAW;IACpB,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC;CACvB,EACD,EAAE,YAAY,EAAE,KAAK,EAAE,CAC1B,CAAC;AAMF,MAAM,OAAO,mBAAmB;IAC5B,UAAU,GAAG,IAAI,GAAG,EAAiC,CAAC;IAEtD,OAAO,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"set-clipboard.js","sourceRoot":"","sources":["../../../src/1_21/impl/set-clipboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAKjE,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAC3C,EAAE,QAAQ,EAAE,GAAG,EAAE,EACjB,EAAE,YAAY,EAAE,KAAK,EAAE,CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAC5C;IACI,IAAI,EAAE,EAAE;IACR,QAAQ,EAAE,GAAG;IACb,KAAK,EAAE,EAAE,EAAW;IACpB,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC;CACvB,EACD,EAAE,YAAY,EAAE,KAAK,EAAE,CAC1B,CAAC;AAMF,MAAM,OAAO,mBAAmB;IAC5B,UAAU,GAAG,IAAI,GAAG,EAAiC,CAAC;IAEtD,OAAO,GAAG,KAAK,CAAC;IAEP,EAAE,GAAG,CAAC,CAAC;IAEhB,KAAK,CAAC,KAAK,CAAC,GAAW,EAAE,MAA0B;QAC/C,MAAM,OAAO,GAAG,MAAM,yBAAyB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,QAAQ,EAAE,CAAC;YACX,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;IACL,CAAC;IAED,KAAK;QACD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,QAAQ,CAAC,MAAM,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,CAAW;QACb,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,mCAAmC,CAC/B,OAAyC;QAEzC,IAAI,OAAO,CAAC,QAAQ,KAAK,EAAE,EAAE,CAAC;YAC1B,OAAO,0BAA0B,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,EAAE,CAAC;QACtB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAQ,CAAC;QAC7C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAChD,OAAO;YACH,0BAA0B,CAAC,SAAS,CAAC,OAAO,CAAC;YAC7C,QAAQ,CAAC,OAAO;SACnB,CAAC;IACN,CAAC;CACJ"}
|
package/esm/1_21/options.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { MaybePromiseLike } from "@yume-chan/async";
|
|
2
2
|
import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
|
|
3
|
-
import type { AsyncExactReadable, ExactReadable } from "@yume-chan/struct";
|
|
4
3
|
import type { ScrcpyControlMessageType, ScrcpyDisplay, ScrcpyEncoder, ScrcpyMediaStreamPacket, ScrcpyOptions, ScrcpyOptionsListEncoders, ScrcpyScrollController, ScrcpyVideoStream } from "../base/index.js";
|
|
4
|
+
import { ScrcpyDeviceMessageParsers } from "../base/index.js";
|
|
5
5
|
import type { ScrcpyBackOrScreenOnControlMessage, ScrcpyInjectTouchControlMessage, ScrcpySetClipboardControlMessage } from "../latest.js";
|
|
6
6
|
import type { Init } from "./impl/index.js";
|
|
7
7
|
export declare class ScrcpyOptions1_21 implements ScrcpyOptions<Init>, ScrcpyOptionsListEncoders {
|
|
@@ -27,6 +27,7 @@ export declare class ScrcpyOptions1_21 implements ScrcpyOptions<Init>, ScrcpyOpt
|
|
|
27
27
|
readonly value: Required<Init>;
|
|
28
28
|
get controlMessageTypes(): readonly ScrcpyControlMessageType[];
|
|
29
29
|
get clipboard(): ReadableStream<string> | undefined;
|
|
30
|
+
get deviceMessageParsers(): ScrcpyDeviceMessageParsers;
|
|
30
31
|
constructor(init: Init);
|
|
31
32
|
serialize(): string[];
|
|
32
33
|
setListDisplays(): void;
|
|
@@ -34,8 +35,6 @@ export declare class ScrcpyOptions1_21 implements ScrcpyOptions<Init>, ScrcpyOpt
|
|
|
34
35
|
setListEncoders(): void;
|
|
35
36
|
parseEncoder(line: string): ScrcpyEncoder | undefined;
|
|
36
37
|
parseVideoStreamMetadata(stream: ReadableStream<Uint8Array>): MaybePromiseLike<ScrcpyVideoStream>;
|
|
37
|
-
parseDeviceMessage(id: number, stream: ExactReadable | AsyncExactReadable): Promise<void>;
|
|
38
|
-
endDeviceMessageStream(e?: unknown): void;
|
|
39
38
|
createMediaStreamTransformer(): TransformStream<Uint8Array, ScrcpyMediaStreamPacket>;
|
|
40
39
|
serializeInjectTouchControlMessage(message: ScrcpyInjectTouchControlMessage): Uint8Array;
|
|
41
40
|
serializeBackOrScreenOnControlMessage(message: ScrcpyBackOrScreenOnControlMessage): Uint8Array | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/1_21/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/1_21/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/E,OAAO,KAAK,EACR,wBAAwB,EACxB,aAAa,EACb,aAAa,EACb,uBAAuB,EACvB,aAAa,EACb,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EACR,kCAAkC,EAClC,+BAA+B,EAC/B,gCAAgC,EACnC,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAmB5C,qBAAa,iBACT,YAAW,aAAa,CAAC,IAAI,CAAC,EAAE,yBAAyB;;IAEzD,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;;;;MAAY;IAEpC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE/B,IAAI,mBAAmB,IAAI,SAAS,wBAAwB,EAAE,CAE7D;IAGD,IAAI,SAAS,IAAI,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAElD;IAKD,IAAI,oBAAoB,+BAEvB;gBAEW,IAAI,EAAE,IAAI;IActB,SAAS,IAAI,MAAM,EAAE;IAIrB,eAAe,IAAI,IAAI;IAIvB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIrD,eAAe;IAIf,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIrD,wBAAwB,CACpB,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,gBAAgB,CAAC,iBAAiB,CAAC;IAItC,4BAA4B,IAAI,eAAe,CAC3C,UAAU,EACV,uBAAuB,CAC1B;IAID,kCAAkC,CAC9B,OAAO,EAAE,+BAA+B,GACzC,UAAU;IAIb,qCAAqC,CACjC,OAAO,EAAE,kCAAkC,GAC5C,UAAU,GAAG,SAAS;IAIzB,mCAAmC,CAC/B,OAAO,EAAE,gCAAgC,GAC1C,UAAU,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAM3C,sBAAsB,IAAI,sBAAsB;CAGnD;AAED,KAAK,KAAK,GAAG,IAAI,CAAC;AAElB,yBAAiB,iBAAiB,CAAC;IAC/B,KAAY,IAAI,GAAG,KAAK,CAAC;CAC5B"}
|
package/esm/1_21/options.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ScrcpyDeviceMessageParsers } from "../base/index.js";
|
|
1
2
|
import { AckClipboardHandler, ClipboardStream, ControlMessageTypes, createMediaStreamTransformer, createScrollController, Defaults, EncoderRegex, parseDisplay, parseEncoder, parseVideoStreamMetadata, serialize, serializeBackOrScreenOnControlMessage, serializeInjectTouchControlMessage, setListDisplays, setListEncoders, } from "./impl/index.js";
|
|
2
3
|
export class ScrcpyOptions1_21 {
|
|
3
4
|
static Defaults = Defaults;
|
|
@@ -10,11 +11,15 @@ export class ScrcpyOptions1_21 {
|
|
|
10
11
|
return this.#clipboard;
|
|
11
12
|
}
|
|
12
13
|
#ackClipboardHandler;
|
|
14
|
+
#deviceMessageParsers = new ScrcpyDeviceMessageParsers();
|
|
15
|
+
get deviceMessageParsers() {
|
|
16
|
+
return this.#deviceMessageParsers;
|
|
17
|
+
}
|
|
13
18
|
constructor(init) {
|
|
14
19
|
this.value = { ...Defaults, ...init };
|
|
15
20
|
if (this.value.control && this.value.clipboardAutosync) {
|
|
16
|
-
this.#clipboard = new ClipboardStream();
|
|
17
|
-
this.#ackClipboardHandler = new AckClipboardHandler();
|
|
21
|
+
this.#clipboard = this.#deviceMessageParsers.add(new ClipboardStream());
|
|
22
|
+
this.#ackClipboardHandler = this.#deviceMessageParsers.add(new AckClipboardHandler());
|
|
18
23
|
}
|
|
19
24
|
}
|
|
20
25
|
serialize() {
|
|
@@ -35,25 +40,6 @@ export class ScrcpyOptions1_21 {
|
|
|
35
40
|
parseVideoStreamMetadata(stream) {
|
|
36
41
|
return parseVideoStreamMetadata(stream);
|
|
37
42
|
}
|
|
38
|
-
async parseDeviceMessage(id, stream) {
|
|
39
|
-
if (await this.#clipboard?.parse(id, stream)) {
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
if (await this.#ackClipboardHandler?.parse(id, stream)) {
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
throw new Error("Unknown device message");
|
|
46
|
-
}
|
|
47
|
-
endDeviceMessageStream(e) {
|
|
48
|
-
if (e) {
|
|
49
|
-
this.#clipboard?.error(e);
|
|
50
|
-
this.#ackClipboardHandler?.error(e);
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
this.#clipboard?.close();
|
|
54
|
-
this.#ackClipboardHandler?.close();
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
43
|
createMediaStreamTransformer() {
|
|
58
44
|
return createMediaStreamTransformer(this.value);
|
|
59
45
|
}
|
package/esm/1_21/options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/1_21/options.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/1_21/options.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAQ9D,OAAO,EACH,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,4BAA4B,EAC5B,sBAAsB,EACtB,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,wBAAwB,EACxB,SAAS,EACT,qCAAqC,EACrC,kCAAkC,EAClC,eAAe,EACf,eAAe,GAClB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,OAAO,iBAAiB;IAG1B,MAAM,CAAU,QAAQ,GAAG,QAAQ,CAAC;IAE3B,KAAK,CAAiB;IAE/B,IAAI,mBAAmB;QACnB,OAAO,mBAAmB,CAAC;IAC/B,CAAC;IAED,UAAU,CAA8B;IACxC,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,oBAAoB,CAAkC;IAEtD,qBAAqB,GAAG,IAAI,0BAA0B,EAAE,CAAC;IACzD,IAAI,oBAAoB;QACpB,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACtC,CAAC;IAED,YAAY,IAAU;QAClB,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;QAEtC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;YACrD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAC5C,IAAI,eAAe,EAAE,CACxB,CAAC;YAEF,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CACtD,IAAI,mBAAmB,EAAE,CAC5B,CAAC;QACN,CAAC;IACL,CAAC;IAED,SAAS;QACL,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,eAAe;QACX,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,YAAY,CAAC,IAAY;QACrB,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,eAAe;QACX,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,YAAY,CAAC,IAAY;QACrB,OAAO,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC5C,CAAC;IAED,wBAAwB,CACpB,MAAkC;QAElC,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,4BAA4B;QAIxB,OAAO,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,kCAAkC,CAC9B,OAAwC;QAExC,OAAO,kCAAkC,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,qCAAqC,CACjC,OAA2C;QAE3C,OAAO,qCAAqC,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,mCAAmC,CAC/B,OAAyC;QAEzC,OAAO,IAAI,CAAC,oBAAqB,CAAC,mCAAmC,CACjE,OAAO,CACV,CAAC;IACN,CAAC;IAED,sBAAsB;QAClB,OAAO,sBAAsB,EAAE,CAAC;IACpC,CAAC"}
|