Skip to content

kw4r3n/input-jp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Input JP

Linux上で擬似的に日本語入力を補助する最小ツールです。

  • アプリ側にはIMEを入れず、このツール側で日本語を入力します
  • Enter で確定した文字列をクリップボードへコピーします
  • 任意で、直前のX11ウィンドウへ Ctrl+V を自動送信できます
  • KDE Wayland では ydotool を使って Alt+Tab の後に Ctrl+V を送る試験対応があります
  • 複数行入力、クイック入力、トレイ常駐、下書き復元、履歴、貼り付け診断に対応しています

前提

  • Linuxデスクトップ環境
  • fcitx5 または ibus など、日本語入力できるIMEがOS側で動作していること
  • pixi がインストールされていること
  • 自動貼り付けは xdotool が使えるX11またはXWayland環境であること
  • KDE Wayland の自動貼り付けは ydotoolydotoold が使えること

Input JP は自動貼り付けをオンにした時、またはWayland貼り付け実行時に、ydotoold のソケットが無ければ自動起動を試みます。

セットアップ

pixi run start

初回実行時に pythonpyside6 がPixi環境へ入ります。

構文チェックだけ行う場合:

pixi run check

Mozc/Fcitx が入っているのに特定アプリで日本語入力できない場合の診断:

pixi run ime-doctor
pixi run ime-advice -- code

対象アプリを補正付きで起動する場合:

pixi run ime-launch --profile auto -- code
pixi run ime-launch --profile xwayland -- code
pixi run ime-steam

入力先から呼び出して、Enterで貼り付けてトレイへ戻す場合:

pixi run quick

マウスカーソル付近に表示する場合:

pixi run cursor
pixi run quick-cursor
pixi run game-input

アプリメニューへ登録する場合:

pixi run install-desktop

KDEなどのグローバルショートカットには、次のようにmanifestを明示したコマンドを登録すると安定します。

pixi run --manifest-path /home/kw4/Work/Tools/input-jp/pixi.toml quick
pixi run --manifest-path /home/kw4/Work/Tools/input-jp/pixi.toml quick-cursor

おすすめの割り当て:

  • Meta+J: 入力補助を呼ぶ意図が分かりやすく、アプリ側の通常ショートカットと衝突しにくいです
  • Meta+Alt+J: 誤爆をさらに減らしたい場合の候補です
  • Ctrl+SpaceAlt+SpaceMeta+V はIME、ランチャー、クリップボード系と被りやすいので避けるのがおすすめです

使い方

  1. 入力欄に日本語を入力します。改行は Shift+Enter です
  2. Enter を押すと文字列を確定し、クリップボードへコピーします
  3. 前のウィンドウへ自動貼り付け をオンにしていれば、X11では直前ウィンドウへ Ctrl+V を送ります
  4. KDE Wayland では ydotoolAlt+Tab を送り、その後 Ctrl+V を試みます
  5. 確定後クリア がオンなら、コピーまたは貼り付け成功後に入力欄を空にして次の入力へ戻ります
  6. 自動貼り付けがオフの場合は対象アプリへ手動で貼り付けます

モード切り替え:

  • 画面上部の モード通常入力クイック入力 を切り替えられます
  • トレイメニューから 通常入力で表示 / クイック入力で表示 を選べます
  • トレイメニューからカーソル付近に表示する項目も選べます
  • pixi run start は通常入力、pixi run cursor は通常入力をカーソル付近、pixi run quick はクイック入力、pixi run quick-cursor はクイック入力をカーソル付近に表示します
  • pixi run game-inputquick-cursor と同じ動作で、Steam/Protonゲーム向けのショートカット名です

クイック入力:

  1. 入力したいテキストボックスにカーソルを置きます
  2. グローバルショートカットなどから pixi run quick を呼び出します
  3. Input JPで日本語を入力します
  4. Enter で元の入力先へ貼り付けます
  5. 貼り付け後、Input JP は終了せずタスクトレイへ隠れます

補足:

  • Ctrl+Enter で手動コピーできます
  • Esc で未確定の入力を取り消せます。クイック入力ではトレイへ隠れます
  • 前のウィンドウへ貼り付け ボタンで、最後に追跡したウィンドウへ手動貼り付けできます
  • 貼付先固定、または Ctrl+L で、現在追跡しているX11/XWaylandウィンドウを貼り付け先に固定できます
  • 画面下部に現在の貼り付け先ウィンドウを表示します
  • Enterでコピー をオフにすると、Ctrl+Enter かボタンでだけコピーします
  • 常に手前 をオンにすると、他アプリの前に置きやすくなります
  • 確定後クリア をオフにすると、確定後も入力欄の内容を選択状態で残します
  • 貼付遅延 で KDE Wayland の Alt+Tab 後に待つ時間を調整できます
  • 履歴から選択 で最近コピーした文字列を戻せます
  • 履歴管理 で履歴を検索、削除、全削除、入力欄へ戻す操作ができます
  • 定型文はメイン画面には出さず、必要な場合だけ履歴管理内のタブから整理できます
  • 診断xdotoolydotoolydotoold、ソケット、貼り付け先を確認できます
  • 未確定の入力は下書きとして保存され、次回起動時に復元されます
  • ウィンドウを閉じると、可能な環境では終了せずタスクトレイへ隠れます。終了はトレイメニューの 終了 から行います
  • IME互換診断 または pixi run ime-doctor で、Mozc/Fcitx、Wayland、Electron/Chromium向け補正候補を確認できます
  • Enterでコピー、自動貼り付け、常に手前、確定後クリア、貼付遅延、履歴、定型文、ウィンドウ位置は次回起動へ引き継がれます
  • KDE Wayland の貼り付け先表示は厳密なウィンドウIDではなく、KDEの Alt+Tab で戻る直前ウィンドウの想定です

