@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,283 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SteelSeries Sensei TEN configuration protocol — pure encode/decode helpers.
|
|
3
|
+
*
|
|
4
|
+
* Reconstructed from public open-source implementations, not vendor software:
|
|
5
|
+
*
|
|
6
|
+
* - rivalcfg `rivalcfg/devices/sensei_ten.py` — the primary source for every
|
|
7
|
+
* command byte, default, and product id here.
|
|
8
|
+
* - rivalcfg `rivalcfg/test/devices/old_specs/test_sensei_ten.py` — the
|
|
9
|
+
* device-specific fixture test, which pins exact expected HID report bytes
|
|
10
|
+
* for polling rate, sensitivity presets, logo/wheel color gradients,
|
|
11
|
+
* buttons mapping, save, and the firmware query. Every byte sequence in
|
|
12
|
+
* this module's own tests was cross-checked against that file rather than
|
|
13
|
+
* re-derived solely from the handler source, since it is ground truth for
|
|
14
|
+
* how rivalcfg actually serializes this device's settings.
|
|
15
|
+
* - rivalcfg `rivalcfg/handlers/range.py` (the `range` value type the
|
|
16
|
+
* `multidpi_range` handler below builds on: linear input→output mapping,
|
|
17
|
+
* rounded to the nearest step) and `rivalcfg/handlers/rgbgradient.py` (the
|
|
18
|
+
* color/gradient wire format for `logo_color` and `wheel_color`).
|
|
19
|
+
* - `rivalcfg/devices/sensei_raw.py` and `rivalcfg/devices/sensei310.py` were
|
|
20
|
+
* read to confirm they are unrelated protocols (different command bytes,
|
|
21
|
+
* different DPI encodings) and were not a source for anything here.
|
|
22
|
+
*
|
|
23
|
+
* **Corroboration gap, flagged prominently per this rollout's instructions:**
|
|
24
|
+
* libratbag and the OpenRGB SteelSeries controller sources were not
|
|
25
|
+
* reachable from this environment (no network access to
|
|
26
|
+
* github.com/libratbag/libratbag or OpenRGB's SteelSeries controller files),
|
|
27
|
+
* so unlike some earlier SteelSeries clusters in this project, **nothing
|
|
28
|
+
* here has a second independent source** — rivalcfg (source + its own test
|
|
29
|
+
* fixture) is the only corroboration this module has. Treat every byte below
|
|
30
|
+
* as "rivalcfg says so", not "two independent projects agree".
|
|
31
|
+
*
|
|
32
|
+
* Every command is an HID **output report** (id `0x00`) except `logo_color`
|
|
33
|
+
* and `wheel_color`, which are HID **feature reports** — `sensei_ten.py`
|
|
34
|
+
* marks them `usbhid.HID_REPORT_TYPE_FEATURE` while every other setting is
|
|
35
|
+
* `HID_REPORT_TYPE_OUTPUT`. The functions here build the report *payload* —
|
|
36
|
+
* the bytes after the report id — unpadded, matching rivalcfg's `usbhid.py`
|
|
37
|
+
* writes (`_hid_write` always prepends `report_id = 0x00` and otherwise
|
|
38
|
+
* sends the payload as-is with no fixed packet length for this device).
|
|
39
|
+
*
|
|
40
|
+
* **This device is write-only except for firmware.** No public
|
|
41
|
+
* implementation has a getter for DPI, polling, or lighting/buttons; the
|
|
42
|
+
* single readable value is the two-byte firmware version behind `90 00`
|
|
43
|
+
* (`response_length: 2`, `report_type: OUTPUT`), the same shape as Rival 3
|
|
44
|
+
* Gen 1's `10 00` — see `steelseriesSenseiTenDecodeFirmware`, which reuses
|
|
45
|
+
* Rival 3's read-order-byte-join convention and the same byte-order caveat.
|
|
46
|
+
*
|
|
47
|
+
* Settings apply immediately; `save_command` (`59 00`) persists them to
|
|
48
|
+
* onboard flash — distinct from Rival 3 Gen 1's `09 00` and Aerox 3's
|
|
49
|
+
* `11 00`; do not reuse across families.
|
|
50
|
+
*
|
|
51
|
+
* ## Sensor / DPI encoding
|
|
52
|
+
*
|
|
53
|
+
* Unlike Rival 3 Gen 1 and Aerox 3 (TrueMove Core, a byte lookup table),
|
|
54
|
+
* Sensei TEN's `sensitivity` setting uses rivalcfg's plain `multidpi_range`
|
|
55
|
+
* handler with `input_range: [50, 18000, 50]` and `output_range: [1, 0x0168,
|
|
56
|
+
* 1]` — a **linear** mapping, not a table: `output = input / 50`, written as
|
|
57
|
+
* a 2-byte little-endian integer per preset (`dpi_length_byte: 2`). This
|
|
58
|
+
* matches SteelSeries marketing calling Sensei TEN's sensor a newer
|
|
59
|
+
* generation (TrueMove3+) than the TrueMove Core/Air families used by
|
|
60
|
+
* Rival 3 and Aerox 3/5 — confirmed here by the *shape* of the DPI handler
|
|
61
|
+
* (linear range vs. lookup table) rather than by an independent sensor-name
|
|
62
|
+
* source, which was not reachable (see corroboration gap above).
|
|
63
|
+
*
|
|
64
|
+
* `count_mode: "flag"` — like Aerox 3's `dpiPresets`, the on-wire preset
|
|
65
|
+
* count is a bitmask (`0b00000001` for 1 preset, `0b00001111` for 4, etc.),
|
|
66
|
+
* not a plain integer, unlike Rival 3 Gen 1's `count_mode: "number"`.
|
|
67
|
+
*
|
|
68
|
+
* ## RGB: `logo_color` / `wheel_color`
|
|
69
|
+
*
|
|
70
|
+
* Sensei TEN has two independently addressable RGB zones — the SteelSeries
|
|
71
|
+
* logo and the scroll-wheel light — both using rivalcfg's full `rgbgradient`
|
|
72
|
+
* value type (multi-stop animated gradients), not the simpler flat
|
|
73
|
+
* `rgbcolor`/zone-bitmask scheme Aerox 3 and Aerox 5 use. This module
|
|
74
|
+
* implements the complete gradient encoding (not just a solid-color special
|
|
75
|
+
* case), because the wire format is small and precisely pinned by
|
|
76
|
+
* `test_sensei_ten.py`'s `test_set_logo_color`/`test_set_wheel_color`
|
|
77
|
+
* fixtures, which this module's tests reproduce byte-for-byte.
|
|
78
|
+
*
|
|
79
|
+
* The packet layout, from `rgbgradient.py`'s `process_value` with Sensei
|
|
80
|
+
* TEN's `rgbgradient_header` (`header_length: 26`, `led_id_offsets: [0]`,
|
|
81
|
+
* `duration_offset: 1` (2 bytes, little-endian ms), `repeat_offset: 17`,
|
|
82
|
+
* `triggers_offset: 21`, `color_count_offset: 25`):
|
|
83
|
+
*
|
|
84
|
+
* ```
|
|
85
|
+
* 5B 00 <led_id> <duration_lo> <duration_hi> <14 zero bytes>
|
|
86
|
+
* <repeat> <3 zero bytes> <triggers> <3 zero bytes> <color_count>
|
|
87
|
+
* <initial_color r,g,b> <color1 r,g,b> <pos1> ... <colorN r,g,b> <posN>
|
|
88
|
+
* ```
|
|
89
|
+
*
|
|
90
|
+
* `led_id` is `0x00` for `logo_color`, `0x01` for `wheel_color` — the only
|
|
91
|
+
* difference between the two settings' commands. `repeat` is `0x01` for a
|
|
92
|
+
* solid color (no animation) or when the gradient has button triggers
|
|
93
|
+
* (`triggers` — not exposed by this module, always `0x00`, matching
|
|
94
|
+
* `sensei_ten.py`'s profile, which never sets it); `0x00` for an animated
|
|
95
|
+
* gradient with no trigger.
|
|
96
|
+
*
|
|
97
|
+
* **The per-stop `pos` byte is a *delta*, not an absolute position** — easy
|
|
98
|
+
* to get wrong reading `rgbgradient.py` casually, and this module's first
|
|
99
|
+
* draft did. Each stop's true 0–255 position is `Math.trunc(pos * 255 /
|
|
100
|
+
* 100)` (rivalcfg uses Python's `int()`, which truncates toward zero, not
|
|
101
|
+
* `round()`); the wire byte for that stop is the *difference* between this
|
|
102
|
+
* truncated position and the previous stop's, starting from 0. This was
|
|
103
|
+
* confirmed against `test_sensei_ten.py`'s `test_set_wheel_color` fixture:
|
|
104
|
+
* stops at 0/25/50/75/100% truncate to real positions 0/63/127/191/255, and
|
|
105
|
+
* the fixture's actual bytes are the deltas 0/63/64/64/64, not the absolute
|
|
106
|
+
* values — reproduced exactly by this module's own tests. rivalcfg
|
|
107
|
+
* auto-appends a final stop equal to the first color at pos 100 if the
|
|
108
|
+
* caller's last stop is not already at 100, "smoothing" the loop — this
|
|
109
|
+
* module requires the caller to pass every stop explicitly (including the
|
|
110
|
+
* closing one, if wanted) rather than silently appending one, to keep the
|
|
111
|
+
* encoder a pure function of its input.
|
|
112
|
+
*
|
|
113
|
+
* ## Buttons mapping — reduced scope, mirrors `aerox3.ts`
|
|
114
|
+
*
|
|
115
|
+
* `31 00` + one 40-byte (8 buttons × 5-byte field) packet, zero-filled
|
|
116
|
+
* except where a mapping is given — byte-identical field layout to Aerox 3's
|
|
117
|
+
* `buttons_mapping`, but Sensei TEN's `button_scroll_up`/`button_scroll_down`
|
|
118
|
+
* (`0x31`/`0x32`) are function **codes** a button's slot can hold (used when
|
|
119
|
+
* *another* button is remapped to act as a scroll action), unlike Aerox 3
|
|
120
|
+
* where `scrollUp`/`scrollDown` are physical button *sources* that cannot be
|
|
121
|
+
* remap targets. Sensei TEN has no such restriction — every one of its 8
|
|
122
|
+
* buttons is a valid remap target for another button's id (Button1–Button8,
|
|
123
|
+
* ids `0x01`–`0x08`). As with `aerox3.ts`, this module implements the exact
|
|
124
|
+
* packet shape and the mouse-button/disable/DPI-switch/scroll-up/scroll-down
|
|
125
|
+
* special actions, but does not re-implement rivalcfg's QWERTY/multimedia
|
|
126
|
+
* key-name tables — keyboard and multimedia targets are raw
|
|
127
|
+
* `{ type: "keyboard" | "multimedia", code }` scan-code bytes, matching
|
|
128
|
+
* `button_keyboard: 0x51` / `button_multimedia: 0x61` verbatim. The
|
|
129
|
+
* documented defaults (`test_set_buttons_mapping`'s `"default"` case) are
|
|
130
|
+
* exposed as `SENSEI_TEN_DEFAULT_BUTTONS_MAPPING` for callers/tests: Button6
|
|
131
|
+
* defaults to keyboard code `0x4E` (Page Down), Button7 to `0x4B` (Page Up),
|
|
132
|
+
* Button8 to DPI-switch — the rest map to themselves.
|
|
133
|
+
*
|
|
134
|
+
* None of this has been verified on physical Sensei TEN hardware by this
|
|
135
|
+
* project. The Sensei RAW (`sensei_raw.py`) and Sensei 310 (`sensei310.py`)
|
|
136
|
+
* use different, incompatible command sets and must not reuse this module.
|
|
137
|
+
*/
|
|
138
|
+
export declare const SENSEI_TEN_REPORT_ID = 0;
|
|
139
|
+
/** Two-byte command prefixes; the payload is the prefix plus its arguments. */
|
|
140
|
+
export declare const SENSEI_TEN_COMMAND: {
|
|
141
|
+
readonly buttonsMapping: readonly [49, 0];
|
|
142
|
+
readonly pollingRate: readonly [84, 0];
|
|
143
|
+
readonly sensitivity: readonly [85, 0];
|
|
144
|
+
readonly logoColor: readonly [91, 0];
|
|
145
|
+
readonly wheelColor: readonly [91, 0];
|
|
146
|
+
readonly save: readonly [89, 0];
|
|
147
|
+
readonly firmware: readonly [144, 0];
|
|
148
|
+
};
|
|
149
|
+
export declare const SENSEI_TEN_POLLING_RATES: readonly [125, 250, 500, 1000];
|
|
150
|
+
export declare const SENSEI_TEN_DPI_MIN = 50;
|
|
151
|
+
export declare const SENSEI_TEN_DPI_MAX = 18000;
|
|
152
|
+
export declare const SENSEI_TEN_DPI_STEP = 50;
|
|
153
|
+
export declare const SENSEI_TEN_MAX_DPI_PRESETS = 5;
|
|
154
|
+
export declare const SENSEI_TEN_FIRMWARE_RESPONSE_LENGTH = 2;
|
|
155
|
+
export declare class SenseiTenProtocolError extends Error {
|
|
156
|
+
}
|
|
157
|
+
/** Every DPI value the linear 50–18,000 (step 50) range can express, ascending. */
|
|
158
|
+
export declare function steelseriesSenseiTenDpiOptions(): number[];
|
|
159
|
+
/**
|
|
160
|
+
* `55 00 <count flag> <selected> <v1 lo,hi> ... <vN lo,hi>` — replaces the
|
|
161
|
+
* mouse's whole preset table. Each DPI is 2 bytes little-endian
|
|
162
|
+
* (`dpi_length_byte: 2`); `count` is a bitmask of the preset count
|
|
163
|
+
* (`count_mode: "flag"`), not a plain integer. `selectedIndex` is 0-based
|
|
164
|
+
* here and encoded 1-based on the wire (`first_preset: 1`).
|
|
165
|
+
*/
|
|
166
|
+
export declare function steelseriesSenseiTenEncodeDpiPresets(presets: readonly number[], selectedIndex: number): Uint8Array;
|
|
167
|
+
/** `54 00 <v>` with 1000→0x01, 500→0x02, 250→0x03, 125→0x04. */
|
|
168
|
+
export declare function steelseriesSenseiTenEncodePollingRate(pollingRateHz: number): Uint8Array;
|
|
169
|
+
export type SenseiTenLed = "logo" | "wheel";
|
|
170
|
+
/** One gradient stop: `pos` is a percentage 0–100. */
|
|
171
|
+
export interface SenseiTenColorStop {
|
|
172
|
+
pos: number;
|
|
173
|
+
r: number;
|
|
174
|
+
g: number;
|
|
175
|
+
b: number;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* `5B 00 <led_id> ...` — encodes a color or animated gradient for the logo
|
|
179
|
+
* (`led: "logo"`) or scroll-wheel (`led: "wheel"`) LED. See the module doc
|
|
180
|
+
* comment for the full packet layout.
|
|
181
|
+
*
|
|
182
|
+
* - A single stop (`stops.length === 1`) is treated as a solid, non-animated
|
|
183
|
+
* color: `repeat` is set to `0x01` regardless of that stop's `pos`
|
|
184
|
+
* (matching `rgbgradient.py`'s `is_gradient = False` path for a bare color
|
|
185
|
+
* string/tuple, which always uses `pos = 0` internally — pass `pos: 0`
|
|
186
|
+
* here for parity, though the wire format ignores it for a single stop
|
|
187
|
+
* since there is nothing to interpolate toward).
|
|
188
|
+
* - Two or more stops are encoded as an animated gradient at `durationMs`,
|
|
189
|
+
* `repeat` `0x00`. Unlike rivalcfg's CLI parser, this function does **not**
|
|
190
|
+
* auto-append a closing stop equal to the first color at pos 100 — pass it
|
|
191
|
+
* explicitly if a smooth loop is wanted (see `test_set_logo_color`'s
|
|
192
|
+
* fixture, which does include that stop as its 4th entry).
|
|
193
|
+
*/
|
|
194
|
+
export declare function steelseriesSenseiTenEncodeLedColor(led: SenseiTenLed, stops: readonly SenseiTenColorStop[], durationMs?: number): Uint8Array;
|
|
195
|
+
/** `59 00` — commit the current settings to onboard flash. */
|
|
196
|
+
export declare function steelseriesSenseiTenSaveCommand(): Uint8Array;
|
|
197
|
+
/** `90 00` — the two-byte firmware version query, this device's only readable value. */
|
|
198
|
+
export declare function steelseriesSenseiTenFirmwareQuery(): Uint8Array;
|
|
199
|
+
export interface SenseiTenFirmware {
|
|
200
|
+
/** The two raw response bytes, in the order the device sent them. */
|
|
201
|
+
bytes: [number, number];
|
|
202
|
+
/** The bytes joined in read order, e.g. "37.0". */
|
|
203
|
+
display: string;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Decode the two-byte firmware response, reusing Rival 3 Gen 1's read-order
|
|
207
|
+
* join convention (`steelseriesRival3DecodeFirmware`) — the byte order is
|
|
208
|
+
* contested between public implementations for that family, and no
|
|
209
|
+
* corroborating source (libratbag, OpenRGB) was reachable for Sensei TEN
|
|
210
|
+
* specifically to settle it independently. Both raw bytes are returned.
|
|
211
|
+
*/
|
|
212
|
+
export declare function steelseriesSenseiTenDecodeFirmware(payload: Uint8Array): SenseiTenFirmware;
|
|
213
|
+
/** `buttons_mapping.buttons` from `sensei_ten.py`, id + byte offset into the packet. */
|
|
214
|
+
export declare const SENSEI_TEN_BUTTONS: {
|
|
215
|
+
readonly button1: {
|
|
216
|
+
readonly id: 1;
|
|
217
|
+
readonly offset: 0;
|
|
218
|
+
};
|
|
219
|
+
readonly button2: {
|
|
220
|
+
readonly id: 2;
|
|
221
|
+
readonly offset: 5;
|
|
222
|
+
};
|
|
223
|
+
readonly button3: {
|
|
224
|
+
readonly id: 3;
|
|
225
|
+
readonly offset: 10;
|
|
226
|
+
};
|
|
227
|
+
readonly button4: {
|
|
228
|
+
readonly id: 4;
|
|
229
|
+
readonly offset: 15;
|
|
230
|
+
};
|
|
231
|
+
readonly button5: {
|
|
232
|
+
readonly id: 5;
|
|
233
|
+
readonly offset: 20;
|
|
234
|
+
};
|
|
235
|
+
readonly button6: {
|
|
236
|
+
readonly id: 6;
|
|
237
|
+
readonly offset: 25;
|
|
238
|
+
};
|
|
239
|
+
readonly button7: {
|
|
240
|
+
readonly id: 7;
|
|
241
|
+
readonly offset: 30;
|
|
242
|
+
};
|
|
243
|
+
readonly button8: {
|
|
244
|
+
readonly id: 8;
|
|
245
|
+
readonly offset: 35;
|
|
246
|
+
};
|
|
247
|
+
};
|
|
248
|
+
export type SenseiTenButtonName = keyof typeof SENSEI_TEN_BUTTONS;
|
|
249
|
+
/** One button's target — see the module doc comment for why scroll actions
|
|
250
|
+
* are function codes here, unlike Aerox 3's fixed scroll-source buttons. */
|
|
251
|
+
export type SenseiTenButtonAction = {
|
|
252
|
+
type: "button";
|
|
253
|
+
target: SenseiTenButtonName;
|
|
254
|
+
} | {
|
|
255
|
+
type: "disabled";
|
|
256
|
+
} | {
|
|
257
|
+
type: "dpiSwitch";
|
|
258
|
+
} | {
|
|
259
|
+
type: "scrollUp";
|
|
260
|
+
} | {
|
|
261
|
+
type: "scrollDown";
|
|
262
|
+
} | {
|
|
263
|
+
type: "keyboard";
|
|
264
|
+
code: number;
|
|
265
|
+
} | {
|
|
266
|
+
type: "multimedia";
|
|
267
|
+
code: number;
|
|
268
|
+
};
|
|
269
|
+
/**
|
|
270
|
+
* `31 00` + one 40-byte (`8 buttons × 5-byte field length`) packet,
|
|
271
|
+
* zero-filled except where a mapping is given. Unmapped buttons are left as
|
|
272
|
+
* all-zero fields — pass every button explicitly for parity with rivalcfg's
|
|
273
|
+
* default profile (see `SENSEI_TEN_DEFAULT_BUTTONS_MAPPING`).
|
|
274
|
+
*/
|
|
275
|
+
export declare function steelseriesSenseiTenEncodeButtonsMapping(mapping: Partial<Record<SenseiTenButtonName, SenseiTenButtonAction>>): Uint8Array;
|
|
276
|
+
/**
|
|
277
|
+
* `sensei_ten.py`'s documented default mapping (`test_set_buttons_mapping`'s
|
|
278
|
+
* `"default"` fixture): buttons 1–5 map to themselves, Button6 to keyboard
|
|
279
|
+
* Page Down (`0x4E`), Button7 to keyboard Page Up (`0x4B`), Button8 to the
|
|
280
|
+
* DPI switch.
|
|
281
|
+
*/
|
|
282
|
+
export declare const SENSEI_TEN_DEFAULT_BUTTONS_MAPPING: Record<SenseiTenButtonName, SenseiTenButtonAction>;
|
|
283
|
+
//# sourceMappingURL=sensei-ten.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sensei-ten.d.ts","sourceRoot":"","sources":["../../src/steelseries/sensei-ten.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwIG;AAEH,eAAO,MAAM,oBAAoB,IAAO,CAAC;AAEzC,+EAA+E;AAC/E,eAAO,MAAM,kBAAkB;;;;;;;;CAQrB,CAAC;AAEX,eAAO,MAAM,wBAAwB,gCAAiC,CAAC;AASvE,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,kBAAkB,QAAQ,CAAC;AACxC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAC5C,eAAO,MAAM,mCAAmC,IAAI,CAAC;AAErD,qBAAa,sBAAuB,SAAQ,KAAK;CAAG;AAEpD,mFAAmF;AACnF,wBAAgB,8BAA8B,IAAI,MAAM,EAAE,CAMzD;AAgBD;;;;;;GAMG;AACH,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,aAAa,EAAE,MAAM,GACpB,UAAU,CAkBZ;AAED,gEAAgE;AAChE,wBAAgB,qCAAqC,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,CAMvF;AAID,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;AAI5C,sDAAsD;AACtD,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAeD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kCAAkC,CAChD,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE,SAAS,kBAAkB,EAAE,EACpC,UAAU,SAAO,GAChB,UAAU,CAqCZ;AAED,8DAA8D;AAC9D,wBAAgB,+BAA+B,IAAI,UAAU,CAE5D;AAED,wFAAwF;AACxF,wBAAgB,iCAAiC,IAAI,UAAU,CAE9D;AAED,MAAM,WAAW,iBAAiB;IAChC,qEAAqE;IACrE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,UAAU,GAAG,iBAAiB,CAMzF;AASD,wFAAwF;AACxF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CASyB,CAAC;AAEzD,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,kBAAkB,CAAC;AAUlE;4EAC4E;AAC5E,MAAM,MAAM,qBAAqB,GAC7B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;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;;;;;GAKG;AACH,wBAAgB,wCAAwC,CACtD,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC,GACnE,UAAU,CAsDZ;AAED;;;;;GAKG;AACH,eAAO,MAAM,kCAAkC,EAAE,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,CASjG,CAAC"}
|