@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,310 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SteelSeries per-PID catalog.
|
|
3
|
+
*
|
|
4
|
+
* SteelSeries is a multi-family vendor: rivalcfg alone documents four
|
|
5
|
+
* incompatible Rival 3 command sets (Gen 1, Gen 2, Wireless, Wireless Gen 2),
|
|
6
|
+
* and libratbag distinguishes four more protocol versions for older mice. The
|
|
7
|
+
* `family` field selects which codec module drives a product; command bytes,
|
|
8
|
+
* framing, and value tables live in that module, never here, and no family's
|
|
9
|
+
* codec branches on product id.
|
|
10
|
+
*
|
|
11
|
+
* Only PIDs whose protocol has been traced to a public implementation belong
|
|
12
|
+
* here. The Rival 3 Wireless Gen 2 (`0x1872`) and Rival 3 Gen 2 (`0x1870`)
|
|
13
|
+
* are deliberately absent: their command sets are documented as different
|
|
14
|
+
* from every family below, and listing them would claim devices this codec
|
|
15
|
+
* would misprogram. The Rival 3 Wireless (`0x1830`) is present with family
|
|
16
|
+
* `"rival3-wireless"` — its own module, `./rival3-wireless.ts`, distinct from
|
|
17
|
+
* both Rival 3 Gen 1 and Aerox 3 (different command bytes throughout, a
|
|
18
|
+
* different DPI sensor table, and, unlike either wired family, a readable
|
|
19
|
+
* battery/firmware state — see that module's doc comment).
|
|
20
|
+
*
|
|
21
|
+
* The Aerox 3 (`0x1836`, family `"aerox3"`) is a separate protocol family
|
|
22
|
+
* from Rival 3 despite both being SteelSeries, single-byte vs. two-byte
|
|
23
|
+
* command prefixes and all — see `./aerox3.ts`'s doc comment, including its
|
|
24
|
+
* reconciliation of PR flozz/rivalcfg#269's Rival 3 Gen 2 claim (not added
|
|
25
|
+
* here: its DPI command differs from Aerox 3's even though most other
|
|
26
|
+
* commands match).
|
|
27
|
+
*
|
|
28
|
+
* The Aerox 5 is split across **two** families despite one product line and
|
|
29
|
+
* mostly-shared command bytes: `"aerox5"` (`0x1850`, the plain wired mouse —
|
|
30
|
+
* see `./aerox5.ts`) and `"aerox5-wireless"` (the separately-sold Aerox 5
|
|
31
|
+
* Wireless, six PIDs across its USB-cabled and 2.4 GHz dongle modes — see
|
|
32
|
+
* `./aerox5-wireless.ts`). The two families' polling-rate byte values and
|
|
33
|
+
* RGB zone-color packet shapes differ even though several other command
|
|
34
|
+
* bytes match; do not assume one family's codec for the other's PIDs.
|
|
35
|
+
*
|
|
36
|
+
* The Aerox 9 Wireless (`"aerox9-wireless"`, four PIDs across its
|
|
37
|
+
* USB-cabled and 2.4 GHz dongle modes — see `./aerox9-wireless.ts`) is its
|
|
38
|
+
* own family, not folded into `"aerox5-wireless"` despite sharing the same
|
|
39
|
+
* `_patch_command`-style wireless-flag transform and several command bytes:
|
|
40
|
+
* its RGB zone commands, dim timer, and battery read match Aerox 5
|
|
41
|
+
* Wireless's byte-for-byte, but it defines no button-mapping command at all
|
|
42
|
+
* (`./aerox9-wireless.ts`'s doc comment) where Aerox 5 Wireless does, and
|
|
43
|
+
* its product-id space is disjoint from every other family here.
|
|
44
|
+
*
|
|
45
|
+
* The Prime+ (`0x182C`, family `"prime-plus"`) is its own family per this
|
|
46
|
+
* rollout's per-cluster scoping, even though — see `./prime-plus.ts`'s doc
|
|
47
|
+
* comment for the full corroboration-gap disclosure — its rivalcfg profile
|
|
48
|
+
* (`prime_plus.py`) is byte-identical to plain Prime's (`prime.py`, PIDs
|
|
49
|
+
* `0x182E`/`0x182A`/`0x1856`, none of which are listed here: plain/non-Plus
|
|
50
|
+
* Prime is out of scope for this cluster and deliberately not added).
|
|
51
|
+
*
|
|
52
|
+
* The Prime Mini Wireless (`"prime-mini-wireless"`, PIDs `0x184A` wired /
|
|
53
|
+
* `0x1848` 2.4 GHz — see `./prime-mini-wireless.ts`) is its own family for
|
|
54
|
+
* the same reason: rivalcfg documents it and the plain (non-Mini) Prime
|
|
55
|
+
* Wireless as one shared `settings` dict inside
|
|
56
|
+
* `prime_wireless_wired.py`/`prime_wireless_wireless.py`, but the plain
|
|
57
|
+
* Prime Wireless's PIDs (`0x1842` wired / `0x1840` 2.4 GHz) are out of scope
|
|
58
|
+
* for this cluster and deliberately not added here.
|
|
59
|
+
*/
|
|
60
|
+
export const STEELSERIES_VENDOR_ID = 0x1038;
|
|
61
|
+
export const STEELSERIES_PRODUCTS = new Map([
|
|
62
|
+
// Pre-0.37 firmware enumeration.
|
|
63
|
+
[0x1824, {
|
|
64
|
+
model: "Rival 3",
|
|
65
|
+
family: "rival3",
|
|
66
|
+
wireless: false,
|
|
67
|
+
settingsReadable: false,
|
|
68
|
+
hasFirmwareQuery: true,
|
|
69
|
+
verified: false,
|
|
70
|
+
}],
|
|
71
|
+
// The same mouse re-enumerated after the v0.37.0.0 firmware update; rivalcfg
|
|
72
|
+
// lists both ids against one profile and OpenRGB names 0x1824 "Old Firmware".
|
|
73
|
+
[0x184c, {
|
|
74
|
+
model: "Rival 3",
|
|
75
|
+
family: "rival3",
|
|
76
|
+
wireless: false,
|
|
77
|
+
settingsReadable: false,
|
|
78
|
+
hasFirmwareQuery: true,
|
|
79
|
+
verified: false,
|
|
80
|
+
}],
|
|
81
|
+
// aerox3.py defines no getter and no firmware-query command for this family.
|
|
82
|
+
[0x1836, {
|
|
83
|
+
model: "Aerox 3",
|
|
84
|
+
family: "aerox3",
|
|
85
|
+
wireless: false,
|
|
86
|
+
settingsReadable: false,
|
|
87
|
+
hasFirmwareQuery: false,
|
|
88
|
+
verified: false,
|
|
89
|
+
}],
|
|
90
|
+
// rival3_wireless.py: "2.4 GHz mode", endpoint 3. Own command set (0x20/
|
|
91
|
+
// 0x17/0x19), own DPI table (TrueMove Air), plus a battery_level read
|
|
92
|
+
// (0xAA 0x01) neither Rival 3 Gen 1 nor Aerox 3 has. See ./rival3-wireless.ts.
|
|
93
|
+
[0x1830, {
|
|
94
|
+
model: "Rival 3 Wireless",
|
|
95
|
+
family: "rival3-wireless",
|
|
96
|
+
wireless: true,
|
|
97
|
+
settingsReadable: false,
|
|
98
|
+
hasFirmwareQuery: true,
|
|
99
|
+
verified: false,
|
|
100
|
+
}],
|
|
101
|
+
// aerox5.py: plain wired Aerox 5. No getter, no firmware-query command.
|
|
102
|
+
[0x1850, {
|
|
103
|
+
model: "Aerox 5",
|
|
104
|
+
family: "aerox5",
|
|
105
|
+
wireless: false,
|
|
106
|
+
settingsReadable: false,
|
|
107
|
+
hasFirmwareQuery: false,
|
|
108
|
+
verified: false,
|
|
109
|
+
}],
|
|
110
|
+
// aerox5_wireless_wired.py: Aerox 5 Wireless in USB-cabled mode. Own
|
|
111
|
+
// command set from the plain Aerox 5 (different polling-rate bytes,
|
|
112
|
+
// different RGB zone packing, extra sleep/dim timers, a battery read the
|
|
113
|
+
// plain Aerox 5 has no equivalent of). No firmware-query command.
|
|
114
|
+
[0x1854, {
|
|
115
|
+
model: "Aerox 5 Wireless (wired mode)",
|
|
116
|
+
family: "aerox5-wireless",
|
|
117
|
+
wireless: true,
|
|
118
|
+
settingsReadable: false,
|
|
119
|
+
hasFirmwareQuery: false,
|
|
120
|
+
verified: false,
|
|
121
|
+
}],
|
|
122
|
+
[0x185e, {
|
|
123
|
+
model: "Aerox 5 Wireless Destiny 2 Edition (wired mode)",
|
|
124
|
+
family: "aerox5-wireless",
|
|
125
|
+
wireless: true,
|
|
126
|
+
settingsReadable: false,
|
|
127
|
+
hasFirmwareQuery: false,
|
|
128
|
+
verified: false,
|
|
129
|
+
}],
|
|
130
|
+
[0x1862, {
|
|
131
|
+
model: "Aerox 5 Wireless Diablo IV Edition (wired mode)",
|
|
132
|
+
family: "aerox5-wireless",
|
|
133
|
+
wireless: true,
|
|
134
|
+
settingsReadable: false,
|
|
135
|
+
hasFirmwareQuery: false,
|
|
136
|
+
verified: false,
|
|
137
|
+
}],
|
|
138
|
+
// aerox5_wireless_wireless.py: same mouse, 2.4 GHz dongle mode. Every
|
|
139
|
+
// command byte is `aerox5_wireless_wired.py`'s with `0b01000000` ORed into
|
|
140
|
+
// byte 0 (see ./aerox5-wireless.ts's `applyWirelessFlag`).
|
|
141
|
+
[0x1852, {
|
|
142
|
+
model: "Aerox 5 Wireless (2.4 GHz mode)",
|
|
143
|
+
family: "aerox5-wireless",
|
|
144
|
+
wireless: true,
|
|
145
|
+
settingsReadable: false,
|
|
146
|
+
hasFirmwareQuery: false,
|
|
147
|
+
verified: false,
|
|
148
|
+
}],
|
|
149
|
+
[0x185c, {
|
|
150
|
+
model: "Aerox 5 Wireless Destiny 2 Edition (2.4 GHz mode)",
|
|
151
|
+
family: "aerox5-wireless",
|
|
152
|
+
wireless: true,
|
|
153
|
+
settingsReadable: false,
|
|
154
|
+
hasFirmwareQuery: false,
|
|
155
|
+
verified: false,
|
|
156
|
+
}],
|
|
157
|
+
[0x1860, {
|
|
158
|
+
model: "Aerox 5 Wireless Diablo IV Edition (2.4 GHz mode)",
|
|
159
|
+
family: "aerox5-wireless",
|
|
160
|
+
wireless: true,
|
|
161
|
+
settingsReadable: false,
|
|
162
|
+
hasFirmwareQuery: false,
|
|
163
|
+
verified: false,
|
|
164
|
+
}],
|
|
165
|
+
// rival650.py: wired/USB-cabled mode, endpoint 0. Own command set (0x15/
|
|
166
|
+
// 0x17/0x20/0x19/0x2B), a battery_level read (0xAA 0x01, byte-identical
|
|
167
|
+
// shape to Rival 3 Wireless's) but no firmware-query command. See
|
|
168
|
+
// ./rival650.ts.
|
|
169
|
+
[0x172b, {
|
|
170
|
+
model: "Rival 650 Wireless (wired mode)",
|
|
171
|
+
family: "rival650",
|
|
172
|
+
wireless: true,
|
|
173
|
+
settingsReadable: false,
|
|
174
|
+
hasFirmwareQuery: false,
|
|
175
|
+
verified: false,
|
|
176
|
+
}],
|
|
177
|
+
// rival650.py: same mouse, 2.4 GHz wireless mode. Same command bytes as
|
|
178
|
+
// wired mode — no wireless-flag transform, unlike Aerox 5 Wireless.
|
|
179
|
+
[0x1726, {
|
|
180
|
+
model: "Rival 650 Wireless (2.4 GHz wireless mode)",
|
|
181
|
+
family: "rival650",
|
|
182
|
+
wireless: true,
|
|
183
|
+
settingsReadable: false,
|
|
184
|
+
hasFirmwareQuery: false,
|
|
185
|
+
verified: false,
|
|
186
|
+
}],
|
|
187
|
+
// aerox9_wireless_wired.py: Aerox 9 Wireless in USB-cabled mode. Shares
|
|
188
|
+
// the applyWirelessFlag transform with Aerox 5 Wireless (confirmed by
|
|
189
|
+
// diffing the two rivalcfg wired/wireless file pairs) but defines no
|
|
190
|
+
// button-mapping command. No firmware-query command.
|
|
191
|
+
[0x185a, {
|
|
192
|
+
model: "Aerox 9 Wireless (wired mode)",
|
|
193
|
+
family: "aerox9-wireless",
|
|
194
|
+
wireless: true,
|
|
195
|
+
settingsReadable: false,
|
|
196
|
+
hasFirmwareQuery: false,
|
|
197
|
+
verified: false,
|
|
198
|
+
}],
|
|
199
|
+
[0x1876, {
|
|
200
|
+
model: "Aerox 9 Wireless WOW Edition (wired mode)",
|
|
201
|
+
family: "aerox9-wireless",
|
|
202
|
+
wireless: true,
|
|
203
|
+
settingsReadable: false,
|
|
204
|
+
hasFirmwareQuery: false,
|
|
205
|
+
verified: false,
|
|
206
|
+
}],
|
|
207
|
+
// aerox9_wireless_wireless.py: same mouse, 2.4 GHz dongle mode. Every
|
|
208
|
+
// command byte is `aerox9_wireless_wired.py`'s with `0b01000000` ORed into
|
|
209
|
+
// byte 0 (see ./aerox9-wireless.ts's `applyWirelessFlag`).
|
|
210
|
+
[0x1858, {
|
|
211
|
+
model: "Aerox 9 Wireless (2.4 GHz mode)",
|
|
212
|
+
family: "aerox9-wireless",
|
|
213
|
+
wireless: true,
|
|
214
|
+
settingsReadable: false,
|
|
215
|
+
hasFirmwareQuery: false,
|
|
216
|
+
verified: false,
|
|
217
|
+
}],
|
|
218
|
+
[0x1874, {
|
|
219
|
+
model: "Aerox 9 Wireless WOW Edition (2.4 GHz mode)",
|
|
220
|
+
family: "aerox9-wireless",
|
|
221
|
+
wireless: true,
|
|
222
|
+
settingsReadable: false,
|
|
223
|
+
hasFirmwareQuery: false,
|
|
224
|
+
verified: false,
|
|
225
|
+
}],
|
|
226
|
+
// prime_plus.py: wired only, endpoint 0. No getter, no firmware-query
|
|
227
|
+
// command. Protocol is byte-identical to plain Prime's — see
|
|
228
|
+
// ./prime-plus.ts's doc comment for the full disclosure.
|
|
229
|
+
[0x182c, {
|
|
230
|
+
model: "Prime+",
|
|
231
|
+
family: "prime-plus",
|
|
232
|
+
wireless: false,
|
|
233
|
+
settingsReadable: false,
|
|
234
|
+
hasFirmwareQuery: false,
|
|
235
|
+
verified: false,
|
|
236
|
+
}],
|
|
237
|
+
// rival310.py: wired only, endpoint 0. Own command set (0x53/0x54/0x5B/
|
|
238
|
+
// 0x31), a linear (non-table) DPI encoding, and a readable firmware
|
|
239
|
+
// version behind 0x90 00 — see ./rival310.ts's doc comment, including its
|
|
240
|
+
// explicit libratbag/OpenRGB corroboration-gap disclosure.
|
|
241
|
+
[0x1720, {
|
|
242
|
+
model: "Rival 310",
|
|
243
|
+
family: "rival310",
|
|
244
|
+
wireless: false,
|
|
245
|
+
settingsReadable: false,
|
|
246
|
+
hasFirmwareQuery: true,
|
|
247
|
+
verified: false,
|
|
248
|
+
}],
|
|
249
|
+
[0x171e, {
|
|
250
|
+
model: "Rival 310 CS:GO Howl Edition",
|
|
251
|
+
family: "rival310",
|
|
252
|
+
wireless: false,
|
|
253
|
+
settingsReadable: false,
|
|
254
|
+
hasFirmwareQuery: true,
|
|
255
|
+
verified: false,
|
|
256
|
+
}],
|
|
257
|
+
[0x1736, {
|
|
258
|
+
model: "Rival 310 PUBG Edition",
|
|
259
|
+
family: "rival310",
|
|
260
|
+
wireless: false,
|
|
261
|
+
settingsReadable: false,
|
|
262
|
+
hasFirmwareQuery: true,
|
|
263
|
+
verified: false,
|
|
264
|
+
}],
|
|
265
|
+
// prime_wireless_wired.py: Prime Mini Wireless in USB-cabled mode (one of
|
|
266
|
+
// two models in that file's shared profile — the other is the plain Prime
|
|
267
|
+
// Wireless, out of scope for this cluster, see the doc comment above).
|
|
268
|
+
// No firmware-query command.
|
|
269
|
+
[0x184a, {
|
|
270
|
+
model: "Prime Mini Wireless (wired mode)",
|
|
271
|
+
family: "prime-mini-wireless",
|
|
272
|
+
wireless: true,
|
|
273
|
+
settingsReadable: false,
|
|
274
|
+
hasFirmwareQuery: false,
|
|
275
|
+
verified: false,
|
|
276
|
+
}],
|
|
277
|
+
// prime_wireless_wireless.py: same mouse, 2.4 GHz dongle mode. Every
|
|
278
|
+
// command byte is `prime_wireless_wired.py`'s with `0b01000000` ORed into
|
|
279
|
+
// byte 0 (see ./prime-mini-wireless.ts's `applyWirelessFlag`).
|
|
280
|
+
[0x1848, {
|
|
281
|
+
model: "Prime Mini Wireless (2.4 GHz mode)",
|
|
282
|
+
family: "prime-mini-wireless",
|
|
283
|
+
wireless: true,
|
|
284
|
+
settingsReadable: false,
|
|
285
|
+
hasFirmwareQuery: false,
|
|
286
|
+
verified: false,
|
|
287
|
+
}],
|
|
288
|
+
// sensei_ten.py: wired only, endpoint 0. Own command set (0x54/0x55/0x5B/
|
|
289
|
+
// 0x31/0x59), a linear (non-table) DPI encoding distinct from rival310's
|
|
290
|
+
// (2-byte little-endian words vs. 1-byte), and a readable firmware version
|
|
291
|
+
// behind 0x90 00 — see ./sensei-ten.ts's doc comment, including its
|
|
292
|
+
// explicit libratbag/OpenRGB corroboration-gap disclosure.
|
|
293
|
+
[0x1832, {
|
|
294
|
+
model: "Sensei TEN",
|
|
295
|
+
family: "sensei-ten",
|
|
296
|
+
wireless: false,
|
|
297
|
+
settingsReadable: false,
|
|
298
|
+
hasFirmwareQuery: true,
|
|
299
|
+
verified: false,
|
|
300
|
+
}],
|
|
301
|
+
[0x1834, {
|
|
302
|
+
model: "Sensei TEN CS:GO Neon Rider Edition",
|
|
303
|
+
family: "sensei-ten",
|
|
304
|
+
wireless: false,
|
|
305
|
+
settingsReadable: false,
|
|
306
|
+
hasFirmwareQuery: true,
|
|
307
|
+
verified: false,
|
|
308
|
+
}],
|
|
309
|
+
]);
|
|
310
|
+
//# sourceMappingURL=devices.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devices.js","sourceRoot":"","sources":["../../src/steelseries/devices.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from "./rival3.js";
|
|
2
|
+
export * from "./rival310.js";
|
|
3
|
+
export * from "./aerox3.js";
|
|
4
|
+
export * from "./rival3-wireless.js";
|
|
5
|
+
export * from "./aerox5.js";
|
|
6
|
+
export * from "./aerox5-wireless.js";
|
|
7
|
+
export * from "./rival650.js";
|
|
8
|
+
export * from "./aerox9-wireless.js";
|
|
9
|
+
export * from "./prime-plus.js";
|
|
10
|
+
export * from "./prime-mini-wireless.js";
|
|
11
|
+
export * from "./sensei-ten.js";
|
|
12
|
+
export * from "./devices.js";
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/steelseries/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from "./rival3.js";
|
|
2
|
+
export * from "./rival310.js";
|
|
3
|
+
export * from "./aerox3.js";
|
|
4
|
+
export * from "./rival3-wireless.js";
|
|
5
|
+
export * from "./aerox5.js";
|
|
6
|
+
export * from "./aerox5-wireless.js";
|
|
7
|
+
export * from "./rival650.js";
|
|
8
|
+
export * from "./aerox9-wireless.js";
|
|
9
|
+
export * from "./prime-plus.js";
|
|
10
|
+
export * from "./prime-mini-wireless.js";
|
|
11
|
+
export * from "./sensei-ten.js";
|
|
12
|
+
export * from "./devices.js";
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/steelseries/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SteelSeries Prime Mini Wireless configuration protocol — pure encode/decode helpers.
|
|
3
|
+
*
|
|
4
|
+
* Reconstructed from public open-source implementations, not vendor software:
|
|
5
|
+
*
|
|
6
|
+
* - There is **no** `prime_mini_wireless.py` (nor a wired/wireless filename
|
|
7
|
+
* pair) in rivalcfg. The Prime Mini Wireless is instead one of two models
|
|
8
|
+
* inside the shared "Prime Wireless" profile pair:
|
|
9
|
+
* `rivalcfg/devices/prime_wireless_wired.py` (USB-cabled mode) defines two
|
|
10
|
+
* `models` entries — `"SteelSeries Prime Wireless (wired mode)"`
|
|
11
|
+
* (`1038:1842`) and `"SteelSeries Prime Mini Wireless (wired mode)"`
|
|
12
|
+
* (`1038:184A`) — sharing one `settings`/`battery_level`/`save_command`
|
|
13
|
+
* dict. `rivalcfg/devices/prime_wireless_wireless.py` (2.4 GHz dongle mode)
|
|
14
|
+
* mirrors that with `1038:1840` (Prime Wireless) and `1038:1848` (Prime
|
|
15
|
+
* Mini Wireless), built by comprehending `prime_wireless_wired.py`'s
|
|
16
|
+
* `settings`/`battery_level`/`save_command` through one `_patch_command`
|
|
17
|
+
* helper — same transform this file implements as `applyPrimeMiniWirelessFlag`.
|
|
18
|
+
* Both files were read in full. This module implements only the two Prime
|
|
19
|
+
* Mini Wireless product ids (`0x184A` wired, `0x1848` 2.4 GHz) per the
|
|
20
|
+
* scope of this change — see "Scope" below for why the plain Prime
|
|
21
|
+
* Wireless PIDs (`0x1842`/`0x1840`) are deliberately not registered here
|
|
22
|
+
* even though the command set is identical.
|
|
23
|
+
* - rivalcfg `rivalcfg/devices/dpi/truemove_air.py` — same TrueMove Air
|
|
24
|
+
* sensor table as the Rival 3 Wireless and Aerox 5 Wireless — imported
|
|
25
|
+
* from `./rival3-wireless.ts`'s `TRUEMOVE_AIR_DPI_TO_BYTE`, not re-derived.
|
|
26
|
+
* - rivalcfg `rivalcfg/handlers/multidpi_range_choice.py` — `dpi_length_byte: 1`,
|
|
27
|
+
* `first_preset: 0` (same shape as `./aerox5-wireless.ts`, **not**
|
|
28
|
+
* `./rival3-wireless.ts`'s `first_preset: 1`/`dpi_length_byte` via
|
|
29
|
+
* `multidpi_range`).
|
|
30
|
+
* - rivalcfg `rivalcfg/handlers/range.py` — `sleep_timer`/`dim_timer`: the
|
|
31
|
+
* exact same linear range-to-range mapping as `./aerox5-wireless.ts`
|
|
32
|
+
* (`sleep_timer` = minutes × 60000 ms, `dim_timer` = seconds × 1000 ms,
|
|
33
|
+
* both little-endian 3 bytes, `range_length_byte: 3`). Traced by hand
|
|
34
|
+
* against `prime_wireless_wired.py`'s `output_range: [0x000000, 0x124F80, …]`
|
|
35
|
+
* values, not assumed from the Aerox 5 Wireless precedent.
|
|
36
|
+
* - rivalcfg `rivalcfg/handlers/rgbcolor.py` — LED color: `command: [0x21, 0x01, 0x00]`
|
|
37
|
+
* with the RGB triplet appended directly (no zone byte and no bitmask —
|
|
38
|
+
* this is a single-LED mouse, unlike the Aerox 5 Wireless's
|
|
39
|
+
* zone-indexed `steelseriesAerox5WirelessEncodeZoneColor`).
|
|
40
|
+
* - rivalcfg `rivalcfg/handlers/choice.py` — `polling_rate`
|
|
41
|
+
* (`{125:0x03, 250:0x02, 500:0x01, 1000:0x00}`, byte-identical mapping to
|
|
42
|
+
* `./aerox5-wireless.ts`'s table, confirmed by direct comparison — not
|
|
43
|
+
* assumed) and `default_lighting` (`{"off": 0x00, "rainbow": 0x01}`).
|
|
44
|
+
* - rivalcfg `rivalcfg/handlers/buttons/buttons.py` (inferred generic
|
|
45
|
+
* handler backing `value_type: "buttons"`) — 6 mappable buttons + scroll
|
|
46
|
+
* up/down, `button_field_length: 5`, byte-identical ids/offsets to the
|
|
47
|
+
* non-wireless `prime_mini.py`'s `buttons_mapping` block (confirmed by
|
|
48
|
+
* direct comparison of both device files).
|
|
49
|
+
*
|
|
50
|
+
* ## Why wired-cable-mode and 2.4 GHz-dongle-mode share one module
|
|
51
|
+
*
|
|
52
|
+
* Same SteelSeries wireless pattern as `./aerox5-wireless.ts` and
|
|
53
|
+
* `./rival3-wireless.ts`: one physical mouse, two USB product ids depending
|
|
54
|
+
* on transport, one command set modulo a fixed transform.
|
|
55
|
+
* `prime_wireless_wireless.py`'s `_patch_command` ORs `0b01000000` (`0x40`)
|
|
56
|
+
* into `command[0]` of every setting, `battery_level`, and `save_command`
|
|
57
|
+
* inherited from `prime_wireless_wired.py`, and adds `readback_length: 64`
|
|
58
|
+
* (an expected reply length this module does not need to model — no
|
|
59
|
+
* function here reads or validates a readback payload). Every command byte
|
|
60
|
+
* in `PRIME_MINI_WIRELESS_COMMAND` below is the wired-mode value;
|
|
61
|
+
* `applyPrimeMiniWirelessFlag` produces the 2.4 GHz-mode byte from it on demand.
|
|
62
|
+
*
|
|
63
|
+
* ## Scope: Prime Mini Wireless only, not the plain Prime Wireless
|
|
64
|
+
*
|
|
65
|
+
* `prime_wireless_wired.py`/`prime_wireless_wireless.py` document the Prime
|
|
66
|
+
* Mini Wireless and the plain (non-Mini) Prime Wireless as one shared
|
|
67
|
+
* `settings` dict — genuinely the same command bytes, same DPI table, same
|
|
68
|
+
* battery shape, differing only in physical product id. This change is
|
|
69
|
+
* scoped to the Prime Mini Wireless cluster only: `./devices.ts` registers
|
|
70
|
+
* `0x184A`/`0x1848` (Prime Mini Wireless) under family
|
|
71
|
+
* `"prime-mini-wireless"` and deliberately does **not** register
|
|
72
|
+
* `0x1842`/`0x1840` (plain Prime Wireless) — even though this module's
|
|
73
|
+
* exported functions would encode identical bytes for either PID group, the
|
|
74
|
+
* plain Prime Wireless is out of scope for this change and is left for
|
|
75
|
+
* whichever future change actually verifies and ships it.
|
|
76
|
+
*
|
|
77
|
+
* ## No corroboration beyond rivalcfg was possible in this environment
|
|
78
|
+
*
|
|
79
|
+
* No local libratbag checkout was available, and OpenRGB's SteelSeries
|
|
80
|
+
* controller files were not reachable this pass — every command byte above
|
|
81
|
+
* is sourced from rivalcfg alone, same disclosure as `./aerox5-wireless.ts`.
|
|
82
|
+
* This should be treated as unverified beyond rivalcfg until corroborated
|
|
83
|
+
* or hardware-tested.
|
|
84
|
+
*
|
|
85
|
+
* Every command is an HID output report, report id `0x00`, on the vendor
|
|
86
|
+
* configuration interface (`"endpoint": 3` for every model in both rivalcfg
|
|
87
|
+
* files). DPI presets, polling rate, LED color, sleep/dim timers, default
|
|
88
|
+
* lighting, and buttons are write-only — neither rivalcfg file defines a
|
|
89
|
+
* getter for any of them. Battery level **is** readable (see below).
|
|
90
|
+
* Settings apply immediately; the save command (`11 00` wired, `51 00`
|
|
91
|
+
* wireless) persists them to onboard flash. None of this has been verified
|
|
92
|
+
* on physical hardware by this project.
|
|
93
|
+
*
|
|
94
|
+
* ## Battery read
|
|
95
|
+
*
|
|
96
|
+
* `prime_wireless_wired.py` defines a `battery_level` block byte-identical
|
|
97
|
+
* in shape to `./aerox5-wireless.ts`'s: an output-report write of `0x92`
|
|
98
|
+
* gets a 2-byte input-report reply, where `data[1] & 0b10000000` is the
|
|
99
|
+
* charging flag and `((data[1] & ~0b10000000) - 1) * 5` is the percentage
|
|
100
|
+
* (coarse 0–100 scale in steps of 5, `- 1` because the raw byte is
|
|
101
|
+
* 1-indexed). Confirmed by reading `prime_wireless_wired.py` directly — this
|
|
102
|
+
* is **not** `./rival3-wireless.ts`'s `AA 01` / 3-byte-reply /
|
|
103
|
+
* plain-percentage-byte shape; do not conflate the two. In 2.4 GHz mode the
|
|
104
|
+
* query byte is `0x92 | 0x40 = 0xD2`, produced by `applyPrimeMiniWirelessFlag`.
|
|
105
|
+
*/
|
|
106
|
+
export declare const PRIME_MINI_WIRELESS_REPORT_ID = 0;
|
|
107
|
+
/** Wired-cable-mode command bytes; OR `WIRELESS_FLAG` into byte 0 for 2.4 GHz mode. */
|
|
108
|
+
export declare const PRIME_MINI_WIRELESS_COMMAND: {
|
|
109
|
+
readonly dpiPresets: readonly [45];
|
|
110
|
+
readonly pollingRate: readonly [43];
|
|
111
|
+
readonly color: readonly [33, 1, 0];
|
|
112
|
+
readonly buttonsMapping: readonly [42];
|
|
113
|
+
readonly sleepTimer: readonly [41];
|
|
114
|
+
readonly dimTimer: readonly [35, 15, 1, 0, 0];
|
|
115
|
+
readonly defaultLighting: readonly [39];
|
|
116
|
+
readonly batteryLevel: readonly [146];
|
|
117
|
+
};
|
|
118
|
+
/** `11 00` wired-mode / `51 00` 2.4 GHz-mode — see `applyPrimeMiniWirelessFlag`. */
|
|
119
|
+
export declare const PRIME_MINI_WIRELESS_SAVE_COMMAND: readonly [17, 0];
|
|
120
|
+
/**
|
|
121
|
+
* `_patch_command`: OR `0b01000000` into the command's first byte. Pass the
|
|
122
|
+
* wired-mode command bytes from `PRIME_MINI_WIRELESS_COMMAND` /
|
|
123
|
+
* `PRIME_MINI_WIRELESS_SAVE_COMMAND`; returns the 2.4 GHz-mode equivalent.
|
|
124
|
+
*/
|
|
125
|
+
export declare function applyPrimeMiniWirelessFlag(command: readonly number[]): number[];
|
|
126
|
+
export declare const PRIME_MINI_WIRELESS_POLLING_RATES: readonly [125, 250, 500, 1000];
|
|
127
|
+
export declare const PRIME_MINI_WIRELESS_DPI_MIN = 100;
|
|
128
|
+
export declare const PRIME_MINI_WIRELESS_DPI_MAX = 18000;
|
|
129
|
+
export declare const PRIME_MINI_WIRELESS_DPI_STEP = 100;
|
|
130
|
+
export declare const PRIME_MINI_WIRELESS_MAX_DPI_PRESETS = 5;
|
|
131
|
+
export declare const PRIME_MINI_WIRELESS_BATTERY_RESPONSE_LENGTH = 2;
|
|
132
|
+
export declare class PrimeMiniWirelessProtocolError extends Error {
|
|
133
|
+
}
|
|
134
|
+
/** The 180 DPI values the shared TrueMove Air sensor table can express, ascending. */
|
|
135
|
+
export declare function steelseriesPrimeMiniWirelessDpiOptions(): number[];
|
|
136
|
+
/**
|
|
137
|
+
* `2D <count> <selected> <v1>…<vN>` (or `6D …` in 2.4 GHz mode). One byte
|
|
138
|
+
* per DPI; `selectedIndex` is 0-based and encoded 0-based on the wire
|
|
139
|
+
* (`first_preset: 0`).
|
|
140
|
+
*/
|
|
141
|
+
export declare function steelseriesPrimeMiniWirelessEncodeDpiPresets(presets: readonly number[], selectedIndex: number, wireless: boolean): Uint8Array;
|
|
142
|
+
/** `2B <v>` (`6B` wireless) with 1000→0x00, 500→0x01, 250→0x02, 125→0x03. */
|
|
143
|
+
export declare function steelseriesPrimeMiniWirelessEncodePollingRate(pollingRateHz: number, wireless: boolean): Uint8Array;
|
|
144
|
+
/**
|
|
145
|
+
* `21 01 00 <r> <g> <b>` (`61 01 00 …` wireless) — a fixed single-LED
|
|
146
|
+
* packet, no zone byte (this mouse has one LED, unlike the Aerox 5
|
|
147
|
+
* Wireless's zone-indexed color command).
|
|
148
|
+
*/
|
|
149
|
+
export declare function steelseriesPrimeMiniWirelessEncodeColor(r: number, g: number, b: number, wireless: boolean): Uint8Array;
|
|
150
|
+
/**
|
|
151
|
+
* `29 <ms LE24>` (`69 …` wireless) — idle minutes before sleep, `0` disables.
|
|
152
|
+
* Encoded as `minutes * 60000` milliseconds, little-endian 3 bytes.
|
|
153
|
+
*/
|
|
154
|
+
export declare function steelseriesPrimeMiniWirelessEncodeSleepTimer(minutes: number, wireless: boolean): Uint8Array;
|
|
155
|
+
/**
|
|
156
|
+
* `23 0F 01 00 00 <ms LE24>` (`63 …` wireless) — idle seconds before the LED
|
|
157
|
+
* dims, `0` disables. Encoded as `seconds * 1000` milliseconds,
|
|
158
|
+
* little-endian 3 bytes.
|
|
159
|
+
*/
|
|
160
|
+
export declare function steelseriesPrimeMiniWirelessEncodeDimTimer(seconds: number, wireless: boolean): Uint8Array;
|
|
161
|
+
/** `off`/`rainbow` LED-at-startup choice. */
|
|
162
|
+
export declare const PRIME_MINI_WIRELESS_DEFAULT_LIGHTING: {
|
|
163
|
+
readonly off: 0;
|
|
164
|
+
readonly rainbow: 1;
|
|
165
|
+
};
|
|
166
|
+
export type PrimeMiniWirelessDefaultLighting = keyof typeof PRIME_MINI_WIRELESS_DEFAULT_LIGHTING;
|
|
167
|
+
/** `27 <v>` (`67 …` wireless) — what the mouse lights up as before a host ever connects. */
|
|
168
|
+
export declare function steelseriesPrimeMiniWirelessEncodeDefaultLighting(mode: PrimeMiniWirelessDefaultLighting, wireless: boolean): Uint8Array;
|
|
169
|
+
/** `11 00` wired-mode / `51 00` 2.4 GHz-mode — commit the current settings to onboard flash. */
|
|
170
|
+
export declare function steelseriesPrimeMiniWirelessSaveCommand(wireless: boolean): Uint8Array;
|
|
171
|
+
/** `92` wired-mode / `D2` 2.4 GHz-mode — the device answers with a two-byte input report. */
|
|
172
|
+
export declare function steelseriesPrimeMiniWirelessBatteryQuery(wireless: boolean): Uint8Array;
|
|
173
|
+
export interface PrimeMiniWirelessBattery {
|
|
174
|
+
/** `((data[1] & ~0x80) - 1) * 5` in rivalcfg — a coarse 0–100 scale in steps of 5. */
|
|
175
|
+
level: number;
|
|
176
|
+
/** `bool(data[1] & 0b10000000)` in rivalcfg. */
|
|
177
|
+
isCharging: boolean;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Decode the two-byte battery response: `data[0]` is unused by rivalcfg's
|
|
181
|
+
* lambdas, `data[1]`'s top bit is the charging flag and the remaining 7 bits
|
|
182
|
+
* (1-indexed, hence `- 1`) scaled by 5 give the percentage.
|
|
183
|
+
*/
|
|
184
|
+
export declare function steelseriesPrimeMiniWirelessDecodeBattery(payload: Uint8Array): PrimeMiniWirelessBattery;
|
|
185
|
+
/**
|
|
186
|
+
* `buttons_mapping.buttons` shared by `prime_wireless_wired.py` — same
|
|
187
|
+
* offsets/ids as the non-wireless `prime_mini.py`'s `buttons_mapping` block,
|
|
188
|
+
* confirmed by direct comparison of both device files, defined separately
|
|
189
|
+
* here so this family's button table stays self-contained.
|
|
190
|
+
*/
|
|
191
|
+
export declare const PRIME_MINI_WIRELESS_BUTTONS: {
|
|
192
|
+
readonly button1: {
|
|
193
|
+
readonly id: 1;
|
|
194
|
+
readonly offset: 0;
|
|
195
|
+
};
|
|
196
|
+
readonly button2: {
|
|
197
|
+
readonly id: 2;
|
|
198
|
+
readonly offset: 5;
|
|
199
|
+
};
|
|
200
|
+
readonly button3: {
|
|
201
|
+
readonly id: 3;
|
|
202
|
+
readonly offset: 10;
|
|
203
|
+
};
|
|
204
|
+
readonly button4: {
|
|
205
|
+
readonly id: 4;
|
|
206
|
+
readonly offset: 15;
|
|
207
|
+
};
|
|
208
|
+
readonly button5: {
|
|
209
|
+
readonly id: 5;
|
|
210
|
+
readonly offset: 20;
|
|
211
|
+
};
|
|
212
|
+
readonly button6: {
|
|
213
|
+
readonly id: 6;
|
|
214
|
+
readonly offset: 25;
|
|
215
|
+
};
|
|
216
|
+
readonly scrollUp: {
|
|
217
|
+
readonly id: 49;
|
|
218
|
+
readonly offset: 30;
|
|
219
|
+
};
|
|
220
|
+
readonly scrollDown: {
|
|
221
|
+
readonly id: 50;
|
|
222
|
+
readonly offset: 35;
|
|
223
|
+
};
|
|
224
|
+
};
|
|
225
|
+
export type PrimeMiniWirelessButtonName = keyof typeof PRIME_MINI_WIRELESS_BUTTONS;
|
|
226
|
+
/**
|
|
227
|
+
* One button's target. `scrollUp`/`scrollDown` cannot be remap *targets*
|
|
228
|
+
* (`button_scroll_up`/`button_scroll_down` are `None` in the source) — only
|
|
229
|
+
* sources, same rule as `./aerox5-wireless.ts`.
|
|
230
|
+
*/
|
|
231
|
+
export type PrimeMiniWirelessButtonAction = {
|
|
232
|
+
type: "button";
|
|
233
|
+
target: Exclude<PrimeMiniWirelessButtonName, "scrollUp" | "scrollDown">;
|
|
234
|
+
} | {
|
|
235
|
+
type: "disabled";
|
|
236
|
+
} | {
|
|
237
|
+
type: "dpiSwitch";
|
|
238
|
+
} | {
|
|
239
|
+
type: "keyboard";
|
|
240
|
+
code: number;
|
|
241
|
+
} | {
|
|
242
|
+
type: "multimedia";
|
|
243
|
+
code: number;
|
|
244
|
+
};
|
|
245
|
+
/**
|
|
246
|
+
* `2A` (`6A` wireless) + one 40-byte (`8 buttons × 5-byte field length`)
|
|
247
|
+
* packet, zero-filled except where a mapping is given. Unmapped buttons are
|
|
248
|
+
* left as all-zero fields (rivalcfg instead fills in per-button defaults;
|
|
249
|
+
* this codec leaves that policy to the caller — pass every button
|
|
250
|
+
* explicitly for parity with rivalcfg's default profile).
|
|
251
|
+
*/
|
|
252
|
+
export declare function steelseriesPrimeMiniWirelessEncodeButtonsMapping(mapping: Partial<Record<PrimeMiniWirelessButtonName, PrimeMiniWirelessButtonAction>>, wireless: boolean): Uint8Array;
|
|
253
|
+
//# sourceMappingURL=prime-mini-wireless.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prime-mini-wireless.d.ts","sourceRoot":"","sources":["../../src/steelseries/prime-mini-wireless.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwGG;AAIH,eAAO,MAAM,6BAA6B,IAAO,CAAC;AAKlD,uFAAuF;AACvF,eAAO,MAAM,2BAA2B;;;;;;;;;CAS9B,CAAC;AAEX,oFAAoF;AACpF,eAAO,MAAM,gCAAgC,kBAAwB,CAAC;AAEtE;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAK/E;AAED,eAAO,MAAM,iCAAiC,gCAAiC,CAAC;AAUhF,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAC/C,eAAO,MAAM,2BAA2B,QAAQ,CAAC;AACjD,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAChD,eAAO,MAAM,mCAAmC,IAAI,CAAC;AACrD,eAAO,MAAM,2CAA2C,IAAI,CAAC;AAI7D,qBAAa,8BAA+B,SAAQ,KAAK;CAAG;AAE5D,sFAAsF;AACtF,wBAAgB,sCAAsC,IAAI,MAAM,EAAE,CAEjE;AAED;;;;GAIG;AACH,wBAAgB,4CAA4C,CAC1D,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,OAAO,GAChB,UAAU,CAwBZ;AAED,6EAA6E;AAC7E,wBAAgB,6CAA6C,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,UAAU,CAWlH;AAED;;;;GAIG;AACH,wBAAgB,uCAAuC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,UAAU,CAQtH;AAUD;;;GAGG;AACH,wBAAgB,4CAA4C,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,UAAU,CAM3G;AAED;;;;GAIG;AACH,wBAAgB,0CAA0C,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,UAAU,CAMzG;AAED,6CAA6C;AAC7C,eAAO,MAAM,oCAAoC;;;CAGvC,CAAC;AAEX,MAAM,MAAM,gCAAgC,GAAG,MAAM,OAAO,oCAAoC,CAAC;AAEjG,4FAA4F;AAC5F,wBAAgB,iDAAiD,CAC/D,IAAI,EAAE,gCAAgC,EACtC,QAAQ,EAAE,OAAO,GAChB,UAAU,CAWZ;AAED,gGAAgG;AAChG,wBAAgB,uCAAuC,CAAC,QAAQ,EAAE,OAAO,GAAG,UAAU,CAGrF;AAED,6FAA6F;AAC7F,wBAAgB,wCAAwC,CAAC,QAAQ,EAAE,OAAO,GAAG,UAAU,CAKtF;AAED,MAAM,WAAW,wBAAwB;IACvC,sFAAsF;IACtF,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,yCAAyC,CAAC,OAAO,EAAE,UAAU,GAAG,wBAAwB,CAUvG;AASD;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CASwB,CAAC;AAEjE,MAAM,MAAM,2BAA2B,GAAG,MAAM,OAAO,2BAA2B,CAAC;AAQnF;;;;GAIG;AACH,MAAM,MAAM,6BAA6B,GACrC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC,2BAA2B,EAAE,UAAU,GAAG,YAAY,CAAC,CAAA;CAAE,GAC3F;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzC;;;;;;GAMG;AACH,wBAAgB,gDAAgD,CAC9D,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,2BAA2B,EAAE,6BAA6B,CAAC,CAAC,EACpF,QAAQ,EAAE,OAAO,GAChB,UAAU,CAiDZ"}
|