Ultimate Shift Controller
利用者向け説明書
Version 3.0.9

For manuals in other languages, see the included [README_Other_Languages] folder.


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 1. 取扱種別・動作環境
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

取扱種別：
フリーソフトです。利用料金はかかりません。

動作環境：
・64bit版Windows
・Windows 10／Windows 11を想定
・.NET 8 Desktop Runtime（x64）
・キーボードおよびマウス

本ソフトは64bitアプリです。
利用するキーボード、マウス、アプリ、ゲーム、日本語IMEによって、利用できる入力や挙動が異なる場合があります。

仮想コントローラー機能を利用する場合は、別途ドライバーや関連設定が必要になる場合があります。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 2. インストール方法
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

本ソフトにインストーラーはありません。

1. 配布されたZIPファイルを任意のフォルダーへ展開します。
2. 展開したフォルダー内のUltimateShiftController.exeを起動します。
3. 必要な割り当てを設定し、［保存］を押します。

設定ファイルを本ソフトのフォルダー内へ保存するため、
デスクトップ、ドキュメント、任意のアプリ用フォルダーなど、書き込み可能な場所へ展開してください。

ZIPファイルの中から直接起動せず、必ず展開してから使用してください。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 3. アンインストール方法
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

1. 設定画面で［Windows起動時に自動起動］をOFFにします。
2. タスクトレイを含め、Ultimate Shift Controllerを終了します。
3. 本ソフトを展開したフォルダーを削除します。

設定とプロファイルも削除する場合は、同梱フォルダー内の［Settings］フォルダーを含めて削除してください。
設定を残したい場合は、削除前に［Settings］フォルダーを別の場所へバックアップしてください。

仮想コントローラー用に別途導入したドライバーは、本ソフトのフォルダーを削除しても削除されません。
不要な場合は、各ドライバーの手順に従って別途アンインストールしてください。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 4. このソフトについて
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Ultimate Shift Controllerは、キーボードとマウスの入力を組み合わせ、
普段使っているキーやボタンを、用途に合わせて便利に使えるようにするWindows用アプリです。

キーボードのキーを別のキーへ割り当てたり、マウスボタンからショートカットを実行したり、
呼び出しキーを押している間だけ別の割り当てへ切り替えたりできます。

ゲーム専用のアプリではありません。
文章作成、画像編集、動画編集、配信、ブラウザー操作など、
キーボードショートカットを多く使うアプリでも利用できます。

本ソフトの基本機能は、キーボードとマウスだけで使用できます。
仮想コントローラー機能を使わない場合、追加のコントローラー設定は必要ありません。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 5. 主な機能
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

・キーボードのキーを別のキーへ割り当てる
・マウス中ボタン、第4ボタン、第5ボタンを入力や出力に使う
・SHIFT、CTRL、ALT、Windowsキーを含むショートカットを登録する
・1つの入力から複数キーの同時押しを実行する
・F1～F24、Home、End、Insert、Delete、PageUp、PageDownなどを使う
・同じキーへ最大4種類の役割を持たせる
・キーを押している間だけHYPER／ULTRA／ULTIMATEへ切り替える
・ターボ機能で登録した出力を連続実行する
・タブを追加し、用途ごとに割り当てを整理する
・複数のプロファイルを保存して切り替える
・プロファイルをインポート／エクスポートする
・HUDで現在のレイヤーや状態を表示する
・タスクトレイへ常駐させる
・HYPER／ULTRA／ULTIMATEの入力側で、左クリック／右クリックを割り当てる
・選択した文章を、Google Chromeの端末内翻訳機能で翻訳する
・日本語入力時の英数入力ミスを、変換キー2回でかなへ打ち直す

すべての機能を使う必要はありません。
最初はNORMALとHYPERだけを使い、必要になった機能を少しずつ追加する方法がおすすめです。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 6. 初めて使う場合の基本手順
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

1. UltimateShiftController.exeを起動します。
2. 画面上部で、編集するレイヤーを選びます。
3. 設定したい行の上側に、元になるキーまたはマウスボタンを登録します。
4. 同じ行の下側に、実行したいキーやショートカットを登録します。
5. 必要な設定が終わったら、画面右下の［保存］を押します。
6. 登録した入力を押し、正しく動作するか確認します。

