steamworks-ffi-node 0.6.10 → 0.7.1
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/README.md +157 -107
- package/dist/internal/SteamCloudManager.d.ts +86 -1
- package/dist/internal/SteamCloudManager.d.ts.map +1 -1
- package/dist/internal/SteamCloudManager.js +142 -0
- package/dist/internal/SteamCloudManager.js.map +1 -1
- package/dist/internal/SteamInputManager.d.ts +496 -0
- package/dist/internal/SteamInputManager.d.ts.map +1 -0
- package/dist/internal/SteamInputManager.js +993 -0
- package/dist/internal/SteamInputManager.js.map +1 -0
- package/dist/internal/SteamLibraryLoader.d.ts +61 -0
- package/dist/internal/SteamLibraryLoader.d.ts.map +1 -1
- package/dist/internal/SteamLibraryLoader.js +83 -0
- package/dist/internal/SteamLibraryLoader.js.map +1 -1
- package/dist/internal/SteamScreenshotManager.d.ts +327 -0
- package/dist/internal/SteamScreenshotManager.d.ts.map +1 -0
- package/dist/internal/SteamScreenshotManager.js +459 -0
- package/dist/internal/SteamScreenshotManager.js.map +1 -0
- package/dist/internal/SteamWorkshopManager.d.ts +24 -0
- package/dist/internal/SteamWorkshopManager.d.ts.map +1 -1
- package/dist/internal/SteamWorkshopManager.js +74 -0
- package/dist/internal/SteamWorkshopManager.js.map +1 -1
- package/dist/internal/callbackTypes/SteamCallbackIds.d.ts +2 -0
- package/dist/internal/callbackTypes/SteamCallbackIds.d.ts.map +1 -1
- package/dist/internal/callbackTypes/SteamCallbackIds.js +3 -1
- package/dist/internal/callbackTypes/SteamCallbackIds.js.map +1 -1
- package/dist/internal/callbackTypes/SteamCallbackTypes.d.ts +9 -0
- package/dist/internal/callbackTypes/SteamCallbackTypes.d.ts.map +1 -1
- package/dist/steam.d.ts +99 -0
- package/dist/steam.d.ts.map +1 -1
- package/dist/steam.js +9 -0
- package/dist/steam.js.map +1 -1
- package/dist/types/cloud.d.ts +11 -11
- package/dist/types/cloud.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +4 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/input.d.ts +252 -0
- package/dist/types/input.d.ts.map +1 -0
- package/dist/types/input.js +142 -0
- package/dist/types/input.js.map +1 -0
- package/dist/types/screenshots.d.ts +63 -0
- package/dist/types/screenshots.d.ts.map +1 -0
- package/dist/types/screenshots.js +44 -0
- package/dist/types/screenshots.js.map +1 -0
- package/dist/types/workshop.d.ts +8 -0
- package/dist/types/workshop.d.ts.map +1 -1
- package/dist/types/workshop.js.map +1 -1
- package/docs/README.md +49 -5
- package/package.json +10 -2
|
@@ -579,6 +579,148 @@ class SteamCloudManager {
|
|
|
579
579
|
console.error('[Steamworks] Error setting cloud enabled for app:', error);
|
|
580
580
|
}
|
|
581
581
|
}
|
|
582
|
+
// ============================================================================
|
|
583
|
+
// BATCH OPERATIONS
|
|
584
|
+
// ============================================================================
|
|
585
|
+
/**
|
|
586
|
+
* Begins a batch of file write operations
|
|
587
|
+
*
|
|
588
|
+
* @returns True if the batch was started successfully, false otherwise
|
|
589
|
+
*
|
|
590
|
+
* @remarks
|
|
591
|
+
* Use this when you need to update multiple files atomically, such as a game save
|
|
592
|
+
* that consists of multiple files. Steam will treat all writes between
|
|
593
|
+
* BeginFileWriteBatch() and EndFileWriteBatch() as a single atomic operation.
|
|
594
|
+
*
|
|
595
|
+
* If a batch is started but not ended (e.g., due to a crash), Steam will
|
|
596
|
+
* rollback the changes when the user next plays the game.
|
|
597
|
+
*
|
|
598
|
+
* @example
|
|
599
|
+
* ```typescript
|
|
600
|
+
* // Write multiple save files atomically
|
|
601
|
+
* const success = steam.cloud.beginFileWriteBatch();
|
|
602
|
+
* if (success) {
|
|
603
|
+
* steam.cloud.fileWrite('save_meta.json', metaBuffer);
|
|
604
|
+
* steam.cloud.fileWrite('save_world.bin', worldBuffer);
|
|
605
|
+
* steam.cloud.fileWrite('save_inventory.json', inventoryBuffer);
|
|
606
|
+
* steam.cloud.endFileWriteBatch();
|
|
607
|
+
* }
|
|
608
|
+
* ```
|
|
609
|
+
*
|
|
610
|
+
* @see {@link endFileWriteBatch}
|
|
611
|
+
*/
|
|
612
|
+
beginFileWriteBatch() {
|
|
613
|
+
if (!this.apiCore.isInitialized()) {
|
|
614
|
+
console.error('[Steamworks] Steam API not initialized');
|
|
615
|
+
return false;
|
|
616
|
+
}
|
|
617
|
+
const remoteStorage = this.apiCore.getRemoteStorageInterface();
|
|
618
|
+
if (!remoteStorage) {
|
|
619
|
+
console.error('[Steamworks] ISteamRemoteStorage interface not available');
|
|
620
|
+
return false;
|
|
621
|
+
}
|
|
622
|
+
try {
|
|
623
|
+
return this.libraryLoader.SteamAPI_ISteamRemoteStorage_BeginFileWriteBatch(remoteStorage);
|
|
624
|
+
}
|
|
625
|
+
catch (error) {
|
|
626
|
+
console.error('[Steamworks] Error beginning file write batch:', error);
|
|
627
|
+
return false;
|
|
628
|
+
}
|
|
629
|
+
}
|
|
630
|
+
/**
|
|
631
|
+
* Ends a batch of file write operations
|
|
632
|
+
*
|
|
633
|
+
* @returns True if the batch was ended successfully, false otherwise
|
|
634
|
+
*
|
|
635
|
+
* @remarks
|
|
636
|
+
* Call this after all files in the batch have been written. If this returns
|
|
637
|
+
* true, all the files written since BeginFileWriteBatch() will be committed
|
|
638
|
+
* atomically.
|
|
639
|
+
*
|
|
640
|
+
* @example
|
|
641
|
+
* ```typescript
|
|
642
|
+
* // Complete a batch write
|
|
643
|
+
* steam.cloud.beginFileWriteBatch();
|
|
644
|
+
* steam.cloud.fileWrite('file1.dat', data1);
|
|
645
|
+
* steam.cloud.fileWrite('file2.dat', data2);
|
|
646
|
+
* const committed = steam.cloud.endFileWriteBatch();
|
|
647
|
+
* if (committed) {
|
|
648
|
+
* console.log('All files saved atomically');
|
|
649
|
+
* }
|
|
650
|
+
* ```
|
|
651
|
+
*
|
|
652
|
+
* @see {@link beginFileWriteBatch}
|
|
653
|
+
*/
|
|
654
|
+
endFileWriteBatch() {
|
|
655
|
+
if (!this.apiCore.isInitialized()) {
|
|
656
|
+
console.error('[Steamworks] Steam API not initialized');
|
|
657
|
+
return false;
|
|
658
|
+
}
|
|
659
|
+
const remoteStorage = this.apiCore.getRemoteStorageInterface();
|
|
660
|
+
if (!remoteStorage) {
|
|
661
|
+
console.error('[Steamworks] ISteamRemoteStorage interface not available');
|
|
662
|
+
return false;
|
|
663
|
+
}
|
|
664
|
+
try {
|
|
665
|
+
return this.libraryLoader.SteamAPI_ISteamRemoteStorage_EndFileWriteBatch(remoteStorage);
|
|
666
|
+
}
|
|
667
|
+
catch (error) {
|
|
668
|
+
console.error('[Steamworks] Error ending file write batch:', error);
|
|
669
|
+
return false;
|
|
670
|
+
}
|
|
671
|
+
}
|
|
672
|
+
/**
|
|
673
|
+
* Writes multiple files atomically as a batch operation
|
|
674
|
+
*
|
|
675
|
+
* @param files - Array of objects containing filename and data pairs
|
|
676
|
+
* @returns Object with success status and individual file results
|
|
677
|
+
*
|
|
678
|
+
* @remarks
|
|
679
|
+
* This is a convenience method that wraps BeginFileWriteBatch(), multiple
|
|
680
|
+
* fileWrite() calls, and EndFileWriteBatch() into a single operation.
|
|
681
|
+
*
|
|
682
|
+
* If any file fails to write, the entire batch is considered failed and
|
|
683
|
+
* Steam may rollback the changes.
|
|
684
|
+
*
|
|
685
|
+
* @example
|
|
686
|
+
* ```typescript
|
|
687
|
+
* const result = steam.cloud.writeFilesBatch([
|
|
688
|
+
* { filename: 'save_meta.json', data: Buffer.from(JSON.stringify(meta)) },
|
|
689
|
+
* { filename: 'save_world.bin', data: worldBuffer },
|
|
690
|
+
* { filename: 'save_inventory.json', data: Buffer.from(JSON.stringify(inventory)) }
|
|
691
|
+
* ]);
|
|
692
|
+
*
|
|
693
|
+
* if (result.success) {
|
|
694
|
+
* console.log(`All ${result.filesWritten} files saved`);
|
|
695
|
+
* } else {
|
|
696
|
+
* console.error('Batch write failed:', result.failedFiles);
|
|
697
|
+
* }
|
|
698
|
+
* ```
|
|
699
|
+
*/
|
|
700
|
+
writeFilesBatch(files) {
|
|
701
|
+
const result = {
|
|
702
|
+
success: false,
|
|
703
|
+
filesWritten: 0,
|
|
704
|
+
failedFiles: []
|
|
705
|
+
};
|
|
706
|
+
if (!this.beginFileWriteBatch()) {
|
|
707
|
+
console.error('[Steamworks] Failed to begin file write batch');
|
|
708
|
+
return result;
|
|
709
|
+
}
|
|
710
|
+
for (const file of files) {
|
|
711
|
+
const written = this.fileWrite(file.filename, file.data);
|
|
712
|
+
if (written) {
|
|
713
|
+
result.filesWritten++;
|
|
714
|
+
}
|
|
715
|
+
else {
|
|
716
|
+
result.failedFiles.push(file.filename);
|
|
717
|
+
}
|
|
718
|
+
}
|
|
719
|
+
if (this.endFileWriteBatch() && result.failedFiles.length === 0) {
|
|
720
|
+
result.success = true;
|
|
721
|
+
}
|
|
722
|
+
return result;
|
|
723
|
+
}
|
|
582
724
|
}
|
|
583
725
|
exports.SteamCloudManager = SteamCloudManager;
|
|
584
726
|
//# sourceMappingURL=SteamCloudManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SteamCloudManager.js","sourceRoot":"","sources":["../../src/internal/SteamCloudManager.ts"],"names":[],"mappings":";;;AAWA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,MAAa,iBAAiB;IAO5B;;;;;OAKG;IACH,YAAY,aAAiC,EAAE,OAAqB;QAClE,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,SAAS,CAAC,QAAgB,EAAE,IAAY;QACtC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;YAClC,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;YACxD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC;QAC/D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;YAC1E,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,sCAAsC,CACtE,aAAa,EACb,QAAQ,EACR,IAAI,EACJ,IAAI,CAAC,MAAM,CACZ,CAAC;YAEF,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAC;YACxE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,QAAgB;QACvB,MAAM,MAAM,GAAwB;YAClC,OAAO,EAAE,KAAK;YACd,QAAQ;YACR,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,CAAC;SACb,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;YAClC,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;YACxD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC;QAC/D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;YAC1E,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,CAAC;YACH,2BAA2B;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACxC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;gBACd,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,gCAAgC;YAChC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAElC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,qCAAqC,CACxE,aAAa,EACb,QAAQ,EACR,MAAM,EACN,IAAI,CACL,CAAC;YAEF,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBAClB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;gBACtB,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;gBACzC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;YAC/B,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,mDAAmD,EAAE,KAAK,CAAC,CAAC;YAC1E,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,QAAgB;QACzB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC;QAC/D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,aAAa,CAAC,uCAAuC,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC7F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,KAAK,CAAC,CAAC;YACpE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,UAAU,CAAC,QAAgB;QACzB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC;QAC/D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,aAAa,CAAC,uCAAuC,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC7F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAC1D,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,QAAgB;QAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;YAClC,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC;QAC/D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,CAAC,CAAC;QACX,CAAC;QAED,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,aAAa,CAAC,wCAAwC,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC9F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;YAC9D,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,gBAAgB,CAAC,QAAgB;QAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;YAClC,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC;QAC/D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,CAAC,CAAC;QACX,CAAC;QAED,IAAI,CAAC;YACH,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,6CAA6C,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC3G,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,KAAK,CAAC,CAAC;YACnE,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACH,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;YAClC,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC;QAC/D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,CAAC,CAAC;QACX,CAAC;QAED,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,aAAa,CAAC,CAAC;QACrF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;YAC/D,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,kBAAkB,CAAC,KAAa;QAC9B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC;QAC/D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,gDAAgD;YAChD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB;YAEjD,qDAAqD;YACrD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,+CAA+C,CAC7E,aAAa,EACb,KAAK,EACL,OAAO,CACR,CAAC;YAEF,8CAA8C;YAC9C,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,kDAAkD;YAClD,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAEpC,gCAAgC;YAChC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,8CAA8C,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;gBAClF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC3B,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,gDAAgD,EAAE,KAAK,CAAC,CAAC;YACvE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,WAAW;QACT,MAAM,KAAK,GAAoB,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YAC5C,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACvD,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAEpD,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,SAAS;oBACT,MAAM,EAAE,IAAI;oBACZ,SAAS;iBACV,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,aAAa,CAAC,QAAgB;QAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC;QAC/D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,aAAa,CAAC,0CAA0C,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAChG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,oDAAoD,EAAE,KAAK,CAAC,CAAC;YAC3E,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ;QACN,MAAM,KAAK,GAAe;YACxB,UAAU,EAAE,CAAC;YACb,cAAc,EAAE,CAAC;YACjB,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,CAAC;SACf,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC;QAC/D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YAChD,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YAEpD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,qCAAqC,CACtE,aAAa,EACb,aAAa,EACb,iBAAiB,CAClB,CAAC;YAEF,IAAI,OAAO,EAAE,CAAC;gBACZ,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5D,KAAK,CAAC,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC;gBAC1D,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,UAAU,GAAG,CAAC;oBACtC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG;oBAC5C,CAAC,CAAC,CAAC,CAAC;YACR,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;YAChE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,wBAAwB;QACtB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC;QAC/D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,aAAa,CAAC,qDAAqD,CAAC,aAAa,CAAC,CAAC;QACjG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wDAAwD,EAAE,KAAK,CAAC,CAAC;YAC/E,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,oBAAoB;QAClB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC;QAC/D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,aAAa,CAAC,iDAAiD,CAAC,aAAa,CAAC,CAAC;QAC7F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,oDAAoD,EAAE,KAAK,CAAC,CAAC;YAC3E,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,qBAAqB,CAAC,OAAgB;QACpC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC;QAC/D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,aAAa,CAAC,kDAAkD,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,mDAAmD,EAAE,KAAK,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;CACF;AAllBD,8CAklBC"}
|
|
1
|
+
{"version":3,"file":"SteamCloudManager.js","sourceRoot":"","sources":["../../src/internal/SteamCloudManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,496 @@
|
|
|
1
|
+
import { InputHandle, InputActionSetHandle, InputDigitalActionHandle, InputAnalogActionHandle, InputDigitalActionData, InputAnalogActionData, InputMotionData, SteamInputType, ControllerInfo, DeviceBindingRevision, SteamInputGlyphSize, SteamControllerPad, ControllerHapticLocation } from '../types';
|
|
2
|
+
import { SteamLibraryLoader } from './SteamLibraryLoader';
|
|
3
|
+
/**
|
|
4
|
+
* SteamInputManager
|
|
5
|
+
*
|
|
6
|
+
* Manages Steam Input operations for unified controller support.
|
|
7
|
+
* Supports Xbox, PlayStation, Nintendo Switch, Steam Controller, and more.
|
|
8
|
+
*
|
|
9
|
+
* Features:
|
|
10
|
+
* - Controller detection and enumeration
|
|
11
|
+
* - Action set management
|
|
12
|
+
* - Digital and analog action handling
|
|
13
|
+
* - Motion data (gyro, accelerometer)
|
|
14
|
+
* - Haptic feedback and vibration
|
|
15
|
+
* - LED control
|
|
16
|
+
* - Button glyph display
|
|
17
|
+
* - Configuration UI
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* const inputManager = new SteamInputManager(libraryLoader, apiCore);
|
|
22
|
+
*
|
|
23
|
+
* // Initialize
|
|
24
|
+
* inputManager.init();
|
|
25
|
+
*
|
|
26
|
+
* // Update every frame
|
|
27
|
+
* inputManager.runFrame();
|
|
28
|
+
*
|
|
29
|
+
* // Get connected controllers
|
|
30
|
+
* const controllers = inputManager.getConnectedControllers();
|
|
31
|
+
*
|
|
32
|
+
* // Read actions
|
|
33
|
+
* const jumpHandle = inputManager.getDigitalActionHandle('Jump');
|
|
34
|
+
* const jumpData = inputManager.getDigitalActionData(controllerHandle, jumpHandle);
|
|
35
|
+
* if (jumpData.state) {
|
|
36
|
+
* console.log('Jump pressed!');
|
|
37
|
+
* }
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export declare class SteamInputManager {
|
|
41
|
+
/** Steam library loader for FFI function calls */
|
|
42
|
+
private libraryLoader;
|
|
43
|
+
/** Cached ISteamInput interface pointer */
|
|
44
|
+
private steamInputInterface;
|
|
45
|
+
/**
|
|
46
|
+
* Creates a new SteamInputManager instance
|
|
47
|
+
*
|
|
48
|
+
* @param libraryLoader - The Steam library loader for FFI calls
|
|
49
|
+
*/
|
|
50
|
+
constructor(libraryLoader: SteamLibraryLoader);
|
|
51
|
+
/**
|
|
52
|
+
* Get the ISteamInput interface pointer
|
|
53
|
+
* @private
|
|
54
|
+
*/
|
|
55
|
+
private getSteamInputInterface;
|
|
56
|
+
/**
|
|
57
|
+
* Initialize Steam Input
|
|
58
|
+
*
|
|
59
|
+
* Must be called before using any other Steam Input functions.
|
|
60
|
+
* Should be called after SteamAPI_Init().
|
|
61
|
+
*
|
|
62
|
+
* @param explicitlyCallRunFrame - If true, you must call runFrame() manually each frame.
|
|
63
|
+
* If false, Steam will automatically update input state.
|
|
64
|
+
* Default is true for explicit control.
|
|
65
|
+
* @returns True if initialization was successful
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```typescript
|
|
69
|
+
* if (inputManager.init()) {
|
|
70
|
+
* console.log('Steam Input initialized successfully');
|
|
71
|
+
* }
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
init(explicitlyCallRunFrame?: boolean): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Shutdown Steam Input
|
|
77
|
+
*
|
|
78
|
+
* Should be called before SteamAPI_Shutdown().
|
|
79
|
+
*
|
|
80
|
+
* @returns True if shutdown was successful
|
|
81
|
+
*/
|
|
82
|
+
shutdown(): boolean;
|
|
83
|
+
/**
|
|
84
|
+
* Set the absolute path to the Input Action Manifest file
|
|
85
|
+
*
|
|
86
|
+
* Used for games that provide their own input_actions.vdf file.
|
|
87
|
+
* Must be called before init().
|
|
88
|
+
*
|
|
89
|
+
* @param manifestPath - Absolute path to input_actions.vdf
|
|
90
|
+
* @returns True if successful
|
|
91
|
+
*/
|
|
92
|
+
setInputActionManifestFilePath(manifestPath: string): boolean;
|
|
93
|
+
/**
|
|
94
|
+
* Update input state for all controllers
|
|
95
|
+
*
|
|
96
|
+
* Must be called every frame if init() was called with explicitlyCallRunFrame=true.
|
|
97
|
+
* Synchronizes controller state and processes input data.
|
|
98
|
+
*
|
|
99
|
+
* @param reservedValue - Reserved for future use, should be false
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```typescript
|
|
103
|
+
* // In your game loop
|
|
104
|
+
* function gameLoop() {
|
|
105
|
+
* inputManager.runFrame();
|
|
106
|
+
* // Read input state
|
|
107
|
+
* // Update game logic
|
|
108
|
+
* requestAnimationFrame(gameLoop);
|
|
109
|
+
* }
|
|
110
|
+
* ```
|
|
111
|
+
*/
|
|
112
|
+
runFrame(reservedValue?: boolean): void;
|
|
113
|
+
/**
|
|
114
|
+
* Get all currently connected controller handles
|
|
115
|
+
*
|
|
116
|
+
* Controller handles persist across disconnects/reconnects.
|
|
117
|
+
*
|
|
118
|
+
* @returns Array of controller handles (max 16 controllers)
|
|
119
|
+
*
|
|
120
|
+
* @example
|
|
121
|
+
* ```typescript
|
|
122
|
+
* const controllers = inputManager.getConnectedControllers();
|
|
123
|
+
* console.log(`Found ${controllers.length} controller(s)`);
|
|
124
|
+
*
|
|
125
|
+
* controllers.forEach(handle => {
|
|
126
|
+
* const type = inputManager.getInputTypeForHandle(handle);
|
|
127
|
+
* console.log(`Controller: ${handle}, Type: ${type}`);
|
|
128
|
+
* });
|
|
129
|
+
* ```
|
|
130
|
+
*/
|
|
131
|
+
getConnectedControllers(): InputHandle[];
|
|
132
|
+
/**
|
|
133
|
+
* Get the input type for a specific controller
|
|
134
|
+
*
|
|
135
|
+
* @param inputHandle - Controller handle
|
|
136
|
+
* @returns Controller type enum value
|
|
137
|
+
*
|
|
138
|
+
* @example
|
|
139
|
+
* ```typescript
|
|
140
|
+
* const type = inputManager.getInputTypeForHandle(handle);
|
|
141
|
+
* if (type === SteamInputType.PS5Controller) {
|
|
142
|
+
* console.log('DualSense detected!');
|
|
143
|
+
* }
|
|
144
|
+
* ```
|
|
145
|
+
*/
|
|
146
|
+
getInputTypeForHandle(inputHandle: InputHandle): SteamInputType;
|
|
147
|
+
/**
|
|
148
|
+
* Get comprehensive controller information
|
|
149
|
+
*
|
|
150
|
+
* Convenience method that combines multiple queries into one object.
|
|
151
|
+
*
|
|
152
|
+
* @param inputHandle - Controller handle
|
|
153
|
+
* @returns Controller information object
|
|
154
|
+
*/
|
|
155
|
+
getControllerInfo(inputHandle: InputHandle): ControllerInfo;
|
|
156
|
+
/**
|
|
157
|
+
* Get the controller handle for a specific gamepad index
|
|
158
|
+
*
|
|
159
|
+
* Useful for mapping XInput indices to Steam Input handles.
|
|
160
|
+
*
|
|
161
|
+
* @param gamepadIndex - XInput gamepad index (0-3)
|
|
162
|
+
* @returns Controller handle, or 0n if not found
|
|
163
|
+
*/
|
|
164
|
+
getControllerForGamepadIndex(gamepadIndex: number): InputHandle;
|
|
165
|
+
/**
|
|
166
|
+
* Get the gamepad index for a controller handle
|
|
167
|
+
*
|
|
168
|
+
* @param inputHandle - Controller handle
|
|
169
|
+
* @returns XInput gamepad index (0-3), or -1 if not emulating gamepad
|
|
170
|
+
*/
|
|
171
|
+
getGamepadIndexForController(inputHandle: InputHandle): number;
|
|
172
|
+
/**
|
|
173
|
+
* Get the handle for an action set by name
|
|
174
|
+
*
|
|
175
|
+
* Action sets group related actions together (e.g., "MenuControls", "GameplayControls").
|
|
176
|
+
* Should be queried once at startup and cached.
|
|
177
|
+
*
|
|
178
|
+
* @param actionSetName - Name of the action set from input_actions.vdf
|
|
179
|
+
* @returns Action set handle
|
|
180
|
+
*
|
|
181
|
+
* @example
|
|
182
|
+
* ```typescript
|
|
183
|
+
* const menuSet = inputManager.getActionSetHandle('MenuControls');
|
|
184
|
+
* const gameSet = inputManager.getActionSetHandle('GameplayControls');
|
|
185
|
+
* ```
|
|
186
|
+
*/
|
|
187
|
+
getActionSetHandle(actionSetName: string): InputActionSetHandle;
|
|
188
|
+
/**
|
|
189
|
+
* Activate an action set for a controller
|
|
190
|
+
*
|
|
191
|
+
* Only one action set can be active at a time (plus layers).
|
|
192
|
+
*
|
|
193
|
+
* @param inputHandle - Controller handle
|
|
194
|
+
* @param actionSetHandle - Action set handle to activate
|
|
195
|
+
*
|
|
196
|
+
* @example
|
|
197
|
+
* ```typescript
|
|
198
|
+
* const gameSet = inputManager.getActionSetHandle('GameplayControls');
|
|
199
|
+
* inputManager.activateActionSet(controllerHandle, gameSet);
|
|
200
|
+
* ```
|
|
201
|
+
*/
|
|
202
|
+
activateActionSet(inputHandle: InputHandle, actionSetHandle: InputActionSetHandle): void;
|
|
203
|
+
/**
|
|
204
|
+
* Get the currently active action set for a controller
|
|
205
|
+
*
|
|
206
|
+
* @param inputHandle - Controller handle
|
|
207
|
+
* @returns Currently active action set handle
|
|
208
|
+
*/
|
|
209
|
+
getCurrentActionSet(inputHandle: InputHandle): InputActionSetHandle;
|
|
210
|
+
/**
|
|
211
|
+
* Activate an action set layer
|
|
212
|
+
*
|
|
213
|
+
* Layers add additional actions on top of the base action set.
|
|
214
|
+
* Up to 16 layers can be active simultaneously.
|
|
215
|
+
*
|
|
216
|
+
* @param inputHandle - Controller handle
|
|
217
|
+
* @param actionSetLayerHandle - Action set layer handle
|
|
218
|
+
*/
|
|
219
|
+
activateActionSetLayer(inputHandle: InputHandle, actionSetLayerHandle: InputActionSetHandle): void;
|
|
220
|
+
/**
|
|
221
|
+
* Deactivate an action set layer
|
|
222
|
+
*
|
|
223
|
+
* @param inputHandle - Controller handle
|
|
224
|
+
* @param actionSetLayerHandle - Action set layer handle
|
|
225
|
+
*/
|
|
226
|
+
deactivateActionSetLayer(inputHandle: InputHandle, actionSetLayerHandle: InputActionSetHandle): void;
|
|
227
|
+
/**
|
|
228
|
+
* Deactivate all action set layers
|
|
229
|
+
*
|
|
230
|
+
* @param inputHandle - Controller handle
|
|
231
|
+
*/
|
|
232
|
+
deactivateAllActionSetLayers(inputHandle: InputHandle): void;
|
|
233
|
+
/**
|
|
234
|
+
* Get all currently active action set layers
|
|
235
|
+
*
|
|
236
|
+
* @param inputHandle - Controller handle
|
|
237
|
+
* @returns Array of active layer handles
|
|
238
|
+
*/
|
|
239
|
+
getActiveActionSetLayers(inputHandle: InputHandle): InputActionSetHandle[];
|
|
240
|
+
/**
|
|
241
|
+
* Get the handle for a digital action by name
|
|
242
|
+
*
|
|
243
|
+
* Digital actions represent button presses (on/off state).
|
|
244
|
+
* Should be queried once at startup and cached.
|
|
245
|
+
*
|
|
246
|
+
* @param actionName - Name of the digital action from input_actions.vdf
|
|
247
|
+
* @returns Digital action handle
|
|
248
|
+
*
|
|
249
|
+
* @example
|
|
250
|
+
* ```typescript
|
|
251
|
+
* const jumpHandle = inputManager.getDigitalActionHandle('Jump');
|
|
252
|
+
* const shootHandle = inputManager.getDigitalActionHandle('Shoot');
|
|
253
|
+
* ```
|
|
254
|
+
*/
|
|
255
|
+
getDigitalActionHandle(actionName: string): InputDigitalActionHandle;
|
|
256
|
+
/**
|
|
257
|
+
* Get the current state of a digital action
|
|
258
|
+
*
|
|
259
|
+
* @param inputHandle - Controller handle
|
|
260
|
+
* @param digitalActionHandle - Digital action handle
|
|
261
|
+
* @returns Digital action data (state and active status)
|
|
262
|
+
*
|
|
263
|
+
* @example
|
|
264
|
+
* ```typescript
|
|
265
|
+
* const jumpData = inputManager.getDigitalActionData(controllerHandle, jumpHandle);
|
|
266
|
+
* if (jumpData.state && jumpData.active) {
|
|
267
|
+
* player.jump();
|
|
268
|
+
* }
|
|
269
|
+
* ```
|
|
270
|
+
*/
|
|
271
|
+
getDigitalActionData(inputHandle: InputHandle, digitalActionHandle: InputDigitalActionHandle): InputDigitalActionData;
|
|
272
|
+
/**
|
|
273
|
+
* Get the localized string for a digital action name
|
|
274
|
+
*
|
|
275
|
+
* @param digitalActionHandle - Digital action handle
|
|
276
|
+
* @returns Localized action name, or empty string if not found
|
|
277
|
+
*/
|
|
278
|
+
getStringForDigitalActionName(digitalActionHandle: InputDigitalActionHandle): string;
|
|
279
|
+
/**
|
|
280
|
+
* Get the handle for an analog action by name
|
|
281
|
+
*
|
|
282
|
+
* Analog actions represent continuous inputs like joysticks and triggers.
|
|
283
|
+
* Should be queried once at startup and cached.
|
|
284
|
+
*
|
|
285
|
+
* @param actionName - Name of the analog action from input_actions.vdf
|
|
286
|
+
* @returns Analog action handle
|
|
287
|
+
*
|
|
288
|
+
* @example
|
|
289
|
+
* ```typescript
|
|
290
|
+
* const moveHandle = inputManager.getAnalogActionHandle('Move');
|
|
291
|
+
* const lookHandle = inputManager.getAnalogActionHandle('Look');
|
|
292
|
+
* ```
|
|
293
|
+
*/
|
|
294
|
+
getAnalogActionHandle(actionName: string): InputAnalogActionHandle;
|
|
295
|
+
/**
|
|
296
|
+
* Get the current state of an analog action
|
|
297
|
+
*
|
|
298
|
+
* @param inputHandle - Controller handle
|
|
299
|
+
* @param analogActionHandle - Analog action handle
|
|
300
|
+
* @returns Analog action data (mode, x, y values, and active status)
|
|
301
|
+
*
|
|
302
|
+
* @example
|
|
303
|
+
* ```typescript
|
|
304
|
+
* const moveData = inputManager.getAnalogActionData(controllerHandle, moveHandle);
|
|
305
|
+
* if (moveData.active) {
|
|
306
|
+
* player.move(moveData.x, moveData.y);
|
|
307
|
+
* }
|
|
308
|
+
* ```
|
|
309
|
+
*/
|
|
310
|
+
getAnalogActionData(inputHandle: InputHandle, analogActionHandle: InputAnalogActionHandle): InputAnalogActionData;
|
|
311
|
+
/**
|
|
312
|
+
* Get the localized string for an analog action name
|
|
313
|
+
*
|
|
314
|
+
* @param analogActionHandle - Analog action handle
|
|
315
|
+
* @returns Localized action name, or empty string if not found
|
|
316
|
+
*/
|
|
317
|
+
getStringForAnalogActionName(analogActionHandle: InputAnalogActionHandle): string;
|
|
318
|
+
/**
|
|
319
|
+
* Stop analog action momentum for trackball mode
|
|
320
|
+
*
|
|
321
|
+
* If an analog action is in trackball mode (mouse emulation),
|
|
322
|
+
* this stops the momentum/inertia.
|
|
323
|
+
*
|
|
324
|
+
* @param inputHandle - Controller handle
|
|
325
|
+
* @param analogActionHandle - Analog action handle
|
|
326
|
+
*/
|
|
327
|
+
stopAnalogActionMomentum(inputHandle: InputHandle, analogActionHandle: InputAnalogActionHandle): void;
|
|
328
|
+
/**
|
|
329
|
+
* Get motion data from controller (gyroscope and accelerometer)
|
|
330
|
+
*
|
|
331
|
+
* Provides quaternion rotation, positional acceleration, and angular velocity.
|
|
332
|
+
*
|
|
333
|
+
* @param inputHandle - Controller handle
|
|
334
|
+
* @returns Motion data, or null if not supported
|
|
335
|
+
*
|
|
336
|
+
* @example
|
|
337
|
+
* ```typescript
|
|
338
|
+
* const motion = inputManager.getMotionData(controllerHandle);
|
|
339
|
+
* if (motion) {
|
|
340
|
+
* // Use gyro for aiming
|
|
341
|
+
* camera.rotateByGyro(motion.rotVelX, motion.rotVelY, motion.rotVelZ);
|
|
342
|
+
* }
|
|
343
|
+
* ```
|
|
344
|
+
*/
|
|
345
|
+
getMotionData(inputHandle: InputHandle): InputMotionData | null;
|
|
346
|
+
/**
|
|
347
|
+
* Trigger vibration/rumble on a controller
|
|
348
|
+
*
|
|
349
|
+
* @param inputHandle - Controller handle
|
|
350
|
+
* @param leftSpeed - Left motor speed (0-65535)
|
|
351
|
+
* @param rightSpeed - Right motor speed (0-65535)
|
|
352
|
+
*
|
|
353
|
+
* @example
|
|
354
|
+
* ```typescript
|
|
355
|
+
* // Light rumble
|
|
356
|
+
* inputManager.triggerVibration(handle, 10000, 10000);
|
|
357
|
+
*
|
|
358
|
+
* // Strong rumble
|
|
359
|
+
* inputManager.triggerVibration(handle, 65535, 65535);
|
|
360
|
+
*
|
|
361
|
+
* // Stop rumble
|
|
362
|
+
* inputManager.triggerVibration(handle, 0, 0);
|
|
363
|
+
* ```
|
|
364
|
+
*/
|
|
365
|
+
triggerVibration(inputHandle: InputHandle, leftSpeed: number, rightSpeed: number): void;
|
|
366
|
+
/**
|
|
367
|
+
* Trigger extended vibration with trigger motor support (Xbox controllers)
|
|
368
|
+
*
|
|
369
|
+
* @param inputHandle - Controller handle
|
|
370
|
+
* @param leftSpeed - Left motor speed (0-65535)
|
|
371
|
+
* @param rightSpeed - Right motor speed (0-65535)
|
|
372
|
+
* @param leftTriggerSpeed - Left trigger motor speed (0-65535)
|
|
373
|
+
* @param rightTriggerSpeed - Right trigger motor speed (0-65535)
|
|
374
|
+
*/
|
|
375
|
+
triggerVibrationExtended(inputHandle: InputHandle, leftSpeed: number, rightSpeed: number, leftTriggerSpeed: number, rightTriggerSpeed: number): void;
|
|
376
|
+
/**
|
|
377
|
+
* Trigger a simple haptic event (Steam Controller, Steam Deck)
|
|
378
|
+
*
|
|
379
|
+
* @param inputHandle - Controller handle
|
|
380
|
+
* @param hapticLocation - Left, right, or both
|
|
381
|
+
* @param intensity - Intensity (0-255)
|
|
382
|
+
* @param gainDB - Gain in decibels
|
|
383
|
+
* @param otherIntensity - Intensity for the other pad
|
|
384
|
+
* @param otherGainDB - Gain for the other pad
|
|
385
|
+
*/
|
|
386
|
+
triggerSimpleHapticEvent(inputHandle: InputHandle, hapticLocation: ControllerHapticLocation, intensity: number, gainDB: number, otherIntensity: number, otherGainDB: number): void;
|
|
387
|
+
/**
|
|
388
|
+
* Set controller LED color (supported controllers only)
|
|
389
|
+
*
|
|
390
|
+
* @param inputHandle - Controller handle
|
|
391
|
+
* @param colorR - Red (0-255)
|
|
392
|
+
* @param colorG - Green (0-255)
|
|
393
|
+
* @param colorB - Blue (0-255)
|
|
394
|
+
* @param flags - LED flags (0 = set color, 1 = restore default)
|
|
395
|
+
*
|
|
396
|
+
* @example
|
|
397
|
+
* ```typescript
|
|
398
|
+
* // Set LED to red
|
|
399
|
+
* inputManager.setLEDColor(handle, 255, 0, 0, 0);
|
|
400
|
+
*
|
|
401
|
+
* // Set LED to blue
|
|
402
|
+
* inputManager.setLEDColor(handle, 0, 0, 255, 0);
|
|
403
|
+
*
|
|
404
|
+
* // Restore default LED color
|
|
405
|
+
* inputManager.setLEDColor(handle, 0, 0, 0, 1);
|
|
406
|
+
* ```
|
|
407
|
+
*/
|
|
408
|
+
setLEDColor(inputHandle: InputHandle, colorR: number, colorG: number, colorB: number, flags?: number): void;
|
|
409
|
+
/**
|
|
410
|
+
* Trigger a legacy haptic pulse (Steam Controller)
|
|
411
|
+
*
|
|
412
|
+
* @param inputHandle - Controller handle
|
|
413
|
+
* @param targetPad - Left or right pad
|
|
414
|
+
* @param durationMicroSec - Duration in microseconds
|
|
415
|
+
*/
|
|
416
|
+
legacyTriggerHapticPulse(inputHandle: InputHandle, targetPad: SteamControllerPad, durationMicroSec: number): void;
|
|
417
|
+
/**
|
|
418
|
+
* Get the path to a PNG glyph for an action origin
|
|
419
|
+
*
|
|
420
|
+
* Useful for showing button prompts in your UI.
|
|
421
|
+
*
|
|
422
|
+
* @param origin - Action origin (button)
|
|
423
|
+
* @param size - Glyph size (small, medium, large)
|
|
424
|
+
* @param flags - Glyph style flags
|
|
425
|
+
* @returns Path to PNG file, or empty string if not available
|
|
426
|
+
*
|
|
427
|
+
* @example
|
|
428
|
+
* ```typescript
|
|
429
|
+
* const origins = inputManager.getDigitalActionOrigins(handle, actionSet, jumpHandle);
|
|
430
|
+
* if (origins.length > 0) {
|
|
431
|
+
* const glyphPath = inputManager.getGlyphPNGForActionOrigin(
|
|
432
|
+
* origins[0],
|
|
433
|
+
* SteamInputGlyphSize.Medium,
|
|
434
|
+
* SteamInputGlyphStyle.Dark
|
|
435
|
+
* );
|
|
436
|
+
* // Display glyph image in UI
|
|
437
|
+
* }
|
|
438
|
+
* ```
|
|
439
|
+
*/
|
|
440
|
+
getGlyphPNGForActionOrigin(origin: number, size: SteamInputGlyphSize, flags: number): string;
|
|
441
|
+
/**
|
|
442
|
+
* Get the path to an SVG glyph for an action origin
|
|
443
|
+
*
|
|
444
|
+
* @param origin - Action origin (button)
|
|
445
|
+
* @param flags - Glyph style flags
|
|
446
|
+
* @returns Path to SVG file, or empty string if not available
|
|
447
|
+
*/
|
|
448
|
+
getGlyphSVGForActionOrigin(origin: number, flags: number): string;
|
|
449
|
+
/**
|
|
450
|
+
* Get localized string for an action origin
|
|
451
|
+
*
|
|
452
|
+
* @param origin - Action origin (button)
|
|
453
|
+
* @returns Localized button name (e.g., "A Button", "Cross")
|
|
454
|
+
*/
|
|
455
|
+
getStringForActionOrigin(origin: number): string;
|
|
456
|
+
/**
|
|
457
|
+
* Open the Steam Input configuration UI
|
|
458
|
+
*
|
|
459
|
+
* Shows the binding panel where users can customize their controller configuration.
|
|
460
|
+
*
|
|
461
|
+
* @param inputHandle - Controller handle
|
|
462
|
+
* @returns True if successful
|
|
463
|
+
*
|
|
464
|
+
* @example
|
|
465
|
+
* ```typescript
|
|
466
|
+
* // In your settings menu
|
|
467
|
+
* if (userClicksConfigureController) {
|
|
468
|
+
* inputManager.showBindingPanel(controllerHandle);
|
|
469
|
+
* }
|
|
470
|
+
* ```
|
|
471
|
+
*/
|
|
472
|
+
showBindingPanel(inputHandle: InputHandle): boolean;
|
|
473
|
+
/**
|
|
474
|
+
* Get the binding revision for a device
|
|
475
|
+
*
|
|
476
|
+
* @param inputHandle - Controller handle
|
|
477
|
+
* @returns Device binding revision, or null if not available
|
|
478
|
+
*/
|
|
479
|
+
getDeviceBindingRevision(inputHandle: InputHandle): DeviceBindingRevision | null;
|
|
480
|
+
/**
|
|
481
|
+
* Get the Remote Play session ID for a controller
|
|
482
|
+
*
|
|
483
|
+
* @param inputHandle - Controller handle
|
|
484
|
+
* @returns Session ID, or 0 if not in a Remote Play session
|
|
485
|
+
*/
|
|
486
|
+
getRemotePlaySessionID(inputHandle: InputHandle): number;
|
|
487
|
+
/**
|
|
488
|
+
* Get the current session input configuration settings
|
|
489
|
+
*
|
|
490
|
+
* Returns a bitmask of ESteamInputConfigurationEnableType values.
|
|
491
|
+
*
|
|
492
|
+
* @returns Configuration settings bitmask
|
|
493
|
+
*/
|
|
494
|
+
getSessionInputConfigurationSettings(): number;
|
|
495
|
+
}
|
|
496
|
+
//# sourceMappingURL=SteamInputManager.d.ts.map
|