yjx-sdk-mouse 0.1.10 → 0.1.13

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.
@@ -3,7 +3,12 @@ import type { ButtonMapping, KeyPreset, MouseButtonSlot, MouseKeyMapping } from
3
3
  export declare class ButtonController {
4
4
  private readonly device;
5
5
  constructor(device: DeviceLayer);
6
+ private get isM3();
7
+ private parseReadback;
8
+ private readConfigArea;
9
+ private tryReadWriteArea;
6
10
  private readAllKeys;
11
+ private buttonMappingsEqual;
7
12
  get(): Promise<ButtonMapping>;
8
13
  set(mapping: ButtonMapping): Promise<ButtonMapping>;
9
14
  setSlot(slot: MouseButtonSlot, preset: KeyPreset): Promise<ButtonMapping>;
@@ -1 +1 @@
1
- {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../src/controllers/button.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9F,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;YAElC,WAAW;IAYnB,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;IAK7B,GAAG,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAOnD,OAAO,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;IAMzE,QAAQ,IAAI,OAAO,CAAC,aAAa,CAAC;IAKlC,SAAS,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC;IAM9D,WAAW,CAAC,GAAG,EAAE,eAAe,EAAE,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GAAG,MAAM;IAIpG,UAAU,IAAI,SAAS,EAAE;IAIzB,WAAW,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM;CAG1C"}
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../src/controllers/button.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAa9F,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;IAEhD,OAAO,KAAK,IAAI,GAGf;IAED,OAAO,CAAC,aAAa;YAQP,cAAc;YAKd,gBAAgB;YAchB,WAAW;IAQzB,OAAO,CAAC,mBAAmB;IAWrB,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;IAI7B,GAAG,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IA4BnD,OAAO,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;IAMzE,QAAQ,IAAI,OAAO,CAAC,aAAa,CAAC;IAKlC,SAAS,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC;IAM9D,WAAW,CAAC,GAAG,EAAE,eAAe,EAAE,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GAAG,MAAM;IAIpG,UAAU,IAAI,SAAS,EAAE;IAIzB,WAAW,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM;CAG1C"}
@@ -1,30 +1,76 @@
1
- import { createDefaultButtonMapping, findPresetId, formatKeyLabel, keysForWritePacket, keysToMapping, mergeExtendedKeySlots, parseKeysResponse, presetToKey, readKeysPacket, readWriteKeysPacket, writeKeysPacket, KEY_PRESETS, } from '../protocol/key.js';
1
+ import { BUTTON_SLOT_INDEX, BUTTON_SLOTS, createDefaultButtonMapping, findPresetId, formatKeyLabel, isM3Device, isValidKeyArea, keyAreasEqual, keysForWritePacket, keysToMapping, parseKeysResponse, presetToKey, readKeysPacket, readWriteKeysPacket, selectM3KeyReadback, writeKeysPacket, KEY_PRESETS, } from '../protocol/key.js';
2
+ const M3_WRITE_AREA_READ_TIMEOUT = 800;
3
+ const WRITE_READBACK_DELAYS = [40, 160];
4
+ const PRIMARY_BUTTON_INDICES = BUTTON_SLOTS.slice(0, 5).map((slot) => BUTTON_SLOT_INDEX[slot]);
5
+ const ALL_BUTTON_INDICES = BUTTON_SLOTS.map((slot) => BUTTON_SLOT_INDEX[slot]);
6
+ function delay(milliseconds) {
7
+ return new Promise((resolve) => setTimeout(resolve, milliseconds));
8
+ }
2
9
  export class ButtonController {
3
10
  device;
4
11
  constructor(device) {
5
12
  this.device = device;
6
13
  }
7
- async readAllKeys() {
14
+ get isM3() {
15
+ const current = this.device.currentDevice;
16
+ return isM3Device(current?.productName, current?.productId);
17
+ }
18
+ parseReadback(response, source) {
19
+ const keys = parseKeysResponse(response);
20
+ if (!isValidKeyArea(keys)) {
21
+ throw new Error(`${source}返回的按键数据不完整或格式无效`);
22
+ }
23
+ return keys;
24
+ }
25
+ async readConfigArea() {
8
26
  const response = await this.device.sendAndWait(readKeysPacket());
9
- let keys = parseKeysResponse(response);
27
+ return this.parseReadback(response, '配置区');
28
+ }
29
+ async tryReadWriteArea() {
10
30
  try {
11
- const writeResponse = await this.device.sendAndWait(readWriteKeysPacket());
12
- keys = mergeExtendedKeySlots(keys, parseKeysResponse(writeResponse));
31
+ const response = await this.device.sendAndWait(readWriteKeysPacket(), M3_WRITE_AREA_READ_TIMEOUT);
32
+ const keys = parseKeysResponse(response);
33
+ return isValidKeyArea(keys) ? keys : [];
13
34
  }
14
35
  catch {
15
- // 部分旧固件可能不支持从写区回读,保留配置区读数
36
+ // 并非所有固件都允许读取 0x22A5;标准配置区仍可作为兼容回退。
37
+ return [];
16
38
  }
17
- return keys;
39
+ }
40
+ async readAllKeys(expectedKeys = []) {
41
+ const configAreaKeys = await this.readConfigArea();
42
+ if (!this.isM3)
43
+ return configAreaKeys;
44
+ const writeAreaKeys = await this.tryReadWriteArea();
45
+ return selectM3KeyReadback(configAreaKeys, writeAreaKeys, expectedKeys);
46
+ }
47
+ buttonMappingsEqual(actual, expected) {
48
+ return keyAreasEqual(actual, expected, this.isM3 ? ALL_BUTTON_INDICES : PRIMARY_BUTTON_INDICES);
18
49
  }
19
50
  async get() {
20
- const keys = await this.readAllKeys();
21
- return keysToMapping(keys);
51
+ return keysToMapping(await this.readAllKeys());
22
52
  }
23
53
  async set(mapping) {
24
54
  const previous = await this.readAllKeys();
25
55
  const keys = keysForWritePacket(mapping, previous);
26
- await this.device.sendWriteAndWait(writeKeysPacket(keys));
27
- return this.get();
56
+ const response = await this.device.sendWriteAndWait(writeKeysPacket(keys, this.isM3));
57
+ const echoedKeys = parseKeysResponse(response);
58
+ // 0x09 正常回包会回显写入内容。若设备明确回了另一组按键,不能让页面假装成功。
59
+ if (isValidKeyArea(echoedKeys)) {
60
+ const echoedIndices = (this.isM3 ? ALL_BUTTON_INDICES : PRIMARY_BUTTON_INDICES).filter((index) => echoedKeys.some((key) => key.index === index));
61
+ if (echoedIndices.length > 0 && !keyAreasEqual(echoedKeys, keys, echoedIndices)) {
62
+ throw new Error('设备返回的按键写入结果与请求不一致');
63
+ }
64
+ }
65
+ // 写回包只是接收确认;继续从设备读取,确认映射确实已落盘并生效。
66
+ for (const wait of WRITE_READBACK_DELAYS) {
67
+ await delay(wait);
68
+ const readback = await this.readAllKeys(keys);
69
+ if (this.buttonMappingsEqual(readback, keys)) {
70
+ return keysToMapping(readback);
71
+ }
72
+ }
73
+ throw new Error('按键写入后设备回读不一致,请重试或重新连接鼠标');
28
74
  }
29
75
  async setSlot(slot, preset) {
30
76
  const current = await this.get();
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/controllers/button.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAI5B,MAAM,OAAO,gBAAgB;IACE;IAA7B,YAA6B,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;IAAG,CAAC;IAE5C,KAAK,CAAC,WAAW;QACvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC;QACjE,IAAI,IAAI,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC,CAAC;YAC3E,IAAI,GAAG,qBAAqB,CAAC,IAAI,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC;QACvE,CAAC;QAAC,MAAM,CAAC;YACP,0BAA0B;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACtC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,OAAsB;QAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACnD,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAqB,EAAE,MAAiB;QACpD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,QAAQ,GAAG,0BAA0B,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAqB;QACnC,MAAM,QAAQ,GAAG,0BAA0B,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,WAAW,CAAC,GAAoB,EAAE,YAAyD;QACzF,OAAO,cAAc,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC3C,CAAC;IAED,UAAU;QACR,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,WAAW,CAAC,GAAoB;QAC9B,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;CACF"}
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/controllers/button.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -9,7 +9,7 @@ import type { EventHandler, MouseDeviceInfo, BatteryStatus, DeviceInfoPayload, M
9
9
  export * from './constants.js';
10
10
  export * from './types.js';
11
11
  export { toHex } from './protocol/packet.js';
12
- export { KEY_PRESETS, KEYBOARD_PRESETS, KEYBOARD_PRESET_IDS, COMMAND_PRESETS, COMMAND_PRESET_IDS, COMMAND_PRESET_GROUPS, BUTTON_SLOTS, BUTTON_SLOT_LABEL, BUTTON_SLOT_INDEX, createDefaultButtonMapping, formatKeyLabel, } from './protocol/key.js';
12
+ export { KEY_PRESETS, KEYBOARD_PRESETS, KEYBOARD_PRESET_IDS, COMMAND_PRESETS, COMMAND_PRESET_IDS, COMMAND_PRESET_GROUPS, BUTTON_SLOTS, BUTTON_SLOT_LABEL, BUTTON_SLOT_INDEX, M3_PRODUCT_IDS, isM3Device, isLegacyNonM3KeyTail, createDefaultButtonMapping, formatKeyLabel, } from './protocol/key.js';
13
13
  export { MAX_MACROS, MACRO_POINTER_AREA_SIZE, MACRO_HEADER_SIZE, MACRO_CHUNK_SIZE, MACRO_PROFILE_SIZE, MACRO_TOTAL_SIZE, encodeMacroActions, buildMacroData, buildMacroWritePackets, createMacroCommitPacket, macroAssignmentToKey, } from './protocol/macro.js';
14
14
  export type { CommandPresetGroup } from './protocol/command-presets.js';
15
15
  export default class Mouse {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -11,7 +11,7 @@ import { OtherController } from './controllers/other.js';
11
11
  export * from './constants.js';
12
12
  export * from './types.js';
13
13
  export { toHex } from './protocol/packet.js';
14
- export { KEY_PRESETS, KEYBOARD_PRESETS, KEYBOARD_PRESET_IDS, COMMAND_PRESETS, COMMAND_PRESET_IDS, COMMAND_PRESET_GROUPS, BUTTON_SLOTS, BUTTON_SLOT_LABEL, BUTTON_SLOT_INDEX, createDefaultButtonMapping, formatKeyLabel, } from './protocol/key.js';
14
+ export { KEY_PRESETS, KEYBOARD_PRESETS, KEYBOARD_PRESET_IDS, COMMAND_PRESETS, COMMAND_PRESET_IDS, COMMAND_PRESET_GROUPS, BUTTON_SLOTS, BUTTON_SLOT_LABEL, BUTTON_SLOT_INDEX, M3_PRODUCT_IDS, isM3Device, isLegacyNonM3KeyTail, createDefaultButtonMapping, formatKeyLabel, } from './protocol/key.js';
15
15
  export { MAX_MACROS, MACRO_POINTER_AREA_SIZE, MACRO_HEADER_SIZE, MACRO_CHUNK_SIZE, MACRO_PROFILE_SIZE, MACRO_TOTAL_SIZE, encodeMacroActions, buildMacroData, buildMacroWritePackets, createMacroCommitPacket, macroAssignmentToKey, } from './protocol/macro.js';
16
16
  export default class Mouse {
17
17
  deviceLayer;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,34 +1,49 @@
1
1
  import type { ButtonMapping, KeyPreset, MouseButtonSlot, MouseKeyMapping } from '../types.js';
2
2
  export { KEYBOARD_PRESETS, KEYBOARD_PRESET_IDS } from './keyboard-presets.js';
3
3
  export { COMMAND_PRESETS, COMMAND_PRESET_IDS, COMMAND_PRESET_GROUPS, type CommandPresetGroup, } from './command-presets.js';
4
- /** 原厂 resetAllMouseKeys 默认按键区(packet[8..43],共 9 槽) */
4
+ /** 非 AJ139 旧协议的默认按键区(packet[8..43],共 9 槽) */
5
+ export declare const LEGACY_DEFAULT_KEY_AREA: number[];
5
6
  export declare const DEFAULT_KEY_AREA: number[];
6
- /** 设备按键区槽位数(含 DPI 槽,UI 映射不含 DPI) */
7
+ /** 设备按键区槽位数(包含未向 UI 暴露的 DPI 槽) */
7
8
  export declare const KEY_SLOT_COUNT = 9;
8
9
  /** DPI 键在 9 槽协议中的 index(不在 BUTTON_SLOTS 中暴露) */
9
10
  export declare const DPI_SLOT_INDEX = 5;
11
+ /** 已知带附加键和左右滚轮槽位的 AJ139 / M3 机型 PID */
12
+ export declare const M3_PRODUCT_IDS: readonly [8723, 8724];
10
13
  export declare const BUTTON_SLOTS: MouseButtonSlot[];
11
14
  export declare const BUTTON_SLOT_INDEX: Record<MouseButtonSlot, number>;
12
15
  export declare const BUTTON_SLOT_LABEL: Record<MouseButtonSlot, string>;
13
16
  /** 常用按键功能预设(与原厂 AJ159 V2 SE 驱动 keys.json 一致) */
14
17
  export declare const KEY_PRESETS: KeyPreset[];
15
18
  export declare function createReadKeysPacket(address: number, offset: number): Uint8Array;
16
- /** 从配置区读取按键(槽位 0-5 可靠;6-8 在 M3/AJ139 上可能是旧模板) */
19
+ /** 从配置区读取完整的 9 槽按键数据。 */
17
20
  export declare function readKeysPacket(): Uint8Array;
18
- /** 从按键写区读取完整 9 槽(与 0x09 写入地址一致) */
21
+ /** 从按键写区读取完整 9 槽(与 0x09 写入地址一致)。 */
19
22
  export declare function readWriteKeysPacket(): Uint8Array;
20
- export declare function writeKeysPacket(keys: MouseKeyMapping[]): Uint8Array;
23
+ export declare function isM3Device(productName?: string, productId?: number): boolean;
24
+ /** 配置区尾部残留的旧 6 键模板:滚轮上下 + 空槽。 */
25
+ export declare function isLegacyNonM3KeyTail(keys: MouseKeyMapping[]): boolean;
26
+ export declare function writeKeysPacket(keys: MouseKeyMapping[], extendedSlots?: boolean): Uint8Array;
21
27
  export declare function parseKeysResponse(data: Uint8Array): MouseKeyMapping[];
22
28
  export declare function formatKeyLabel(key: MouseKeyMapping, getMacroName?: (macroIndex: number) => string | undefined): string;
23
29
  export declare function keysToMapping(keys: MouseKeyMapping[]): ButtonMapping;
24
30
  export declare function mappingToKeys(mapping: ButtonMapping): MouseKeyMapping[];
31
+ export declare function isValidKeyArea(keys: MouseKeyMapping[]): boolean;
32
+ export declare function keyAreasEqual(left: MouseKeyMapping[], right: MouseKeyMapping[], indices?: readonly number[]): boolean;
25
33
  /**
26
- * M3 / AJ139:配置区 0x0ba5+0x2c 尾部 index 6/7/8 常残留旧版 scroll-up/down 模板,
27
- * 与 0x09 写入区不同步。用写区读数覆盖扩展槽位。
34
+ * 某些扩展按键机型的配置区 index 6/7/8 可能与写区不同步。
35
+ * 仅当写区读到有效数据时覆盖;绝不强行替换为默认值。
28
36
  */
29
37
  export declare function mergeExtendedKeySlots(baseKeys: MouseKeyMapping[], writeAreaKeys: MouseKeyMapping[]): MouseKeyMapping[];
30
- /** 写入时保留设备当前 DPI 槽,并覆盖全部 9 槽。 */
31
- export declare function keysForWritePacket(mapping: ButtonMapping, previousKeys: MouseKeyMapping[]): MouseKeyMapping[];
38
+ /**
39
+ * AJ139 的 0x0BA5 配置区在部分固件上会长期保留默认值,而 0x22A5 写区才是当前映射。
40
+ * 优先采用与本次期望值一致的区域;无期望值时,仅在“配置区为默认、写区为自定义”时
41
+ * 整体采用写区,避免把原厂驱动写入的前五个按键误判回默认值。
42
+ */
43
+ export declare function selectM3KeyReadback(configAreaKeys: MouseKeyMapping[], writeAreaKeys: MouseKeyMapping[], expectedKeys?: MouseKeyMapping[]): MouseKeyMapping[];
44
+ export declare function applyExtendedSlotCache(keys: MouseKeyMapping[], cache: ReadonlyMap<number, MouseKeyMapping>): MouseKeyMapping[];
45
+ /** 写入时保留设备当前 DPI 槽;其余 8 个映射槽以 mapping 为准。 */
46
+ export declare function keysForWritePacket(mapping: ButtonMapping, previousKeys?: MouseKeyMapping[]): MouseKeyMapping[];
32
47
  export declare function presetToKey(preset: KeyPreset, index: number): MouseKeyMapping;
33
48
  export declare function findPresetId(key: MouseKeyMapping): string;
34
49
  export declare function createDefaultButtonMapping(): ButtonMapping;
@@ -1 +1 @@
1
- {"version":3,"file":"key.d.ts","sourceRoot":"","sources":["../../src/protocol/key.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9F,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,KAAK,kBAAkB,GACxB,MAAM,sBAAsB,CAAC;AAE9B,sDAAsD;AACtD,eAAO,MAAM,gBAAgB,EAAE,MAAM,EAUpC,CAAC;AAEF,oCAAoC;AACpC,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,gDAAgD;AAChD,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,eAAO,MAAM,YAAY,EAAE,eAAe,EASzC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAS7D,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAS7D,CAAC;AAEF,gDAAgD;AAChD,eAAO,MAAM,WAAW,EAAE,SAAS,EAkClC,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAWhF;AAED,iDAAiD;AACjD,wBAAgB,cAAc,IAAI,UAAU,CAE3C;AAED,mCAAmC;AACnC,wBAAgB,mBAAmB,IAAI,UAAU,CAEhD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,UAAU,CAoBnE;AAOD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,EAAE,CAuBrE;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,eAAe,EACpB,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GACxD,MAAM,CAkBR;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,aAAa,CAgBpE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,eAAe,EAAE,CAKvE;AAWD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,eAAe,EAAE,EAC3B,aAAa,EAAE,eAAe,EAAE,GAC/B,eAAe,EAAE,CAUnB;AAED,iCAAiC;AACjC,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,aAAa,EACtB,YAAY,EAAE,eAAe,EAAE,GAC9B,eAAe,EAAE,CAgBnB;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,eAAe,CAQ7E;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAazD;AAED,wBAAgB,0BAA0B,IAAI,aAAa,CAM1D"}
1
+ {"version":3,"file":"key.d.ts","sourceRoot":"","sources":["../../src/protocol/key.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9F,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,KAAK,kBAAkB,GACxB,MAAM,sBAAsB,CAAC;AAE9B,6CAA6C;AAC7C,eAAO,MAAM,uBAAuB,EAAE,MAAM,EAU3C,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,EAUpC,CAAC;AAEF,kCAAkC;AAClC,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,gDAAgD;AAChD,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,uCAAuC;AACvC,eAAO,MAAM,cAAc,uBAA4B,CAAC;AAMxD,eAAO,MAAM,YAAY,EAAE,eAAe,EASzC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAS7D,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAS7D,CAAC;AAEF,gDAAgD;AAChD,eAAO,MAAM,WAAW,EAAE,SAAS,EAkClC,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAWhF;AAED,yBAAyB;AACzB,wBAAgB,cAAc,IAAI,UAAU,CAE3C;AAED,oCAAoC;AACpC,wBAAgB,mBAAmB,IAAI,UAAU,CAEhD;AAED,wBAAgB,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAM5E;AAcD,iCAAiC;AACjC,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,OAAO,CAYrE;AAQD,wBAAgB,eAAe,CAC7B,IAAI,EAAE,eAAe,EAAE,EACvB,aAAa,UAAQ,GACpB,UAAU,CAqBZ;AAMD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,EAAE,CAyBrE;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,eAAe,EACpB,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GACxD,MAAM,CAgBR;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,aAAa,CAgBpE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,eAAe,EAAE,CAKvE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,OAAO,CAG/D;AAgBD,wBAAgB,aAAa,CAC3B,IAAI,EAAE,eAAe,EAAE,EACvB,KAAK,EAAE,eAAe,EAAE,EACxB,OAAO,GAAE,SAAS,MAAM,EAAgE,GACvF,OAAO,CAIT;AAcD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,eAAe,EAAE,EAC3B,aAAa,EAAE,eAAe,EAAE,GAC/B,eAAe,EAAE,CAWnB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,eAAe,EAAE,EACjC,aAAa,EAAE,eAAe,EAAE,EAChC,YAAY,GAAE,eAAe,EAAO,GACnC,eAAe,EAAE,CAqBnB;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,eAAe,EAAE,EACvB,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,GAC1C,eAAe,EAAE,CAGnB;AAED,6CAA6C;AAC7C,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,aAAa,EACtB,YAAY,GAAE,eAAe,EAAO,GACnC,eAAe,EAAE,CAYnB;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,eAAe,CAQ7E;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAUzD;AAED,wBAAgB,0BAA0B,IAAI,aAAa,CAM1D"}
@@ -4,22 +4,38 @@ import { KEYBOARD_PRESETS } from './keyboard-presets.js';
4
4
  import { COMMAND_PRESETS } from './command-presets.js';
5
5
  export { KEYBOARD_PRESETS, KEYBOARD_PRESET_IDS } from './keyboard-presets.js';
6
6
  export { COMMAND_PRESETS, COMMAND_PRESET_IDS, COMMAND_PRESET_GROUPS, } from './command-presets.js';
7
- /** 原厂 resetAllMouseKeys 默认按键区(packet[8..43],共 9 槽) */
7
+ /** 非 AJ139 旧协议的默认按键区(packet[8..43],共 9 槽) */
8
+ export const LEGACY_DEFAULT_KEY_AREA = [
9
+ 0x20, 0x01, 0x00, 0x00,
10
+ 0x20, 0x02, 0x00, 0x00,
11
+ 0x20, 0x04, 0x00, 0x00,
12
+ 0x20, 0x08, 0x00, 0x00,
13
+ 0x20, 0x10, 0x00, 0x00,
14
+ 0x21, 0x55, 0x00, 0x00,
15
+ 0x21, 0x38, 0x01, 0x00,
16
+ 0x21, 0x38, 0xff, 0x00,
17
+ 0x21, 0xaa, 0x00, 0x00,
18
+ ];
8
19
  export const DEFAULT_KEY_AREA = [
9
- 0x20, 0x01, 0x00, 0x00, // 左键
10
- 0x20, 0x02, 0x00, 0x00, // 右键
11
- 0x20, 0x04, 0x00, 0x00, // 中键
12
- 0x20, 0x08, 0x00, 0x00, // 后退
13
- 0x20, 0x10, 0x00, 0x00, // 前进
14
- 0x21, 0x55, 0x00, 0x00, // DPI 切换
15
- 0x20, 0x00, 0x00, 0x00, // 附加键(M3 默认禁用)
16
- 0x21, 0xf8, 0xff, 0x00, // 左滚
17
- 0x21, 0xf8, 0x01, 0x00, // 右滚
20
+ 0x20, 0x01, 0x00, 0x00, // index 0: 左键
21
+ 0x20, 0x02, 0x00, 0x00, // index 1: 右键
22
+ 0x20, 0x04, 0x00, 0x00, // index 2: 中键
23
+ 0x20, 0x08, 0x00, 0x00, // index 3: 后退
24
+ 0x20, 0x10, 0x00, 0x00, // index 4: 前进
25
+ 0x21, 0x55, 0x00, 0x00, // index 5: DPI 切换
26
+ 0x20, 0x00, 0x00, 0x00, // index 6: 附加键(默认禁用)
27
+ 0x21, 0xf8, 0xff, 0x00, // index 7: 左滚
28
+ 0x21, 0xf8, 0x01, 0x00, // index 8: 右滚
18
29
  ];
19
- /** 设备按键区槽位数(含 DPI 槽,UI 映射不含 DPI) */
30
+ /** 设备按键区槽位数(包含未向 UI 暴露的 DPI 槽) */
20
31
  export const KEY_SLOT_COUNT = 9;
21
32
  /** DPI 键在 9 槽协议中的 index(不在 BUTTON_SLOTS 中暴露) */
22
33
  export const DPI_SLOT_INDEX = 5;
34
+ /** 已知带附加键和左右滚轮槽位的 AJ139 / M3 机型 PID */
35
+ export const M3_PRODUCT_IDS = [0x2213, 0x2214];
36
+ const EXTENDED_SLOT_INDICES = [6, 7, 8];
37
+ const PRIMARY_BUTTON_SLOT_COUNT = 5;
38
+ const VALID_KEY_TYPES = new Set([0x10, 0x20, 0x21, 0x30, 0x70]);
23
39
  export const BUTTON_SLOTS = [
24
40
  'left',
25
41
  'right',
@@ -62,7 +78,7 @@ export const KEY_PRESETS = [
62
78
  { id: 'scroll-left', label: '向左滚动', type: 0x21, code1: 0xf8, code2: 0xff, code3: 0 },
63
79
  { id: 'scroll-right', label: '向右滚动', type: 0x21, code1: 0xf8, code2: 0x01, code3: 0 },
64
80
  { id: 'dpi', label: 'DPI 切换', type: 0x21, code1: 0x55, code2: 0, code3: 0 },
65
- { id: 'disable', label: '禁用', type: 0x20, code1: 0, code2: 0, code3: 0 },
81
+ { id: 'disable', label: '禁用', type: 0x20, code1: 0x00, code2: 0, code3: 0 },
66
82
  { id: 'play-pause', label: '播放/暂停', type: 0x30, code1: 0xcd, code2: 0, code3: 0 },
67
83
  { id: 'mute', label: '静音', type: 0x30, code1: 0xe2, code2: 0, code3: 0 },
68
84
  { id: 'stop', label: '停止播放', type: 0x30, code1: 0xb7, code2: 0, code3: 0 },
@@ -98,18 +114,55 @@ export function createReadKeysPacket(address, offset) {
98
114
  0x00,
99
115
  ]);
100
116
  }
101
- /** 从配置区读取按键(槽位 0-5 可靠;6-8 在 M3/AJ139 上可能是旧模板) */
117
+ /** 从配置区读取完整的 9 槽按键数据。 */
102
118
  export function readKeysPacket() {
103
119
  return createReadKeysPacket(READ_ADDRESS, 0x2c);
104
120
  }
105
- /** 从按键写区读取完整 9 槽(与 0x09 写入地址一致) */
121
+ /** 从按键写区读取完整 9 槽(与 0x09 写入地址一致)。 */
106
122
  export function readWriteKeysPacket() {
107
123
  return createReadKeysPacket(KEY_WRITE_ADDRESS, KEY_WRITE_OFFSET);
108
124
  }
109
- export function writeKeysPacket(keys) {
110
- const area = [...DEFAULT_KEY_AREA];
125
+ export function isM3Device(productName, productId) {
126
+ if (productId != null && M3_PRODUCT_IDS.includes(productId)) {
127
+ return true;
128
+ }
129
+ const name = productName?.trim().toUpperCase() ?? '';
130
+ return name.includes('AJ139') || /(^|\W)M3($|\W)/.test(name);
131
+ }
132
+ function isScrollUpKey(key) {
133
+ return !!key && key.type === 0x21 && key.code1 === 0x38 && key.code2 === 0x01;
134
+ }
135
+ function isScrollDownKey(key) {
136
+ return !!key && key.type === 0x21 && key.code1 === 0x38 && key.code2 === 0xff;
137
+ }
138
+ function isInvalidKeySlot(key) {
139
+ return !key || key.type === 0 || key.type === 0xff;
140
+ }
141
+ /** 配置区尾部残留的旧 6 键模板:滚轮上下 + 空槽。 */
142
+ export function isLegacyNonM3KeyTail(keys) {
143
+ if (keys.length < KEY_SLOT_COUNT)
144
+ return false;
145
+ const byIndex = new Map(keys.map((key) => [key.index, key]));
146
+ const extra = byIndex.get(6);
147
+ const scrollLeft = byIndex.get(7);
148
+ const scrollRight = byIndex.get(8);
149
+ return (isScrollUpKey(extra) &&
150
+ isScrollDownKey(scrollLeft) &&
151
+ (isInvalidKeySlot(scrollRight) ||
152
+ (scrollRight?.type === 0x21 && scrollRight.code1 === 0xaa)));
153
+ }
154
+ function isUsableExtendedSlot(key) {
155
+ if (!key || isInvalidKeySlot(key))
156
+ return false;
157
+ if (isScrollUpKey(key) || isScrollDownKey(key))
158
+ return false;
159
+ return !(key.type === 0x21 && key.code1 === 0xaa);
160
+ }
161
+ export function writeKeysPacket(keys, extendedSlots = false) {
162
+ const area = [...(extendedSlots ? DEFAULT_KEY_AREA : LEGACY_DEFAULT_KEY_AREA)];
163
+ const writableSlotCount = extendedSlots ? KEY_SLOT_COUNT : DPI_SLOT_INDEX + 1;
111
164
  for (const key of keys) {
112
- if (key.index < 0 || key.index >= KEY_SLOT_COUNT)
165
+ if (!Number.isInteger(key.index) || key.index < 0 || key.index >= writableSlotCount)
113
166
  continue;
114
167
  const offset = key.index * 4;
115
168
  area[offset] = key.type;
@@ -128,20 +181,22 @@ export function writeKeysPacket(keys) {
128
181
  ]);
129
182
  }
130
183
  function looksLikeKeyPayload(keyData) {
131
- const type = keyData[0] ?? 0;
132
- return type === 0x20 || type === 0x21 || type === 0x10 || type === 0x30 || type === 0x70;
184
+ return VALID_KEY_TYPES.has(keyData[0] ?? 0);
133
185
  }
134
186
  export function parseKeysResponse(data) {
135
187
  const view = normalizeInputReport(0, data);
136
188
  const keyData = view.slice(7);
137
- if (keyData.length < KEY_SLOT_COUNT * 4) {
189
+ // 部分 WebHID 实现只暴露协议声明的有效长度,而不是补齐后的 63 字节。
190
+ // 前 6 槽(含 DPI)完整即可使用,缺失的扩展槽由上层按机型补齐。
191
+ const availableSlots = Math.min(KEY_SLOT_COUNT, Math.floor(keyData.length / 4));
192
+ if (availableSlots < DPI_SLOT_INDEX + 1) {
138
193
  return [];
139
194
  }
140
195
  if (view[0] !== Command.ReadShort && !looksLikeKeyPayload(keyData)) {
141
196
  return [];
142
197
  }
143
198
  const keys = [];
144
- for (let index = 0; index < KEY_SLOT_COUNT; index++) {
199
+ for (let index = 0; index < availableSlots; index++) {
145
200
  keys.push({
146
201
  index,
147
202
  type: keyData[index * 4] ?? 0,
@@ -163,9 +218,8 @@ export function formatKeyLabel(key, getMacroName) {
163
218
  item.code1 === key.code1 &&
164
219
  item.code2 === key.code2 &&
165
220
  item.code3 === key.code3);
166
- if (preset) {
221
+ if (preset)
167
222
  return preset.label;
168
- }
169
223
  return `自定义 (${key.type.toString(16)}, ${key.code1}, ${key.code2}, ${key.code3})`;
170
224
  }
171
225
  export function keysToMapping(keys) {
@@ -190,42 +244,85 @@ export function mappingToKeys(mapping) {
190
244
  index: BUTTON_SLOT_INDEX[slot],
191
245
  }));
192
246
  }
193
- function isValidPrimaryKeyArea(keys) {
194
- if (keys.length < KEY_SLOT_COUNT) {
247
+ export function isValidKeyArea(keys) {
248
+ if (keys.length < DPI_SLOT_INDEX + 1)
195
249
  return false;
196
- }
197
- return keys
198
- .slice(0, 5)
199
- .every((key) => key.type === 0x20 || key.type === 0x21 || key.type === 0x70);
250
+ return keys.slice(0, DPI_SLOT_INDEX + 1).every((key) => VALID_KEY_TYPES.has(key.type));
251
+ }
252
+ function keyValueEquals(left, right) {
253
+ return (!!left &&
254
+ !!right &&
255
+ left.type === right.type &&
256
+ left.code1 === right.code1 &&
257
+ left.code2 === right.code2 &&
258
+ left.code3 === right.code3);
259
+ }
260
+ export function keyAreasEqual(left, right, indices = Array.from({ length: KEY_SLOT_COUNT }, (_, index) => index)) {
261
+ const leftByIndex = new Map(left.map((key) => [key.index, key]));
262
+ const rightByIndex = new Map(right.map((key) => [key.index, key]));
263
+ return indices.every((index) => keyValueEquals(leftByIndex.get(index), rightByIndex.get(index)));
264
+ }
265
+ function isDefaultKeyArea(keys) {
266
+ const availableIndices = BUTTON_SLOTS.map((slot) => BUTTON_SLOT_INDEX[slot]).filter((index) => keys.some((key) => key.index === index));
267
+ if (availableIndices.length < PRIMARY_BUTTON_SLOT_COUNT)
268
+ return false;
269
+ return keyAreasEqual(keys, Array.from({ length: KEY_SLOT_COUNT }, (_, index) => keyFromDefaultArea(index)), availableIndices);
200
270
  }
201
271
  /**
202
- * M3 / AJ139:配置区 0x0ba5+0x2c 尾部 index 6/7/8 常残留旧版 scroll-up/down 模板,
203
- * 与 0x09 写入区不同步。用写区读数覆盖扩展槽位。
272
+ * 某些扩展按键机型的配置区 index 6/7/8 可能与写区不同步。
273
+ * 仅当写区读到有效数据时覆盖;绝不强行替换为默认值。
204
274
  */
205
275
  export function mergeExtendedKeySlots(baseKeys, writeAreaKeys) {
206
- if (!isValidPrimaryKeyArea(baseKeys) || writeAreaKeys.length < KEY_SLOT_COUNT) {
276
+ if (!isValidKeyArea(baseKeys) || writeAreaKeys.length < KEY_SLOT_COUNT) {
207
277
  return baseKeys;
208
278
  }
279
+ const writeByIndex = new Map(writeAreaKeys.map((key) => [key.index, key]));
209
280
  return baseKeys.map((key) => {
210
- if (key.index === 6 || key.index === 7 || key.index === 8) {
211
- return writeAreaKeys[key.index] ?? key;
212
- }
213
- return key;
281
+ if (!EXTENDED_SLOT_INDICES.includes(key.index))
282
+ return key;
283
+ const fromWrite = writeByIndex.get(key.index);
284
+ return isUsableExtendedSlot(fromWrite) ? fromWrite : key;
214
285
  });
215
286
  }
216
- /** 写入时保留设备当前 DPI 槽,并覆盖全部 9 槽。 */
217
- export function keysForWritePacket(mapping, previousKeys) {
287
+ /**
288
+ * AJ139 的 0x0BA5 配置区在部分固件上会长期保留默认值,而 0x22A5 写区才是当前映射。
289
+ * 优先采用与本次期望值一致的区域;无期望值时,仅在“配置区为默认、写区为自定义”时
290
+ * 整体采用写区,避免把原厂驱动写入的前五个按键误判回默认值。
291
+ */
292
+ export function selectM3KeyReadback(configAreaKeys, writeAreaKeys, expectedKeys = []) {
293
+ const configValid = isValidKeyArea(configAreaKeys);
294
+ const writeValid = isValidKeyArea(writeAreaKeys);
295
+ if (expectedKeys.length > 0) {
296
+ if (writeValid && keyAreasEqual(writeAreaKeys, expectedKeys))
297
+ return writeAreaKeys;
298
+ if (configValid && keyAreasEqual(configAreaKeys, expectedKeys))
299
+ return configAreaKeys;
300
+ }
301
+ if (!configValid)
302
+ return writeValid ? writeAreaKeys : configAreaKeys;
303
+ if (!writeValid)
304
+ return configAreaKeys;
305
+ if (isDefaultKeyArea(configAreaKeys) && !isDefaultKeyArea(writeAreaKeys)) {
306
+ return writeAreaKeys;
307
+ }
308
+ if (isLegacyNonM3KeyTail(configAreaKeys)) {
309
+ return mergeExtendedKeySlots(configAreaKeys, writeAreaKeys);
310
+ }
311
+ return configAreaKeys;
312
+ }
313
+ export function applyExtendedSlotCache(keys, cache) {
314
+ if (!cache.size)
315
+ return keys;
316
+ return keys.map((key) => cache.get(key.index) ?? key);
317
+ }
318
+ /** 写入时保留设备当前 DPI 槽;其余 8 个映射槽以 mapping 为准。 */
319
+ export function keysForWritePacket(mapping, previousKeys = []) {
218
320
  const mapped = mappingToKeys(mapping);
219
- const dpi = previousKeys.find((key) => key.index === DPI_SLOT_INDEX) ??
220
- keyFromDefaultArea(DPI_SLOT_INDEX);
321
+ const dpi = previousKeys.find((key) => key.index === DPI_SLOT_INDEX) ?? keyFromDefaultArea(DPI_SLOT_INDEX);
221
322
  const byIndex = new Map();
222
- for (const key of previousKeys) {
223
- byIndex.set(key.index, key);
224
- }
225
323
  byIndex.set(DPI_SLOT_INDEX, dpi);
226
- for (const key of mapped) {
324
+ for (const key of mapped)
227
325
  byIndex.set(key.index, key);
228
- }
229
326
  return Array.from({ length: KEY_SLOT_COUNT }, (_, index) => byIndex.get(index) ?? keyFromDefaultArea(index));
230
327
  }
231
328
  export function presetToKey(preset, index) {
@@ -238,9 +335,8 @@ export function presetToKey(preset, index) {
238
335
  };
239
336
  }
240
337
  export function findPresetId(key) {
241
- if (key.type === 0x70) {
338
+ if (key.type === 0x70)
242
339
  return 'macro';
243
- }
244
340
  const preset = KEY_PRESETS.find((item) => item.type === key.type &&
245
341
  item.code1 === key.code1 &&
246
342
  item.code2 === key.code2 &&
@@ -1 +1 @@
1
- {"version":3,"file":"key.js","sourceRoot":"","sources":["../../src/protocol/key.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"key.js","sourceRoot":"","sources":["../../src/protocol/key.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"macro.d.ts","sourceRoot":"","sources":["../../src/protocol/macro.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAElB,iBAAiB,EACjB,eAAe,EACf,UAAU,EACX,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,eAAO,MAAM,uBAAuB,QAAiB,CAAC;AACtD,eAAO,MAAM,iBAAiB,QAA8B,CAAC;AAC7D,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,kBAAkB,OAAO,CAAC;AACvC,eAAO,MAAM,gBAAgB,QAAyB,CAAC;AA6DvD,6BAA6B;AAC7B,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,UAAU,CAMrE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,GAAG,UAAU,CA+BxE;AAED,kCAAkC;AAClC,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS,UAAU,EAAE,EAC7B,YAAY,GAAE,iBAAqB,GAClC,UAAU,EAAE,CAyBd;AAED,qBAAqB;AACrB,wBAAgB,uBAAuB,IAAI,UAAU,CAEpD;AAED,iCAAiC;AACjC,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,kBAAkB,GAC1B,eAAe,CAajB"}
1
+ {"version":3,"file":"macro.d.ts","sourceRoot":"","sources":["../../src/protocol/macro.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,UAAU,EACX,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,eAAO,MAAM,uBAAuB,QAAiB,CAAC;AACtD,eAAO,MAAM,iBAAiB,QAA8B,CAAC;AAC7D,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,kBAAkB,OAAO,CAAC;AACvC,eAAO,MAAM,gBAAgB,QAAyB,CAAC;AA6DvD,6BAA6B;AAC7B,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,UAAU,CAMrE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,GAAG,UAAU,CA+BxE;AAED,kCAAkC;AAClC,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS,UAAU,EAAE,EAC7B,YAAY,GAAE,iBAAqB,GAClC,UAAU,EAAE,CAyBd;AAED,qBAAqB;AACrB,wBAAgB,uBAAuB,IAAI,UAAU,CAEpD;AAED,iCAAiC;AACjC,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,kBAAkB,GAC1B,eAAe,CAajB"}