@yume-chan/scrcpy 0.0.23 → 0.0.24

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 (173) hide show
  1. package/CHANGELOG.json +21 -0
  2. package/CHANGELOG.md +11 -1
  3. package/LICENSE +1 -1
  4. package/esm/codec/av1.d.ts +364 -0
  5. package/esm/codec/av1.d.ts.map +1 -1
  6. package/esm/codec/av1.js +591 -0
  7. package/esm/codec/av1.js.map +1 -1
  8. package/esm/codec/nalu.d.ts +0 -9
  9. package/esm/codec/nalu.d.ts.map +1 -1
  10. package/esm/codec/nalu.js +56 -129
  11. package/esm/codec/nalu.js.map +1 -1
  12. package/esm/control/{basic.d.ts → empty.d.ts} +2 -2
  13. package/esm/control/empty.d.ts.map +1 -0
  14. package/esm/control/empty.js +3 -0
  15. package/esm/control/empty.js.map +1 -0
  16. package/esm/control/index.d.ts +1 -1
  17. package/esm/control/index.js +1 -1
  18. package/esm/control/rotate-device.js +2 -2
  19. package/esm/control/serializer.d.ts +2 -0
  20. package/esm/control/serializer.d.ts.map +1 -1
  21. package/esm/control/serializer.js +10 -4
  22. package/esm/control/serializer.js.map +1 -1
  23. package/esm/control/type.js +1 -1
  24. package/esm/control/type.js.map +1 -1
  25. package/esm/control/writer.d.ts +4 -1
  26. package/esm/control/writer.d.ts.map +1 -1
  27. package/esm/control/writer.js +12 -2
  28. package/esm/control/writer.js.map +1 -1
  29. package/esm/index.d.ts +0 -1
  30. package/esm/index.d.ts.map +1 -1
  31. package/esm/index.js +0 -1
  32. package/esm/index.js.map +1 -1
  33. package/esm/options/1_16/float.d.ts +6 -0
  34. package/esm/options/1_16/float.d.ts.map +1 -0
  35. package/esm/options/1_16/{float-to-uint16.js → float.js} +7 -6
  36. package/esm/options/1_16/float.js.map +1 -0
  37. package/esm/options/1_16/index.d.ts +1 -1
  38. package/esm/options/1_16/index.d.ts.map +1 -1
  39. package/esm/options/1_16/index.js +1 -1
  40. package/esm/options/1_16/index.js.map +1 -1
  41. package/esm/options/1_16/message.d.ts +4 -0
  42. package/esm/options/1_16/message.d.ts.map +1 -1
  43. package/esm/options/1_16/message.js +7 -4
  44. package/esm/options/1_16/message.js.map +1 -1
  45. package/esm/options/1_16/options.d.ts +13 -4
  46. package/esm/options/1_16/options.d.ts.map +1 -1
  47. package/esm/options/1_16/options.js +43 -15
  48. package/esm/options/1_16/options.js.map +1 -1
  49. package/esm/options/1_17.d.ts +2 -3
  50. package/esm/options/1_17.d.ts.map +1 -1
  51. package/esm/options/1_17.js +3 -6
  52. package/esm/options/1_17.js.map +1 -1
  53. package/esm/options/1_18.d.ts +2 -3
  54. package/esm/options/1_18.d.ts.map +1 -1
  55. package/esm/options/1_18.js +4 -24
  56. package/esm/options/1_18.js.map +1 -1
  57. package/esm/options/1_21.d.ts +9 -4
  58. package/esm/options/1_21.d.ts.map +1 -1
  59. package/esm/options/1_21.js +30 -7
  60. package/esm/options/1_21.js.map +1 -1
  61. package/esm/options/1_22/options.d.ts +2 -3
  62. package/esm/options/1_22/options.d.ts.map +1 -1
  63. package/esm/options/1_22/options.js +4 -7
  64. package/esm/options/1_22/options.js.map +1 -1
  65. package/esm/options/1_23.d.ts +2 -3
  66. package/esm/options/1_23.d.ts.map +1 -1
  67. package/esm/options/1_23.js +4 -7
  68. package/esm/options/1_23.js.map +1 -1
  69. package/esm/options/1_24.d.ts +2 -3
  70. package/esm/options/1_24.d.ts.map +1 -1
  71. package/esm/options/1_24.js +3 -6
  72. package/esm/options/1_24.js.map +1 -1
  73. package/esm/options/1_25/options.d.ts +2 -3
  74. package/esm/options/1_25/options.d.ts.map +1 -1
  75. package/esm/options/1_25/options.js +3 -6
  76. package/esm/options/1_25/options.js.map +1 -1
  77. package/esm/options/1_25/scroll.d.ts +3 -2
  78. package/esm/options/1_25/scroll.d.ts.map +1 -1
  79. package/esm/options/1_25/scroll.js +8 -7
  80. package/esm/options/1_25/scroll.js.map +1 -1
  81. package/esm/options/2_0.d.ts +10 -8
  82. package/esm/options/2_0.d.ts.map +1 -1
  83. package/esm/options/2_0.js +68 -74
  84. package/esm/options/2_0.js.map +1 -1
  85. package/esm/options/2_1.d.ts +4 -5
  86. package/esm/options/2_1.d.ts.map +1 -1
  87. package/esm/options/2_1.js +3 -6
  88. package/esm/options/2_1.js.map +1 -1
  89. package/esm/options/2_2.d.ts +4 -5
  90. package/esm/options/2_2.d.ts.map +1 -1
  91. package/esm/options/2_2.js +3 -6
  92. package/esm/options/2_2.js.map +1 -1
  93. package/esm/options/2_3.d.ts +59 -0
  94. package/esm/options/2_3.d.ts.map +1 -0
  95. package/esm/options/2_3.js +47 -0
  96. package/esm/options/2_3.js.map +1 -0
  97. package/esm/options/codec.d.ts +1 -0
  98. package/esm/options/codec.d.ts.map +1 -1
  99. package/esm/options/codec.js +1 -0
  100. package/esm/options/codec.js.map +1 -1
  101. package/esm/options/index.d.ts +1 -0
  102. package/esm/options/index.d.ts.map +1 -1
  103. package/esm/options/index.js +1 -0
  104. package/esm/options/index.js.map +1 -1
  105. package/esm/options/latest.d.ts +4 -4
  106. package/esm/options/latest.js +2 -2
  107. package/esm/options/types.d.ts +30 -32
  108. package/esm/options/types.d.ts.map +1 -1
  109. package/esm/options/types.js +77 -26
  110. package/esm/options/types.js.map +1 -1
  111. package/package.json +11 -11
  112. package/src/codec/av1.ts +670 -0
  113. package/src/codec/nalu.ts +67 -154
  114. package/src/control/empty.ts +3 -0
  115. package/src/control/index.ts +1 -1
  116. package/src/control/rotate-device.ts +2 -2
  117. package/src/control/serializer.ts +12 -4
  118. package/src/control/type.ts +1 -1
  119. package/src/control/writer.ts +16 -6
  120. package/src/index.ts +0 -1
  121. package/src/options/1_16/{float-to-uint16.ts → float.ts} +8 -6
  122. package/src/options/1_16/index.ts +1 -1
  123. package/src/options/1_16/message.ts +8 -4
  124. package/src/options/1_16/options.ts +68 -28
  125. package/src/options/1_17.ts +3 -9
  126. package/src/options/1_18.ts +3 -36
  127. package/src/options/1_21.ts +40 -11
  128. package/src/options/1_22/options.ts +4 -10
  129. package/src/options/1_23.ts +4 -10
  130. package/src/options/1_24.ts +3 -9
  131. package/src/options/1_25/options.ts +3 -9
  132. package/src/options/1_25/scroll.ts +10 -11
  133. package/src/options/2_0.ts +87 -92
  134. package/src/options/2_1.ts +3 -9
  135. package/src/options/2_2.ts +3 -9
  136. package/src/options/2_3.ts +70 -0
  137. package/src/options/codec.ts +6 -0
  138. package/src/options/index.ts +1 -0
  139. package/src/options/latest.ts +4 -4
  140. package/src/options/types.ts +89 -98
  141. package/tsconfig.build.tsbuildinfo +1 -1
  142. package/esm/control/basic.d.ts.map +0 -1
  143. package/esm/control/basic.js +0 -3
  144. package/esm/control/basic.js.map +0 -1
  145. package/esm/device-message/ack-clipboard.d.ts +0 -9
  146. package/esm/device-message/ack-clipboard.d.ts.map +0 -1
  147. package/esm/device-message/ack-clipboard.js +0 -6
  148. package/esm/device-message/ack-clipboard.js.map +0 -1
  149. package/esm/device-message/clipboard.d.ts +0 -10
  150. package/esm/device-message/clipboard.d.ts.map +0 -1
  151. package/esm/device-message/clipboard.js +0 -7
  152. package/esm/device-message/clipboard.js.map +0 -1
  153. package/esm/device-message/index.d.ts +0 -5
  154. package/esm/device-message/index.d.ts.map +0 -1
  155. package/esm/device-message/index.js +0 -5
  156. package/esm/device-message/index.js.map +0 -1
  157. package/esm/device-message/stream.d.ts +0 -8
  158. package/esm/device-message/stream.d.ts.map +0 -1
  159. package/esm/device-message/stream.js +0 -35
  160. package/esm/device-message/stream.js.map +0 -1
  161. package/esm/device-message/type.d.ts +0 -5
  162. package/esm/device-message/type.d.ts.map +0 -1
  163. package/esm/device-message/type.js +0 -7
  164. package/esm/device-message/type.js.map +0 -1
  165. package/esm/options/1_16/float-to-uint16.d.ts +0 -5
  166. package/esm/options/1_16/float-to-uint16.d.ts.map +0 -1
  167. package/esm/options/1_16/float-to-uint16.js.map +0 -1
  168. package/src/control/basic.ts +0 -3
  169. package/src/device-message/ack-clipboard.ts +0 -10
  170. package/src/device-message/clipboard.ts +0 -11
  171. package/src/device-message/index.ts +0 -4
  172. package/src/device-message/stream.ts +0 -49
  173. package/src/device-message/type.ts +0 -5
