Skip to content

S2P-XInput-Lite-v0.4.0

Pre-release
Pre-release

Choose a tag to compare

@duoduo-88 duoduo-88 released this 17 Jul 04:41
38c7ba4

[English] | [繁體中文]


English

Update Summary

  • Added wired USB input with full sensor reports, rumble output, safe shutdown, stalled-stream recovery, and HID write congestion protection.
  • Improved connection selection: wired USB is checked first, then ESP32-S3, with Windows native BLE as fallback.
  • Changed native BLE discovery to connect as soon as a matching advertisement appears, and added notification retry plus visible Windows high-throughput request status.
  • Improved ESP32-S3 detection by prioritizing Espressif ports; the main and calibration programs now share the same detector.
  • Added live 6-axis/9-axis status for wired USB, ESP32, and native BLE based on sustained magnetometer data.
  • Added live connection, battery-level, ESP32, and ViGEmBus status.
  • Added per-controller stick, gyro, accelerometer, and magnetometer calibration.
  • Improved stick processing with time-based smoothing, stabilization, deadzones, smooth curves, and round-to-square output shape.
  • Expanded button and stick mapping with keyboard combinations, Windows/media keys, mouse buttons, wheel input, multiple activation buttons, and reset controls.
  • Improved HD Rumble 2 conversion and added Game, WASAPI Audio, and Mix modes with five-band EQ and vibration-tail controls.
  • Added gyro mapping to an Xbox stick or mouse, including aim, tilt/steering, recentering, calibration, response curves, and stability controls.
  • Added Traditional Chinese/English switching for the GUI, tooltips, dialogs, calibration, and connection consoles.
  • Improved 1080p scrolling, 4K DPI scaling, atomic configuration writes, firmware flashing, runtime size, and shutdown cleanup.
  • Included the complete upstream ESP32-S3 source corresponding to the bundled 0.12.4 firmware.

螢幕擷取畫面 2026-07-17 123725 螢幕擷取畫面 2026-07-17 123717 螢幕擷取畫面 2026-07-17 123656 螢幕擷取畫面 2026-07-17 123640

Quick Start

  1. Install ViGEmBus with Install-ViGEmBus.bat if required.
  2. Choose a connection method:
    • Wired USB: connect the controller before opening Steam, reWASD, or another controller tool.
    • Native BLE: turn on Windows Bluetooth, but do not pair the controller through Windows Bluetooth settings. This application handles pairing and connection directly.
    • ESP32-S3: connect a compatible ESP32-S3 flashed with the bundled firmware.
  3. Run S2P-XInput-Lite.exe.
  4. Select the language with the 中 / En button.
  5. Adjust mappings and settings, then select Save.
  6. Select Restart and wake the controller. For first-time native BLE pairing, hold SYNC; a previously paired controller can normally be woken with any button.

The program checks wired USB first, then ESP32-S3, and automatically uses native BLE when neither is available.

Calibration

  • Sticks: close the active connection, select Calibrate, choose wired USB, ESP32, or native BLE, and follow the prompts.
  • Motion sensors: connect the controller first, then use Sensor Cal on the gyro page and complete every stage carefully.
  • Calibration data is stored separately for each controller and applied immediately when possible.

Vibration and Gyro

  • Vibration source can be Game, Audio, or Mix. Audio capture uses the Windows default output through WASAPI.
  • The five-band curve and vibration-tail controls process the final advanced vibration output.
  • Set both LF and HF strength to 0.00 to disable vibration.
  • Gyro mapping is off by default. Select an activation method, output target, and activation button before use.
  • Save changed settings and restart the connection program before testing.

Important Notes

  • Windows 10/11 only; one controller at a time.
  • ViGEmBus is required for Xbox 360/XInput output.
  • Keep the connection console open while using the controller.
  • Do not pre-pair native BLE through Windows Bluetooth settings; start this application and use SYNC for first-time pairing.
  • A different controller should be paired and calibrated separately.
  • Hold SYNC when moving a controller to a different ESP32 or host.
  • After flashing firmware, reset or reconnect the ESP32-S3 and restart the application.
  • Perform gyro calibration on a stable surface. Perform accelerometer and magnetometer calibration away from magnets, speakers, large metal objects, and powered equipment.
  • XInput cannot expose raw motion sensor data; motion is mapped to a stick or mouse.
  • Wired USB may require HidHide if a game sees both the physical HID and virtual XInput controller.
  • If wired status shows Basic mode, fully close Steam and other controller tools, reconnect the controller, and start this application first.
  • Settings and calibration data are stored in config.ini. Keep a backup before replacing or redistributing a configured build.

繁體中文

