PhotonLink(光子互联)SDK - 基于 WebHID 的游戏外设通信库
npm install @photon-link/sdkbash
pnpm add @photon-link/sdk
`
🚀 快速开始
`typescript
import { HP } from '@photon-link/sdk';
const sdk = new HP.SDK({
filters: [
{ vendorId: 0x3402, productId: 0x0300, usage: 0x01, usagePage: 0xff00 },
],
});
const device = await sdk.requestDevice();
if (device) {
await sdk.connect(device.id);
const info = await sdk.system.getDeviceInfo();
console.log(info);
await sdk.disconnect();
}
`
📖 API 结构
`typescript
import { HP } from '@photon-link/sdk';
// SDK 主类
const sdk = new HP.SDK({ filters: [...] });
// 功能模块
sdk.system // 系统
sdk.light // 灯光
sdk.key // 按键
sdk.advancedKey // 高级键
sdk.performance // 性能
sdk.macro // 宏
sdk.update // 固件升级
// 协议枚举
HP.Command.CMD_SYS_SYNC
HP.Profile.PROFILE_1
HP.LightAreaType.MAIN_RGB_DOWN
`
🔧 功能示例
$3
`typescript
const info = await sdk.system.getDeviceInfo();
await sdk.system.restoreFactorySettings([HP.Profile.PROFILE_1]);
await sdk.system.setLockWin(HP.LockWinSubCommand.LOCK);
await sdk.system.setReportRate(1000);
`
$3
`typescript
const areas = await sdk.light.getLightArea();
const config = await sdk.light.getLightConfig(HP.LightAreaType.MAIN_RGB_DOWN);
await sdk.light.setLightAreaRGB(HP.LightAreaType.MAIN_RGB_DOWN, data);
`
$3
`typescript
const layout = await sdk.key.getFullLayout(0, 6, 16);
await sdk.key.setKey(0, 0, 0, 0x04);
`
$3
`typescript
await sdk.update.enterBoot();
await sdk.update.updateFirmware(data, (cur, total) => console.log(${cur}/${total}));
await sdk.update.checkFirmware();
await sdk.update.jumpToApp();
`
📦 导出内容
`typescript
import {
HP, // HP 协议
BY, // BY 协议
XSYDV2, // XSYDV2 协议
SDKError, // 错误类
TimeoutError,
DeviceStatus, // 设备状态
DeviceEvent,
Logger, // 日志
LogLevel,
SDK_VERSION, // 版本
} from '@photon-link/sdk';
`
📁 输出格式
`
dist/
├── esm/ # ES Module
├── cjs/ # CommonJS
└── umd/ # UMD
`
$3
`html
``