package/esm/codec/nalu.js CHANGED
@@ -76,128 +76,15 @@ export function* annexBSplitNalu(buffer) {
76
76
  }
77
77
  yield buffer.subarray(start, buffer.length);
78
78
  }
79
- /**
80
- * Remove emulation prevention bytes from a H.264/H.265 NAL Unit.
81
- *
82
- * The input is not modified.
83
- * If the input doesn't contain any emulation prevention bytes,
84
- * the input is returned as-is.
85
- * Otherwise, a new `Uint8Array` is created and returned.
86
- */
87
- export function naluRemoveEmulation(buffer) {
88
- // output will be created when first emulation prevention byte is found
89
- let output;
90
- let outputOffset = 0;
91
- let zeroCount = 0;
92
- let inEmulation = false;
93
- let i = 0;
94
- scan: for (; i < buffer.length; i += 1) {
95
- const byte = buffer[i];
96
- if (byte === 0x00) {
97
- zeroCount += 1;
98
- continue;
99
- }
100
- // Current byte is not zero
101
- const prevZeroCount = zeroCount;
102
- zeroCount = 0;
103
- if (prevZeroCount < 2) {
104
- // zero or one `0x00`s are acceptable
105
- continue;
106
- }
107
- if (byte === 0x01) {
108
- // Unexpected start code
109
- throw new Error("Invalid data");
110
- }
111
- if (prevZeroCount > 2) {
112
- // Too much `0x00`s
113
- throw new Error("Invalid data");
114
- }
115
- switch (byte) {
116
- case 0x02:
117
- // Didn't find why, but 7.4.1 NAL unit semantics forbids `0x000002` appearing in NAL units
118
- throw new Error("Invalid data");
119
- case 0x03:
120
- // `0x000003` is the "emulation_prevention_three_byte"
121
- // `0x00000300`, `0x00000301`, `0x00000302` and `0x00000303` represent
122
- // `0x000000`, `0x000001`, `0x000002` and `0x000003` respectively
123
- inEmulation = true;
124
- // Create output and copy the data before the emulation prevention byte
125
- // Output size is unknown, so we use the input size as an upper bound
126
- output = new Uint8Array(buffer.length - 1);
127
- output.set(buffer.subarray(0, i));
128
- outputOffset = i;
129
- i += 1;
130
- break scan;
131
- default:
132
- // `0x000004` or larger are as-is
133
- break;
134
- }
135
- }
136
- if (!output) {
137
- return buffer;
138
- }
139
- // Continue at the byte after the emulation prevention byte
140
- for (; i < buffer.length; i += 1) {
141
- const byte = buffer[i];
142
- output[outputOffset] = byte;
143
- outputOffset += 1;
144
- if (inEmulation) {
145
- if (byte > 0x03) {
146
- // `0x00000304` or larger are invalid
147
- throw new Error("Invalid data");
148
- }
149
- // `00000300000300` results in `0000000000` (both `0x03` are removed)
150
- // which means the `0x00` after `0x03` also counts
151
- if (byte === 0x00) {
152
- zeroCount += 1;
153
- }
154
- inEmulation = false;
155
- continue;
156
- }
157
- if (byte === 0x00) {
158
- zeroCount += 1;
159
- continue;
160
- }
161
- const prevZeroCount = zeroCount;
162
- zeroCount = 0;
163
- if (prevZeroCount < 2) {
164
- // zero or one `0x00`s are acceptable
165
- continue;
166
- }
167
- if (byte === 0x01) {
168
- // Unexpected start code
169
- throw new Error("Invalid data");
170
- }
171
- if (prevZeroCount > 2) {
172
- // Too much `0x00`s
173
- throw new Error("Invalid data");
174
- }
175
- switch (byte) {
176
- case 0x02:
177
- // Didn't find why, but 7.4.1 NAL unit semantics forbids `0x000002` appearing in NAL units
178
- throw new Error("Invalid data");
179
- case 0x03:
180
- // `0x000003` is the "emulation_prevention_three_byte"
181
- // `0x00000300`, `0x00000301`, `0x00000302` and `0x00000303` represent
182
- // `0x000000`, `0x000001`, `0x000002` and `0x000003` respectively
183
- inEmulation = true;
184
- // Remove the emulation prevention byte
185
- outputOffset -= 1;
186
- break;
187
- default:
188
- // `0x000004` or larger are as-is
189
- break;
190
- }
191
- }
192
- return output.subarray(0, outputOffset);
193
- }
194
79
  export class NaluSodbBitReader {
195
80
  #nalu;
81
+ // logical length is `#byteLength * 8 + (7 - #stopBitIndex)`
196
82
  #byteLength;
197
83
  #stopBitIndex;
198
84
  #zeroCount = 0;
199
- #bytePosition = -1;
200
- #bitPosition = -1;
85
+ // logical position is `#bytePosition * 8 + (7 - #bitPosition)`
86
+ #bytePosition = 0;
87
+ #bitPosition = 7;
201
88
  #byte = 0;
202
89
  get byteLength() {
203
90
  return this.#byteLength;
@@ -212,11 +99,12 @@ export class NaluSodbBitReader {
212
99
  return this.#bitPosition;
213
100
  }
214
101
  get ended() {
215
- return (this.#bytePosition === this.#byteLength &&
216
- this.#bitPosition === this.#stopBitIndex);
102
+ return (this.#bytePosition >= this.#byteLength &&
103
+ this.#bitPosition <= this.#stopBitIndex);
217
104
  }
218
105
  constructor(nalu) {
219
106
  this.#nalu = nalu;
107
+ // Search for the last bit being `1`, also known as the stop bit
220
108
  for (let i = nalu.length - 1; i >= 0; i -= 1) {
221
109
  if (this.#nalu[i] === 0) {
222
110
  continue;
@@ -226,21 +114,27 @@ export class NaluSodbBitReader {
226
114
  if (((byte >> j) & 1) === 1) {
227
115
  this.#byteLength = i;
228
116
  this.#stopBitIndex = j;
229
- this.#readByte();
117
+ this.#loadByte();
230
118
  return;
231
119
  }
232
120
  }
233
121
  }
234
122
  throw new Error("Stop bit not found");
235
123
  }
236
- #readByte() {
124
+ #loadByte() {
237
125
  this.#byte = this.#nalu[this.#bytePosition];
126
+ // If the current sequence is `0x000003`, skip to the next byte.
127
+ // `annexBSplitNalu` had validated the input, so skip the check here
238
128
  if (this.#zeroCount === 2 && this.#byte === 3) {
239
129
  this.#zeroCount = 0;
240
130
  this.#bytePosition += 1;
241
- this.#readByte();
131
+ // Call `#loadByte` again, because if the next byte is `0x00`,
132
+ // it need to be counted in `#zeroCount` as well.
133
+ this.#loadByte();
242
134
  return;
243
135
  }
136
+ // `0x00000301` becomes `0x000001`, so only the `0x03` byte needs to be skipped
137
+ // All `0x00` bytes are returned as-is
244
138
  if (this.#byte === 0) {
245
139
  this.#zeroCount += 1;
246
140
  }
@@ -249,16 +143,16 @@ export class NaluSodbBitReader {
249
143
  }
250
144
  }
251
145
  next() {
252
- if (this.#bitPosition === -1) {
253
- this.#bitPosition = 7;
254
- this.#bytePosition += 1;
255
- this.#readByte();
256
- }
257
146
  if (this.ended) {
258
147
  throw new Error("Bit index out of bounds");
259
148
  }
260
149
  const value = (this.#byte >> this.#bitPosition) & 1;
261
150
  this.#bitPosition -= 1;
151
+ if (this.#bitPosition < 0) {
152
+ this.#bytePosition += 1;
153
+ this.#bitPosition = 7;
154
+ this.#loadByte();
155
+ }
262
156
  return value;
263
157
  }
264
158
  read(length) {
@@ -271,10 +165,43 @@ export class NaluSodbBitReader {
271
165
  }
272
166
  return result;
273
167
  }
168
+ /**
169
+ * Throws an error if the current position is invalid for `skip`.
170
+ *
171
+ * Usually it will throw if `ended` is `true`,
172
+ * except when the bit position is at the stop bit,
173
+ * in which case `ended` will be `true`, but it won't throw.
174
+ * `skip` can skip all remaining bits, and stop at the end position.
175
+ * The next `next` call will throw since there is no more bits to read.
176
+ */
177
+ #checkSkipPosition() {
178
+ if (this.#bytePosition >= this.#byteLength &&
179
+ this.#bitPosition < this.#stopBitIndex) {
180
+ throw new Error("Bit index out of bounds");
181
+ }
182
+ }
274
183
  skip(length) {
275
- for (let i = 0; i < length; i += 1) {
276
- this.next();
184
+ if (length <= this.#bitPosition + 1) {
185
+ this.#bitPosition -= length;
186
+ this.#checkSkipPosition();
187
+ return;
188
+ }
189
+ // Because of emulation prevention bytes,
190
+ // we don't know how many bits are left in the NAL,
191
+ // nor how many bits should be skipped.
192
+ // So we need to check each byte.
193
+ length -= this.#bitPosition + 1;
194
+ this.#bytePosition += 1;
195
+ this.#bitPosition = 7;
196
+ this.#loadByte();
197
+ this.#checkSkipPosition();
198
+ for (; length >= 8; length -= 8) {
199
+ this.#bytePosition += 1;
200
+ this.#loadByte();
201
+ this.#checkSkipPosition();
277
202
  }
203
+ this.#bitPosition = 7 - length;
204
+ this.#checkSkipPosition();
278
205
  }
279
206
  decodeExponentialGolombNumber() {
280
207
  let length = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"nalu.js","sourceRoot":"","sources":["../../src/codec/nalu.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nalu.js","sourceRoot":"","sources":["../../src/codec/nalu.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Struct } from "@yume-chan/struct";
2
- export declare const BasicControlMessage: Struct<{
2
+ export declare const EmptyControlMessage: Struct<{
3
3
  type: number;
4
4
  }, never, Record<never, never>, undefined>;
5
- //# sourceMappingURL=basic.d.ts.map
5
+ //# sourceMappingURL=empty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty.d.ts","sourceRoot":"","sources":["../../src/control/empty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,eAAO,MAAM,mBAAmB;;0CAA6B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Struct } from "@yume-chan/struct";
2
+ export const EmptyControlMessage = new Struct().uint8("type");
3
+ //# sourceMappingURL=empty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty.js","sourceRoot":"","sources":["../../src/control/empty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export * from "./back-or-screen-on.js";
2
- export * from "./basic.js";
2
+ export * from "./empty.js";
3
3
  export * from "./hover-helper.js";
4
4
  export * from "./inject-keycode.js";
5
5
  export * from "./inject-scroll.js";
@@ -1,5 +1,5 @@
1
1
  export * from "./back-or-screen-on.js";
2
- export * from "./basic.js";
2
+ export * from "./empty.js";
3
3
  export * from "./hover-helper.js";
4
4
  export * from "./inject-keycode.js";
5
5
  export * from "./inject-scroll.js";
@@ -1,3 +1,3 @@
1
- import { BasicControlMessage } from "./basic.js";
2
- export const ScrcpyRotateDeviceControlMessage = BasicControlMessage;
1
+ import { EmptyControlMessage } from "./empty.js";
2
+ export const ScrcpyRotateDeviceControlMessage = EmptyControlMessage;
3
3
  //# sourceMappingURL=rotate-device.js.map
@@ -3,6 +3,7 @@ import type { AndroidKeyEventAction } from "./inject-keycode.js";
3
3
  import { ScrcpyInjectKeyCodeControlMessage } from "./inject-keycode.js";
4
4
  import type { ScrcpyInjectScrollControlMessage } from "./inject-scroll.js";
5
5
  import type { ScrcpyInjectTouchControlMessage } from "./inject-touch.js";
6
+ import type { ScrcpySetClipboardControlMessage } from "./set-clipboard.js";
6
7
  import type { AndroidScreenPowerMode } from "./set-screen-power-mode.js";
7
8
  export declare class ScrcpyControlMessageSerializer {
8
9
  #private;
@@ -23,5 +24,6 @@ export declare class ScrcpyControlMessageSerializer {
23
24
  expandSettingPanel(): Uint8Array;
24
25
  collapseNotificationPanel(): Uint8Array;
25
26
  rotateDevice(): Uint8Array;
27
+ setClipboard(message: Omit<ScrcpySetClipboardControlMessage, "type">): Uint8Array | [Uint8Array, Promise<void>];
26
28
  }
27
29
  //# sourceMappingURL=serializer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../src/control/serializer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,aAAa,EAEhB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,iCAAiC,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAE3E,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAOzE,qBAAa,8BAA8B;;gBAK3B,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC;IAM1C,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,iCAAiC,EAAE,MAAM,CAAC;IAStE,UAAU,CAAC,IAAI,EAAE,MAAM;IAOvB;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,+BAA+B,EAAE,MAAM,CAAC;IASlE;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,gCAAgC,EAAE,MAAM,CAAC;IASpE,cAAc,CAAC,MAAM,EAAE,qBAAqB;IAO5C,kBAAkB,CAAC,IAAI,EAAE,sBAAsB;IAS/C,uBAAuB;IAQvB,kBAAkB;IAQlB,yBAAyB;IAQzB,YAAY;CAKf"}
1
+ {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../src/control/serializer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,aAAa,EAEhB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,iCAAiC,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAE3E,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAOzE,qBAAa,8BAA8B;;gBAK3B,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC;IAM1C,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,iCAAiC,EAAE,MAAM,CAAC;IAStE,UAAU,CAAC,IAAI,EAAE,MAAM;IAOvB;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,+BAA+B,EAAE,MAAM,CAAC;IASlE;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,gCAAgC,EAAE,MAAM,CAAC;IASpE,cAAc,CAAC,MAAM,EAAE,qBAAqB;IAO5C,kBAAkB,CAAC,IAAI,EAAE,sBAAsB;IAS/C,uBAAuB;IAQvB,kBAAkB;IAQlB,yBAAyB;IAQzB,YAAY;IAMZ,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,gCAAgC,EAAE,MAAM,CAAC;CAMvE"}
@@ -1,4 +1,4 @@
1
- import { BasicControlMessage } from "./basic.js";
1
+ import { EmptyControlMessage } from "./empty.js";
2
2
  import { ScrcpyInjectKeyCodeControlMessage } from "./inject-keycode.js";
3
3
  import { ScrcpyInjectTextControlMessage } from "./inject-text.js";
4
4
  import { ScrcpyRotateDeviceControlMessage } from "./rotate-device.js";
@@ -47,17 +47,17 @@ export class ScrcpyControlMessageSerializer {
47
47
  });
48
48
  }
49
49
  expandNotificationPanel() {
50
- return BasicControlMessage.serialize({
50
+ return EmptyControlMessage.serialize({
51
51
  type: this.#typeValues.get(ScrcpyControlMessageType.ExpandNotificationPanel),
52
52
  });
53
53
  }
54
54
  expandSettingPanel() {
55
- return BasicControlMessage.serialize({
55
+ return EmptyControlMessage.serialize({
56
56
  type: this.#typeValues.get(ScrcpyControlMessageType.ExpandSettingPanel),
57
57
  });
58
58
  }
59
59
  collapseNotificationPanel() {
60
- return BasicControlMessage.serialize({
60
+ return EmptyControlMessage.serialize({
61
61
  type: this.#typeValues.get(ScrcpyControlMessageType.CollapseNotificationPanel),
62
62
  });
63
63
  }
@@ -66,5 +66,11 @@ export class ScrcpyControlMessageSerializer {
66
66
  type: this.#typeValues.get(ScrcpyControlMessageType.RotateDevice),
67
67
  });
68
68
  }
69
+ setClipboard(message) {
70
+ return this.#options.serializeSetClipboardControlMessage({
71
+ ...message,
72
+ type: this.#typeValues.get(ScrcpyControlMessageType.SetClipboard),
73
+ });
74
+ }
69
75
  }
70
76
  //# sourceMappingURL=serializer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../src/control/serializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../src/control/serializer.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@ export class ScrcpyControlMessageTypeValue {
29
29
  get(type) {
30
30
  const value = this.#types.indexOf(type);
31
31
  if (value === -1) {
32
- throw new Error("Not supported");
32
+ throw new TypeError("Invalid or unsupported control message type");
33
33
  }
34
34
  return value;
35
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/control/type.ts"],"names":[],"mappings":"AAAA,+GAA+G;AAC/G,6IAA6I;AAI7I,sFAAsF;AACtF,MAAM,CAAN,IAAY,wBAaX;AAbD,WAAY,wBAAwB;IAChC,yFAAa,CAAA;IACb,mFAAU,CAAA;IACV,qFAAW,CAAA;IACX,uFAAY,CAAA;IACZ,2FAAc,CAAA;IACd,6GAAuB,CAAA;IACvB,mGAAkB,CAAA;IAClB,iHAAyB,CAAA;IACzB,uFAAY,CAAA;IACZ,uFAAY,CAAA;IACZ,oGAAkB,CAAA;IAClB,wFAAY,CAAA;AAChB,CAAC,EAbW,wBAAwB,KAAxB,wBAAwB,QAanC;AAED;;;;GAIG;AACH,MAAM,OAAO,6BAA6B;IACtC,MAAM,CAAsC;IAE5C,YAAY,OAA8B;QACtC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAC9C,CAAC;IAED,GAAG,CAAC,IAA8B;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,eAAe,CACX,OAAwB,EACxB,IAAe;QAEd,OAAa,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,OAAO,OAAY,CAAC;IACxB,CAAC;CACJ"}
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/control/type.ts"],"names":[],"mappings":"AAAA,+GAA+G;AAC/G,6IAA6I;AAI7I,sFAAsF;AACtF,MAAM,CAAN,IAAY,wBAaX;AAbD,WAAY,wBAAwB;IAChC,yFAAa,CAAA;IACb,mFAAU,CAAA;IACV,qFAAW,CAAA;IACX,uFAAY,CAAA;IACZ,2FAAc,CAAA;IACd,6GAAuB,CAAA;IACvB,mGAAkB,CAAA;IAClB,iHAAyB,CAAA;IACzB,uFAAY,CAAA;IACZ,uFAAY,CAAA;IACZ,oGAAkB,CAAA;IAClB,wFAAY,CAAA;AAChB,CAAC,EAbW,wBAAwB,KAAxB,wBAAwB,QAanC;AAED;;;;GAIG;AACH,MAAM,OAAO,6BAA6B;IACtC,MAAM,CAAsC;IAE5C,YAAY,OAA8B;QACtC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAC9C,CAAC;IAED,GAAG,CAAC,IAA8B;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,eAAe,CACX,OAAwB,EACxB,IAAe;QAEd,OAAa,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,OAAO,OAAY,CAAC;IACxB,CAAC;CACJ"}
@@ -1,8 +1,10 @@
1
- import type { Consumable, WritableStreamDefaultWriter } from "@yume-chan/stream-extra";
1
+ import type { WritableStreamDefaultWriter } from "@yume-chan/stream-extra";
2
+ import { Consumable } from "@yume-chan/stream-extra";
2
3
  import type { ScrcpyOptions } from "../options/index.js";
3
4
  import type { AndroidKeyEventAction, ScrcpyInjectKeyCodeControlMessage } from "./inject-keycode.js";
4
5
  import type { ScrcpyInjectScrollControlMessage } from "./inject-scroll.js";
5
6
  import type { ScrcpyInjectTouchControlMessage } from "./inject-touch.js";
7
+ import type { ScrcpySetClipboardControlMessage } from "./set-clipboard.js";
6
8
  import type { AndroidScreenPowerMode } from "./set-screen-power-mode.js";
7
9
  export declare class ScrcpyControlMessageWriter {
8
10
  #private;
@@ -24,6 +26,7 @@ export declare class ScrcpyControlMessageWriter {
24
26
  expandSettingPanel(): Promise<void>;
25
27
  collapseNotificationPanel(): Promise<void>;
26
28
  rotateDevice(): Promise<void>;
29
+ setClipboard(message: Omit<ScrcpySetClipboardControlMessage, "type">): Promise<void>;
27
30
  releaseLock(): void;
28
31
  close(): Promise<void>;
29
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/control/writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,UAAU,EACV,2BAA2B,EAC9B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,KAAK,EACR,qBAAqB,EACrB,iCAAiC,EACpC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEzE,qBAAa,0BAA0B;;gBAK/B,MAAM,EAAE,2BAA2B,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAC3D,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC;IAM5B,KAAK,CAAC,OAAO,EAAE,UAAU;IAIzB,aAAa,CACf,OAAO,EAAE,IAAI,CAAC,iCAAiC,EAAE,MAAM,CAAC;IAKtD,UAAU,CAAC,IAAI,EAAE,MAAM;IAI7B;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,+BAA+B,EAAE,MAAM,CAAC;IAIxE;;OAEG;IACG,YAAY,CACd,OAAO,EAAE,IAAI,CAAC,gCAAgC,EAAE,MAAM,CAAC;IAQrD,cAAc,CAAC,MAAM,EAAE,qBAAqB;IAO5C,kBAAkB,CAAC,IAAI,EAAE,sBAAsB;IAI/C,uBAAuB;IAIvB,kBAAkB;IAIlB,yBAAyB;IAIzB,YAAY;IAIlB,WAAW;IAIL,KAAK;CAGd"}
1
+ {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/control/writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,KAAK,EACR,qBAAqB,EACrB,iCAAiC,EACpC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEzE,qBAAa,0BAA0B;;gBAK/B,MAAM,EAAE,2BAA2B,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAC3D,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC;IAM5B,KAAK,CAAC,OAAO,EAAE,UAAU;IAIzB,aAAa,CACf,OAAO,EAAE,IAAI,CAAC,iCAAiC,EAAE,MAAM,CAAC;IAKtD,UAAU,CAAC,IAAI,EAAE,MAAM;IAI7B;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,+BAA+B,EAAE,MAAM,CAAC;IAIxE;;OAEG;IACG,YAAY,CACd,OAAO,EAAE,IAAI,CAAC,gCAAgC,EAAE,MAAM,CAAC;IAQrD,cAAc,CAAC,MAAM,EAAE,qBAAqB;IAO5C,kBAAkB,CAAC,IAAI,EAAE,sBAAsB;IAI/C,uBAAuB;IAIvB,kBAAkB;IAIlB,yBAAyB;IAIzB,YAAY;IAIZ,YAAY,CACd,OAAO,EAAE,IAAI,CAAC,gCAAgC,EAAE,MAAM,CAAC;IAW3D,WAAW;IAIL,KAAK;CAGd"}
@@ -1,4 +1,4 @@
1
- import { ConsumableWritableStream } from "@yume-chan/stream-extra";
1
+ import { Consumable } from "@yume-chan/stream-extra";
2
2
  import { ScrcpyControlMessageSerializer } from "./serializer.js";
3
3
  export class ScrcpyControlMessageWriter {
4
4
  #writer;
@@ -8,7 +8,7 @@ export class ScrcpyControlMessageWriter {
8
8
  this.#serializer = new ScrcpyControlMessageSerializer(options);
9
9
  }
10
10
  async write(message) {
11
- await ConsumableWritableStream.write(this.#writer, message);
11
+ await Consumable.WritableStream.write(this.#writer, message);
12
12
  }
13
13
  async injectKeyCode(message) {
14
14
  await this.write(this.#serializer.injectKeyCode(message));
@@ -52,6 +52,16 @@ export class ScrcpyControlMessageWriter {
52
52
  async rotateDevice() {
53
53
  await this.write(this.#serializer.rotateDevice());
54
54
  }
55
+ async setClipboard(message) {
56
+ const result = this.#serializer.setClipboard(message);
57
+ if (result instanceof Uint8Array) {
58
+ await this.write(result);
59
+ }
60
+ else {
61
+ await this.write(result[0]);
62
+ await result[1];
63
+ }
64
+ }
55
65
  releaseLock() {
56
66
  this.#writer.releaseLock();
57
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/control/writer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAUnE,OAAO,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAGjE,MAAM,OAAO,0BAA0B;IACnC,OAAO,CAAsD;IAC7D,WAAW,CAAiC;IAE5C,YACI,MAA2D,EAC3D,OAA8B;QAE9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,8BAA8B,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAmB;QAC3B,MAAM,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,aAAa,CACf,OAAwD;QAExD,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY;QACzB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,OAAsD;QACpE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CACd,OAAuD;QAEvD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,IAAI,EAAE,CAAC;YACP,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAA6B;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,IAAI,EAAE,CAAC;YACP,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAA4B;QACjD,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,uBAAuB;QACzB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,uBAAuB,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,kBAAkB;QACpB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,yBAAyB;QAC3B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,yBAAyB,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,YAAY;QACd,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,WAAW;QACP,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,KAAK;QACP,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;CACJ"}
1
+ {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/control/writer.ts"],"names":[],"mappings":"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"}
package/esm/index.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  export * from "./codec/index.js";
2
2
  export * from "./control/index.js";
3
- export * from "./device-message/index.js";
4
3
  export * from "./options/index.js";
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
package/esm/index.js CHANGED
@@ -1,5 +1,4 @@
1
1
  export * from "./codec/index.js";
2
2
  export * from "./control/index.js";
3
- export * from "./device-message/index.js";
4
3
  export * from "./options/index.js";
5
4
  //# sourceMappingURL=index.js.map
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { NumberFieldVariant } from "@yume-chan/struct";
2
+ import { NumberFieldDefinition } from "@yume-chan/struct";
3
+ export declare function clamp(value: number, min: number, max: number): number;
4
+ export declare const ScrcpyUnsignedFloatNumberVariant: NumberFieldVariant;
5
+ export declare const ScrcpyUnsignedFloatFieldDefinition: NumberFieldDefinition<NumberFieldVariant, number>;
6
+ //# sourceMappingURL=float.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"float.d.ts","sourceRoot":"","sources":["../../../src/options/1_16/float.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAUrE;AAED,eAAO,MAAM,gCAAgC,EAAE,kBAc9C,CAAC;AAEF,eAAO,MAAM,kCAAkC,mDAE9C,CAAC"}
@@ -1,4 +1,5 @@
1
- import { NumberFieldDefinition, NumberFieldType } from "@yume-chan/struct";
1
+ import { getUint16 } from "@yume-chan/no-data-view";
2
+ import { NumberFieldDefinition } from "@yume-chan/struct";
2
3
  export function clamp(value, min, max) {
3
4
  if (value < min) {
4
5
  return min;
@@ -8,11 +9,11 @@ export function clamp(value, min, max) {
8
9
  }
9
10
  return value;
10
11
  }
11
- export const ScrcpyFloatToUint16NumberType = {
12
+ export const ScrcpyUnsignedFloatNumberVariant = {
12
13
  size: 2,
13
14
  signed: false,
14
15
  deserialize(array, littleEndian) {
15
- const value = NumberFieldType.Uint16.deserialize(array, littleEndian);
16
+ const value = getUint16(array, 0, littleEndian);
16
17
  // https://github.com/Genymobile/scrcpy/blob/1f138aef41de651668043b32c4effc2d4adbfc44/server/src/main/java/com/genymobile/scrcpy/Binary.java#L22
17
18
  return value === 0xffff ? 1 : value / 0x10000;
18
19
  },
@@ -20,8 +21,8 @@ export const ScrcpyFloatToUint16NumberType = {
20
21
  // https://github.com/Genymobile/scrcpy/blob/1f138aef41de651668043b32c4effc2d4adbfc44/app/src/util/binary.h#L51
21
22
  value = clamp(value, -1, 1);
22
23
  value = value === 1 ? 0xffff : value * 0x10000;
23
- NumberFieldType.Uint16.serialize(dataView, offset, value, littleEndian);
24
+ dataView.setUint16(offset, value, littleEndian);
24
25
  },
25
26
  };
26
- export const ScrcpyFloatToUint16FieldDefinition = new NumberFieldDefinition(ScrcpyFloatToUint16NumberType);
27
- //# sourceMappingURL=float-to-uint16.js.map
27
+ export const ScrcpyUnsignedFloatFieldDefinition = new NumberFieldDefinition(ScrcpyUnsignedFloatNumberVariant);
28
+ //# sourceMappingURL=float.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"float.js","sourceRoot":"","sources":["../../../src/options/1_16/float.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,UAAU,KAAK,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IACzD,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;QACd,OAAO,GAAG,CAAC;IACf,CAAC;IAED,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;QACd,OAAO,GAAG,CAAC;IACf,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,MAAM,gCAAgC,GAAuB;IAChE,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,KAAK;IACb,WAAW,CAAC,KAAK,EAAE,YAAY;QAC3B,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;QAChD,gJAAgJ;QAChJ,OAAO,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC;IAClD,CAAC;IACD,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY;QAC3C,+GAA+G;QAC/G,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC;QAC/C,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IACpD,CAAC;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,kCAAkC,GAAG,IAAI,qBAAqB,CACvE,gCAAgC,CACnC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export * from "./codec-options.js";
2
- export * from "./float-to-uint16.js";
2
+ export * from "./float.js";
3
3
  export * from "./init.js";
4
4
  export * from "./message.js";
5
5
  export * from "./options.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/options/1_16/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/options/1_16/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export * from "./codec-options.js";
2
- export * from "./float-to-uint16.js";
2
+ export * from "./float.js";
3
3
  export * from "./init.js";
4
4
  export * from "./message.js";
5
5
  export * from "./options.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/options/1_16/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/options/1_16/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
@@ -29,4 +29,8 @@ export declare const ScrcpySetClipboardControlMessage1_15: Struct<{
29
29
  content: string;
30
30
  }, "length", Record<never, never>, undefined>;
31
31
  export type ScrcpySetClipboardControlMessage1_15 = (typeof ScrcpySetClipboardControlMessage1_15)["TInit"];
32
+ export declare const ScrcpyClipboardDeviceMessage: Struct<{
33
+ length: number;
34
+ content: string;
35
+ }, "length", Record<never, never>, undefined>;
32
36
  //# sourceMappingURL=message.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../src/options/1_16/message.ts"],"names":[],"mappings":"AAAA,OAAO,MAAuB,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAEH,wBAAwB,EAC3B,MAAM,wBAAwB,CAAC;AAIhC,eAAO,MAAM,iCAAiC,EAAE,SAAS,wBAAwB,EAa5E,CAAC;AAEN,eAAO,MAAM,0BAA0B;;;;2CAGS,CAAC;AAEjD,eAAO,MAAM,+BAA+B,QAAY,CAAC;AAEzD,eAAO,MAAM,mCAAmC;;;;;;;;;;0CAS1B,CAAC;AAEvB,MAAM,MAAM,mCAAmC,GAC3C,CAAC,OAAO,mCAAmC,CAAC,CAAC,OAAO,CAAC,CAAC;AAE1D,eAAO,MAAM,sCAAsC;;0CAAsB,CAAC;AAE1E,eAAO,MAAM,oCAAoC;;;;6CAGA,CAAC;AAElD,MAAM,MAAM,oCAAoC,GAC5C,CAAC,OAAO,oCAAoC,CAAC,CAAC,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../src/options/1_16/message.ts"],"names":[],"mappings":"AAAA,OAAO,MAAuB,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAEH,wBAAwB,EAC3B,MAAM,wBAAwB,CAAC;AAIhC,eAAO,MAAM,iCAAiC,EAAE,SAAS,wBAAwB,EAa5E,CAAC;AAEN,eAAO,MAAM,0BAA0B;;;;2CAGS,CAAC;AAEjD,eAAO,MAAM,+BAA+B,QAAY,CAAC;AAEzD,eAAO,MAAM,mCAAmC;;;;;;;;;;0CAS1B,CAAC;AAEvB,MAAM,MAAM,mCAAmC,GAC3C,CAAC,OAAO,mCAAmC,CAAC,CAAC,OAAO,CAAC,CAAC;AAE1D,eAAO,MAAM,sCAAsC;;0CAAsB,CAAC;AAE1E,eAAO,MAAM,oCAAoC;;;;6CAGA,CAAC;AAElD,MAAM,MAAM,oCAAoC,GAC5C,CAAC,OAAO,oCAAoC,CAAC,CAAC,OAAO,CAAC,CAAC;AAE3D,eAAO,MAAM,4BAA4B;;;6CAEQ,CAAC"}