更新摘要

  • 新增 USB 有線輸入,支援完整感測報告、震動輸出、安全關閉、停流自動恢復及 HID 寫入堵塞保護。
  • 改善連線選擇:優先偵測 USB 有線,其次為 ESP32-S3,最後自動改用 Windows 原生 BLE。
  • 原生 BLE 改為偵測到相符廣告後立即連線,並加入通知重試與 Windows 高吞吐量請求狀態。
  • 改善 ESP32-S3 偵測速度,優先測試 Espressif 連接埠,主程式與校正程式共用相同偵測器。
  • USB 有線、ESP32 與原生 BLE 皆可依磁力計持續資料即時顯示六軸/九軸狀態。
  • 新增即時連線、電量等級、ESP32 與 ViGEmBus 狀態。
  • 新增每支手把獨立的搖桿、陀螺儀、加速度計及磁力計校正。
  • 改善搖桿處理,加入時間式平滑、防抖、死區、平滑曲線及圓形至方形輸出。
  • 擴充按鍵與搖桿映射,支援鍵盤組合、Windows/媒體鍵、滑鼠按鍵、滾輪、多重啟動按鍵及個別還原。
  • 改善 HD Rumble 2 轉換,新增遊戲、WASAPI 音訊及混合震動,並加入五頻段與餘震控制。
  • 新增陀螺儀映射至 Xbox 搖桿或滑鼠,包含瞄準、傾斜方向盤、回中、校正、感度曲線及穩定控制。
  • GUI、問號提示、對話框、校正與連線主控台皆支援繁中/英文切換。
  • 改善 1080p 捲動、4K DPI、設定檔原子寫入、韌體刷寫、runtime 容量及關閉清理。
  • 發佈包包含與隨附 0.12.4 韌體完全對應的上游 ESP32-S3 原始碼。

快速操作

  1. 尚未安裝時,執行 Install-ViGEmBus.bat 安裝 ViGEmBus。
  2. 選擇連線方式:
    • **USB 有線:**請先接上手把,再開啟 Steam、reWASD 或其他手把工具。
    • 原生 BLE:開啟 Windows 藍牙,但不要先透過 Windows 藍牙設定配對手把;配對與連線由本程式直接處理。
    • **ESP32-S3:**接上已刷入隨附相容韌體的 ESP32-S3。
  3. 執行 S2P-XInput-Lite.exe
  4. 使用 中 / En 按鈕選擇語言。
  5. 調整映射與設定後按 儲存設定
  6. 重新啟動連接程式 並喚醒手把。原生 BLE 第一次配對請按住 SYNC;已配對過通常按任意鍵即可喚醒。

程式會優先偵測 USB 有線,其次為 ESP32-S3;兩者都不可用時自動改用原生 BLE。

校正

  • **搖桿:**先關閉連線程式,按 校正搖桿,選擇 USB 有線、ESP32 或原生 BLE,再依提示操作。
  • **動作感測器:**先連上手把,再到陀螺儀頁面按 感測器校正,完整完成各階段。
  • 每支手把的校正資料會分開儲存,能立即套用時不必重新連線。

震動與陀螺儀

  • 震動來源可選 遊戲音訊混合;音訊模式透過 WASAPI 擷取 Windows 預設輸出。
  • 五頻段曲線與餘震控制會處理進階震動的最終輸出。
  • 將 LF 與 HF 強度都設為 0.00 即可關閉震動。
  • 陀螺儀映射預設關閉;使用前需選擇啟動方式、輸出目標及啟動按鍵。
  • 修改後請先儲存,再重新啟動連線程式測試。

注意事項

  • 僅支援 Windows 10/11,一次連接一支手把。
  • Xbox 360/XInput 輸出必須安裝 ViGEmBus。
  • 使用手把期間請保持連線主控台開啟。
  • 原生 BLE 不要先透過 Windows 藍牙設定配對;請啟動本程式,第一次配對時按住 SYNC
  • 更換手把後應分別重新配對及校正。
  • 手把要切換到另一個 ESP32 或主機時,請按住 SYNC 重新配對。
  • 刷完韌體後,請重設或重新插拔 ESP32-S3,並重新開啟程式。
  • 陀螺儀校正時需將手把平放;加速度計及磁力計校正應遠離磁鐵、喇叭、大型金屬與通電設備。
  • XInput 無法輸出原始動作感測器資料,陀螺儀只能映射至搖桿或滑鼠。
  • USB 有線模式若讓遊戲同時看到實體 HID 與 XInput,需使用 HidHide 隱藏實體手把。
  • 若 USB 有線狀態顯示 基本模式,請完全退出 Steam 或其他手把工具,重新插拔手把後先啟動本程式。
  • 設定與校正資料位於 config.ini;替換或發佈已設定的版本前建議先備份。