ゲームコントローラーやApple TVのSiriリモコンを、Macのキーボード&マウスに。ソファからブラウジング、スクロール、クリック、文字入力まで
ControllerKeysの機能を一通り紹介するウォークスルー動画をご覧ください
1分以内で使い始められます
Sonoma以降
Xbox、PS5、PS4、Steam、Joy-Con、その他300種類以上
権限の許可が必要
Gumroadからアプリを入手
DMGを開いて/Applicationsにドラッグ
表示されたらアクセシビリティ権限を許可
BluetoothまたはUSBでコントローラーをペアリング
なぜアクセシビリティ権限が必要? 本アプリはAppleのCGEvent APIを使ってキーボードとマウスの入力をシミュレートします。これはアクセシビリティツールや自動化ソフトウェアが使用するのと同じAPIです。アプリは完全にオープンソースなので、不審な動作をしていないことをご自身で確認できます。
コントローラーで生産性を高めるために必要なすべて
| 種類 | 説明 |
|---|---|
| 単一キー | 1回の押下で1つのキー入力 |
| 修飾キー+キー | ⌘Cのような組み合わせ |
| 修飾キーホールド | ボタンを押している間、修飾キーを押下 |
| 長押し | 長押しで別のアクション |
| ダブルタップ | 素早く2回押して発動 |
| リピート | 押している間オートリピート |
複数のボタンを同時に押して1つのアクションを実行。完全にカスタマイズ可能 — 自分だけの組み合わせを作れます。
チートコードのように、順番にボタンを押してアクションを発動
ボタンを押している間だけ、まったく別のマッピングセットに切り替え — キーボードのShiftキーのように
例: LBを押しながらA/B/X/Yをアプリランチャーに、D-padをメディアコントロールに。
JavaScriptCoreを利用したカスタム自動化スクリプトを作成
press()、hold()、click()、type()、paste()、delay()shell()、openURL()、openApp()、notify()、haptic()app.name、app.bundleId、app.is()trigger.button、trigger.pressTypescreenshotWindow() APIマウスまたはWASD
スクロールまたは矢印キー
SiriリモコンをBluetoothでペアリングして、小さなMacリモコンとして使用 — Apple TVは不要
GTA風のラジアルメニューでアプリやウェブサイトを瞬時に切り替え
DualSenseやDualShock 4のジャイロスコープで、精密なマウス操作とジェスチャーによるアクション発動
コントローラーのボタンからHTTPリクエストを送信 — スマートホーム、API、カスタム連携をトリガー
スマートに切り替えられる複数の設定
スワイプ入力対応のフルキーボード&アプリランチャー
複数ステップの操作を記録してワンボタンで再生
キー入力を超えた自動化
変数: {date}、{time}、{clipboard}などをテキスト内で使用できます。
DualSense、DualSense Edge、DualShock 4を完全サポート
ValveのSteamコントローラーを生HID経由で完全サポート — Steamを起動する必要すらありません
Joy-Con単体、L+RペアのJoy-Con、SwitchプロコントローラーをMacの入力デバイスとして使用
背面パドル4つを含むElite専用ハードウェアを完全サポート
単純なキーマッピングで同時押し検出ウィンドウをバイパスするプロファイル別設定
2台のControllerKeys搭載Mac間のユニバーサルコントロール風リレー — カーソルを画面端に押し当てると入力が相手側に移動
スティックをカスタムモードにすると、8方向それぞれが実際に割り当て可能なボタンに
破壊的な操作はすべて自動でスナップショット — 履歴タブからいつでも以前の状態に復元
タッチパッドをフルトラックパッドとして使うことも、あるいは4つの独立した割り当て可能領域に分割することも
全面モードまたは4領域モード
Xbox、PlayStation、Nintendo、Steamコントローラー — さらに300種類以上
macOSがゲームコントローラーとして認識するものなら、ControllerKeysでマッピングできます。
コントローラー入力を配信画面に表示
使用統計を記録して、あなたのコントローラーパーソナリティを共有
通常価格から20%オフ — 期間限定
余ったコントローラーを生産性の主役に
古いコントローラーをホコリまみれにしないで
キーボードとマウスに代わる快適な選択肢
ソファでくつろぎながらAIにコードを書かせる — コントローラーで提案をレビュー&承認するだけ
VRヘッドセットの中から、あるいは部屋の反対側からMacを操作
ソファから単語カードを復習。ショートカット完全対応 — Enjoyableとはひと味違います
Enjoyableから乗り換え? ControllerKeysはEnjoyableにはできない修飾キーの組み合わせ、同時押し、マクロに対応しています。
音声文字起こしと組み合わせて完全ハンズフリーのコンピューティング
教室のためのワイヤレスコントローラー — スライド、OBSシーン、録画を操作しながら自由に動き回れます
「200人超の物理学入門講義を担当しており、以前はElgatoのStream DeckでOBSを操作していました。Stream Deckは機能としては十分でしたが、有線でトラックパッドもありません。ControllerKeysとPS5 DualSenseへの乗り換えは迷いませんでした — Bluetoothなので教室内を自由に動き回れ、タッチパッドでカーソル操作も完璧です。講義の運営がずっと楽しくなりましたし、教授がPS5コントローラーで講義全体を仕切る姿に学生たちも大喜びです。」
コントローラーからWebhookとOBS WebSocketコマンドをトリガー — キーボード不要
通常価格から20%オフ — 期間限定
Xbox、DualSense、Steamコントローラー、Apple TVリモコンでのアプリの動作をご覧ください
オープンソース&Apple公証済み
よくある問題の解決方法
~/.config/controllerkeys/config.json を削除よくある質問への回答
はい!Xbox Series X|SコントローラーはBluetoothでMacに接続できます。コントローラーをペアリングモードにして(Xboxボタンが点滅するまでペアリングボタンを長押し)、システム設定 → Bluetoothでコントローラーを選択してください。
接続後はControllerKeysで、ゲームだけでなく生産性向上にも活用できます。
はい!DualSenseコントローラーはMacと相性抜群です。ライトバーが点滅するまでクリエイトボタンとPSボタンを同時に長押しし、システム設定 → Bluetoothでペアリングしてください。
ControllerKeysなら、タッチパッドをトラックパッドとしてフル活用でき、USB接続時にはLEDカラーのカスタマイズも可能です。
Bluetooth: ワイヤレスの利便性。ほとんどの機能で快適に動作します。
USB: DualSenseのLEDカラーカスタマイズとマイクアクセスに必須。さらにわずかに低い遅延と、コントローラーを充電しながら使えるメリットも。
1. Xboxボタンを押してコントローラーの電源を入れます
2. ペアリングボタン(コントローラー上部)をXboxボタンが速く点滅するまで3秒間長押しします
3. Macでシステム設定 → Bluetoothを開きます
4. リストから「Xbox Wireless Controller」を選択します
1. DualSenseコントローラーの電源が入っている場合はオフにします
2. クリエイトボタン(タッチパッドの左)とPSボタンを同時に3秒間長押しします
3. ペアリングモードに入るとライトバーが青く点滅します
4. Macでシステム設定 → Bluetoothを開き、「DualSense Wireless Controller」を選択します
はい!第2世代のSiriリモコンをBluetoothでMacにペアリングすると(ペアリングランプが点灯するまで「戻る」+「音量を上げる」を長押しし、システム設定 → Bluetoothで接続)、ControllerKeysがコントローラーとして認識します — Apple TVは不要です。
クリックパッドでカーソルを動かして物理的にクリックでき、外周リングはD-padとして機能し、すべてのサイドボタン — TV/ホーム、戻る、再生/一時停止、Siri、電源、消音、音量 — を個別にマッピングできます。プレゼンのクリッカーや、テレビに接続したMacのメディアリモコンとしても最適です。
はい。タッチパッド設定でエッジスクロールを有効にし、クリックパッドの外周リングに沿って指を回すと、iPodホイールのような円運動でスクロールできます。速度も設定可能です。
SteamコントローラーのワイヤレスドングルをUSBポートに挿し、Steamボタンを押してコントローラーを起動し、ControllerKeysを立ち上げてください。アプリが生HID経由でコントローラーを検出し、リザードモードを自動的に無効化します — Steamのインストールは不要です。
Bluetoothファームウェアのコントローラーの場合: Y+Steamボタンを2秒間長押ししてペアリングモードに入り、システム設定 → Bluetoothからペアリングしてください。
詳しい手順はMacでSteamコントローラーを使うガイドをご覧ください。
リザードモードとは、Steamコントローラー内蔵のキーボード・マウスエミュレーションに対するValveの呼び名です。ゲームが入力を取得していないとき、ファームウェアはUSBキーボードとマウスのふりをします — 右パッドがカーソルを動かし、ABXYがEnter/Escape/Spaceに対応する、といった具合です。
macOSではこのレイヤーを通常のアプリから上書きできないため、何を割り当てても意図しないキー入力やカーソルのドリフトが重なって発生します。ControllerKeysはSteamがリザードモードを無効化するのと同じHIDフィーチャーレポートを送信し、無効化が確認されるまで入力を保留し、タイマーで再送信して無効状態を維持します。Steamコントローラーのハードウェアは社内でTritonというコードネームで呼ばれています。
はい。アプリは完全にオープンソースです — 何をしているかを正確に確認できます。外部への通信やデータ収集は一切行いません。ネットワークアクセスが発生するのは、Webhook、OBSコマンド、コミュニティプロファイルのインポートを明示的に設定した場合のみです。
コントローラーの入力はリアルタイムでキーボード/マウスイベントに変換され、即座に破棄されます。アプリはAppleによる署名と公証を受けています。
Xbox Series X|S、Xbox Elite Series 2(パドル対応)、PlayStation 5 DualSense、DualSense Edge、PlayStation 4 DualShock 4、Nintendo Joy-Con(単体またはペア)、Switchプロコントローラー、Valve Steamコントローラー、さらにSDLデータベース経由で300種類以上のサードパーティ製コントローラーに対応しています。
DualSense、DualShock 4、Steamコントローラーはいずれもタッチパッド、マルチタッチジェスチャー、ジャイロエイムに対応。DualSenseはUSB接続でLEDカスタマイズとマイクアクセスも可能です。SteamコントローラーはSteamを起動せずに生HID経由で動作します。
いいえ。ControllerKeysはSteamコントローラーと生HID経由で直接やり取りします。ボタン、スティック、トリガー、グリップボタン、バッテリーレポート、ハプティクス、ジャイロスコープ、両方の正方形タッチパッドのすべてを、Steamを介さずに解析します。
タッチパッドは全面モードまたは4分割モードで動作し、2パッドのピンチズームに対応。ジャイロエイムとジェスチャーはSteamコントローラーの生のジャイロスケールを使用します。
はい。ユニバーサルコントロール風のリレー機能で、ControllerKeysが動作する2台のMacをペアリングし、設定した画面端にカーソルを押し当てると、マウス、キーボード、マッピング済みアクションが2台目のMacに引き継がれます。
受信側のMacは自身のアクティブプロファイルでアクションを実行します — ホスト側でFinderを開く同時押しは、リモート側でもFinderを開きます。ペアリングはローカルネットワーク限定で、フレームはHMAC-SHA256で認証されます。
はい。リアルタイム入力モード(プロファイル別)では、単純なキーマッピングを押した瞬間にキーダウン、離した瞬間にキーアップとして送信し、同時押し検出ウィンドウをバイパスします。
同時押し、ダブルタップ、長押し、リピートは従来のタイミング処理を使用するため、高度な操作はそのまま機能します。
はい!8BitDo、Logitech、PowerA、Horiをはじめとする300種類以上のサードパーティ製コントローラーに対応しています。SDLコントローラーデータベースを使った自動検出とマッピングにより、手動設定は不要です。
macOSがゲームコントローラーとして認識するものなら、ControllerKeysでマッピングできます。
はい。Xbox Elite Series 2の背面パドル4つ(P1–P4)はControllerKeysで独立したボタンとして認識され、通常のABXY/バンパーとは別に、任意のキー、同時押し、マクロ、JavaScriptスニペット、システムアクションに割り当てられます。
MicrosoftのXbox Accessoriesアプリで既存のボタンをパドルにミラーリングする必要はありません — ControllerKeysがネイティブに割り当てます。
はい。破壊的な操作 — プロファイルの削除、インポート、復元、全消去 — の前には必ず自動スナップショットが作成されます。履歴タブにはすべてのスナップショットがタイムスタンプとワンクリックの復元ボタン付きで一覧表示されます。最大20個のスナップショットがディスクに保存されます。
復元自体もスナップショットされるため、取り消しの取り消しも可能です。プロファイルインポート時の安全確認では、インポートを承諾する前にすべてのシェルコマンド、JavaScriptスクリプト、Webhook URLがそのまま一覧表示されます。
現在、アプリは一度に1つのコントローラーに対応しています。最初に接続されたコントローラーが使用されます。
本アプリは生産性向上(コーディング、ブラウジング、日常的な操作)を目的に設計されています。ほとんどのゲームはコントローラーにネイティブ対応しているため、併用すると競合や二重入力が発生する可能性があります。
ボタンの設定時に、キーを指定せず修飾キー(⌘ ⌥ ⇧ ⌃)のみを選択し、「Hold Modifier」を有効にしてください。
ボタンを押している間、その修飾キーが有効になります。
はい。キーキャプチャ欄でアクションとして「Mouse Left Click」または「Mouse Right Click」を選択してください。
それぞれ独立しています:
はい。ボタン設定からすべてのマッピングを削除してください。押しても何も起こらなくなります。
デッドゾーンの設定値を増やしてください。15〜20%にすると、応答性を保ったままドリフトがほぼ解消されます。
フォーカスモードを使ってください。トリガーとなる修飾キーを設定し、それを押しながらジョイスティックを動かすと、ゆっくり精密に移動できます。
はい。各スティックは、マウス、スクロール、WASD、カスタムのモードを個別に設定できます — プロファイル単位で設定でき、レイヤーごとの上書きも可能です。
カスタムモードでは、スティックの8方向(上下左右4方向+斜め4方向)それぞれが、コントローラーの図から割り当てられるボタンになります。ワンクリックのプリセットでWASDや矢印キーを一括設定できます。
プロファイルは~/.config/controllerkeys/config.jsonに保存されます — 人間が読めるJSONファイルなので、バックアップや共有も簡単です。
基本的には併用できます。動作するレイヤーが異なります — 本アプリはコントローラー入力を、KarabinerとHammerspoonはキーボード入力と自動化を扱います。通常は競合しません。
はい。システム設定 → 一般 → ログイン項目にControllerKeysを追加してください。
アプリはコントローラーの入力を継続的に監視し、リアルタイムでキーボード/マウスイベントに変換しています。終了するとすべてのマッピングが停止します。
バイブコーディングとは、Claude Code、Cursor、CopilotなどのAIアシスタントに作業の大部分を任せながら、自分はプロセスを導くというリラックスしたプログラミングスタイルです。
ControllerKeysを使えば、ソファからIDEを操作できます — コードの移動、AI提案の承認、コマンドの実行をキーボードに触れずに行えます。
もちろんです!ボタンにAI補完のトリガー、提案の承認、ターミナルコマンドの実行を割り当てられます。Claude Code、Cursor、Copilot、Aider、Codex CLI、Roo Codeをはじめ、あらゆるAIコーディングアシスタントと相性抜群です。
本アプリをVoiceInk(オープンソース、Whisperベース)などの音声文字起こしツールと組み合わせてください。コントローラーのボタンに音声録音の切り替えを割り当てれば、ハンズフリーで文字入力ができます。
この組み合わせはソファコンピューティングに最適です — 音声でテキストを入力しながら、コントローラーで操作とコマンドを実行できます。
生産性ツールに変身させましょう!ソファからMacを操作したり、プレゼンを進めたり、ウェブをブラウジングしたり、AIの力を借りてコーディングしたり。ゲームで使わなくなったコントローラーを再活用する絶好の方法です。
はい。コントローラーはキーボードやマウスとは人間工学的に異なるため、反復性ストレス障害(RSI)をお持ちの方や代替入力手段が必要な方に役立ちます。カスタマイズ可能なマッピングで、ご自身のニーズに合わせて調整できます。