例：

  上側の入力　：Q
  下側の出力　：CTRL＋1

この設定では、対象レイヤー中にQを押すとCTRL＋1が実行されます。

設定欄をクリックすると入力待機状態になります。
登録したいキー、キーの同時押し、または対応するマウスボタンを押してください。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 7. 4つの入力レイヤー
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

本ソフトには、次の4つのレイヤーがあります。

［NORMAL］
通常時に使用するレイヤーです。

［HYPER］
HYPERの呼び出し入力を押している間に使用するレイヤーです。

［ULTRA］
ULTRAの呼び出し入力を押している間に使用するレイヤーです。

［ULTIMATE］
HYPERとULTRAの呼び出し入力を同時に押している間だけ使用するレイヤーです。
ULTIMATE専用の呼び出し入力はありません。

画面上部の［NORMAL］［HYPER］［ULTRA］［ULTIMATE］は、
「どのレイヤーの設定を編集するか」を選ぶためのボタンです。

実際に使用されるレイヤーは、HYPERとULTRAの呼び出し入力の押下状態で決まります。

  HYPERもULTRAも押していない　→ NORMAL
  HYPERだけ押している　　　　 → HYPER
  ULTRAだけ押している　　　　 → ULTRA
  HYPERとULTRAを同時に押している → ULTIMATE


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 8. HYPER／ULTRA／ULTIMATEと外部マウスの設定
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

HYPERを設定する場合：

1. 画面上部の［HYPER］を押します。
2. ［HYPER 呼出］で、レイヤーを呼び出す入力を設定します。
3. HYPER中に使用したい割り当てを登録します。
4. ［保存］を押します。

ULTRAも同じ手順で設定します。
ULTIMATEは、HYPERとULTRAを同時に押した時の割り当てだけを設定します。
ULTIMATE専用の呼び出し入力は設定しません。

使用例：

  HYPER呼出：マウス第4ボタン
  ULTRA呼出：マウス第5ボタン

この場合、同じQキーを次のように使い分けられます。

  Q　　　　　　　　　　　　　 → NORMALのQ設定
  第4ボタンを押しながらQ　　　→ HYPERのQ設定
  第5ボタンを押しながらQ　　　→ ULTRAのQ設定
  第4・第5ボタンを押しながらQ → ULTIMATEのQ設定

［F13～F24を使ったレイヤー呼び出し］

HYPER／ULTRAの論理呼び出しキーに使用できるのはF13～F24だけです。
HYPERとULTRAへ同じ論理キーは設定できません。通常操作と重なりにくいF13、F14などを使用してください。

例：

  HYPER呼出キー：F13
  ULTRA呼出キー：F14

呼び出しキーを選んだだけではレイヤーは切り替わりません。
実際にF13またはF14を送る物理キー、マウスボタン、外部デバイスのボタンを「起爆キー」として登録してください。
USCの割り当て出力でF13～F24を作った場合も、ターボOFFの割り当てなら内部経路から起爆できます。USC自身の出力をGlobal Hookへ再入力し直す方式ではありません。

［上位レイヤーで左クリック／右クリックを入力に使う］

HYPER／ULTRA／ULTIMATEの上側入力欄では、LButton（左クリック）とRButton（右クリック）を登録できます。
通常クリックの誤登録を防ぐため、NORMALの上側入力欄と、全レイヤーの下側出力欄ではLButton／RButtonを登録できません。
ターボOFFの割り当て出力は、元の入力を押している間だけ押下状態を維持し、入力を離すと解除します。

［Razer Synapse 2でF13～F24を登録する方法］

Synapse 2では、F13～F24を登録してもキー名は画面に表示されませんが、設定内容は保存できます。
F13を登録する例：

1. USCのNORMALレイヤーで、物理F1の出力を一時的にF13へ変更します。
2. Synapse 2で、起爆に使いたいマウスボタンのキー登録画面を開きます。
3. キー入力待機中に物理F1を押します。USCからF13が入力されます。
4. Synapse 2の画面にキー名は表示されませんが、そのまま設定を保存します。
5. 保存後、USCで一時変更したF1の出力を通常のF1へ戻します。
6. USCの［HYPER 呼出］をF13に設定します。

