@yume-chan/scrcpy 2.3.0 → 3.0.0-beta.0

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 (437) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +1 -1
  3. package/esm/1_15/impl/codec-options.d.ts +146 -0
  4. package/esm/1_15/impl/codec-options.d.ts.map +1 -0
  5. package/esm/1_15/impl/codec-options.js +192 -0
  6. package/esm/1_15/impl/codec-options.js.map +1 -0
  7. package/esm/1_15/impl/control-message-types.d.ts +13 -2
  8. package/esm/1_15/impl/control-message-types.d.ts.map +1 -1
  9. package/esm/1_15/impl/control-message-types.js +13 -14
  10. package/esm/1_15/impl/control-message-types.js.map +1 -1
  11. package/esm/1_15/impl/index.d.ts +1 -0
  12. package/esm/1_15/impl/index.d.ts.map +1 -1
  13. package/esm/1_15/impl/index.js +1 -0
  14. package/esm/1_15/impl/index.js.map +1 -1
  15. package/esm/1_15/impl/init.d.ts +1 -22
  16. package/esm/1_15/impl/init.d.ts.map +1 -1
  17. package/esm/1_15/impl/init.js +0 -39
  18. package/esm/1_15/impl/init.js.map +1 -1
  19. package/esm/1_15/impl/inject-touch.d.ts.map +1 -1
  20. package/esm/1_15/impl/inject-touch.js +1 -0
  21. package/esm/1_15/impl/inject-touch.js.map +1 -1
  22. package/esm/1_15/impl/scroll-controller.d.ts.map +1 -1
  23. package/esm/1_15/impl/scroll-controller.js +1 -0
  24. package/esm/1_15/impl/scroll-controller.js.map +1 -1
  25. package/esm/1_15/impl/set-clipboard.d.ts.map +1 -1
  26. package/esm/1_15/impl/set-clipboard.js +5 -1
  27. package/esm/1_15/impl/set-clipboard.js.map +1 -1
  28. package/esm/1_15/options.d.ts +3 -2
  29. package/esm/1_15/options.d.ts.map +1 -1
  30. package/esm/1_15/options.js.map +1 -1
  31. package/esm/1_15_1.d.ts +1 -7
  32. package/esm/1_15_1.d.ts.map +1 -1
  33. package/esm/1_15_1.js +1 -6
  34. package/esm/1_15_1.js.map +1 -1
  35. package/esm/1_16.d.ts +1 -7
  36. package/esm/1_16.d.ts.map +1 -1
  37. package/esm/1_16.js +1 -6
  38. package/esm/1_16.js.map +1 -1
  39. package/esm/1_17/impl/defaults.d.ts.map +1 -1
  40. package/esm/1_17/impl/defaults.js +2 -2
  41. package/esm/1_17/impl/defaults.js.map +1 -1
  42. package/esm/1_17/options.d.ts +3 -2
  43. package/esm/1_17/options.d.ts.map +1 -1
  44. package/esm/1_17/options.js.map +1 -1
  45. package/esm/1_18/impl/control-message-types.d.ts +14 -2
  46. package/esm/1_18/impl/control-message-types.d.ts.map +1 -1
  47. package/esm/1_18/impl/control-message-types.js +14 -7
  48. package/esm/1_18/impl/control-message-types.js.map +1 -1
  49. package/esm/1_18/impl/defaults.d.ts.map +1 -1
  50. package/esm/1_18/impl/defaults.js +2 -2
  51. package/esm/1_18/impl/defaults.js.map +1 -1
  52. package/esm/1_18/impl/init.d.ts.map +1 -1
  53. package/esm/1_18/options.d.ts +3 -2
  54. package/esm/1_18/options.d.ts.map +1 -1
  55. package/esm/1_18/options.js.map +1 -1
  56. package/esm/1_19.d.ts +1 -7
  57. package/esm/1_19.d.ts.map +1 -1
  58. package/esm/1_19.js +1 -6
  59. package/esm/1_19.js.map +1 -1
  60. package/esm/1_20.d.ts +1 -7
  61. package/esm/1_20.d.ts.map +1 -1
  62. package/esm/1_20.js +1 -6
  63. package/esm/1_20.js.map +1 -1
  64. package/esm/1_21/impl/defaults.d.ts.map +1 -1
  65. package/esm/1_21/impl/defaults.js +2 -2
  66. package/esm/1_21/impl/defaults.js.map +1 -1
  67. package/esm/1_21/impl/index.d.ts +1 -1
  68. package/esm/1_21/impl/index.d.ts.map +1 -1
  69. package/esm/1_21/impl/index.js +1 -1
  70. package/esm/1_21/impl/index.js.map +1 -1
  71. package/esm/1_21/impl/set-clipboard.d.ts +1 -0
  72. package/esm/1_21/impl/set-clipboard.d.ts.map +1 -1
  73. package/esm/1_21/impl/set-clipboard.js +7 -0
  74. package/esm/1_21/impl/set-clipboard.js.map +1 -1
  75. package/esm/1_21/options.d.ts +3 -2
  76. package/esm/1_21/options.d.ts.map +1 -1
  77. package/esm/1_21/options.js +6 -4
  78. package/esm/1_21/options.js.map +1 -1
  79. package/esm/1_22/impl/defaults.d.ts.map +1 -1
  80. package/esm/1_22/impl/defaults.js +2 -2
  81. package/esm/1_22/impl/defaults.js.map +1 -1
  82. package/esm/1_22/options.d.ts +3 -2
  83. package/esm/1_22/options.d.ts.map +1 -1
  84. package/esm/1_22/options.js +6 -4
  85. package/esm/1_22/options.js.map +1 -1
  86. package/esm/1_23/impl/defaults.d.ts.map +1 -1
  87. package/esm/1_23/impl/defaults.js +2 -2
  88. package/esm/1_23/impl/defaults.js.map +1 -1
  89. package/esm/1_23/options.d.ts +3 -2
  90. package/esm/1_23/options.d.ts.map +1 -1
  91. package/esm/1_23/options.js +6 -4
  92. package/esm/1_23/options.js.map +1 -1
  93. package/esm/1_24/impl/defaults.d.ts.map +1 -1
  94. package/esm/1_24/impl/defaults.js +2 -2
  95. package/esm/1_24/impl/defaults.js.map +1 -1
  96. package/esm/1_24/options.d.ts +3 -2
  97. package/esm/1_24/options.d.ts.map +1 -1
  98. package/esm/1_24/options.js +6 -4
  99. package/esm/1_24/options.js.map +1 -1
  100. package/esm/1_25/impl/scroll-controller.d.ts +2 -2
  101. package/esm/1_25/impl/scroll-controller.d.ts.map +1 -1
  102. package/esm/1_25/impl/scroll-controller.js +4 -4
  103. package/esm/1_25/impl/scroll-controller.js.map +1 -1
  104. package/esm/1_25/options.d.ts +3 -2
  105. package/esm/1_25/options.d.ts.map +1 -1
  106. package/esm/1_25/options.js +6 -4
  107. package/esm/1_25/options.js.map +1 -1
  108. package/esm/2_0/impl/defaults.d.ts +3 -3
  109. package/esm/2_0/impl/defaults.d.ts.map +1 -1
  110. package/esm/2_0/impl/defaults.js +10 -4
  111. package/esm/2_0/impl/defaults.js.map +1 -1
  112. package/esm/2_0/impl/init.d.ts.map +1 -1
  113. package/esm/2_0/impl/inject-touch.d.ts +2 -2
  114. package/esm/2_0/impl/inject-touch.d.ts.map +1 -1
  115. package/esm/2_0/impl/inject-touch.js +4 -4
  116. package/esm/2_0/impl/inject-touch.js.map +1 -1
  117. package/esm/2_0/impl/parse-audio-stream-metadata.d.ts.map +1 -1
  118. package/esm/2_0/impl/parse-audio-stream-metadata.js +2 -7
  119. package/esm/2_0/impl/parse-audio-stream-metadata.js.map +1 -1
  120. package/esm/2_0/options.d.ts +6 -5
  121. package/esm/2_0/options.d.ts.map +1 -1
  122. package/esm/2_0/options.js +6 -4
  123. package/esm/2_0/options.js.map +1 -1
  124. package/esm/2_1/impl/defaults.d.ts +3 -3
  125. package/esm/2_1/impl/defaults.d.ts.map +1 -1
  126. package/esm/2_1/impl/defaults.js +2 -2
  127. package/esm/2_1/impl/defaults.js.map +1 -1
  128. package/esm/2_1/options.d.ts +6 -5
  129. package/esm/2_1/options.d.ts.map +1 -1
  130. package/esm/2_1/options.js +6 -4
  131. package/esm/2_1/options.js.map +1 -1
  132. package/esm/2_1_1.d.ts +1 -7
  133. package/esm/2_1_1.d.ts.map +1 -1
  134. package/esm/2_1_1.js +1 -6
  135. package/esm/2_1_1.js.map +1 -1
  136. package/esm/2_2/impl/defaults.d.ts +3 -3
  137. package/esm/2_2/impl/defaults.d.ts.map +1 -1
  138. package/esm/2_2/impl/defaults.js +2 -2
  139. package/esm/2_2/impl/defaults.js.map +1 -1
  140. package/esm/2_2/options.d.ts +6 -5
  141. package/esm/2_2/options.d.ts.map +1 -1
  142. package/esm/2_2/options.js +6 -4
  143. package/esm/2_2/options.js.map +1 -1
  144. package/esm/2_3/impl/init.d.ts.map +1 -1
  145. package/esm/2_3/options.d.ts +6 -5
  146. package/esm/2_3/options.d.ts.map +1 -1
  147. package/esm/2_3/options.js +6 -4
  148. package/esm/2_3/options.js.map +1 -1
  149. package/esm/2_3_1.d.ts +1 -7
  150. package/esm/2_3_1.d.ts.map +1 -1
  151. package/esm/2_3_1.js +1 -6
  152. package/esm/2_3_1.js.map +1 -1
  153. package/esm/2_4/impl/control-message-types.d.ts +17 -2
  154. package/esm/2_4/impl/control-message-types.d.ts.map +1 -1
  155. package/esm/2_4/impl/control-message-types.js +17 -8
  156. package/esm/2_4/impl/control-message-types.js.map +1 -1
  157. package/esm/2_4/impl/serialize-uhid-create.d.ts.map +1 -1
  158. package/esm/2_4/impl/serialize-uhid-create.js +1 -0
  159. package/esm/2_4/impl/serialize-uhid-create.js.map +1 -1
  160. package/esm/2_4/options.d.ts +6 -5
  161. package/esm/2_4/options.d.ts.map +1 -1
  162. package/esm/2_4/options.js +3 -3
  163. package/esm/2_4/options.js.map +1 -1
  164. package/esm/2_5.d.ts +1 -7
  165. package/esm/2_5.d.ts.map +1 -1
  166. package/esm/2_5.js +1 -6
  167. package/esm/2_5.js.map +1 -1
  168. package/esm/2_6/impl/defaults.d.ts +3 -3
  169. package/esm/2_6/impl/defaults.d.ts.map +1 -1
  170. package/esm/2_6/impl/defaults.js +2 -2
  171. package/esm/2_6/impl/defaults.js.map +1 -1
  172. package/esm/2_6/impl/init.d.ts.map +1 -1
  173. package/esm/2_6/options.d.ts +6 -5
  174. package/esm/2_6/options.d.ts.map +1 -1
  175. package/esm/2_6/options.js +3 -3
  176. package/esm/2_6/options.js.map +1 -1
  177. package/esm/2_6_1.d.ts +1 -7
  178. package/esm/2_6_1.d.ts.map +1 -1
  179. package/esm/2_6_1.js +1 -6
  180. package/esm/2_6_1.js.map +1 -1
  181. package/esm/2_7/impl/control-message-types.d.ts +18 -2
  182. package/esm/2_7/impl/control-message-types.d.ts.map +1 -1
  183. package/esm/2_7/impl/control-message-types.js +18 -7
  184. package/esm/2_7/impl/control-message-types.js.map +1 -1
  185. package/esm/2_7/impl/serialize-uhid-create.d.ts.map +1 -1
  186. package/esm/2_7/impl/serialize-uhid-create.js +1 -0
  187. package/esm/2_7/impl/serialize-uhid-create.js.map +1 -1
  188. package/esm/2_7/options.d.ts +6 -5
  189. package/esm/2_7/options.d.ts.map +1 -1
  190. package/esm/2_7/options.js +3 -3
  191. package/esm/2_7/options.js.map +1 -1
  192. package/esm/3_0/impl/control-message-types.d.ts +20 -2
  193. package/esm/3_0/impl/control-message-types.d.ts.map +1 -1
  194. package/esm/3_0/impl/control-message-types.js +20 -7
  195. package/esm/3_0/impl/control-message-types.js.map +1 -1
  196. package/esm/3_0/impl/defaults.d.ts +4 -4
  197. package/esm/3_0/impl/defaults.d.ts.map +1 -1
  198. package/esm/3_0/impl/defaults.js +8 -4
  199. package/esm/3_0/impl/defaults.js.map +1 -1
  200. package/esm/3_0/impl/init.d.ts.map +1 -1
  201. package/esm/3_0/options.d.ts +7 -6
  202. package/esm/3_0/options.d.ts.map +1 -1
  203. package/esm/3_0/options.js +3 -3
  204. package/esm/3_0/options.js.map +1 -1
  205. package/esm/3_0_1.d.ts +1 -7
  206. package/esm/3_0_1.d.ts.map +1 -1
  207. package/esm/3_0_1.js +1 -6
  208. package/esm/3_0_1.js.map +1 -1
  209. package/esm/3_0_2.d.ts +1 -7
  210. package/esm/3_0_2.d.ts.map +1 -1
  211. package/esm/3_0_2.js +1 -6
  212. package/esm/3_0_2.js.map +1 -1
  213. package/esm/3_1/impl/defaults.d.ts +4 -4
  214. package/esm/3_1/impl/defaults.d.ts.map +1 -1
  215. package/esm/3_1/impl/defaults.js +2 -2
  216. package/esm/3_1/impl/defaults.js.map +1 -1
  217. package/esm/3_1/impl/serialize-uhid-create.d.ts.map +1 -1
  218. package/esm/3_1/impl/serialize-uhid-create.js +1 -0
  219. package/esm/3_1/impl/serialize-uhid-create.js.map +1 -1
  220. package/esm/3_1/options.d.ts +7 -6
  221. package/esm/3_1/options.d.ts.map +1 -1
  222. package/esm/3_1/options.js +3 -3
  223. package/esm/3_1/options.js.map +1 -1
  224. package/esm/3_2/impl/defaults.d.ts +4 -4
  225. package/esm/3_2/impl/defaults.d.ts.map +1 -1
  226. package/esm/3_2/impl/defaults.js +2 -2
  227. package/esm/3_2/impl/defaults.js.map +1 -1
  228. package/esm/3_2/impl/init.d.ts.map +1 -1
  229. package/esm/3_2/options.d.ts +7 -6
  230. package/esm/3_2/options.d.ts.map +1 -1
  231. package/esm/3_2/options.js +3 -3
  232. package/esm/3_2/options.js.map +1 -1
  233. package/esm/3_3.d.ts +1 -7
  234. package/esm/3_3.d.ts.map +1 -1
  235. package/esm/3_3.js +1 -6
  236. package/esm/3_3.js.map +1 -1
  237. package/esm/3_3_1/options.d.ts +7 -6
  238. package/esm/3_3_1/options.d.ts.map +1 -1
  239. package/esm/3_3_1/options.js +3 -3
  240. package/esm/3_3_1/options.js.map +1 -1
  241. package/esm/3_3_2.d.ts +1 -7
  242. package/esm/3_3_2.d.ts.map +1 -1
  243. package/esm/3_3_2.js +1 -6
  244. package/esm/3_3_2.js.map +1 -1
  245. package/esm/3_3_4.d.ts +2 -0
  246. package/esm/3_3_4.d.ts.map +1 -0
  247. package/esm/3_3_4.js +2 -0
  248. package/esm/3_3_4.js.map +1 -0
  249. package/esm/android/key-code-value.d.ts +176 -0
  250. package/esm/android/key-code-value.d.ts.map +1 -0
  251. package/esm/android/key-code-value.js +180 -0
  252. package/esm/android/key-code-value.js.map +1 -0
  253. package/esm/android/key-event.d.ts +3 -164
  254. package/esm/android/key-event.d.ts.map +1 -1
  255. package/esm/android/key-event.js +2 -167
  256. package/esm/android/key-event.js.map +1 -1
  257. package/esm/base/control-message-type-value.d.ts +19 -0
  258. package/esm/base/control-message-type-value.d.ts.map +1 -0
  259. package/esm/base/control-message-type-value.js +19 -0
  260. package/esm/base/control-message-type-value.js.map +1 -0
  261. package/esm/base/control-message-type.d.ts +3 -21
  262. package/esm/base/control-message-type.d.ts.map +1 -1
  263. package/esm/base/control-message-type.js +2 -21
  264. package/esm/base/control-message-type.js.map +1 -1
  265. package/esm/base/options.d.ts +2 -1
  266. package/esm/base/options.d.ts.map +1 -1
  267. package/esm/control/index.d.ts +0 -1
  268. package/esm/control/index.d.ts.map +1 -1
  269. package/esm/control/index.js +0 -1
  270. package/esm/control/index.js.map +1 -1
  271. package/esm/control/inject-key-code.d.ts +2 -2
  272. package/esm/control/inject-key-code.d.ts.map +1 -1
  273. package/esm/control/inject-key-code.js +4 -4
  274. package/esm/control/inject-key-code.js.map +1 -1
  275. package/esm/control/inject-text.d.ts.map +1 -1
  276. package/esm/control/inject-text.js +5 -1
  277. package/esm/control/inject-text.js.map +1 -1
  278. package/esm/control/serializer.d.ts +2 -0
  279. package/esm/control/serializer.d.ts.map +1 -1
  280. package/esm/control/serializer.js +27 -19
  281. package/esm/control/serializer.js.map +1 -1
  282. package/esm/control/set-screen-power-mode.d.ts.map +1 -1
  283. package/esm/control/set-screen-power-mode.js +5 -1
  284. package/esm/control/set-screen-power-mode.js.map +1 -1
  285. package/esm/control/start-app.d.ts.map +1 -1
  286. package/esm/control/start-app.js +1 -0
  287. package/esm/control/start-app.js.map +1 -1
  288. package/esm/control/uhid.d.ts +2 -2
  289. package/esm/control/uhid.d.ts.map +1 -1
  290. package/esm/control/uhid.js +9 -5
  291. package/esm/control/uhid.js.map +1 -1
  292. package/esm/control/writer.d.ts +1 -1
  293. package/esm/control/writer.d.ts.map +1 -1
  294. package/esm/control/writer.js +1 -1
  295. package/esm/control/writer.js.map +1 -1
  296. package/esm/index.d.ts +2 -1
  297. package/esm/index.d.ts.map +1 -1
  298. package/esm/index.js +2 -1
  299. package/esm/index.js.map +1 -1
  300. package/esm/latest.d.ts +2 -2
  301. package/esm/latest.d.ts.map +1 -1
  302. package/esm/latest.js +2 -2
  303. package/esm/latest.js.map +1 -1
  304. package/esm/video/android.d.ts +69 -0
  305. package/esm/video/android.d.ts.map +1 -0
  306. package/esm/video/android.js +70 -0
  307. package/esm/video/android.js.map +1 -0
  308. package/esm/video/index.d.ts +3 -0
  309. package/esm/video/index.d.ts.map +1 -0
  310. package/esm/video/index.js +3 -0
  311. package/esm/video/index.js.map +1 -0
  312. package/esm/video/size.d.ts +21 -0
  313. package/esm/video/size.d.ts.map +1 -0
  314. package/esm/video/size.js +27 -0
  315. package/esm/video/size.js.map +1 -0
  316. package/package.json +11 -10
  317. package/src/1_15/impl/codec-options.ts +236 -0
  318. package/src/1_15/impl/control-message-types.ts +14 -14
  319. package/src/1_15/impl/index.ts +1 -0
  320. package/src/1_15/impl/init.ts +2 -76
  321. package/src/1_15/impl/inject-touch.ts +1 -0
  322. package/src/1_15/impl/scroll-controller.ts +1 -0
  323. package/src/1_15/impl/set-clipboard.ts +5 -1
  324. package/src/1_15/options.ts +1 -2
  325. package/src/1_15_1.ts +1 -11
  326. package/src/1_16.ts +1 -11
  327. package/src/1_17/impl/defaults.ts +4 -5
  328. package/src/1_17/options.ts +1 -2
  329. package/src/1_18/impl/control-message-types.ts +15 -8
  330. package/src/1_18/impl/defaults.ts +6 -7
  331. package/src/1_18/impl/init.ts +4 -2
  332. package/src/1_18/options.ts +1 -2
  333. package/src/1_19.ts +1 -11
  334. package/src/1_20.ts +1 -11
  335. package/src/1_21/impl/defaults.ts +4 -5
  336. package/src/1_21/impl/index.ts +1 -0
  337. package/src/1_21/impl/set-clipboard.ts +14 -0
  338. package/src/1_21/options.ts +10 -7
  339. package/src/1_22/impl/defaults.ts +6 -7
  340. package/src/1_22/options.ts +10 -7
  341. package/src/1_23/impl/defaults.ts +4 -5
  342. package/src/1_23/options.ts +10 -7
  343. package/src/1_24/impl/defaults.ts +4 -5
  344. package/src/1_24/options.ts +10 -7
  345. package/src/1_25/impl/scroll-controller.ts +14 -15
  346. package/src/1_25/options.ts +10 -7
  347. package/src/2_0/impl/defaults.ts +24 -19
  348. package/src/2_0/impl/init.ts +4 -2
  349. package/src/2_0/impl/inject-touch.ts +16 -17
  350. package/src/2_0/impl/parse-audio-stream-metadata.ts +3 -7
  351. package/src/2_0/options.ts +10 -7
  352. package/src/2_1/impl/defaults.ts +5 -6
  353. package/src/2_1/options.ts +10 -7
  354. package/src/2_1_1.ts +1 -14
  355. package/src/2_2/impl/defaults.ts +13 -14
  356. package/src/2_2/options.ts +10 -7
  357. package/src/2_3/impl/init.ts +4 -2
  358. package/src/2_3/options.ts +10 -7
  359. package/src/2_3_1.ts +1 -14
  360. package/src/2_4/impl/control-message-types.ts +18 -9
  361. package/src/2_4/impl/serialize-uhid-create.ts +1 -0
  362. package/src/2_4/options.ts +8 -7
  363. package/src/2_5.ts +1 -14
  364. package/src/2_6/impl/defaults.ts +4 -5
  365. package/src/2_6/impl/init.ts +4 -2
  366. package/src/2_6/options.ts +8 -7
  367. package/src/2_6_1.ts +1 -14
  368. package/src/2_7/impl/control-message-types.ts +19 -8
  369. package/src/2_7/impl/serialize-uhid-create.ts +1 -0
  370. package/src/2_7/options.ts +8 -7
  371. package/src/3_0/impl/control-message-types.ts +21 -8
  372. package/src/3_0/impl/defaults.ts +15 -12
  373. package/src/3_0/impl/init.ts +4 -2
  374. package/src/3_0/options.ts +8 -7
  375. package/src/3_0_1.ts +1 -14
  376. package/src/3_0_2.ts +1 -14
  377. package/src/3_1/impl/defaults.ts +4 -5
  378. package/src/3_1/impl/serialize-uhid-create.ts +1 -0
  379. package/src/3_1/options.ts +8 -7
  380. package/src/3_2/impl/defaults.ts +4 -5
  381. package/src/3_2/impl/init.ts +4 -2
  382. package/src/3_2/options.ts +8 -7
  383. package/src/3_3.ts +1 -14
  384. package/src/3_3_1/options.ts +8 -7
  385. package/src/3_3_2.ts +1 -14
  386. package/src/3_3_4.ts +1 -0
  387. package/src/android/key-code-value.ts +194 -0
  388. package/src/android/key-event.ts +5 -182
  389. package/src/base/control-message-type-value.ts +18 -0
  390. package/src/base/control-message-type.ts +6 -22
  391. package/src/base/options.ts +5 -1
  392. package/src/control/index.ts +0 -1
  393. package/src/control/inject-key-code.ts +11 -12
  394. package/src/control/inject-text.ts +5 -1
  395. package/src/control/serializer.ts +32 -36
  396. package/src/control/set-screen-power-mode.ts +5 -1
  397. package/src/control/start-app.ts +1 -0
  398. package/src/control/uhid.ts +14 -12
  399. package/src/control/writer.ts +1 -1
  400. package/src/index.ts +2 -1
  401. package/src/latest.ts +2 -1
  402. package/src/video/android.ts +72 -0
  403. package/src/video/index.ts +2 -0
  404. package/src/video/size.ts +40 -0
  405. package/tsconfig.build.json +0 -8
  406. package/CHANGELOG.md +0 -224
  407. package/esm/codec/av1.d.ts +0 -462
  408. package/esm/codec/av1.d.ts.map +0 -1
  409. package/esm/codec/av1.js +0 -622
  410. package/esm/codec/av1.js.map +0 -1
  411. package/esm/codec/h264.d.ts +0 -78
  412. package/esm/codec/h264.d.ts.map +0 -1
  413. package/esm/codec/h264.js +0 -254
  414. package/esm/codec/h264.js.map +0 -1
  415. package/esm/codec/h265.d.ts +0 -535
  416. package/esm/codec/h265.d.ts.map +0 -1
  417. package/esm/codec/h265.js +0 -1117
  418. package/esm/codec/h265.js.map +0 -1
  419. package/esm/codec/index.d.ts +0 -5
  420. package/esm/codec/index.d.ts.map +0 -1
  421. package/esm/codec/index.js +0 -5
  422. package/esm/codec/index.js.map +0 -1
  423. package/esm/codec/nalu.d.ts +0 -28
  424. package/esm/codec/nalu.d.ts.map +0 -1
  425. package/esm/codec/nalu.js +0 -250
  426. package/esm/codec/nalu.js.map +0 -1
  427. package/esm/control/message-type-map.d.ts +0 -15
  428. package/esm/control/message-type-map.d.ts.map +0 -1
  429. package/esm/control/message-type-map.js +0 -23
  430. package/esm/control/message-type-map.js.map +0 -1
  431. package/src/codec/av1.ts +0 -724
  432. package/src/codec/h264.ts +0 -317
  433. package/src/codec/h265.ts +0 -1410
  434. package/src/codec/index.ts +0 -4
  435. package/src/codec/nalu.ts +0 -304
  436. package/src/control/message-type-map.ts +0 -30
  437. package/tsconfig.build.tsbuildinfo +0 -1
