@openmouse/protocol 0.1.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.
- package/CONTRIBUTING.md +167 -0
- package/README.md +89 -0
- package/dist/asus/index.d.ts +52 -0
- package/dist/asus/index.d.ts.map +1 -0
- package/dist/asus/index.js +248 -0
- package/dist/asus/index.js.map +1 -0
- package/dist/atk/index.d.ts +200 -0
- package/dist/atk/index.d.ts.map +1 -0
- package/dist/atk/index.js +480 -0
- package/dist/atk/index.js.map +1 -0
- package/dist/bitmouse/index.d.ts +284 -0
- package/dist/bitmouse/index.d.ts.map +1 -0
- package/dist/bitmouse/index.js +396 -0
- package/dist/bitmouse/index.js.map +1 -0
- package/dist/compx/codec.d.ts +31 -0
- package/dist/compx/codec.d.ts.map +1 -0
- package/dist/compx/codec.js +50 -0
- package/dist/compx/codec.js.map +1 -0
- package/dist/corsair/index.d.ts +147 -0
- package/dist/corsair/index.d.ts.map +1 -0
- package/dist/corsair/index.js +223 -0
- package/dist/corsair/index.js.map +1 -0
- package/dist/dareu/index.d.ts +136 -0
- package/dist/dareu/index.d.ts.map +1 -0
- package/dist/dareu/index.js +344 -0
- package/dist/dareu/index.js.map +1 -0
- package/dist/drivers/asus/hid.d.ts +29 -0
- package/dist/drivers/asus/hid.d.ts.map +1 -0
- package/dist/drivers/asus/hid.js +419 -0
- package/dist/drivers/asus/hid.js.map +1 -0
- package/dist/drivers/atk/bitmouse-hid.d.ts +80 -0
- package/dist/drivers/atk/bitmouse-hid.d.ts.map +1 -0
- package/dist/drivers/atk/bitmouse-hid.js +501 -0
- package/dist/drivers/atk/bitmouse-hid.js.map +1 -0
- package/dist/drivers/atk/hid.d.ts +163 -0
- package/dist/drivers/atk/hid.d.ts.map +1 -0
- package/dist/drivers/atk/hid.js +1368 -0
- package/dist/drivers/atk/hid.js.map +1 -0
- package/dist/drivers/atk/products.d.ts +13 -0
- package/dist/drivers/atk/products.d.ts.map +1 -0
- package/dist/drivers/atk/products.js +13 -0
- package/dist/drivers/atk/products.js.map +1 -0
- package/dist/drivers/attackshark/dpi.d.ts +41 -0
- package/dist/drivers/attackshark/dpi.d.ts.map +1 -0
- package/dist/drivers/attackshark/dpi.js +215 -0
- package/dist/drivers/attackshark/dpi.js.map +1 -0
- package/dist/drivers/attackshark/hid.d.ts +124 -0
- package/dist/drivers/attackshark/hid.d.ts.map +1 -0
- package/dist/drivers/attackshark/hid.js +728 -0
- package/dist/drivers/attackshark/hid.js.map +1 -0
- package/dist/drivers/corsair/hid.d.ts +70 -0
- package/dist/drivers/corsair/hid.d.ts.map +1 -0
- package/dist/drivers/corsair/hid.js +414 -0
- package/dist/drivers/corsair/hid.js.map +1 -0
- package/dist/drivers/dareu/hid.d.ts +59 -0
- package/dist/drivers/dareu/hid.d.ts.map +1 -0
- package/dist/drivers/dareu/hid.js +478 -0
- package/dist/drivers/dareu/hid.js.map +1 -0
- package/dist/drivers/endgame/egg-op1-hid.d.ts +107 -0
- package/dist/drivers/endgame/egg-op1-hid.d.ts.map +1 -0
- package/dist/drivers/endgame/egg-op1-hid.js +605 -0
- package/dist/drivers/endgame/egg-op1-hid.js.map +1 -0
- package/dist/drivers/endgame/egg-we-control.d.ts +42 -0
- package/dist/drivers/endgame/egg-we-control.d.ts.map +1 -0
- package/dist/drivers/endgame/egg-we-control.js +87 -0
- package/dist/drivers/endgame/egg-we-control.js.map +1 -0
- package/dist/drivers/endgame/egg-we-hid.d.ts +58 -0
- package/dist/drivers/endgame/egg-we-hid.d.ts.map +1 -0
- package/dist/drivers/endgame/egg-we-hid.js +514 -0
- package/dist/drivers/endgame/egg-we-hid.js.map +1 -0
- package/dist/drivers/fantech/hid.d.ts +106 -0
- package/dist/drivers/fantech/hid.d.ts.map +1 -0
- package/dist/drivers/fantech/hid.js +295 -0
- package/dist/drivers/fantech/hid.js.map +1 -0
- package/dist/drivers/finalmouse/hid.d.ts +31 -0
- package/dist/drivers/finalmouse/hid.d.ts.map +1 -0
- package/dist/drivers/finalmouse/hid.js +181 -0
- package/dist/drivers/finalmouse/hid.js.map +1 -0
- package/dist/drivers/gearhub/hid.d.ts +191 -0
- package/dist/drivers/gearhub/hid.d.ts.map +1 -0
- package/dist/drivers/gearhub/hid.js +542 -0
- package/dist/drivers/gearhub/hid.js.map +1 -0
- package/dist/drivers/glorious/classic-hid.d.ts +62 -0
- package/dist/drivers/glorious/classic-hid.d.ts.map +1 -0
- package/dist/drivers/glorious/classic-hid.js +326 -0
- package/dist/drivers/glorious/classic-hid.js.map +1 -0
- package/dist/drivers/glorious/hid.d.ts +39 -0
- package/dist/drivers/glorious/hid.d.ts.map +1 -0
- package/dist/drivers/glorious/hid.js +203 -0
- package/dist/drivers/glorious/hid.js.map +1 -0
- package/dist/drivers/gwolves/hid.d.ts +27 -0
- package/dist/drivers/gwolves/hid.d.ts.map +1 -0
- package/dist/drivers/gwolves/hid.js +225 -0
- package/dist/drivers/gwolves/hid.js.map +1 -0
- package/dist/drivers/gwolves/products.d.ts +17 -0
- package/dist/drivers/gwolves/products.d.ts.map +1 -0
- package/dist/drivers/gwolves/products.js +58 -0
- package/dist/drivers/gwolves/products.js.map +1 -0
- package/dist/drivers/hyperx/hid.d.ts +59 -0
- package/dist/drivers/hyperx/hid.d.ts.map +1 -0
- package/dist/drivers/hyperx/hid.js +229 -0
- package/dist/drivers/hyperx/hid.js.map +1 -0
- package/dist/drivers/incott/hid.d.ts +513 -0
- package/dist/drivers/incott/hid.d.ts.map +1 -0
- package/dist/drivers/incott/hid.js +1173 -0
- package/dist/drivers/incott/hid.js.map +1 -0
- package/dist/drivers/index.d.ts +5 -0
- package/dist/drivers/index.d.ts.map +1 -0
- package/dist/drivers/index.js +5 -0
- package/dist/drivers/index.js.map +1 -0
- package/dist/drivers/keychron/m6-hid.d.ts +81 -0
- package/dist/drivers/keychron/m6-hid.d.ts.map +1 -0
- package/dist/drivers/keychron/m6-hid.js +486 -0
- package/dist/drivers/keychron/m6-hid.js.map +1 -0
- package/dist/drivers/keychron/nape-hid.d.ts +60 -0
- package/dist/drivers/keychron/nape-hid.d.ts.map +1 -0
- package/dist/drivers/keychron/nape-hid.js +432 -0
- package/dist/drivers/keychron/nape-hid.js.map +1 -0
- package/dist/drivers/ksnake/hid.d.ts +74 -0
- package/dist/drivers/ksnake/hid.d.ts.map +1 -0
- package/dist/drivers/ksnake/hid.js +368 -0
- package/dist/drivers/ksnake/hid.js.map +1 -0
- package/dist/drivers/lamzu/hid.d.ts +58 -0
- package/dist/drivers/lamzu/hid.d.ts.map +1 -0
- package/dist/drivers/lamzu/hid.js +414 -0
- package/dist/drivers/lamzu/hid.js.map +1 -0
- package/dist/drivers/lamzu-atlantis/hid.d.ts +148 -0
- package/dist/drivers/lamzu-atlantis/hid.d.ts.map +1 -0
- package/dist/drivers/lamzu-atlantis/hid.js +587 -0
- package/dist/drivers/lamzu-atlantis/hid.js.map +1 -0
- package/dist/drivers/logitech/bolt.d.ts +41 -0
- package/dist/drivers/logitech/bolt.d.ts.map +1 -0
- package/dist/drivers/logitech/bolt.js +105 -0
- package/dist/drivers/logitech/bolt.js.map +1 -0
- package/dist/drivers/logitech/hidpp.d.ts +525 -0
- package/dist/drivers/logitech/hidpp.d.ts.map +1 -0
- package/dist/drivers/logitech/hidpp.js +2774 -0
- package/dist/drivers/logitech/hidpp.js.map +1 -0
- package/dist/drivers/logitech/mode-status.d.ts +53 -0
- package/dist/drivers/logitech/mode-status.d.ts.map +1 -0
- package/dist/drivers/logitech/mode-status.js +52 -0
- package/dist/drivers/logitech/mode-status.js.map +1 -0
- package/dist/drivers/logitech/onboard-profiles.d.ts +298 -0
- package/dist/drivers/logitech/onboard-profiles.d.ts.map +1 -0
- package/dist/drivers/logitech/onboard-profiles.js +965 -0
- package/dist/drivers/logitech/onboard-profiles.js.map +1 -0
- package/dist/drivers/logitech/rgb-effects.d.ts +20 -0
- package/dist/drivers/logitech/rgb-effects.d.ts.map +1 -0
- package/dist/drivers/logitech/rgb-effects.js +93 -0
- package/dist/drivers/logitech/rgb-effects.js.map +1 -0
- package/dist/drivers/mchose/a5-gen1-hid.d.ts +36 -0
- package/dist/drivers/mchose/a5-gen1-hid.d.ts.map +1 -0
- package/dist/drivers/mchose/a5-gen1-hid.js +219 -0
- package/dist/drivers/mchose/a5-gen1-hid.js.map +1 -0
- package/dist/drivers/mchose/dock-hid.d.ts +26 -0
- package/dist/drivers/mchose/dock-hid.d.ts.map +1 -0
- package/dist/drivers/mchose/dock-hid.js +176 -0
- package/dist/drivers/mchose/dock-hid.js.map +1 -0
- package/dist/drivers/mchose/hid.d.ts +118 -0
- package/dist/drivers/mchose/hid.d.ts.map +1 -0
- package/dist/drivers/mchose/hid.js +550 -0
- package/dist/drivers/mchose/hid.js.map +1 -0
- package/dist/drivers/mchose/v3-hid.d.ts +109 -0
- package/dist/drivers/mchose/v3-hid.d.ts.map +1 -0
- package/dist/drivers/mchose/v3-hid.js +572 -0
- package/dist/drivers/mchose/v3-hid.js.map +1 -0
- package/dist/drivers/microsoft/hid.d.ts +25 -0
- package/dist/drivers/microsoft/hid.d.ts.map +1 -0
- package/dist/drivers/microsoft/hid.js +247 -0
- package/dist/drivers/microsoft/hid.js.map +1 -0
- package/dist/drivers/moddo/hid.d.ts +31 -0
- package/dist/drivers/moddo/hid.d.ts.map +1 -0
- package/dist/drivers/moddo/hid.js +154 -0
- package/dist/drivers/moddo/hid.js.map +1 -0
- package/dist/drivers/mouse-types.d.ts +388 -0
- package/dist/drivers/mouse-types.d.ts.map +1 -0
- package/dist/drivers/mouse-types.js +2 -0
- package/dist/drivers/mouse-types.js.map +1 -0
- package/dist/drivers/ninjutso/hid.d.ts +62 -0
- package/dist/drivers/ninjutso/hid.d.ts.map +1 -0
- package/dist/drivers/ninjutso/hid.js +680 -0
- package/dist/drivers/ninjutso/hid.js.map +1 -0
- package/dist/drivers/orbital/hid.d.ts +24 -0
- package/dist/drivers/orbital/hid.d.ts.map +1 -0
- package/dist/drivers/orbital/hid.js +85 -0
- package/dist/drivers/orbital/hid.js.map +1 -0
- package/dist/drivers/orbital/host-protocol.d.ts +59 -0
- package/dist/drivers/orbital/host-protocol.d.ts.map +1 -0
- package/dist/drivers/orbital/host-protocol.js +884 -0
- package/dist/drivers/orbital/host-protocol.js.map +1 -0
- package/dist/drivers/pulsar/pulsar-hid.d.ts +63 -0
- package/dist/drivers/pulsar/pulsar-hid.d.ts.map +1 -0
- package/dist/drivers/pulsar/pulsar-hid.js +381 -0
- package/dist/drivers/pulsar/pulsar-hid.js.map +1 -0
- package/dist/drivers/pulsar/pulsar-pro-hid.d.ts +46 -0
- package/dist/drivers/pulsar/pulsar-pro-hid.d.ts.map +1 -0
- package/dist/drivers/pulsar/pulsar-pro-hid.js +343 -0
- package/dist/drivers/pulsar/pulsar-pro-hid.js.map +1 -0
- package/dist/drivers/pulsar/pulsar-xs1-hid.d.ts +40 -0
- package/dist/drivers/pulsar/pulsar-xs1-hid.d.ts.map +1 -0
- package/dist/drivers/pulsar/pulsar-xs1-hid.js +251 -0
- package/dist/drivers/pulsar/pulsar-xs1-hid.js.map +1 -0
- package/dist/drivers/rawm/hid.d.ts +29 -0
- package/dist/drivers/rawm/hid.d.ts.map +1 -0
- package/dist/drivers/rawm/hid.js +210 -0
- package/dist/drivers/rawm/hid.js.map +1 -0
- package/dist/drivers/razer/cobra-hid.d.ts +63 -0
- package/dist/drivers/razer/cobra-hid.d.ts.map +1 -0
- package/dist/drivers/razer/cobra-hid.js +282 -0
- package/dist/drivers/razer/cobra-hid.js.map +1 -0
- package/dist/drivers/razer/hid-open.d.ts +13 -0
- package/dist/drivers/razer/hid-open.d.ts.map +1 -0
- package/dist/drivers/razer/hid-open.js +29 -0
- package/dist/drivers/razer/hid-open.js.map +1 -0
- package/dist/drivers/razer/hid.d.ts +231 -0
- package/dist/drivers/razer/hid.d.ts.map +1 -0
- package/dist/drivers/razer/hid.js +772 -0
- package/dist/drivers/razer/hid.js.map +1 -0
- package/dist/drivers/razer/viper-hid.d.ts +33 -0
- package/dist/drivers/razer/viper-hid.d.ts.map +1 -0
- package/dist/drivers/razer/viper-hid.js +177 -0
- package/dist/drivers/razer/viper-hid.js.map +1 -0
- package/dist/drivers/razer/viper-mini-hid.d.ts +58 -0
- package/dist/drivers/razer/viper-mini-hid.d.ts.map +1 -0
- package/dist/drivers/razer/viper-mini-hid.js +273 -0
- package/dist/drivers/razer/viper-mini-hid.js.map +1 -0
- package/dist/drivers/razer/viper-v4-pro-hid.d.ts +26 -0
- package/dist/drivers/razer/viper-v4-pro-hid.d.ts.map +1 -0
- package/dist/drivers/razer/viper-v4-pro-hid.js +154 -0
- package/dist/drivers/razer/viper-v4-pro-hid.js.map +1 -0
- package/dist/drivers/registry.d.ts +70 -0
- package/dist/drivers/registry.d.ts.map +1 -0
- package/dist/drivers/registry.js +146 -0
- package/dist/drivers/registry.js.map +1 -0
- package/dist/drivers/steelseries/aerox3-hid.d.ts +53 -0
- package/dist/drivers/steelseries/aerox3-hid.d.ts.map +1 -0
- package/dist/drivers/steelseries/aerox3-hid.js +172 -0
- package/dist/drivers/steelseries/aerox3-hid.js.map +1 -0
- package/dist/drivers/steelseries/aerox5-hid.d.ts +54 -0
- package/dist/drivers/steelseries/aerox5-hid.d.ts.map +1 -0
- package/dist/drivers/steelseries/aerox5-hid.js +173 -0
- package/dist/drivers/steelseries/aerox5-hid.js.map +1 -0
- package/dist/drivers/steelseries/aerox5-wireless-hid.d.ts +69 -0
- package/dist/drivers/steelseries/aerox5-wireless-hid.d.ts.map +1 -0
- package/dist/drivers/steelseries/aerox5-wireless-hid.js +234 -0
- package/dist/drivers/steelseries/aerox5-wireless-hid.js.map +1 -0
- package/dist/drivers/steelseries/aerox9-wireless-hid.d.ts +70 -0
- package/dist/drivers/steelseries/aerox9-wireless-hid.d.ts.map +1 -0
- package/dist/drivers/steelseries/aerox9-wireless-hid.js +227 -0
- package/dist/drivers/steelseries/aerox9-wireless-hid.js.map +1 -0
- package/dist/drivers/steelseries/hid.d.ts +48 -0
- package/dist/drivers/steelseries/hid.d.ts.map +1 -0
- package/dist/drivers/steelseries/hid.js +157 -0
- package/dist/drivers/steelseries/hid.js.map +1 -0
- package/dist/drivers/steelseries/prime-mini-wireless-hid.d.ts +62 -0
- package/dist/drivers/steelseries/prime-mini-wireless-hid.d.ts.map +1 -0
- package/dist/drivers/steelseries/prime-mini-wireless-hid.js +215 -0
- package/dist/drivers/steelseries/prime-mini-wireless-hid.js.map +1 -0
- package/dist/drivers/steelseries/prime-plus-hid.d.ts +51 -0
- package/dist/drivers/steelseries/prime-plus-hid.d.ts.map +1 -0
- package/dist/drivers/steelseries/prime-plus-hid.js +150 -0
- package/dist/drivers/steelseries/prime-plus-hid.js.map +1 -0
- package/dist/drivers/steelseries/rival3-wireless-hid.d.ts +61 -0
- package/dist/drivers/steelseries/rival3-wireless-hid.d.ts.map +1 -0
- package/dist/drivers/steelseries/rival3-wireless-hid.js +185 -0
- package/dist/drivers/steelseries/rival3-wireless-hid.js.map +1 -0
- package/dist/drivers/steelseries/rival310-hid.d.ts +59 -0
- package/dist/drivers/steelseries/rival310-hid.d.ts.map +1 -0
- package/dist/drivers/steelseries/rival310-hid.js +182 -0
- package/dist/drivers/steelseries/rival310-hid.js.map +1 -0
- package/dist/drivers/steelseries/rival650-hid.d.ts +68 -0
- package/dist/drivers/steelseries/rival650-hid.d.ts.map +1 -0
- package/dist/drivers/steelseries/rival650-hid.js +209 -0
- package/dist/drivers/steelseries/rival650-hid.js.map +1 -0
- package/dist/drivers/steelseries/sensei-ten-hid.d.ts +62 -0
- package/dist/drivers/steelseries/sensei-ten-hid.d.ts.map +1 -0
- package/dist/drivers/steelseries/sensei-ten-hid.js +186 -0
- package/dist/drivers/steelseries/sensei-ten-hid.js.map +1 -0
- package/dist/drivers/teevolution/hid.d.ts +82 -0
- package/dist/drivers/teevolution/hid.d.ts.map +1 -0
- package/dist/drivers/teevolution/hid.js +607 -0
- package/dist/drivers/teevolution/hid.js.map +1 -0
- package/dist/drivers/vendors.d.ts +254 -0
- package/dist/drivers/vendors.d.ts.map +1 -0
- package/dist/drivers/vendors.js +587 -0
- package/dist/drivers/vendors.js.map +1 -0
- package/dist/drivers/vgn/hid.d.ts +33 -0
- package/dist/drivers/vgn/hid.d.ts.map +1 -0
- package/dist/drivers/vgn/hid.js +213 -0
- package/dist/drivers/vgn/hid.js.map +1 -0
- package/dist/drivers/wallhack/keyboard-hid.d.ts +28 -0
- package/dist/drivers/wallhack/keyboard-hid.d.ts.map +1 -0
- package/dist/drivers/wallhack/keyboard-hid.js +80 -0
- package/dist/drivers/wallhack/keyboard-hid.js.map +1 -0
- package/dist/drivers/wallhack/mouse-hid.d.ts +45 -0
- package/dist/drivers/wallhack/mouse-hid.d.ts.map +1 -0
- package/dist/drivers/wallhack/mouse-hid.js +288 -0
- package/dist/drivers/wallhack/mouse-hid.js.map +1 -0
- package/dist/drivers/webhid.d.ts +59 -0
- package/dist/drivers/webhid.d.ts.map +1 -0
- package/dist/drivers/webhid.js +2 -0
- package/dist/drivers/webhid.js.map +1 -0
- package/dist/drivers/wlmouse/hid.d.ts +81 -0
- package/dist/drivers/wlmouse/hid.d.ts.map +1 -0
- package/dist/drivers/wlmouse/hid.js +576 -0
- package/dist/drivers/wlmouse/hid.js.map +1 -0
- package/dist/drivers/wooting/hid.d.ts +86 -0
- package/dist/drivers/wooting/hid.d.ts.map +1 -0
- package/dist/drivers/wooting/hid.js +320 -0
- package/dist/drivers/wooting/hid.js.map +1 -0
- package/dist/drivers/zaunkoenig/hid.d.ts +31 -0
- package/dist/drivers/zaunkoenig/hid.d.ts.map +1 -0
- package/dist/drivers/zaunkoenig/hid.js +162 -0
- package/dist/drivers/zaunkoenig/hid.js.map +1 -0
- package/dist/endgame-gear/op1.d.ts +165 -0
- package/dist/endgame-gear/op1.d.ts.map +1 -0
- package/dist/endgame-gear/op1.js +384 -0
- package/dist/endgame-gear/op1.js.map +1 -0
- package/dist/endgame-gear/wireless.d.ts +93 -0
- package/dist/endgame-gear/wireless.d.ts.map +1 -0
- package/dist/endgame-gear/wireless.js +242 -0
- package/dist/endgame-gear/wireless.js.map +1 -0
- package/dist/fantech/index.d.ts +9 -0
- package/dist/fantech/index.d.ts.map +1 -0
- package/dist/fantech/index.js +11 -0
- package/dist/fantech/index.js.map +1 -0
- package/dist/finalmouse/index.d.ts +41 -0
- package/dist/finalmouse/index.d.ts.map +1 -0
- package/dist/finalmouse/index.js +106 -0
- package/dist/finalmouse/index.js.map +1 -0
- package/dist/gearhub/index.d.ts +210 -0
- package/dist/gearhub/index.d.ts.map +1 -0
- package/dist/gearhub/index.js +282 -0
- package/dist/gearhub/index.js.map +1 -0
- package/dist/glorious/index.d.ts +89 -0
- package/dist/glorious/index.d.ts.map +1 -0
- package/dist/glorious/index.js +236 -0
- package/dist/glorious/index.js.map +1 -0
- package/dist/glorious-classic/index.d.ts +103 -0
- package/dist/glorious-classic/index.d.ts.map +1 -0
- package/dist/glorious-classic/index.js +304 -0
- package/dist/glorious-classic/index.js.map +1 -0
- package/dist/gwolves/index.d.ts +82 -0
- package/dist/gwolves/index.d.ts.map +1 -0
- package/dist/gwolves/index.js +197 -0
- package/dist/gwolves/index.js.map +1 -0
- package/dist/hyperx/index.d.ts +181 -0
- package/dist/hyperx/index.d.ts.map +1 -0
- package/dist/hyperx/index.js +303 -0
- package/dist/hyperx/index.js.map +1 -0
- package/dist/incott/index.d.ts +1067 -0
- package/dist/incott/index.d.ts.map +1 -0
- package/dist/incott/index.js +1482 -0
- package/dist/incott/index.js.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +30 -0
- package/dist/index.js.map +1 -0
- package/dist/keychron/index.d.ts +194 -0
- package/dist/keychron/index.d.ts.map +1 -0
- package/dist/keychron/index.js +341 -0
- package/dist/keychron/index.js.map +1 -0
- package/dist/ksnake/index.d.ts +157 -0
- package/dist/ksnake/index.d.ts.map +1 -0
- package/dist/ksnake/index.js +314 -0
- package/dist/ksnake/index.js.map +1 -0
- package/dist/lamzu/atlantis.d.ts +237 -0
- package/dist/lamzu/atlantis.d.ts.map +1 -0
- package/dist/lamzu/atlantis.js +263 -0
- package/dist/lamzu/atlantis.js.map +1 -0
- package/dist/lamzu/index.d.ts +60 -0
- package/dist/lamzu/index.d.ts.map +1 -0
- package/dist/lamzu/index.js +86 -0
- package/dist/lamzu/index.js.map +1 -0
- package/dist/logitech/controls.d.ts +138 -0
- package/dist/logitech/controls.d.ts.map +1 -0
- package/dist/logitech/controls.js +184 -0
- package/dist/logitech/controls.js.map +1 -0
- package/dist/logitech/friendly-name.d.ts +50 -0
- package/dist/logitech/friendly-name.d.ts.map +1 -0
- package/dist/logitech/friendly-name.js +74 -0
- package/dist/logitech/friendly-name.js.map +1 -0
- package/dist/logitech/haptics.d.ts +97 -0
- package/dist/logitech/haptics.d.ts.map +1 -0
- package/dist/logitech/haptics.js +116 -0
- package/dist/logitech/haptics.js.map +1 -0
- package/dist/logitech/hosts.d.ts +55 -0
- package/dist/logitech/hosts.d.ts.map +1 -0
- package/dist/logitech/hosts.js +80 -0
- package/dist/logitech/hosts.js.map +1 -0
- package/dist/logitech/index.d.ts +127 -0
- package/dist/logitech/index.d.ts.map +1 -0
- package/dist/logitech/index.js +233 -0
- package/dist/logitech/index.js.map +1 -0
- package/dist/logitech/wheel.d.ts +117 -0
- package/dist/logitech/wheel.d.ts.map +1 -0
- package/dist/logitech/wheel.js +133 -0
- package/dist/logitech/wheel.js.map +1 -0
- package/dist/mchose/a5-gen1.d.ts +38 -0
- package/dist/mchose/a5-gen1.d.ts.map +1 -0
- package/dist/mchose/a5-gen1.js +60 -0
- package/dist/mchose/a5-gen1.js.map +1 -0
- package/dist/mchose/buttons.d.ts +66 -0
- package/dist/mchose/buttons.d.ts.map +1 -0
- package/dist/mchose/buttons.js +184 -0
- package/dist/mchose/buttons.js.map +1 -0
- package/dist/mchose/dock.d.ts +77 -0
- package/dist/mchose/dock.d.ts.map +1 -0
- package/dist/mchose/dock.js +133 -0
- package/dist/mchose/dock.js.map +1 -0
- package/dist/mchose/index.d.ts +299 -0
- package/dist/mchose/index.d.ts.map +1 -0
- package/dist/mchose/index.js +429 -0
- package/dist/mchose/index.js.map +1 -0
- package/dist/mchose/v3-buttons.d.ts +64 -0
- package/dist/mchose/v3-buttons.d.ts.map +1 -0
- package/dist/mchose/v3-buttons.js +258 -0
- package/dist/mchose/v3-buttons.js.map +1 -0
- package/dist/mchose/v3.d.ts +380 -0
- package/dist/mchose/v3.d.ts.map +1 -0
- package/dist/mchose/v3.js +608 -0
- package/dist/mchose/v3.js.map +1 -0
- package/dist/microsoft/index.d.ts +19 -0
- package/dist/microsoft/index.d.ts.map +1 -0
- package/dist/microsoft/index.js +22 -0
- package/dist/microsoft/index.js.map +1 -0
- package/dist/moddo/index.d.ts +72 -0
- package/dist/moddo/index.d.ts.map +1 -0
- package/dist/moddo/index.js +147 -0
- package/dist/moddo/index.js.map +1 -0
- package/dist/ninjutso/index.d.ts +74 -0
- package/dist/ninjutso/index.d.ts.map +1 -0
- package/dist/ninjutso/index.js +133 -0
- package/dist/ninjutso/index.js.map +1 -0
- package/dist/orbital/index.d.ts +14 -0
- package/dist/orbital/index.d.ts.map +1 -0
- package/dist/orbital/index.js +19 -0
- package/dist/orbital/index.js.map +1 -0
- package/dist/pulsar/index.d.ts +81 -0
- package/dist/pulsar/index.d.ts.map +1 -0
- package/dist/pulsar/index.js +185 -0
- package/dist/pulsar/index.js.map +1 -0
- package/dist/rawm/index.d.ts +55 -0
- package/dist/rawm/index.d.ts.map +1 -0
- package/dist/rawm/index.js +229 -0
- package/dist/rawm/index.js.map +1 -0
- package/dist/razer/codec.d.ts +504 -0
- package/dist/razer/codec.d.ts.map +1 -0
- package/dist/razer/codec.js +648 -0
- package/dist/razer/codec.js.map +1 -0
- package/dist/razer/devices.d.ts +156 -0
- package/dist/razer/devices.d.ts.map +1 -0
- package/dist/razer/devices.js +540 -0
- package/dist/razer/devices.js.map +1 -0
- package/dist/razer/index.d.ts +2 -0
- package/dist/razer/index.d.ts.map +1 -0
- package/dist/razer/index.js +2 -0
- package/dist/razer/index.js.map +1 -0
- package/dist/razer/v4.d.ts +19 -0
- package/dist/razer/v4.d.ts.map +1 -0
- package/dist/razer/v4.js +51 -0
- package/dist/razer/v4.js.map +1 -0
- package/dist/steelseries/aerox3.d.ts +236 -0
- package/dist/steelseries/aerox3.d.ts.map +1 -0
- package/dist/steelseries/aerox3.js +311 -0
- package/dist/steelseries/aerox3.js.map +1 -0
- package/dist/steelseries/aerox5-wireless.d.ts +300 -0
- package/dist/steelseries/aerox5-wireless.d.ts.map +1 -0
- package/dist/steelseries/aerox5-wireless.js +389 -0
- package/dist/steelseries/aerox5-wireless.js.map +1 -0
- package/dist/steelseries/aerox5.d.ts +228 -0
- package/dist/steelseries/aerox5.d.ts.map +1 -0
- package/dist/steelseries/aerox5.js +294 -0
- package/dist/steelseries/aerox5.js.map +1 -0
- package/dist/steelseries/aerox9-wireless.d.ts +213 -0
- package/dist/steelseries/aerox9-wireless.d.ts.map +1 -0
- package/dist/steelseries/aerox9-wireless.js +305 -0
- package/dist/steelseries/aerox9-wireless.js.map +1 -0
- package/dist/steelseries/devices.d.ts +82 -0
- package/dist/steelseries/devices.d.ts.map +1 -0
- package/dist/steelseries/devices.js +310 -0
- package/dist/steelseries/devices.js.map +1 -0
- package/dist/steelseries/index.d.ts +13 -0
- package/dist/steelseries/index.d.ts.map +1 -0
- package/dist/steelseries/index.js +13 -0
- package/dist/steelseries/index.js.map +1 -0
- package/dist/steelseries/prime-mini-wireless.d.ts +253 -0
- package/dist/steelseries/prime-mini-wireless.d.ts.map +1 -0
- package/dist/steelseries/prime-mini-wireless.js +351 -0
- package/dist/steelseries/prime-mini-wireless.js.map +1 -0
- package/dist/steelseries/prime-plus.d.ts +179 -0
- package/dist/steelseries/prime-plus.d.ts.map +1 -0
- package/dist/steelseries/prime-plus.js +275 -0
- package/dist/steelseries/prime-plus.js.map +1 -0
- package/dist/steelseries/rival3-wireless.d.ts +222 -0
- package/dist/steelseries/rival3-wireless.d.ts.map +1 -0
- package/dist/steelseries/rival3-wireless.js +308 -0
- package/dist/steelseries/rival3-wireless.js.map +1 -0
- package/dist/steelseries/rival3.d.ts +99 -0
- package/dist/steelseries/rival3.d.ts.map +1 -0
- package/dist/steelseries/rival3.js +147 -0
- package/dist/steelseries/rival3.js.map +1 -0
- package/dist/steelseries/rival310.d.ts +230 -0
- package/dist/steelseries/rival310.d.ts.map +1 -0
- package/dist/steelseries/rival310.js +322 -0
- package/dist/steelseries/rival310.js.map +1 -0
- package/dist/steelseries/rival650.d.ts +215 -0
- package/dist/steelseries/rival650.d.ts.map +1 -0
- package/dist/steelseries/rival650.js +284 -0
- package/dist/steelseries/rival650.js.map +1 -0
- package/dist/steelseries/sensei-ten.d.ts +283 -0
- package/dist/steelseries/sensei-ten.d.ts.map +1 -0
- package/dist/steelseries/sensei-ten.js +389 -0
- package/dist/steelseries/sensei-ten.js.map +1 -0
- package/dist/teevolution/index.d.ts +211 -0
- package/dist/teevolution/index.d.ts.map +1 -0
- package/dist/teevolution/index.js +458 -0
- package/dist/teevolution/index.js.map +1 -0
- package/dist/valkyrie/index.d.ts +19 -0
- package/dist/valkyrie/index.d.ts.map +1 -0
- package/dist/valkyrie/index.js +43 -0
- package/dist/valkyrie/index.js.map +1 -0
- package/dist/valkyrie/settings.d.ts +28 -0
- package/dist/valkyrie/settings.d.ts.map +1 -0
- package/dist/valkyrie/settings.js +84 -0
- package/dist/valkyrie/settings.js.map +1 -0
- package/dist/vgn/index.d.ts +59 -0
- package/dist/vgn/index.d.ts.map +1 -0
- package/dist/vgn/index.js +165 -0
- package/dist/vgn/index.js.map +1 -0
- package/dist/wallhack/index.d.ts +165 -0
- package/dist/wallhack/index.d.ts.map +1 -0
- package/dist/wallhack/index.js +226 -0
- package/dist/wallhack/index.js.map +1 -0
- package/dist/wlmouse/index.d.ts +4 -0
- package/dist/wlmouse/index.d.ts.map +1 -0
- package/dist/wlmouse/index.js +7 -0
- package/dist/wlmouse/index.js.map +1 -0
- package/dist/wooting/index.d.ts +225 -0
- package/dist/wooting/index.d.ts.map +1 -0
- package/dist/wooting/index.js +296 -0
- package/dist/wooting/index.js.map +1 -0
- package/dist/zaunkoenig/index.d.ts +49 -0
- package/dist/zaunkoenig/index.d.ts.map +1 -0
- package/dist/zaunkoenig/index.js +127 -0
- package/dist/zaunkoenig/index.js.map +1 -0
- package/package.json +193 -0
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Corsair NXP-family configuration protocol as spoken by the NIGHTSWORD RGB
|
|
3
|
+
* (firmware 3.41), reconstructed from ckb-next's `nxp_proto.h` / `dpi.c` and
|
|
4
|
+
* corrected against real hardware. The full trace lives in
|
|
5
|
+
* `captures/corsair-nightsword/PROTOCOL.md`.
|
|
6
|
+
*
|
|
7
|
+
* Transport: 64-byte feature reports on report id 0 over the interface whose
|
|
8
|
+
* collection is usage page 0xffc2, usage 4. A GET is `sendFeatureReport` then
|
|
9
|
+
* `receiveFeatureReport`; the reply echoes request bytes 0–3. A SET produces
|
|
10
|
+
* no reply at all — the driver confirms it with the matching GET.
|
|
11
|
+
*
|
|
12
|
+
* Byte order is asymmetric on this firmware: DPI X/Y arrive big-endian in GET
|
|
13
|
+
* replies but must be sent little-endian in SET payloads. Identity fields are
|
|
14
|
+
* little-endian. Nothing here transports bytes; the WebHID client lives in
|
|
15
|
+
* `src/drivers/corsair/hid.ts`.
|
|
16
|
+
*/
|
|
17
|
+
export const CORSAIR_VENDOR_ID = 0x1b1c;
|
|
18
|
+
export const CORSAIR_USAGE_PAGE = 0xffc2;
|
|
19
|
+
/** Usage of the config collection. MI_00 also carries an 0xffc2 collection with usage 3 that never answers. */
|
|
20
|
+
export const CORSAIR_CONFIG_USAGE = 4;
|
|
21
|
+
export const CORSAIR_REPORT_ID = 0;
|
|
22
|
+
export const CORSAIR_PACKET_SIZE = 64;
|
|
23
|
+
export const CORSAIR_NIGHTSWORD_PRODUCT_ID = 0x1b5c;
|
|
24
|
+
export const CORSAIR_PRODUCTS = new Map([
|
|
25
|
+
[CORSAIR_NIGHTSWORD_PRODUCT_ID, {
|
|
26
|
+
name: "NIGHTSWORD RGB",
|
|
27
|
+
dpiMax: 18_000,
|
|
28
|
+
dpiStep: 1,
|
|
29
|
+
stages: 6,
|
|
30
|
+
verifiedFirmware: "3.41",
|
|
31
|
+
}],
|
|
32
|
+
]);
|
|
33
|
+
export const CORSAIR_PRODUCT_IDS = [...CORSAIR_PRODUCTS.keys()];
|
|
34
|
+
export const CORSAIR_COMMAND = {
|
|
35
|
+
get: 0x0e,
|
|
36
|
+
set: 0x07,
|
|
37
|
+
};
|
|
38
|
+
export const CORSAIR_FIELD = {
|
|
39
|
+
ident: 0x01,
|
|
40
|
+
pollRate: 0x0a,
|
|
41
|
+
mouse: 0x13,
|
|
42
|
+
profileId: 0x15,
|
|
43
|
+
profileName: 0x16,
|
|
44
|
+
};
|
|
45
|
+
/** `FIELD_MOUSE` subcommands (packet byte 2). */
|
|
46
|
+
export const CORSAIR_MOUSE = {
|
|
47
|
+
dpi: 0x02,
|
|
48
|
+
lift: 0x03,
|
|
49
|
+
snap: 0x04,
|
|
50
|
+
dpiMask: 0x05,
|
|
51
|
+
/** OR'd with the stage index: d0–d5. */
|
|
52
|
+
dpiProfile: 0xd0,
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Packet byte 3. Zero addresses the live/software settings; 1 would address the
|
|
56
|
+
* stored hardware profile, which returns zeros on the NIGHTSWORD. Live writes
|
|
57
|
+
* do not survive a power cycle.
|
|
58
|
+
*/
|
|
59
|
+
export const CORSAIR_LIVE_PROFILE = 0;
|
|
60
|
+
export const CORSAIR_STAGE_COUNT = 6;
|
|
61
|
+
/**
|
|
62
|
+
* Slot d0 is iCUE's "Sniper" stage (held-button DPI, yellow indicator); iCUE's
|
|
63
|
+
* numbered stages 1–5 are slots d1–d5. `MOUSE_DPI` reports the slot index, so
|
|
64
|
+
* a current stage of 2 means iCUE's Stage 2. Confirmed against the iCUE DPI
|
|
65
|
+
* panel on fw 3.41.
|
|
66
|
+
*/
|
|
67
|
+
export const CORSAIR_SNIPER_STAGE = 0;
|
|
68
|
+
export const CORSAIR_POLL_INTERVALS_MS = [1, 2, 4, 8];
|
|
69
|
+
export function corsairDevice(productId) {
|
|
70
|
+
const definition = CORSAIR_PRODUCTS.get(productId);
|
|
71
|
+
if (!definition)
|
|
72
|
+
throw new Error(`Unsupported Corsair product id 0x${productId.toString(16)}.`);
|
|
73
|
+
return definition;
|
|
74
|
+
}
|
|
75
|
+
/** A zero-padded 64-byte packet with `bytes` at the front. */
|
|
76
|
+
export function corsairPacket(...bytes) {
|
|
77
|
+
if (bytes.length > CORSAIR_PACKET_SIZE)
|
|
78
|
+
throw new Error("Corsair packet payload exceeds 64 bytes.");
|
|
79
|
+
const packet = new Uint8Array(CORSAIR_PACKET_SIZE);
|
|
80
|
+
packet.set(bytes.map(byteValue));
|
|
81
|
+
return packet;
|
|
82
|
+
}
|
|
83
|
+
/** `0x0341` → "3.41", matching how iCUE and ckb-next print the version. */
|
|
84
|
+
export function corsairFormatVersion(word) {
|
|
85
|
+
return `${(word >> 8) & 0xff}.${(word & 0xff).toString(16).padStart(2, "0")}`;
|
|
86
|
+
}
|
|
87
|
+
/** Slot indices whose bit is set in the `MOUSE_DPIMASK` byte. */
|
|
88
|
+
export function corsairEnabledStages(mask, stages = CORSAIR_STAGE_COUNT) {
|
|
89
|
+
const enabled = [];
|
|
90
|
+
for (let stage = 0; stage < stages; stage += 1) {
|
|
91
|
+
if (mask & (1 << stage))
|
|
92
|
+
enabled.push(stage);
|
|
93
|
+
}
|
|
94
|
+
return enabled;
|
|
95
|
+
}
|
|
96
|
+
export const corsairEncode = {
|
|
97
|
+
ident: () => corsairPacket(CORSAIR_COMMAND.get, CORSAIR_FIELD.ident, 0),
|
|
98
|
+
dpiMask: () => corsairPacket(CORSAIR_COMMAND.get, CORSAIR_FIELD.mouse, CORSAIR_MOUSE.dpiMask, CORSAIR_LIVE_PROFILE),
|
|
99
|
+
dpiStage: () => corsairPacket(CORSAIR_COMMAND.get, CORSAIR_FIELD.mouse, CORSAIR_MOUSE.dpi, CORSAIR_LIVE_PROFILE),
|
|
100
|
+
lift: () => corsairPacket(CORSAIR_COMMAND.get, CORSAIR_FIELD.mouse, CORSAIR_MOUSE.lift, CORSAIR_LIVE_PROFILE),
|
|
101
|
+
snap: () => corsairPacket(CORSAIR_COMMAND.get, CORSAIR_FIELD.mouse, CORSAIR_MOUSE.snap, CORSAIR_LIVE_PROFILE),
|
|
102
|
+
stage: (stage) => corsairPacket(CORSAIR_COMMAND.get, CORSAIR_FIELD.mouse, CORSAIR_MOUSE.dpiProfile | stageIndex(stage), CORSAIR_LIVE_PROFILE),
|
|
103
|
+
// Phase-2 writes. Encoded here so the byte layout is tested, but the
|
|
104
|
+
// read-only driver never sends them. None of these get a reply.
|
|
105
|
+
setStage: (stage) => corsairPacket(CORSAIR_COMMAND.set, CORSAIR_FIELD.mouse, CORSAIR_MOUSE.dpi, CORSAIR_LIVE_PROFILE, stageIndex(stage)),
|
|
106
|
+
setDpiMask: (mask) => {
|
|
107
|
+
if (!Number.isInteger(mask) || mask < 0 || mask >= 1 << CORSAIR_STAGE_COUNT) {
|
|
108
|
+
throw new Error(`Corsair DPI stage mask must be 0x00–0x${((1 << CORSAIR_STAGE_COUNT) - 1).toString(16)}.`);
|
|
109
|
+
}
|
|
110
|
+
return corsairPacket(CORSAIR_COMMAND.set, CORSAIR_FIELD.mouse, CORSAIR_MOUSE.dpiMask, CORSAIR_LIVE_PROFILE, mask);
|
|
111
|
+
},
|
|
112
|
+
/**
|
|
113
|
+
* SET payloads carry DPI little-endian. RGB is mandatory: a stage write
|
|
114
|
+
* without bytes 9–11 clears the stage colour, so a caller must read the stage
|
|
115
|
+
* first and pass its colour back.
|
|
116
|
+
*/
|
|
117
|
+
setStageDpi: (stage, x, y, rgb) => {
|
|
118
|
+
dpiValue(x);
|
|
119
|
+
dpiValue(y);
|
|
120
|
+
if (rgb.length !== 3)
|
|
121
|
+
throw new Error("Corsair stage colour must be an [r, g, b] triple.");
|
|
122
|
+
return corsairPacket(CORSAIR_COMMAND.set, CORSAIR_FIELD.mouse, CORSAIR_MOUSE.dpiProfile | stageIndex(stage), CORSAIR_LIVE_PROFILE, x !== y ? 1 : 0, x & 0xff, x >> 8, y & 0xff, y >> 8, ...rgb);
|
|
123
|
+
},
|
|
124
|
+
setLift: (height) => corsairPacket(CORSAIR_COMMAND.set, CORSAIR_FIELD.mouse, CORSAIR_MOUSE.lift, CORSAIR_LIVE_PROFILE, byteValue(height)),
|
|
125
|
+
/** Trailing 0x05 mirrors ckb-next; hardware accepts the write with or without it. */
|
|
126
|
+
setSnap: (enabled) => corsairPacket(CORSAIR_COMMAND.set, CORSAIR_FIELD.mouse, CORSAIR_MOUSE.snap, CORSAIR_LIVE_PROFILE, enabled ? 1 : 0, 0x05),
|
|
127
|
+
/** The device re-enumerates after this; the WebHID handle closes. */
|
|
128
|
+
setPollMs: (intervalMs) => {
|
|
129
|
+
if (!CORSAIR_POLL_INTERVALS_MS.includes(intervalMs))
|
|
130
|
+
throw new Error("Corsair polling interval must be 1, 2, 4, or 8 ms.");
|
|
131
|
+
return corsairPacket(CORSAIR_COMMAND.set, CORSAIR_FIELD.pollRate, 0, 0, intervalMs);
|
|
132
|
+
},
|
|
133
|
+
};
|
|
134
|
+
/** True when a GET reply echoes the request's command, field, subcommand, and profile bytes. */
|
|
135
|
+
export function corsairIsEcho(request, reply) {
|
|
136
|
+
if (reply.length < 4 || request.length < 4)
|
|
137
|
+
return false;
|
|
138
|
+
return reply[0] === request[0] && reply[1] === request[1] && reply[2] === request[2] && reply[3] === request[3];
|
|
139
|
+
}
|
|
140
|
+
export const corsairDecode = {
|
|
141
|
+
ident: (reply) => {
|
|
142
|
+
requireLength(reply, 17, "identity");
|
|
143
|
+
const pollIntervalMs = reply[16];
|
|
144
|
+
return {
|
|
145
|
+
firmware: u16le(reply, 8),
|
|
146
|
+
bootloader: u16le(reply, 10),
|
|
147
|
+
vendorId: u16le(reply, 12),
|
|
148
|
+
productId: u16le(reply, 14),
|
|
149
|
+
pollIntervalMs,
|
|
150
|
+
pollingRateHz: pollIntervalMs > 0 ? Math.round(1000 / pollIntervalMs) : 0,
|
|
151
|
+
};
|
|
152
|
+
},
|
|
153
|
+
byte4: (reply) => {
|
|
154
|
+
requireLength(reply, 5, "single-byte");
|
|
155
|
+
return reply[4];
|
|
156
|
+
},
|
|
157
|
+
dpiMask: (reply) => corsairDecode.byte4(reply),
|
|
158
|
+
lift: (reply) => corsairDecode.byte4(reply),
|
|
159
|
+
snap: (reply) => corsairDecode.byte4(reply) !== 0,
|
|
160
|
+
/** GET replies carry DPI big-endian. */
|
|
161
|
+
dpiStage: (reply) => {
|
|
162
|
+
requireLength(reply, 9, "current-DPI");
|
|
163
|
+
return { stage: reply[4], x: u16be(reply, 5), y: u16be(reply, 7) };
|
|
164
|
+
},
|
|
165
|
+
stage: (reply) => {
|
|
166
|
+
requireLength(reply, 12, "DPI-stage");
|
|
167
|
+
return { x: u16be(reply, 5), y: u16be(reply, 7), rgb: [reply[9], reply[10], reply[11]] };
|
|
168
|
+
},
|
|
169
|
+
};
|
|
170
|
+
export function corsairRgbHex(rgb) {
|
|
171
|
+
return `#${rgb.map((channel) => channel.toString(16).padStart(2, "0")).join("")}`;
|
|
172
|
+
}
|
|
173
|
+
/** "#rrggbb" (case-insensitive, hash optional) → [r, g, b]. */
|
|
174
|
+
export function corsairParseRgbHex(color) {
|
|
175
|
+
const match = /^#?([0-9a-f]{6})$/i.exec(color.trim());
|
|
176
|
+
if (!match)
|
|
177
|
+
throw new Error(`Corsair stage colour must be #rrggbb, got "${color}".`);
|
|
178
|
+
const value = Number.parseInt(match[1], 16);
|
|
179
|
+
return [(value >> 16) & 0xff, (value >> 8) & 0xff, value & 0xff];
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Lift-off height is a raw 1–5 byte (every value accepted on fw 3.41). iCUE
|
|
183
|
+
* offers no manual lift-off control for this mouse — only its spiral surface
|
|
184
|
+
* calibration — so there are no vendor labels to match; the 1–5 scale is the
|
|
185
|
+
* one ckb-next exposes as a slider. The three-stop names are this driver's own
|
|
186
|
+
* mapping onto it: Low = 1, Medium = 3, High = 5 on write; 1–2 → Low,
|
|
187
|
+
* 3 → Medium, 4–5 → High on read.
|
|
188
|
+
*/
|
|
189
|
+
export const CORSAIR_LIFT_MIN = 1;
|
|
190
|
+
export const CORSAIR_LIFT_MAX = 5;
|
|
191
|
+
export const CORSAIR_LIFT_LEVELS = { Low: 1, Medium: 3, High: 5 };
|
|
192
|
+
export function corsairLiftName(raw) {
|
|
193
|
+
if (!Number.isInteger(raw) || raw < CORSAIR_LIFT_MIN || raw > CORSAIR_LIFT_MAX)
|
|
194
|
+
return null;
|
|
195
|
+
return raw <= 2 ? "Low" : raw === 3 ? "Medium" : "High";
|
|
196
|
+
}
|
|
197
|
+
function stageIndex(stage) {
|
|
198
|
+
if (!Number.isInteger(stage) || stage < 0 || stage >= CORSAIR_STAGE_COUNT) {
|
|
199
|
+
throw new Error(`Corsair DPI stage must be 0–${CORSAIR_STAGE_COUNT - 1}.`);
|
|
200
|
+
}
|
|
201
|
+
return stage;
|
|
202
|
+
}
|
|
203
|
+
function dpiValue(dpi) {
|
|
204
|
+
if (!Number.isInteger(dpi) || dpi < 0 || dpi > 0xffff)
|
|
205
|
+
throw new Error("Corsair DPI must be an integer from 0 to 65535.");
|
|
206
|
+
return dpi;
|
|
207
|
+
}
|
|
208
|
+
function byteValue(value) {
|
|
209
|
+
if (!Number.isInteger(value) || value < 0 || value > 0xff)
|
|
210
|
+
throw new Error(`Corsair packet byte ${value} is out of range.`);
|
|
211
|
+
return value;
|
|
212
|
+
}
|
|
213
|
+
function requireLength(reply, length, what) {
|
|
214
|
+
if (reply.length < length)
|
|
215
|
+
throw new Error(`Corsair ${what} reply is shorter than ${length} bytes.`);
|
|
216
|
+
}
|
|
217
|
+
function u16le(bytes, offset) {
|
|
218
|
+
return bytes[offset] | (bytes[offset + 1] << 8);
|
|
219
|
+
}
|
|
220
|
+
function u16be(bytes, offset) {
|
|
221
|
+
return (bytes[offset] << 8) | bytes[offset + 1];
|
|
222
|
+
}
|
|
223
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/corsair/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dareu A950 PRO Mg (TM271F) Jm-family configuration codec.
|
|
3
|
+
*
|
|
4
|
+
* Framing is derived from Dareu's Jm WebHID panel (`jmdevice.v_1.3.24.js`).
|
|
5
|
+
* The vendor id, command collection, and report-8 size below were measured
|
|
6
|
+
* from the TM265 receiver; clients must still require that exact shape.
|
|
7
|
+
*/
|
|
8
|
+
export declare const DAREU_DIRECT_PRODUCT_ID = 4375;
|
|
9
|
+
export declare const DAREU_RECEIVER_PRODUCT_ID = 4372;
|
|
10
|
+
export declare const DAREU_PRODUCT_IDS: readonly [4375, 4372];
|
|
11
|
+
/** Captured from the connected TM265 receiver's USB and HID descriptors. */
|
|
12
|
+
export declare const DAREU_VENDOR_ID = 9741;
|
|
13
|
+
/** Receiver service collection that must accompany the report-8 interface. */
|
|
14
|
+
export declare const DAREU_RECEIVER_USAGE_PAGE = 65285;
|
|
15
|
+
export declare const DAREU_RECEIVER_USAGE = 0;
|
|
16
|
+
/** Jm command collection: report ID 8 has 16-byte input/output bodies. */
|
|
17
|
+
export declare const DAREU_COMMAND_USAGE_PAGE = 65282;
|
|
18
|
+
export declare const DAREU_COMMAND_USAGE = 2;
|
|
19
|
+
export interface DareuProduct {
|
|
20
|
+
model: string;
|
|
21
|
+
name: string;
|
|
22
|
+
transport: "wired" | "receiver";
|
|
23
|
+
/** True only for a transport exercised against the retail A950 PRO Mg. */
|
|
24
|
+
verified: boolean;
|
|
25
|
+
}
|
|
26
|
+
export declare const DAREU_PRODUCTS: ReadonlyMap<number, DareuProduct>;
|
|
27
|
+
export declare const DAREU_REPORT_ID = 8;
|
|
28
|
+
export declare const DAREU_REPORT_SIZE = 16;
|
|
29
|
+
export declare const DAREU_MAX_BUFFER_CHUNK = 10;
|
|
30
|
+
export declare const DAREU_MAX_BUFFER_ADDRESS = 65535;
|
|
31
|
+
export declare const DAREU_DPI_MIN = 100;
|
|
32
|
+
export declare const DAREU_DPI_MAX = 26000;
|
|
33
|
+
export declare const DAREU_DPI_STEP = 50;
|
|
34
|
+
export declare const DAREU_DEFAULT_DPI_STAGES: readonly [400, 800, 1600, 3200, 6400];
|
|
35
|
+
export declare const DAREU_DEFAULT_ACTIVE_DPI_STAGE = 2;
|
|
36
|
+
export declare const DAREU_BUTTON_IDS: readonly [1, 2, 3, 4, 5, 6];
|
|
37
|
+
/** JmMouse reports four numbered, onboard configuration banks. */
|
|
38
|
+
export declare const DAREU_PROFILE_COUNT = 4;
|
|
39
|
+
export declare const DAREU_WIRED_POLLING_RATES: readonly [125, 250, 500, 1000];
|
|
40
|
+
export declare const DAREU_WIRELESS_POLLING_RATES: readonly [125, 250, 500, 1000, 2000, 4000];
|
|
41
|
+
/** Dareu's supplied energy page exposes these mouse and DPI-LED sleep values. */
|
|
42
|
+
export declare const DAREU_SLEEP_TIMEOUT_SECONDS: readonly [60, 180, 300, 600, 1200, 1800, 2400, 0];
|
|
43
|
+
/** DPI indicator controls offered by the A950 vendor page. */
|
|
44
|
+
export declare const DAREU_DPI_LED_EFFECTS: readonly [0, 1, 2];
|
|
45
|
+
export declare const DAREU_DPI_LED_BRIGHTNESS_RANGE: readonly [1, 10];
|
|
46
|
+
export declare const DAREU_DPI_LED_SPEED_RANGE: readonly [1, 5];
|
|
47
|
+
export declare const DAREU_MEMORY_ADDRESS: {
|
|
48
|
+
readonly pollingRate: 0;
|
|
49
|
+
readonly dpiHeader: 2;
|
|
50
|
+
readonly dpiLegacyStages: 12;
|
|
51
|
+
readonly buttonAssignments: 96;
|
|
52
|
+
readonly dpiLed: 76;
|
|
53
|
+
readonly dpiLedEnabled: 82;
|
|
54
|
+
readonly dpiLedSleep: 173;
|
|
55
|
+
readonly sleepEnabled: 181;
|
|
56
|
+
readonly sleepTimeout: 183;
|
|
57
|
+
readonly dpiExtendedStages: 6912;
|
|
58
|
+
};
|
|
59
|
+
export declare const DAREU_BUTTONS: readonly [{
|
|
60
|
+
readonly id: 1;
|
|
61
|
+
readonly name: "Left";
|
|
62
|
+
}, {
|
|
63
|
+
readonly id: 2;
|
|
64
|
+
readonly name: "Right";
|
|
65
|
+
}, {
|
|
66
|
+
readonly id: 3;
|
|
67
|
+
readonly name: "Middle";
|
|
68
|
+
}, {
|
|
69
|
+
readonly id: 4;
|
|
70
|
+
readonly name: "Back";
|
|
71
|
+
}, {
|
|
72
|
+
readonly id: 5;
|
|
73
|
+
readonly name: "Forward";
|
|
74
|
+
}, {
|
|
75
|
+
readonly id: 6;
|
|
76
|
+
readonly name: "DPI";
|
|
77
|
+
}];
|
|
78
|
+
export declare const DAREU_BUTTON_ACTIONS: readonly ["Left Click", "Right Click", "Middle Click", "Back", "Forward", "DPI Cycle", "DPI Up", "DPI Down"];
|
|
79
|
+
/**
|
|
80
|
+
* Jm checksum. The vendor calculates it over every byte except the final
|
|
81
|
+
* checksum slot; output frames include report ID 8 in that sum.
|
|
82
|
+
*/
|
|
83
|
+
export declare function dareuChecksum(bytes: Uint8Array): number;
|
|
84
|
+
/** Append the per-value checksum stored in Jm configuration memory. */
|
|
85
|
+
export declare function dareuWithMemoryChecksum(data: Uint8Array): Uint8Array;
|
|
86
|
+
export declare function dareuHasValidMemoryChecksum(bytes: Uint8Array): boolean;
|
|
87
|
+
/** 16-byte body for report ID 8; callers pass this to `sendReport(8, body)`. */
|
|
88
|
+
export declare function dareuCheckActiveRequest(): Uint8Array;
|
|
89
|
+
/** 16-byte body for the Jm battery-status request. */
|
|
90
|
+
export declare function dareuGetBatteryRequest(): Uint8Array;
|
|
91
|
+
/** Read the one-based JmMouse profile currently active on the mouse. */
|
|
92
|
+
export declare function dareuGetActiveProfileRequest(): Uint8Array;
|
|
93
|
+
/** Switch the active JmMouse profile using the mouse (0x81) target. */
|
|
94
|
+
export declare function dareuSetActiveProfileRequest(profile: number): Uint8Array;
|
|
95
|
+
/** Get the paired mouse firmware version (two-byte big-endian Jm value). */
|
|
96
|
+
export declare function dareuGetMouseFirmwareRequest(): Uint8Array;
|
|
97
|
+
/** Get the receiver firmware version (two-byte big-endian Jm value). */
|
|
98
|
+
export declare function dareuGetReceiverFirmwareRequest(): Uint8Array;
|
|
99
|
+
/** A reply must be a 16-byte report for the requested command, not event 10. */
|
|
100
|
+
export declare function dareuMatchesReply(request: Uint8Array, reply: Uint8Array): boolean;
|
|
101
|
+
/** Decode a well-formed battery reply. Status is intentionally left raw. */
|
|
102
|
+
export declare function dareuDecodeBattery(reply: Uint8Array): {
|
|
103
|
+
percent: number;
|
|
104
|
+
status: number;
|
|
105
|
+
} | null;
|
|
106
|
+
export declare function dareuDecodeActiveProfile(reply: Uint8Array): number | null;
|
|
107
|
+
/** Decode the exact two-byte big-endian version reported by Jm firmware. */
|
|
108
|
+
export declare function dareuDecodeFirmwareVersion(reply: Uint8Array, command: 18 | 29): number | null;
|
|
109
|
+
/** Split a bounded memory read into the vendor protocol's ten-byte requests. */
|
|
110
|
+
export declare function dareuReadBufferRequests(address: number, length: number): Uint8Array[];
|
|
111
|
+
/** Extract the requested data from a matching Jm buffer-read reply. */
|
|
112
|
+
export declare function dareuDecodeReadBufferReply(request: Uint8Array, reply: Uint8Array): Uint8Array | null;
|
|
113
|
+
/** Split a bounded memory write into ten-byte commands without mutating data. */
|
|
114
|
+
export declare function dareuWriteBufferRequests(address: number, data: Uint8Array): Uint8Array[];
|
|
115
|
+
export declare function dareuIsValidDpi(dpi: number): boolean;
|
|
116
|
+
/** Convert a UI DPI value to the legacy Jm sensor-map identifier. */
|
|
117
|
+
export declare function dareuDpiId(dpi: number): number | null;
|
|
118
|
+
/** Convert a legacy Jm sensor-map identifier to its exact UI DPI value. */
|
|
119
|
+
export declare function dareuDpiFromId(id: number): number | null;
|
|
120
|
+
export declare function dareuPollingRateId(hz: number, transport: "wired" | "receiver"): number | null;
|
|
121
|
+
export declare function dareuPollingRateHz(id: number, transport: "wired" | "receiver"): number | null;
|
|
122
|
+
export declare function dareuIsValidDpiLedSetting(effect: number, brightness: number, speed: number): boolean;
|
|
123
|
+
export declare function dareuIsValidSleepTimeout(seconds: number): boolean;
|
|
124
|
+
/** Decode one Jm button record. Unknown, macro, and corrupt records stay opaque. */
|
|
125
|
+
export declare function dareuDecodeButtonAssignment(record: Uint8Array): string | null;
|
|
126
|
+
/** Encode only the ordinary mouse-button mappings proven in Dareu's Jm panel. */
|
|
127
|
+
export declare function dareuEncodeButtonAssignment(action: string): Uint8Array | null;
|
|
128
|
+
export interface DareuDpiLedState {
|
|
129
|
+
mode: 0 | 1 | 2;
|
|
130
|
+
brightness: number;
|
|
131
|
+
speed: number;
|
|
132
|
+
}
|
|
133
|
+
/** Decode the four checksum-protected values in the DPI-indicator block. */
|
|
134
|
+
export declare function dareuDecodeDpiLedState(buffer: Uint8Array): DareuDpiLedState | null;
|
|
135
|
+
export declare function dareuEncodeDpiLedBrightness(brightness: number): Uint8Array | null;
|
|
136
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dareu/index.ts"],"names":[],"mappings":"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"}
|