ULTRAは同じ手順でF14などを登録できます。

［Razer Synapse 3で設定する方法］

Synapse 3でF13～F24を直接設定できる場合は、起爆に使うボタンへF13やF14を登録し、
USC側のHYPER／ULTRA呼出キーを同じFキーに設定します。

［Logicool Gシフト／G HUBで設定する方法］

G HUBでは、キー割り当てからF1～F24を選択できます。レイヤー呼び出しにはF13～F24を使用してください。
Gシフト側または通常側の起爆ボタンへF13やF14を登録し、USC側も同じFキーに設定します。

［その他のマウスやキーボード］

RazerやLogicool以外でも、設定ソフトからF13～F24を登録できる機器なら同じ方法で利用できます。
キー名が画面に表示されなくても、登録・保存できて実際に入力されるなら使用できます。
可能な限り、通常操作と重なりにくいF13～F24を使用してください。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 9. タブ、プロファイル、保存
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

［タブ］
割り当てを用途別に整理するために使用します。
タブの追加、削除、名前変更、並び替えができます。

［プロファイル］
設定全体を用途別に保存する機能です。
ゲーム別、アプリ別、作業別などに分けておくと、必要な設定へ切り替えやすくなります。

設定を変更した後は、必ず［保存］を押してください。
保存前の変更は、アプリ終了やプロファイル切り替えで失われる場合があります。

設定とプロファイルは、実行ファイルと同じ場所に作成される［Settings］フォルダーへ保存されます。
別のパソコンや別の場所へ移す場合は、必要に応じて［Settings］フォルダーも一緒にコピーしてください。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 10. ターボ、HUD、状態表示
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

［ターボ］
登録した出力を、設定した間隔で連続実行します。
必要な設定欄の［ターボ］を有効にし、速度を設定してください。

［US HUD］
現在のレイヤーや設定した表示名を、画面上へ表示できます。
位置、サイズ、色、透明度などは設定画面から変更できます。

［CLEAN］
押下状態の表示や、アプリ内部で保持している入力状態が残った場合に解除を試みます。
通常操作でキー入力を無効化する機能ではありません。

［Keyboard Lock］
キーボード清掃などのために、キーボード入力を一時停止します。
解除する時は、マウスで同じボタンをもう一度押してください。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 11. 主な設定項目
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

［設定した入力をキルする］
元の入力と割り当て後の出力が同時に反応することを防ぎます。
通常は有効をおすすめします。

［レイヤー中は未設定入力を無効化］
HYPER、ULTRA、ULTIMATE中に、割り当てていない入力がそのまま実行されることを防ぎます。
一部のキーが反応しない場合は、この設定と現在のレイヤーの割り当てを確認してください。

［最小化でトレイへ］
最小化した時にタスクトレイへ格納します。
トレイアイコンをダブルクリックすると画面へ戻せます。

［起動時トレイへ］
アプリ起動時からタスクトレイへ格納します。

［Windows起動時に自動起動］
Windowsへのサインイン時に本ソフトを自動起動します。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 12. 日本語IME：変換キーで英字再変換
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

日本語UIの設定画面にある［変換キーで英字再変換］は、初期状態ではOFFです。

ONにすると、修飾キーなしの物理［変換］キー本来の動作を抑止します。
変換キーを1回だけ押しても何も起こりません。
Windowsのダブルクリック時間内に2回続けて押した場合だけ、専用処理を実行します。

動作の流れ：

1. カーソル直前の連続した半角英数字・半角記号を選択
2. 選択した文字列を一時的に取得
3. 文字列をDeleteで削除
4. 日本語IMEをひらがな・ローマ字入力状態へ準備
5. 取得した文字列を先頭からかなで打ち直す
6. 変換、Space、Enterを送らず、未確定かなのまま停止

対象条件：

・半角英字、半角数字、空白を除く半角記号
・最低1文字は英字または数字を含むこと
・最大50文字
・51文字以上の場合は削除せず中止

例：

  ashitananitabeyou?
  sonnnani?watasinokoto
  raigetsu2026nennohanasiwosiyou
  konndonoyasumi,dokoniikou?
  kyouha23jimadeniokaerimasu

入力先のアプリやウィンドウが変わった場合は、安全のため処理を中止します。
この機能は、特定のゲームやアプリには対応していません。
必要な場合は、利用先アプリの「元に戻す」機能を使用してください。

本機能は翻訳、文章補正、意味の推測、ネット通信を行いません。
入力欄や日本語IMEの種類によっては、期待どおりに動作しない場合があります。

本機能は、選択した半角文字列をClipboard経由で取得します。
連続変換時の停止を防ぐため、処理後のClipboardには今回取得した半角文字列が残り、
処理前のClipboard内容は自動では復元しません。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 13. 仮想コントローラー機能について
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

仮想コントローラー機能は上級者向けです。

利用する環境によって、追加ドライバー、物理コントローラーとの区別、
ゲーム側の入力設定、デバイスの表示順などを理解して設定する必要があります。
設定を誤ると、物理コントローラーと仮想コントローラーが二重入力になる場合があります。

この機能は、文章だけでは画面や接続状態を正確に説明することが難しいため、
README.txtでは詳細な設定手順を扱いません。
利用する場合は、GitHubに掲載されている画像付きの説明を確認してください。

画像付き説明：
https://github.com/Lu-ci-el/UltimateShiftController/blob/main/Instructions_jp.md

キーボードとマウスの割り当て、レイヤー切り替え、ショートカット機能だけを使う場合、
仮想コントローラーの設定や追加ドライバーは必要ありません。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 14. うまく動かない時
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

・設定変更後に［保存］を押したか確認してください。
・画面上部で選んだレイヤーは編集対象です。実行レイヤーは呼び出し入力で切り替わります。
・HYPER／ULTRAが切り替わらない場合は、呼び出し入力と実入力の設定を確認してください。
・元のキーと割り当て後のキーが両方反応する場合は、［設定した入力をキルする］を確認してください。
・レイヤー中に一部のキーが反応しない場合は、［レイヤー中は未設定入力を無効化］を確認してください。
・Keyboard Lockが有効な場合、キーボード入力は反応しません。マウスで解除してください。
・押下状態の表示が残った場合は［CLEAN］を押してください。
・複数キーの同時押しが認識されない場合は、キーボード本体の同時押し制限の可能性があります。
・保存できない場合は、書き込み可能なフォルダーへ本ソフトを移動してください。
・Program Filesなど、通常ユーザーが書き込めない場所への配置は避けてください。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 15. 作者への連絡先・不具合報告
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

本ソフトに関する不具合報告は、次のGitHub Issuesで受け付けています。

Ultimate Shift Controller - GitHub Issues
https://github.com/Lu-ci-el/UltimateShiftController/issues

上記が作者への連絡先および不具合報告窓口です。
報告にはGitHubアカウントが必要です。

報告する際は、可能な範囲で次の情報を記載してください。

・発生した問題
・問題が発生するまでの操作手順
・毎回発生するか、時々発生するか
・使用しているWindows、キーボード、マウス、日本語IMEなど
・エラーメッセージやログがある場合はその内容

報告内容は原因調査と今後の修正候補として扱いますが、
個別の返信、即時修正、すべての環境への対応を保証するものではありません。

機能追加要望、個別カスタマイズ開発、不正利用や迷惑行為につながる依頼は受け付けていません。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 16. 注意事項
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

・重要な設定は、［Settings］フォルダーを定期的にバックアップしてください。
・更新前には本ソフトを終了し、必要に応じて［Settings］フォルダーを保存してください。
・割り当て内容によっては、対象アプリの既存ショートカットと競合する場合があります。
・オンラインゲームや各種サービスで使用する場合は、それぞれの利用規約を確認してください。
・他人の操作を妨害する目的、不正利用、迷惑行為には使用しないでください。
・本ソフトを使用したことによって生じた損害について、作者は責任を負いかねます。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ USC_TRANSLATION_3_0_4 / 翻訳機能
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

［必要なもの］

・翻訳機能には、64bit版Google ChromeとChrome側で利用可能な端末内翻訳モデルが必要です。
・Microsoft EdgeへのFallbackはありません。Chromeや対象言語のモデルが利用できない場合は、翻訳を開始せずエラーを表示します。

［基本設定と起爆キー］

1. 設定画面で［翻訳機能を使用する］を有効にし、［翻訳設定］を開きます。
2. ［翻訳キー］でF13～F24の論理キーを選びます。HYPER／ULTRAの呼び出しキーと同じキーは使用できません。
3. ［起爆キー］を左クリックして入力待機にし、実際に押す物理キー／マウス／コントローラー入力を登録します。右クリックで解除します。
4. 現在のレイヤーにあるターボOFFのUSC割り当て出力も、起爆キーとして内部登録できます。物理入力とUSC内部出力を半分ずつ混ぜた組み合わせや、ターボ出力は起爆に使用しません。

［翻訳の使い方］

・外国語の文章を選択して起爆キーを押すと、USCで現在選択している自分の言語へ翻訳します。
・自分の言語の文章を選択して起爆キーを押すと、直前に翻訳した相手言語へ翻訳します。相手言語がまだ確定していない場合は［初期変換先］を使います。
・結果はSimple Windowへ表示します。［返信翻訳を自動コピー］がONなら送信用結果をClipboardへコピーします。自動貼り付けは行いません。
・選択文字の取得時は、前面ApplicationへCtrl+Cを1回だけ送信します。Left Ctrl DOWN → C DOWN → C UP → Left Ctrl UPをscan codeで個別送信し、Ctrlを先に押した状態を短く保持してからCを押します。Cを先に送らず、失敗時もCを再送しません。更新が確認できたClipboard文字列だけを翻訳し、取得不能時は翻訳せずSimple Windowに表示します。画面読取/OCRは行いません。
・新しい翻訳要求は古い処理より優先されます。同じ言語方向や逆方向を続けて翻訳する場合も、最後に起動した要求を表示対象にします。
・Markdown、URL、コード、引用符、段落、改行を含む長文は、構造をモデルの外側で保護しながら有限長へ分割して再結合します。

［言語モデルの準備］

・USC標準14言語は［標準言語一括DL］でまとめて準備できます。追加言語はBCP-47言語タグを指定して個別に準備します。Chrome側が対応していない言語は利用できません。
・翻訳設定を開く、［更新］を押す、言語Pack一覧の行を選ぶ、という操作だけではダウンロードを開始しません。これらはChrome所有Packの状態確認または個別DL対象の選択だけです。
・［DL］または［標準言語一括DL］を明示的に押した時だけ、通常のGoogle Chromeへ短時間のtoken保護されたローカルDL画面を開きます。Chromeが既に起動中でも利用できます。Chrome画面内のボタンをクリックすると、Chrome自身がモデル準備を開始します。
・DL画面は127.0.0.1の短命なloopback接続だけを使い、外部Webサイトへ移動しません。完了後はUSC HostがChrome所有Packを再確認し、確認できない場合はDL済みとして扱いません。
・通常の翻訳は非表示の1-request Helperをstdioで使用し、ChromeのPage／Tab／Windowやlocalhost listenerを開きません。未取得モデルを通常翻訳から自動ダウンロードすることもありません。

［保存場所と保存操作］

・USC自身の翻訳設定、軽量Cache、確認済みPair情報だけを、実行EXE直下の［Settings\Translation］へ保存します。
・ChromeのProfile、TranslateKit、Language Pack、Runtime、Component、Model、CacheはChrome所有です。USCフォルダーへコピー、移動、複製、保存先変更を行いません。
・翻訳設定の変更は作業中状態へ即時反映されます。正式保存はUSCメイン画面の［保存］で行ってください。
・Chrome APIに個別削除手段がないため、USCからダウンロード済みモデルを個別削除する機能はありません。

Build、Windows Runtime、WinForms UI、実Chrome、Storage、Packageは別々の確認項目です。環境によって利用可能な入力、Chromeモデル、翻訳結果は異なる場合があります。