@@ -1,17 +1,16 @@
1
1
  import type { Init } from "./init.js";
2
2
  import { PrevImpl } from "./prev.js";
3
3
 
4
- export const Defaults = /* #__PURE__ */ (() =>
5
- ({
6
- ...PrevImpl.Defaults,
7
- videoSource: "display",
8
- displayId: 0,
9
- cameraId: undefined,
10
- cameraSize: undefined,
11
- cameraFacing: undefined,
12
- cameraAr: undefined,
13
- cameraFps: undefined,
14
- cameraHighSpeed: false,
15
- listCameras: false,
16
- listCameraSizes: false,
17
- }) as const satisfies Required<Init<true>>)();
4
+ export const Defaults = {
5
+ ...PrevImpl.Defaults,
6
+ videoSource: "display",
7
+ displayId: 0,
8
+ cameraId: undefined,
9
+ cameraSize: undefined,
10
+ cameraFacing: undefined,
11
+ cameraAr: undefined,
12
+ cameraFps: undefined,
13
+ cameraHighSpeed: false,
14
+ listCameras: false,
15
+ listCameraSizes: false,
16
+ } as const satisfies Required<Init<true>>;
@@ -3,7 +3,6 @@ import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
3
3
 
4
4
  import type {
5
5
  ScrcpyAudioStreamMetadata,
6
- ScrcpyControlMessageType,
7
6
  ScrcpyDisplay,
8
7
  ScrcpyEncoder,
9
8
  ScrcpyMediaStreamPacket,
@@ -34,6 +33,7 @@ import {
34
33
  serialize,
35
34
  serializeBackOrScreenOnControlMessage,
36
35
  serializeInjectTouchControlMessage,
36
+ serializeSetClipboardControlMessage,
37
37
  setListDisplays,
38
38
  setListEncoders,
39
39
  } from "./impl/index.js";
@@ -45,7 +45,7 @@ export class ScrcpyOptions2_2<TVideo extends boolean>
45
45
 
46
46
  readonly value: Required<Init<TVideo>>;
47
47
 
48
- get controlMessageTypes(): readonly ScrcpyControlMessageType[] {
48
+ get controlMessageTypes(): typeof ControlMessageTypes {
49
49
  return ControlMessageTypes;
50
50
  }
51
51
 
@@ -68,10 +68,12 @@ export class ScrcpyOptions2_2<TVideo extends boolean>
68
68
  this.value.control = false;
69
69
  }
70
70
 
71
- if (this.value.control && this.value.clipboardAutosync) {
72
- this.#clipboard = this.#deviceMessageParsers.add(
73
- new ClipboardStream(),
74
- );
71
+ if (this.value.control) {
72
+ if (this.value.clipboardAutosync) {
73
+ this.#clipboard = this.#deviceMessageParsers.add(
74
+ new ClipboardStream(),
75
+ );
76
+ }
75
77
 
76
78
  this.#ackClipboardHandler = this.#deviceMessageParsers.add(
77
79
  new AckClipboardHandler(),
@@ -133,8 +135,9 @@ export class ScrcpyOptions2_2<TVideo extends boolean>
133
135
  serializeSetClipboardControlMessage(
134
136
  message: ScrcpySetClipboardControlMessage,
135
137
  ): Uint8Array | [Uint8Array, Promise<void>] {
136
- return this.#ackClipboardHandler!.serializeSetClipboardControlMessage(
138
+ return serializeSetClipboardControlMessage(
137
139
  message,
140
+ this.#ackClipboardHandler,
138
141
  );
139
142
  }
140
143
 
@@ -1,6 +1,8 @@
1
1
  import type { PrevImpl } from "./prev.js";
2
2
 
3
- export interface Init<TVideo extends boolean>
4
- extends Omit<PrevImpl.Init<TVideo>, "audioCodec"> {
3
+ export interface Init<TVideo extends boolean> extends Omit<
4
+ PrevImpl.Init<TVideo>,
5
+ "audioCodec"
6
+ > {
5
7
  audioCodec?: PrevImpl.Init<TVideo>["audioCodec"] | "flac";
6
8
  }
@@ -3,7 +3,6 @@ import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
3
3
 
4
4
  import type {
5
5
  ScrcpyAudioStreamMetadata,
6
- ScrcpyControlMessageType,
7
6
  ScrcpyDisplay,
8
7
  ScrcpyEncoder,
9
8
  ScrcpyMediaStreamPacket,
@@ -34,6 +33,7 @@ import {
34
33
  serialize,
35
34
  serializeBackOrScreenOnControlMessage,
36
35
  serializeInjectTouchControlMessage,
36
+ serializeSetClipboardControlMessage,
37
37
  setListDisplays,
38
38
  setListEncoders,
39
39
  } from "./impl/index.js";
@@ -45,7 +45,7 @@ export class ScrcpyOptions2_3<TVideo extends boolean>
45
45
 
46
46
  readonly value: Required<Init<TVideo>>;
47
47
 
48
- get controlMessageTypes(): readonly ScrcpyControlMessageType[] {
48
+ get controlMessageTypes(): typeof ControlMessageTypes {
49
49
  return ControlMessageTypes;
50
50
  }
51
51
 
@@ -68,10 +68,12 @@ export class ScrcpyOptions2_3<TVideo extends boolean>
68
68
  this.value.control = false;
69
69
  }
70
70
 
71
- if (this.value.control && this.value.clipboardAutosync) {
72
- this.#clipboard = this.#deviceMessageParsers.add(
73
- new ClipboardStream(),
74
- );
71
+ if (this.value.control) {
72
+ if (this.value.clipboardAutosync) {
73
+ this.#clipboard = this.#deviceMessageParsers.add(
74
+ new ClipboardStream(),
75
+ );
76
+ }
75
77
 
76
78
  this.#ackClipboardHandler = this.#deviceMessageParsers.add(
77
79
  new AckClipboardHandler(),
@@ -133,8 +135,9 @@ export class ScrcpyOptions2_3<TVideo extends boolean>
133
135
  serializeSetClipboardControlMessage(
134
136
  message: ScrcpySetClipboardControlMessage,
135
137
  ): Uint8Array | [Uint8Array, Promise<void>] {
136
- return this.#ackClipboardHandler!.serializeSetClipboardControlMessage(
138
+ return serializeSetClipboardControlMessage(
137
139
  message,
140
+ this.#ackClipboardHandler,
138
141
  );
139
142
  }
140
143
 
package/src/2_3_1.ts CHANGED
@@ -1,14 +1 @@
1
- import { ScrcpyOptions2_3 } from "./2_3/index.js";
2
-
3
- export class ScrcpyOptions2_3_1<
4
- TVideo extends boolean,
5
- > extends ScrcpyOptions2_3<TVideo> {
6
- constructor(init: ScrcpyOptions2_3.Init<TVideo>) {
7
- super(init);
8
- }
9
- }
10
-
11
- export namespace ScrcpyOptions2_3_1 {
12
- export type Init<TVideo extends boolean = boolean> =
13
- ScrcpyOptions2_3.Init<TVideo>;
14
- }
1
+ export { ScrcpyOptions2_3 as ScrcpyOptions2_3_1 } from "./2_3/index.js";
@@ -1,11 +1,20 @@
1
+ import type { ScrcpyControlMessageTypeMap } from "../../base/index.js";
1
2
  import { ScrcpyControlMessageType } from "../../base/index.js";
2
3
 
3
- import { PrevImpl } from "./prev.js";
4
-
5
- export const ControlMessageTypes: readonly ScrcpyControlMessageType[] =
6
- /* #__PURE__ */ (() => [
7
- ...PrevImpl.ControlMessageTypes,
8
- ScrcpyControlMessageType.UHidCreate,
9
- ScrcpyControlMessageType.UHidInput,
10
- ScrcpyControlMessageType.OpenHardKeyboardSettings,
11
- ])();
4
+ export const ControlMessageTypes = {
5
+ [ScrcpyControlMessageType.InjectKeyCode]: 0,
6
+ [ScrcpyControlMessageType.InjectText]: 1,
7
+ [ScrcpyControlMessageType.InjectTouch]: 2,
8
+ [ScrcpyControlMessageType.InjectScroll]: 3,
9
+ [ScrcpyControlMessageType.BackOrScreenOn]: 4,
10
+ [ScrcpyControlMessageType.ExpandNotificationPanel]: 5,
11
+ [ScrcpyControlMessageType.ExpandSettingPanel]: 6,
12
+ [ScrcpyControlMessageType.CollapseNotificationPanel]: 7,
13
+ [ScrcpyControlMessageType.GetClipboard]: 8,
14
+ [ScrcpyControlMessageType.SetClipboard]: 9,
15
+ [ScrcpyControlMessageType.SetDisplayPower]: 10,
16
+ [ScrcpyControlMessageType.RotateDevice]: 11,
17
+ [ScrcpyControlMessageType.UHidCreate]: 12,
18
+ [ScrcpyControlMessageType.UHidInput]: 13,
19
+ [ScrcpyControlMessageType.OpenHardKeyboardSettings]: 14,
20
+ } as const satisfies ScrcpyControlMessageTypeMap;
@@ -5,6 +5,7 @@ import type { ScrcpyUHidCreateControlMessage } from "../../latest.js";
5
5
 
6
6
  export const UHidCreateControlMessage = struct(
7
7
  {
8
+ // value of `type` can change between versions
8
9
  type: u8,
9
10
  id: u16,
10
11
  data: buffer(u16),
@@ -3,7 +3,6 @@ import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
3
3
 
4
4
  import type {
5
5
  ScrcpyAudioStreamMetadata,
6
- ScrcpyControlMessageType,
7
6
  ScrcpyDisplay,
8
7
  ScrcpyEncoder,
9
8
  ScrcpyMediaStreamPacket,
@@ -36,6 +35,7 @@ import {
36
35
  serialize,
37
36
  serializeBackOrScreenOnControlMessage,
38
37
  serializeInjectTouchControlMessage,
38
+ serializeSetClipboardControlMessage,
39
39
  serializeUHidCreateControlMessage,
40
40
  setListDisplays,
41
41
  setListEncoders,
@@ -49,7 +49,7 @@ export class ScrcpyOptions2_4<TVideo extends boolean>
49
49
 
50
50
  readonly value: Required<Init<TVideo>>;
51
51
 
52
- get controlMessageTypes(): readonly ScrcpyControlMessageType[] {
52
+ get controlMessageTypes(): typeof ControlMessageTypes {
53
53
  return ControlMessageTypes;
54
54
  }
55
55
 
@@ -84,12 +84,12 @@ export class ScrcpyOptions2_4<TVideo extends boolean>
84
84
  this.#clipboard = this.#deviceMessageParsers.add(
85
85
  new ClipboardStream(),
86
86
  );
87
-
88
- this.#ackClipboardHandler = this.#deviceMessageParsers.add(
89
- new AckClipboardHandler(),
90
- );
91
87
  }
92
88
 
89
+ this.#ackClipboardHandler = this.#deviceMessageParsers.add(
90
+ new AckClipboardHandler(),
91
+ );
92
+
93
93
  this.#uHidOutput = this.#deviceMessageParsers.add(
94
94
  new UHidOutputStream(),
95
95
  );
@@ -150,8 +150,9 @@ export class ScrcpyOptions2_4<TVideo extends boolean>
150
150
  serializeSetClipboardControlMessage(
151
151
  message: ScrcpySetClipboardControlMessage,
152
152
  ): Uint8Array | [Uint8Array, Promise<void>] {
153
- return this.#ackClipboardHandler!.serializeSetClipboardControlMessage(
153
+ return serializeSetClipboardControlMessage(
154
154
  message,
155
+ this.#ackClipboardHandler,
155
156
  );
156
157
  }
157
158
 
package/src/2_5.ts CHANGED
@@ -1,14 +1 @@
1
- import { ScrcpyOptions2_4 } from "./2_4/index.js";
2
-
3
- export class ScrcpyOptions2_5<
4
- TVideo extends boolean,
5
- > extends ScrcpyOptions2_4<TVideo> {
6
- constructor(init: ScrcpyOptions2_4.Init<TVideo>) {
7
- super(init);
8
- }
9
- }
10
-
11
- export namespace ScrcpyOptions2_5 {
12
- export type Init<TVideo extends boolean = boolean> =
13
- ScrcpyOptions2_4.Init<TVideo>;
14
- }
1
+ export { ScrcpyOptions2_4 as ScrcpyOptions2_5 } from "./2_4/index.js";
@@ -1,8 +1,7 @@
1
1
  import type { Init } from "./init.js";
2
2
  import { PrevImpl } from "./prev.js";
3
3
 
4
- export const Defaults = /* #__PURE__ */ (() =>
5
- ({
6
- ...PrevImpl.Defaults,
7
- audioDup: false,
8
- }) as const satisfies Required<Init<true>>)();
4
+ export const Defaults = {
5
+ ...PrevImpl.Defaults,
6
+ audioDup: false,
7
+ } as const satisfies Required<Init<true>>;
@@ -1,7 +1,9 @@
1
1
  import type { PrevImpl } from "./prev.js";
2
2
 
3
- export interface Init<TVideo extends boolean>
4
- extends Omit<PrevImpl.Init<TVideo>, "audioSource"> {
3
+ export interface Init<TVideo extends boolean> extends Omit<
4
+ PrevImpl.Init<TVideo>,
5
+ "audioSource"
6
+ > {
5
7
  audioSource?: PrevImpl.Init<TVideo>["audioSource"] | "playback";
6
8
  audioDup?: boolean;
7
9
  }
@@ -3,7 +3,6 @@ import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
3
3
 
4
4
  import type {
5
5
  ScrcpyAudioStreamMetadata,
6
- ScrcpyControlMessageType,
7
6
  ScrcpyDisplay,
8
7
  ScrcpyEncoder,
9
8
  ScrcpyMediaStreamPacket,
@@ -36,6 +35,7 @@ import {
36
35
  serialize,
37
36
  serializeBackOrScreenOnControlMessage,
38
37
  serializeInjectTouchControlMessage,
38
+ serializeSetClipboardControlMessage,
39
39
  serializeUHidCreateControlMessage,
40
40
  setListDisplays,
41
41
  setListEncoders,
@@ -49,7 +49,7 @@ export class ScrcpyOptions2_6<TVideo extends boolean>
49
49
 
50
50
  readonly value: Required<Init<TVideo>>;
51
51
 
52
- get controlMessageTypes(): readonly ScrcpyControlMessageType[] {
52
+ get controlMessageTypes(): typeof ControlMessageTypes {
53
53
  return ControlMessageTypes;
54
54
  }
55
55
 
@@ -88,12 +88,12 @@ export class ScrcpyOptions2_6<TVideo extends boolean>
88
88
  this.#clipboard = this.#deviceMessageParsers.add(
89
89
  new ClipboardStream(),
90
90
  );
91
-
92
- this.#ackClipboardHandler = this.#deviceMessageParsers.add(
93
- new AckClipboardHandler(),
94
- );
95
91
  }
96
92
 
93
+ this.#ackClipboardHandler = this.#deviceMessageParsers.add(
94
+ new AckClipboardHandler(),
95
+ );
96
+
97
97
  this.#uHidOutput = this.#deviceMessageParsers.add(
98
98
  new UHidOutputStream(),
99
99
  );
@@ -154,8 +154,9 @@ export class ScrcpyOptions2_6<TVideo extends boolean>
154
154
  serializeSetClipboardControlMessage(
155
155
  message: ScrcpySetClipboardControlMessage,
156
156
  ): Uint8Array | [Uint8Array, Promise<void>] {
157
- return this.#ackClipboardHandler!.serializeSetClipboardControlMessage(
157
+ return serializeSetClipboardControlMessage(
158
158
  message,
159
+ this.#ackClipboardHandler,
159
160
  );
160
161
  }
161
162
 
package/src/2_6_1.ts CHANGED
@@ -1,14 +1 @@
1
- import { ScrcpyOptions2_6 } from "./2_6/index.js";
2
-
3
- export class ScrcpyOptions2_6_1<
4
- TVideo extends boolean,
5
- > extends ScrcpyOptions2_6<TVideo> {
6
- constructor(init: ScrcpyOptions2_6.Init<TVideo>) {
7
- super(init);
8
- }
9
- }
10
-
11
- export namespace ScrcpyOptions2_6_1 {
12
- export type Init<TVideo extends boolean = boolean> =
13
- ScrcpyOptions2_6.Init<TVideo>;
14
- }
1
+ export { ScrcpyOptions2_6 as ScrcpyOptions2_6_1 } from "./2_6/index.js";
@@ -1,10 +1,21 @@
1
+ import type { ScrcpyControlMessageTypeMap } from "../../base/index.js";
1
2
  import { ScrcpyControlMessageType } from "../../base/index.js";
2
3
 
3
- import { PrevImpl } from "./prev.js";
4
-
5
- export const ControlMessageTypes: readonly ScrcpyControlMessageType[] =
6
- /* #__PURE__ */ (() => {
7
- const result = PrevImpl.ControlMessageTypes.slice();
8
- result.splice(14, 0, ScrcpyControlMessageType.UHidDestroy);
9
- return result;
10
- })();
4
+ export const ControlMessageTypes = {
5
+ [ScrcpyControlMessageType.InjectKeyCode]: 0,
6
+ [ScrcpyControlMessageType.InjectText]: 1,
7
+ [ScrcpyControlMessageType.InjectTouch]: 2,
8
+ [ScrcpyControlMessageType.InjectScroll]: 3,
9
+ [ScrcpyControlMessageType.BackOrScreenOn]: 4,
10
+ [ScrcpyControlMessageType.ExpandNotificationPanel]: 5,
11
+ [ScrcpyControlMessageType.ExpandSettingPanel]: 6,
12
+ [ScrcpyControlMessageType.CollapseNotificationPanel]: 7,
13
+ [ScrcpyControlMessageType.GetClipboard]: 8,
14
+ [ScrcpyControlMessageType.SetClipboard]: 9,
15
+ [ScrcpyControlMessageType.SetDisplayPower]: 10,
16
+ [ScrcpyControlMessageType.RotateDevice]: 11,
17
+ [ScrcpyControlMessageType.UHidCreate]: 12,
18
+ [ScrcpyControlMessageType.UHidInput]: 13,
19
+ [ScrcpyControlMessageType.UHidDestroy]: 14,
20
+ [ScrcpyControlMessageType.OpenHardKeyboardSettings]: 15,
21
+ } as const satisfies ScrcpyControlMessageTypeMap;
@@ -5,6 +5,7 @@ import type { ScrcpyUHidCreateControlMessage } from "../../latest.js";
5
5
 
6
6
  export const UHidCreateControlMessage = struct(
7
7
  {
8
+ // value of `type` can change between versions
8
9
  type: u8,
9
10
  id: u16,
10
11
  name: string(u8),
@@ -3,7 +3,6 @@ import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
3
3
 
4
4
  import type {
5
5
  ScrcpyAudioStreamMetadata,
6
- ScrcpyControlMessageType,
7
6
  ScrcpyDisplay,
8
7
  ScrcpyEncoder,
9
8
  ScrcpyMediaStreamPacket,
@@ -36,6 +35,7 @@ import {
36
35
  serialize,
37
36
  serializeBackOrScreenOnControlMessage,
38
37
  serializeInjectTouchControlMessage,
38
+ serializeSetClipboardControlMessage,
39
39
  serializeUHidCreateControlMessage,
40
40
  setListDisplays,
41
41
  setListEncoders,
@@ -49,7 +49,7 @@ export class ScrcpyOptions2_7<TVideo extends boolean>
49
49
 
50
50
  readonly value: Required<Init<TVideo>>;
51
51
 
52
- get controlMessageTypes(): readonly ScrcpyControlMessageType[] {
52
+ get controlMessageTypes(): typeof ControlMessageTypes {
53
53
  return ControlMessageTypes;
54
54
  }
55
55
 
@@ -88,12 +88,12 @@ export class ScrcpyOptions2_7<TVideo extends boolean>
88
88
  this.#clipboard = this.#deviceMessageParsers.add(
89
89
  new ClipboardStream(),
90
90
  );
91
-
92
- this.#ackClipboardHandler = this.#deviceMessageParsers.add(
93
- new AckClipboardHandler(),
94
- );
95
91
  }
96
92
 
93
+ this.#ackClipboardHandler = this.#deviceMessageParsers.add(
94
+ new AckClipboardHandler(),
95
+ );
96
+
97
97
  this.#uHidOutput = this.#deviceMessageParsers.add(
98
98
  new UHidOutputStream(),
99
99
  );
@@ -154,8 +154,9 @@ export class ScrcpyOptions2_7<TVideo extends boolean>
154
154
  serializeSetClipboardControlMessage(
155
155
  message: ScrcpySetClipboardControlMessage,
156
156
  ): Uint8Array | [Uint8Array, Promise<void>] {
157
- return this.#ackClipboardHandler!.serializeSetClipboardControlMessage(
157
+ return serializeSetClipboardControlMessage(
158
158
  message,
159
+ this.#ackClipboardHandler,
159
160
  );
160
161
  }
161
162
 
@@ -1,10 +1,23 @@
1
+ import type { ScrcpyControlMessageTypeMap } from "../../base/index.js";
1
2
  import { ScrcpyControlMessageType } from "../../base/index.js";
2
3
 
3
- import { PrevImpl } from "./prev.js";
4
-
5
- export const ControlMessageTypes: readonly ScrcpyControlMessageType[] =
6
- /* #__PURE__ */ (() => [
7
- ...PrevImpl.ControlMessageTypes,
8
- ScrcpyControlMessageType.StartApp,
9
- ScrcpyControlMessageType.ResetVideo,
10
- ])();
4
+ export const ControlMessageTypes = {
5
+ [ScrcpyControlMessageType.InjectKeyCode]: 0,
6
+ [ScrcpyControlMessageType.InjectText]: 1,
7
+ [ScrcpyControlMessageType.InjectTouch]: 2,
8
+ [ScrcpyControlMessageType.InjectScroll]: 3,
9
+ [ScrcpyControlMessageType.BackOrScreenOn]: 4,
10
+ [ScrcpyControlMessageType.ExpandNotificationPanel]: 5,
11
+ [ScrcpyControlMessageType.ExpandSettingPanel]: 6,
12
+ [ScrcpyControlMessageType.CollapseNotificationPanel]: 7,
13
+ [ScrcpyControlMessageType.GetClipboard]: 8,
14
+ [ScrcpyControlMessageType.SetClipboard]: 9,
15
+ [ScrcpyControlMessageType.SetDisplayPower]: 10,
16
+ [ScrcpyControlMessageType.RotateDevice]: 11,
17
+ [ScrcpyControlMessageType.UHidCreate]: 12,
18
+ [ScrcpyControlMessageType.UHidInput]: 13,
19
+ [ScrcpyControlMessageType.UHidDestroy]: 14,
20
+ [ScrcpyControlMessageType.OpenHardKeyboardSettings]: 15,
21
+ [ScrcpyControlMessageType.StartApp]: 16,
22
+ [ScrcpyControlMessageType.ResetVideo]: 17,
23
+ } as const satisfies ScrcpyControlMessageTypeMap;
@@ -1,15 +1,18 @@
1
- import { omit } from "../../utils/index.js";
2
-
3
1
  import type { Init } from "./init.js";
4
2
  import { PrevImpl } from "./prev.js";
5
3
 
6
- export const Defaults = /* #__PURE__ */ (() =>
7
- ({
8
- ...omit(PrevImpl.Defaults, "lockVideoOrientation"),
9
- captureOrientation: undefined,
10
- angle: 0,
11
- screenOffTimeout: undefined,
12
- listApps: false,
13
- newDisplay: undefined,
14
- vdSystemDecorations: true,
15
- }) as const satisfies Required<Init<true>>)();
4
+ export const Defaults = {
5
+ ...{
6
+ ...PrevImpl.Defaults,
7
+ // Remove obsolete values
8
+ // relies on the minifier to flatten the nested spread
9
+ lockVideoOrientation: undefined,
10
+ },
11
+
12
+ captureOrientation: undefined,
13
+ angle: 0,
14
+ screenOffTimeout: undefined,
15
+ listApps: false,
16
+ newDisplay: undefined,
17
+ vdSystemDecorations: true,
18
+ } as const satisfies Required<Init<true>>;
@@ -106,8 +106,10 @@ export class NewDisplay implements ScrcpyOptionValue {
106
106
  }
107
107
  }
108
108
 
109
- export interface Init<TVideo extends boolean>
110
- extends Omit<PrevImpl.Init<TVideo>, "lockVideoOrientation"> {
109
+ export interface Init<TVideo extends boolean> extends Omit<
110
+ PrevImpl.Init<TVideo>,
111
+ "lockVideoOrientation"
112
+ > {
111
113
  captureOrientation?: CaptureOrientation | string | undefined;
112
114
  angle?: number;
113
115
  screenOffTimeout?: number | undefined;
@@ -3,7 +3,6 @@ import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
3
3
 
4
4
  import type {
5
5
  ScrcpyAudioStreamMetadata,
6
- ScrcpyControlMessageType,
7
6
  ScrcpyDisplay,
8
7
  ScrcpyEncoder,
9
8
  ScrcpyMediaStreamPacket,
@@ -36,6 +35,7 @@ import {
36
35
  serialize,
37
36
  serializeBackOrScreenOnControlMessage,
38
37
  serializeInjectTouchControlMessage,
38
+ serializeSetClipboardControlMessage,
39
39
  serializeUHidCreateControlMessage,
40
40
  setListDisplays,
41
41
  setListEncoders,
@@ -49,7 +49,7 @@ export class ScrcpyOptions3_0<TVideo extends boolean>
49
49
 
50
50
  readonly value: Required<Init<TVideo>>;
51
51
 
52
- get controlMessageTypes(): readonly ScrcpyControlMessageType[] {
52
+ get controlMessageTypes(): typeof ControlMessageTypes {
53
53
  return ControlMessageTypes;
54
54
  }
55
55
 
@@ -88,12 +88,12 @@ export class ScrcpyOptions3_0<TVideo extends boolean>
88
88
  this.#clipboard = this.#deviceMessageParsers.add(
89
89
  new ClipboardStream(),
90
90
  );
91
-
92
- this.#ackClipboardHandler = this.#deviceMessageParsers.add(
93
- new AckClipboardHandler(),
94
- );
95
91
  }
96
92
 
93
+ this.#ackClipboardHandler = this.#deviceMessageParsers.add(
94
+ new AckClipboardHandler(),
95
+ );
96
+
97
97
  this.#uHidOutput = this.#deviceMessageParsers.add(
98
98
  new UHidOutputStream(),
99
99
  );
@@ -154,8 +154,9 @@ export class ScrcpyOptions3_0<TVideo extends boolean>
154
154
  serializeSetClipboardControlMessage(
155
155
  message: ScrcpySetClipboardControlMessage,
156
156
  ): Uint8Array | [Uint8Array, Promise<void>] {
157
- return this.#ackClipboardHandler!.serializeSetClipboardControlMessage(
157
+ return serializeSetClipboardControlMessage(
158
158
  message,
159
+ this.#ackClipboardHandler,
159
160
  );
160
161
  }
161
162
 
package/src/3_0_1.ts CHANGED
@@ -1,14 +1 @@
1
- import { ScrcpyOptions3_0 } from "./3_0/index.js";
2
-
3
- export class ScrcpyOptions3_0_1<
4
- TVideo extends boolean,
5
- > extends ScrcpyOptions3_0<TVideo> {
6
- constructor(init: ScrcpyOptions3_0.Init<TVideo>) {
7
- super(init);
8
- }
9
- }
10
-
11
- export namespace ScrcpyOptions3_0_1 {
12
- export type Init<TVideo extends boolean = boolean> =
13
- ScrcpyOptions3_0.Init<TVideo>;
14
- }
1
+ export { ScrcpyOptions3_0 as ScrcpyOptions3_0_1 } from "./3_0/index.js";
package/src/3_0_2.ts CHANGED
@@ -1,14 +1 @@
1
- import { ScrcpyOptions3_0 } from "./3_0/index.js";
2
-
3
- export class ScrcpyOptions3_0_2<
4
- TVideo extends boolean,
5
- > extends ScrcpyOptions3_0<TVideo> {
6
- constructor(init: ScrcpyOptions3_0.Init<TVideo>) {
7
- super(init);
8
- }
9
- }
10
-
11
- export namespace ScrcpyOptions3_0_2 {
12
- export type Init<TVideo extends boolean = boolean> =
13
- ScrcpyOptions3_0.Init<TVideo>;
14
- }
1
+ export { ScrcpyOptions3_0 as ScrcpyOptions3_0_2 } from "./3_0/index.js";
@@ -1,8 +1,7 @@
1
1
  import type { Init } from "./init.js";
2
2
  import { PrevImpl } from "./prev.js";
3
3
 
4
- export const Defaults = /* #__PURE__ */ (() =>
5
- ({
6
- ...PrevImpl.Defaults,
7
- vdDestroyContent: false,
8
- }) as const satisfies Required<Init<true>>)();
4
+ export const Defaults = {
5
+ ...PrevImpl.Defaults,
6
+ vdDestroyContent: false,
7
+ } as const satisfies Required<Init<true>>;
@@ -5,6 +5,7 @@ import type { ScrcpyUHidCreateControlMessage } from "../../latest.js";
5
5
 
6
6
  export const UHidCreateControlMessage = struct(
7
7
  {
8
+ // value of `type` can change between versions
8
9
  type: u8,
9
10
  id: u16,
10
11
  vendorId: u16,