IME互換性マネージャ

Mozc が入っていても、アプリ側が Wayland の text-input、XIM、GTK/Qt IM module、Electron/Chromium の起動フラグに乗らない場合は日本語入力できません。Input JP はこのケースを、アプリ別の起動補正と貼り付けfallbackで扱います。

診断:

pixi run ime-doctor

アプリ別の候補表示:

pixi run ime-advice -- <app>

補正付き起動:

pixi run ime-launch --profile auto -- <app>
pixi run ime-launch --profile electron-wayland -- <electron-app>
pixi run ime-launch --profile chromium-wayland -- <chromium-app>
pixi run ime-launch --profile steam -- steam
pixi run ime-launch --profile xwayland -- <app>

auto は既知の Electron/Chromium 系アプリには Wayland IME 用の起動フラグを足し、それ以外には Fcitx 向け環境変数を補います。Wayland ネイティブでだめなアプリは xwayland で XIM 経路へ逃がせる場合があります。Flatpak アプリはアプリIDごとの環境変数 override が必要になることがあります。

Steam は通常のGTK/Qtアプリとは違い、起動済みのSteamへコマンドを転送することがあります。補正を試す場合は Steam を完全終了してから次で起動してください。

pixi run ime-steam

KDEなどのアプリメニューから補正付きSteamを起動したい場合:

pixi run install-steam-desktop

これで Steam (IME互換起動) という別ランチャーを ~/.local/share/applications/steam-input-jp.desktop に作成します。通常のSteamランチャーは上書きしません。

このprofileは GTK_IM_MODULE=ximXMODIFIERS=@im=fcitx を使い、SteamをXIM/XWayland寄りで起動します。Steam内の一部CEF入力欄がそれでもIMEを受けない場合は、pixi run quick-cursor をfallbackとして使います。

Steam配下のゲームも含めて毎回個別起動するのが大変な場合は、2段階で広げます。

pixi run compat-on

戻したい場合:

pixi run compat-off

状態確認:

pixi run compat-status

compat-on~/.config/environment.d/90-input-jp-ime.conf にKDE Wayland向けの最小限の基本環境変数を入れ、さらに ~/.local/share/applications/steam.desktop を作成して通常のSteamランチャー自体を steam profile 経由にします。既存のローカル steam.desktop がある場合は steam.desktop.input-jp.bak に一度だけバックアップします。Steamをこの経路で起動すると、Steamから起動されるネイティブゲームも基本的には同じIME環境を継承します。

KDE WaylandでWayland input method frontendが動いている場合、GTK_IM_MODULEQT_IM_MODULE は全体設定しません。GTK/Qtの互換変数が必要なアプリには、ime-launch --profile fcitx-envxwaylandsteam などの個別profileで付けます。

compat-off はInput JPが生成したセッション環境ファイルを .disabled に退避し、Input JP管理のSteam上書きを削除またはバックアップから復元します。反映にはログアウト/ログインと対象アプリの再起動が必要です。

個別に切り替えたい場合:

pixi run install-session-env
pixi run disable-session-env
pixi run install-steam-override
pixi run disable-steam-override

Proton/Windowsゲームや独自入力欄はLinuxのIME経路を受けない場合があります。その場合は pixi run quick-cursor fallbackを使います。

それでも独自入力欄がIME経路を受けない場合は、pixi run quick-cursor をfallbackとして使います。

Proton/Windowsゲーム

Master Duel のように変換ウィンドウは出るのに入力欄へ確定文字が入らない場合、Fcitx側は動いていますが、Wine/Proton内のゲーム入力欄へcommit文字列が渡っていません。この場合、Steamやセッション環境をさらに調整しても改善しないことがあります。

ゲーム内の入力欄にカーソルを置いた状態で、KDEなどのグローバルショートカットから次を呼び出してください。

pixi run --manifest-path /home/kw4/Work/Tools/input-jp/pixi.toml game-input

Input JP側で変換して Enter すると、クリップボード経由でゲームへ貼り付けを試みます。ゲーム側が Ctrl+V を受け付けない入力欄では、このfallbackも効かない場合があります。

制限

  • X11 と XWayland では、貼り付け先は xdotool が最後に検出した自分以外のアクティブウィンドウです
  • pixi run quick は既にInput JPが常駐している場合、新しいプロセスを増やさず既存のInput JPへ表示要求を送ります
  • 貼り付け先固定はX11/XWaylandの追跡対象に対する固定です。KDE Wayland の ydotool 経路では Alt+Tab 先を使います
  • KDE Wayland の貼り付け先は厳密なウィンドウIDではなく、KDEの Alt+Tab で復帰する直前ウィンドウです
  • KDE Wayland でXWayland対象を検出できた場合は、xdotool 経路を優先します
  • 対象アプリ側がUTF-8や日本語フォントに非対応だと、貼り付け後に文字化けや豆腐表示になることがあります
  • KDE Wayland の ydotool 経路はベストエフォートです。KDEの Alt+Tab 割り当てが既定に近いことを前提にしています

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages