Skip to content

mad-p/MacTcode

Repository files navigation

MacTcode

デモ

動機

macOS用のT-Codeが使えるIMとしてMacUIMを使っていましたが、永らく更新されていません。 ソースコードは公開されているものの、自分でビルドするのは成功していません。saryとかの用意が難しく…(Ruby 1.9.3をSonomaに入れるとか難しい)。

そこで、単純なT-Codeだけのドライバなら作っちゃえばいいんじゃね? ということで始めました。

実装したい機能

おおむね優先度順

  • 基本文字の入力
  • postfix部首変換
  • postfix交ぜ書き変換
    • 変換候補選択画面
    • 送りがなサポート
  • 全角入力モード (v0.1.4.1)
  • 配布パッケージ、notarization
  • configファイルサポート
  • 統計情報の記録
  • パスワード入力時はパススルーする
  • メニュー(config再読み込みとかテンプレ生成とか)
  • 1行入力(T-Code変換をしつつバッファにため、一気に入力するモード)
  • (3ストローク以上の基本文字サポート)
  • (仮想鍵盤)

現状についての警告

  • ユーザー設定でログをオンにすると(デフォルトはオフ)、NSLogに全ストロークが出力されます。プライバシー注意!

インストール

  • GitHubのリリースタグにdmgがある場合は、開いて以下を実施してください
    • sudo cp -r MacTcode.app /Library/Input\ Methods/
      • アップデートの場合はまず消してから
    • dmgがない場合はごめんなさい
  • ログアウトしてログインし直すと、入力ソースとして選択できるようになります
  • 一部アプリに対して部首交換、交ぜ書き変換する場合、バックスペースを送るためにアクセシビリティ機能を使っています
    • システム設定 → プライバシーとセキュリティー → アクセシビリティ でMacTcodeに制御を許可してください

設定ファイル

MacTcodeは設定ファイルを使用してカスタマイズできます。 ConfigParams.mdも参考にしてください。

設定ファイルの場所

設定ファイルはsandboxに対応したアプリケーションサポートディレクトリに配置してください。通常は以下の場所にあると思います。

~/Library/Containers/jp.mad-p.inputmethod.MacTcode/Data/Library/Application Support/MacTcode/config.json

MacTcodeを一度起動するとディレクトリが作られます。

設定ファイルの構造

設定ファイルはJSON形式で、以下の5つのカテゴリーに分かれています:

  • mazegaki: 交ぜ書き変換の設定
  • bushu: 部首変換の設定
  • keyBindings: キーバインドの設定
  • ui: ユーザーインターフェースの設定
  • system: システム動作の設定

サンプル設定ファイル

プロジェクトルートのsample-config.jsonファイルに完全なサンプル設定があります。このファイルをコピーして使用してください:

cp sample-config.json ~/Library/Containers/jp.mad-p.inputmethod.MacTcode/Data/Library/Application\ Support/MacTcode/config.json

MacTcodeを一度起動するとコピー先ディレクトリが作られます。

主な設定項目

  • T-Code基本文字表: 40x40の文字マッピングテーブル
  • 候補選択キー: 変換候補を選択するためのキー設定
  • 除外アプリ: T-Code変換を無効化するアプリケーション
  • 辞書ファイルパス: 部首変換辞書のファイルパス
  • ログ出力: デバッグログの有効/無効
  • バックスペース動作: 変換時のバックスペース設定
  • 統計情報の記録: 入力統計の自動記録(詳細は下記参照)

統計情報の記録

MacTcodeは入力操作の統計情報を自動的に記録します。

統計ファイルの場所

統計情報は tc-record.txt というファイルに追記されます。このファイルは設定ファイルと同じディレクトリにあります。

記録される統計情報

統計ファイルには以下の情報が記録されます:

2025-10-19 14:30:45 文字: 1234  部首:  45(3%)  交ぜ書き:  23(1%)  機能:  12(0%)

各項目の意味:

  • 日時: 統計が記録された日時
  • 文字: 基本文字の入力回数(T-Code基本入力)
  • 部首: 部首変換の実行回数と全体に占める割合(%)
  • 交ぜ書き: 交ぜ書き変換の実行回数と全体に占める割合(%)
  • 機能: キーマップ内に割り当てられている機能(部首/交ぜ書き変換のトリガを含む)の実行回数と全体に占める割合(%)

統計出力のタイミング

統計情報は以下のタイミングで自動的に出力されます:

  1. 定期的な出力: syncStatsInterval(デフォルト1200秒=20分)で設定した間隔が経過し、入力メソッドを切り替えたとき
  2. アプリケーション終了時: MacTcodeが終了するとき
  3. シグナル受信時: プロセスがSIGINTまたはSIGTERMを受信したとき

統計出力の設定

設定ファイル(config.json)のsystemセクションで統計出力を制御できます:

"system": {
  "syncStatsInterval": 1200
}
  • syncStatsInterval: 統計出力の間隔(秒単位)
    • デフォルト値: 1200(20分)
    • 0に設定すると統計ファイルへの出力が無効になります
    • 正の値: 指定した秒数ごとに統計を出力

統計を記録したくない場合は、syncStatsIntervalを0に設定してください:

"system": {
  "syncStatsInterval": 0
}

詳細な設定方法についてはConfigParams.mdを参照してください。

参考文献

ライセンス

MIT

About

Tcode Input Method for macOS

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages