@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.
Files changed (214) hide show
  1. package/CHANGELOG.json +21 -3
  2. package/CHANGELOG.md +13 -4
  3. package/LICENSE +1 -1
  4. package/README.md +41 -24
  5. package/bin/scrcpy-server +0 -0
  6. package/bin/version.d.ts +1 -1
  7. package/bin/version.js +1 -1
  8. package/esm/adb/client.d.ts +15 -14
  9. package/esm/adb/client.d.ts.map +1 -1
  10. package/esm/adb/client.js +66 -41
  11. package/esm/adb/client.js.map +1 -1
  12. package/esm/adb/connection.d.ts +16 -7
  13. package/esm/adb/connection.d.ts.map +1 -1
  14. package/esm/adb/connection.js +21 -13
  15. package/esm/adb/connection.js.map +1 -1
  16. package/esm/adb/options/1_16.d.ts +4 -4
  17. package/esm/adb/options/1_16.d.ts.map +1 -1
  18. package/esm/adb/options/1_16.js +2 -2
  19. package/esm/adb/options/1_16.js.map +1 -1
  20. package/esm/adb/options/1_22.d.ts +4 -4
  21. package/esm/adb/options/1_22.d.ts.map +1 -1
  22. package/esm/adb/options/1_22.js +2 -2
  23. package/esm/adb/options/1_22.js.map +1 -1
  24. package/esm/adb/options/types.d.ts +10 -9
  25. package/esm/adb/options/types.d.ts.map +1 -1
  26. package/esm/adb/options/types.js +11 -4
  27. package/esm/adb/options/types.js.map +1 -1
  28. package/esm/control/back-or-screen-on.d.ts +3 -0
  29. package/esm/control/back-or-screen-on.d.ts.map +1 -0
  30. package/esm/control/back-or-screen-on.js +2 -0
  31. package/esm/control/back-or-screen-on.js.map +1 -0
  32. package/esm/control/hover-helper.d.ts +18 -0
  33. package/esm/control/hover-helper.d.ts.map +1 -0
  34. package/esm/control/hover-helper.js +44 -0
  35. package/esm/control/hover-helper.js.map +1 -0
  36. package/esm/control/index.d.ts +11 -7
  37. package/esm/control/index.d.ts.map +1 -1
  38. package/esm/control/index.js +11 -7
  39. package/esm/control/index.js.map +1 -1
  40. package/esm/control/inject-keycode.d.ts +12 -4
  41. package/esm/control/inject-keycode.d.ts.map +1 -1
  42. package/esm/control/inject-keycode.js +15 -7
  43. package/esm/control/inject-keycode.js.map +1 -1
  44. package/esm/control/inject-scroll.d.ts +3 -0
  45. package/esm/control/inject-scroll.d.ts.map +1 -0
  46. package/esm/control/inject-scroll.js +2 -0
  47. package/esm/control/inject-scroll.js.map +1 -0
  48. package/esm/control/inject-text.d.ts +2 -2
  49. package/esm/control/inject-text.d.ts.map +1 -1
  50. package/esm/control/inject-touch.d.ts +12 -4
  51. package/esm/control/inject-touch.d.ts.map +1 -1
  52. package/esm/control/inject-touch.js +44 -11
  53. package/esm/control/inject-touch.js.map +1 -1
  54. package/esm/control/rotate-device.d.ts +2 -2
  55. package/esm/control/rotate-device.d.ts.map +1 -1
  56. package/esm/control/serializer.d.ts +22 -11
  57. package/esm/control/serializer.d.ts.map +1 -1
  58. package/esm/control/serializer.js +32 -26
  59. package/esm/control/serializer.js.map +1 -1
  60. package/esm/control/set-clipboard.d.ts +3 -0
  61. package/esm/control/set-clipboard.d.ts.map +1 -0
  62. package/esm/control/set-clipboard.js +2 -0
  63. package/esm/control/set-clipboard.js.map +1 -0
  64. package/esm/control/set-screen-power-mode.d.ts +2 -2
  65. package/esm/control/set-screen-power-mode.d.ts.map +1 -1
  66. package/esm/device-message/ack-clipboard.d.ts +9 -0
  67. package/esm/device-message/ack-clipboard.d.ts.map +1 -0
  68. package/esm/device-message/ack-clipboard.js +6 -0
  69. package/esm/device-message/ack-clipboard.js.map +1 -0
  70. package/esm/device-message/clipboard.d.ts +3 -3
  71. package/esm/device-message/clipboard.d.ts.map +1 -1
  72. package/esm/device-message/clipboard.js +4 -4
  73. package/esm/device-message/clipboard.js.map +1 -1
  74. package/esm/device-message/index.d.ts +4 -3
  75. package/esm/device-message/index.d.ts.map +1 -1
  76. package/esm/device-message/index.js +4 -3
  77. package/esm/device-message/index.js.map +1 -1
  78. package/esm/device-message/stream.d.ts +4 -3
  79. package/esm/device-message/stream.d.ts.map +1 -1
  80. package/esm/device-message/stream.js +8 -4
  81. package/esm/device-message/stream.js.map +1 -1
  82. package/esm/options/1_16/codec-options.d.ts +3 -2
  83. package/esm/options/1_16/codec-options.d.ts.map +1 -1
  84. package/esm/options/1_16/codec-options.js +6 -7
  85. package/esm/options/1_16/codec-options.js.map +1 -1
  86. package/esm/options/1_16/h264-configuration.d.ts +49 -0
  87. package/esm/options/1_16/h264-configuration.d.ts.map +1 -0
  88. package/esm/options/1_16/h264-configuration.js +414 -0
  89. package/esm/options/1_16/h264-configuration.js.map +1 -0
  90. package/esm/options/1_16/index.d.ts +4 -3
  91. package/esm/options/1_16/index.d.ts.map +1 -1
  92. package/esm/options/1_16/index.js +4 -3
  93. package/esm/options/1_16/index.js.map +1 -1
  94. package/esm/options/1_16/options.d.ts +17 -20
  95. package/esm/options/1_16/options.d.ts.map +1 -1
  96. package/esm/options/1_16/options.js +51 -49
  97. package/esm/options/1_16/options.js.map +1 -1
  98. package/esm/options/1_16/scroll.d.ts +27 -0
  99. package/esm/options/1_16/scroll.d.ts.map +1 -0
  100. package/esm/options/1_16/scroll.js +56 -0
  101. package/esm/options/1_16/scroll.js.map +1 -0
  102. package/esm/options/1_16/sps.d.ts +1 -1
  103. package/esm/options/1_16/sps.d.ts.map +1 -1
  104. package/esm/options/1_16/sps.js +25 -17
  105. package/esm/options/1_16/sps.js.map +1 -1
  106. package/esm/options/1_18.d.ts +6 -6
  107. package/esm/options/1_18.d.ts.map +1 -1
  108. package/esm/options/1_18.js +5 -5
  109. package/esm/options/1_18.js.map +1 -1
  110. package/esm/options/1_21.d.ts +12 -1
  111. package/esm/options/1_21.d.ts.map +1 -1
  112. package/esm/options/1_21.js +14 -3
  113. package/esm/options/1_21.js.map +1 -1
  114. package/esm/options/1_22/index.d.ts +3 -0
  115. package/esm/options/1_22/index.d.ts.map +1 -0
  116. package/esm/options/1_22/index.js +3 -0
  117. package/esm/options/1_22/index.js.map +1 -0
  118. package/esm/options/{1_22.d.ts → 1_22/options.d.ts} +4 -15
  119. package/esm/options/1_22/options.d.ts.map +1 -0
  120. package/esm/options/{1_22.js → 1_22/options.js} +5 -9
  121. package/esm/options/1_22/options.js.map +1 -0
  122. package/esm/options/1_22/scroll.d.ts +17 -0
  123. package/esm/options/1_22/scroll.d.ts.map +1 -0
  124. package/esm/options/1_22/scroll.js +15 -0
  125. package/esm/options/1_22/scroll.js.map +1 -0
  126. package/esm/options/1_23.d.ts +3 -3
  127. package/esm/options/1_23.d.ts.map +1 -1
  128. package/esm/options/1_23.js +7 -6
  129. package/esm/options/1_23.js.map +1 -1
  130. package/esm/options/1_25/index.d.ts +3 -0
  131. package/esm/options/1_25/index.d.ts.map +1 -0
  132. package/esm/options/1_25/index.js +3 -0
  133. package/esm/options/1_25/index.js.map +1 -0
  134. package/esm/options/1_25/options.d.ts +6 -0
  135. package/esm/options/1_25/options.d.ts.map +1 -0
  136. package/esm/options/1_25/options.js +8 -0
  137. package/esm/options/1_25/options.js.map +1 -0
  138. package/esm/options/1_25/scroll.d.ts +19 -0
  139. package/esm/options/1_25/scroll.d.ts.map +1 -0
  140. package/esm/options/1_25/scroll.js +33 -0
  141. package/esm/options/1_25/scroll.js.map +1 -0
  142. package/esm/options/index.d.ts +5 -4
  143. package/esm/options/index.d.ts.map +1 -1
  144. package/esm/options/index.js +5 -4
  145. package/esm/options/index.js.map +1 -1
  146. package/esm/options/types.d.ts +14 -12
  147. package/esm/options/types.d.ts.map +1 -1
  148. package/esm/options/types.js +6 -4
  149. package/esm/options/types.js.map +1 -1
  150. package/package.json +19 -12
  151. package/scripts/fetch-server.cjs +19 -9
  152. package/src/adb/client.ts +142 -89
  153. package/src/adb/connection.ts +77 -30
  154. package/src/adb/options/1_16.ts +13 -6
  155. package/src/adb/options/1_22.ts +12 -6
  156. package/src/adb/options/types.ts +34 -14
  157. package/src/control/back-or-screen-on.ts +4 -0
  158. package/src/control/hover-helper.ts +56 -0
  159. package/src/control/index.ts +11 -7
  160. package/src/control/inject-keycode.ts +23 -10
  161. package/src/control/inject-scroll.ts +4 -0
  162. package/src/control/inject-touch.ts +58 -14
  163. package/src/control/serializer.ts +106 -41
  164. package/src/control/set-clipboard.ts +4 -0
  165. package/src/device-message/ack-clipboard.ts +10 -0
  166. package/src/device-message/clipboard.ts +8 -8
  167. package/src/device-message/index.ts +4 -3
  168. package/src/device-message/stream.ts +17 -7
  169. package/src/options/1_16/codec-options.ts +17 -10
  170. package/src/options/1_16/h264-configuration.ts +485 -0
  171. package/src/options/1_16/index.ts +4 -3
  172. package/src/options/1_16/options.ts +175 -130
  173. package/src/options/1_16/scroll.ts +76 -0
  174. package/src/options/1_18.ts +22 -12
  175. package/src/options/1_21.ts +31 -13
  176. package/src/options/1_22/index.ts +2 -0
  177. package/src/options/{1_22.ts → 1_22/options.ts} +8 -17
  178. package/src/options/1_22/scroll.ts +26 -0
  179. package/src/options/1_23.ts +32 -20
  180. package/src/options/1_25/index.ts +2 -0
  181. package/src/options/1_25/options.ts +12 -0
  182. package/src/options/1_25/scroll.ts +52 -0
  183. package/src/options/index.ts +5 -4
  184. package/src/options/types.ts +34 -17
  185. package/tsconfig.build.json +1 -1
  186. package/tsconfig.build.tsbuildinfo +1 -1
  187. package/esm/decoder/index.d.ts +0 -28
  188. package/esm/decoder/index.d.ts.map +0 -1
  189. package/esm/decoder/index.js +0 -2
  190. package/esm/decoder/index.js.map +0 -1
  191. package/esm/decoder/tinyh264/index.d.ts +0 -20
  192. package/esm/decoder/tinyh264/index.d.ts.map +0 -1
  193. package/esm/decoder/tinyh264/index.js +0 -86
  194. package/esm/decoder/tinyh264/index.js.map +0 -1
  195. package/esm/decoder/tinyh264/worker.d.ts +0 -2
  196. package/esm/decoder/tinyh264/worker.d.ts.map +0 -1
  197. package/esm/decoder/tinyh264/worker.js +0 -3
  198. package/esm/decoder/tinyh264/worker.js.map +0 -1
  199. package/esm/decoder/tinyh264/wrapper.d.ts +0 -21
  200. package/esm/decoder/tinyh264/wrapper.d.ts.map +0 -1
  201. package/esm/decoder/tinyh264/wrapper.js +0 -74
  202. package/esm/decoder/tinyh264/wrapper.js.map +0 -1
  203. package/esm/decoder/types.d.ts +0 -2
  204. package/esm/decoder/types.d.ts.map +0 -1
  205. package/esm/decoder/types.js +0 -2
  206. package/esm/decoder/types.js.map +0 -1
  207. package/esm/decoder/web-codecs/index.d.ts +0 -22
  208. package/esm/decoder/web-codecs/index.d.ts.map +0 -1
  209. package/esm/decoder/web-codecs/index.js +0 -81
  210. package/esm/decoder/web-codecs/index.js.map +0 -1
  211. package/esm/options/1_22.d.ts.map +0 -1
  212. package/esm/options/1_22.js.map +0 -1
  213. package/src/options/1_16/sps.ts +0 -300
  214. 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,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAmB,KAAK,cAAc,EAAoC,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC5I,OAAO,KAAK,EAAE,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;aAEzB,UAAU,IAAI,cAAc,CAAC,CAAC,UAAU,EAAE,cAAc,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,SAAS,CAAC,CAAC;IAExJ,OAAO,IAAI,IAAI;CACzB;AAED,qBAAa,0BAA2B,SAAQ,mBAAmB;IAC/D,OAAO,CAAC,OAAO;YAID,eAAe;YAWf,kBAAkB;IAcnB,UAAU,IAAI,OAAO,CAAC,CAAC,UAAU,EAAE,cAAc,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,SAAS,CAAC,CAAC;CAqBxJ;AAED,qBAAa,0BAA2B,SAAQ,mBAAmB;IAC/D,OAAO,CAAC,OAAO,CAA6E;IAE5F,OAAO,CAAC,OAAO,CAAU;IAEH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAiBnC,MAAM;IAIP,UAAU,IAAI,OAAO,CAAC,CAAC,UAAU,EAAE,cAAc,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,SAAS,CAAC,CAAC;IAsBrI,OAAO;CAM1B"}
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"}
@@ -1,5 +1,5 @@
1
- import { delay } from '@yume-chan/async';
2
- import { TransformStream } from '@yume-chan/stream-extra';
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
- dispose() { }
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('localabstract:scrcpy');
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('Unexpected response from server');
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('Unexpected response from server');
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('localabstract:scrcpy').catch(() => { });
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('localabstract:scrcpy', 'tcp:27183', socket => {
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('Unexpected response from server');
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":"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"}
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 { Adb } from '@yume-chan/adb';
2
- import type { ScrcpyOptionsInit1_16 } from '../../options/index.js';
3
- import { AdbScrcpyConnection } from '../connection.js';
4
- import { AdbScrcpyOptionsBase } from './types.js';
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,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAsF,MAAM,kBAAkB,CAAC;AAC3I,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,qBAAa,oBAAoB,CAAC,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,CACrF,SAAQ,oBAAoB,CAAC,CAAC,CAAC;IACf,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,mBAAmB;CAclE"}
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"}
@@ -1,5 +1,5 @@
1
- import { AdbScrcpyForwardConnection, AdbScrcpyReverseConnection } from '../connection.js';
2
- import { AdbScrcpyOptionsBase } from './types.js';
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,EAAmD,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC3I,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,OAAO,oBACT,SAAQ,oBAAuB;IACf,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
+ {"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 { Adb } from '@yume-chan/adb';
2
- import type { ScrcpyOptionsInit1_22 } from '../../options/index.js';
3
- import { AdbScrcpyConnection } from '../connection.js';
4
- import { AdbScrcpyOptions1_16 } from './1_16.js';
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,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAA0D,MAAM,kBAAkB,CAAC;AAC/G,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEjD,qBAAa,oBAAoB,CAAC,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,CACrF,SAAQ,oBAAoB,CAAC,CAAC,CAAC;IACf,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,mBAAmB;CAWlE"}
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"}
@@ -1,5 +1,5 @@
1
- import { AdbScrcpyForwardConnection, AdbScrcpyReverseConnection } from '../connection.js';
2
- import { AdbScrcpyOptions1_16 } from './1_16.js';
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,EAAuB,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC/G,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEjD,MAAM,OAAO,oBACT,SAAQ,oBAAuB;IACf,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
+ {"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 { Adb } from '@yume-chan/adb';
2
- import type { TransformStream } from '@yume-chan/stream-extra';
3
- import type { ScrcpyControlMessageType } from '../../control/index.js';
4
- import type { ScrcpyBackOrScreenOnControlMessage1_18, ScrcpyInjectScrollControlMessage1_22, ScrcpyOptions, ScrcpyVideoStreamPacket } from '../../options/index.js';
5
- import type { AdbScrcpyConnection } from '../connection.js';
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: ScrcpyBackOrScreenOnControlMessage1_18): Uint8Array | undefined;
20
- serializeInjectScrollControlMessage(message: ScrcpyInjectScrollControlMessage1_22): Uint8Array;
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,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAK,EAAE,sCAAsC,EAAE,oCAAoC,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACnK,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,MAAM,WAAW,gBAAgB,CAAC,CAAC,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC;IACzD,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,mBAAmB,CAAC;CACnD;AAED,8BAAsB,oBAAoB,CAAC,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAmB;IAE9B,IAAW,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAA2B;IACzD,IAAW,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAA6B;gBAE5C,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC;IAIjC,eAAe,IAAI,CAAC;IAIpB,qBAAqB,IAAI,MAAM,EAAE;IAIjC,yBAAyB,IAAI,MAAM;IAInC,4BAA4B,IAAI,eAAe,CAAC,UAAU,EAAE,uBAAuB,CAAC;IAIpF,sBAAsB,IAAI,wBAAwB,EAAE;IAIpD,qCAAqC,CACxC,OAAO,EAAE,sCAAsC,GAChD,UAAU,GAAG,SAAS;IAIlB,mCAAmC,CACtC,OAAO,EAAE,oCAAoC,GAC9C,UAAU;aAIG,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,mBAAmB;CAClE"}
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"}
@@ -1,7 +1,11 @@
1
1
  export class AdbScrcpyOptionsBase {
2
2
  raw;
3
- get value() { return this.raw.value; }
4
- set value(value) { this.raw.value = value; }
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
- serializeInjectScrollControlMessage(message) {
27
- return this.raw.serializeInjectScrollControlMessage(message);
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":"AAWA,MAAM,OAAgB,oBAAoB;IAC9B,GAAG,CAAmB;IAE9B,IAAW,KAAK,KAAiB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACzD,IAAW,KAAK,CAAC,KAAiB,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;IAE/D,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;QAC/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,OAA+C;QAE/C,OAAO,IAAI,CAAC,GAAG,CAAC,qCAAqC,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IAEM,mCAAmC,CACtC,OAA6C;QAE7C,OAAO,IAAI,CAAC,GAAG,CAAC,mCAAmC,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC;CAGJ"}
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,3 @@
1
+ import { type ScrcpyBackOrScreenOnControlMessage1_18 } from "../index.js";
2
+ export type ScrcpyBackOrScreenOnControlMessage = ScrcpyBackOrScreenOnControlMessage1_18;
3
+ //# sourceMappingURL=back-or-screen-on.d.ts.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=back-or-screen-on.js.map
@@ -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"}
@@ -1,8 +1,12 @@
1
- export * from './inject-keycode.js';
2
- export * from './inject-text.js';
3
- export * from './inject-touch.js';
4
- export * from './rotate-device.js';
5
- export * from './serializer.js';
6
- export * from './set-screen-power-mode.js';
7
- export * from './type.js';
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"}
@@ -1,8 +1,12 @@
1
- export * from './inject-keycode.js';
2
- export * from './inject-text.js';
3
- export * from './inject-touch.js';
4
- export * from './rotate-device.js';
5
- export * from './serializer.js';
6
- export * from './set-screen-power-mode.js';
7
- export * from './type.js';
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
@@ -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 '@yume-chan/struct';
2
- import { ScrcpyControlMessageType } from './type.js';
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, {}, undefined>;
52
- export declare type ScrcpyInjectKeyCodeControlMessage = typeof ScrcpyInjectKeyCodeControlMessage['TInit'];
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;IACV,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;IACD,GAAG,KAAK;IACR,KAAK,KAAA;IACL,KAAK,KAAK;IACV,MAAM,KAAA;IACN,UAAU,MAAM;IAChB,SAAS,MAAM;CAClB;AAED,eAAO,MAAM,iCAAiC;;;;;;wBAMlB,CAAC;AAE7B,oBAAY,iCAAiC,GACzC,OAAO,iCAAiC,CAAC,OAAO,CAAC,CAAC"}
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 '@yume-chan/struct';
2
- import { ScrcpyControlMessageType } from './type.js';
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('type', ScrcpyControlMessageType.InjectKeyCode)
50
- .uint8('action', placeholder())
51
- .uint32('keyCode')
52
- .uint32('repeat')
53
- .uint32('metaState');
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,cAqCX;AArCD,WAAY,cAAc;IACtB,mDAAQ,CAAA;IACR,mDAAQ,CAAA;IACR,4DAAa,CAAA;IACb,gEAAU,CAAA;IACV,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;IACD,kDAAQ,CAAA;IACR,sDAAK,CAAA;IACL,sDAAU,CAAA;IACV,wDAAM,CAAA;IACN,iEAAgB,CAAA;IAChB,+DAAe,CAAA;AACnB,CAAC,EArCW,cAAc,GAAd,cAAc,KAAd,cAAc,QAqCzB;AAED,MAAM,CAAC,MAAM,iCAAiC,GAC1C,IAAI,MAAM,EAAE;KACP,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"}
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,3 @@
1
+ import { type ScrcpyInjectScrollControlMessage1_25 } from "../options/index.js";
2
+ export type ScrcpyInjectScrollControlMessage = ScrcpyInjectScrollControlMessage1_25;
3
+ //# sourceMappingURL=inject-scroll.d.ts.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=inject-scroll.js.map
@@ -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", {}, undefined>;
8
- export declare type ScrcpyInjectTextControlMessage = typeof ScrcpyInjectTextControlMessage['TInit'];
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;;;;2BAIO,CAAC;AAEnD,oBAAY,8BAA8B,GACtC,OAAO,8BAA8B,CAAC,OAAO,CAAC,CAAC"}
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 '@yume-chan/struct';
2
- import { ScrcpyControlMessageType } from './type.js';
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, {}, undefined>;
29
- export declare type ScrcpyInjectTouchControlMessage = typeof ScrcpyInjectTouchControlMessage['TInit'];
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,MAAuB,MAAM,mBAAmB,CAAC;AACxD,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;AAED,eAAO,MAAM,+BAA+B;;;;;;;;;;wBAUlB,CAAC;AAE3B,oBAAY,+BAA+B,GACvC,OAAO,+BAA+B,CAAC,OAAO,CAAC,CAAC"}
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"}