Skip to content

About

Map leverless controller buttons to keyboard / app / URL actions on Windows. Auto-suspends during gameplay. Resident app.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

ControllerDeck

ci License: MIT

レバーレスコントローラのボタン入力を、キー操作・アプリ起動・URL 起動・文字列入力などに変換する Windows 常駐アプリです。

ゲームがアクティブな間だけ自動で入力を休止するため、プレイを妨げません。裏でゲームが起動していても、ブラウザなど別のアプリを操作中は通常どおり使えます。

特徴

  • 購読専用: 入力を抑制・消費しないため、他のアプリのコントローラー動作に影響しません
  • ゲーム中の自動休止: アクティブウィンドウがゲームと判定された間だけ全アクションを停止。別のアプリに切り替えると自動で再開します
  • ランチャーの子孫追跡: Steam 等のランチャーを登録すれば、そこから起動したゲームも自動でゲーム扱いになります
  • 柔軟なマッピング: プロファイル / レイヤー / 長押し / ダブルタップ / 同時押し(3ボタン以上)/ キーリピート / 連打抑制に対応
  • 入力テスト: ボタン入力・XInput の軸値・入力ソースの接続状態を画面で確認できます
  • 設定の持ち運び: 設定とプロファイルを JSON へエクスポート / インポートできます
  • グローバルホットキー: Ctrl+Alt+F12 で設定画面、Ctrl+Alt+F11 で入力の有効/無効を切替
  • 常駐: 通知領域に常駐し、ウィンドウを閉じてもバックグラウンドで動作を続けます
  • ライト / ダーク: OS のテーマ設定に自動追従します
  • 任意コード実行なし: スクリプト実行機能を持たず、アプリ起動は登録済み exe のみに限定します

動作環境

  • Windows 10 / 11(x64)
  • XInput 対応、または DirectInput (HID) 対応のレバーレスコントローラ

インストール(利用者向け)

  1. Releases から最新の ControllerDeck-Setup-<version>.exe をダウンロードします
  2. インストーラーを実行し、画面の指示に従ってインストールします
  3. スタートメニューまたはデスクトップのショートカットから起動します

.NET ランタイムのインストールは不要です(自己完結版を同梱しています)。 自動起動を選択した場合のみ、現在のユーザーのレジストリ(HKCU)に登録されます。アンインストールは Windows の「アプリと機能」から行えます(設定・ログの削除は任意)。

初回起動時、Windows が通知領域アイコンを隠し領域(タスクバーの ^)に入れることがあります。

使い方

起動すると通知領域にアイコンが表示されます。

  • 設定画面を開く: アイコンをダブルクリック、または右クリック →「設定を開く」
  • 終了: アイコンを右クリック →「終了」(ウィンドウを閉じても常駐は継続します)

設定画面

画面 できること
状態 動作状態の確認、入力の有効/無効、適用プロファイルの手動選択、入力デバイスの状態確認
入力テスト ボタン Down/Up、XInput の軸値、入力ソースの接続状態・エラーの確認
プロファイル プロファイルの作成・複製・削除・名前変更、アプリ(exe)への割当。既定プロファイルの表示、exe の参照選択、重複割当の優先度表示
ボタン割当 ボタン → トリガー(短押し/長押し/長押し中/同時押し/ダブルタップ/3ボタン同時押し)→ アクションの設定。キーリピートの開始遅延・間隔・トグル、レイヤー管理、Undo、プロファイル別判定時間
ゲームリスト ユーザー登録ゲーム・ランチャーの追加/削除、同梱リストの有効/無効、一括リセット
一般設定 判定時間(長押し/同時押し/連打抑制/ダブルタップ)、入力ソースの有効/無効、ログレベル、テーマ、設定のエクスポート/インポート、ログフォルダ

変更は保存すると即時反映されます(再起動不要)。ログレベルと入力ソースの変更は再起動後に反映されます。

グローバルホットキー

キー 動作
Ctrl+Alt+F12 設定画面(メインウィンドウ)を表示
Ctrl+Alt+F11 入力の有効/無効を切替

ゲームサスペンドの挙動

状況 挙動
ゲームがアクティブ 全アクション停止。コントローラー操作はそのままゲームに届く
ゲーム起動中だが別アプリがアクティブ 通常どおり動作
ランチャーから起動したゲーム 子孫プロセスとして自動でゲーム扱い

ランチャー経由の子孫プロセス検知は最大 1 秒遅れる場合があります。起動直後の誤発火が気になる場合は、該当ゲームの exe をユーザー登録ゲームへ直接追加すると即時判定になります。

開発者向け

前提

  • .NET SDK 10.x
  • Git

ビルドとテスト

git clone https://github.com/TomyFovos/ControllerDeck-OSS.git
cd ControllerDeck-OSS

dotnet restore src/ControllerDeck.slnx
dotnet build src/ControllerDeck.slnx -c Release
dotnet test src/ControllerDeck.slnx -c Release

開発実行

dotnet run --project src/ControllerDeck/ControllerDeck.csproj

自己完結版の作成

dotnet publish src/ControllerDeck/ControllerDeck.csproj -c Release -r win-x64 --self-contained true

設計書

詳細な仕様・設計は docs/specs/controller-deck/ を参照してください。入口は 設計書索引 です。デザイントークンは DESIGN.md、要件定義は REQUIREMENTS.md にあります。

ライセンス

MIT License

貢献

バグ報告・機能提案は Issues へお願いします。 セキュリティに関する報告は Security Advisories(Private vulnerability reporting)からお願いします。

About

Map leverless controller buttons to keyboard / app / URL actions on Windows. Auto-suspends during gameplay. Resident app.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages