📄Google日本語入力の句読点を一発で切り替えるソフト「句読点スイッチャー」をAutoHotkeyで自作した
先日上にある記事を書きました。折角作るので公開したいと思い、公開するのであれば設定を変更できるようにしたいと思い、そうしたらとんでもなく時間が掛かりました。
ツールを作った目的はWindowsPCにおいて「、。」(句点読点)と「,.」(カンマピリオド)をショートカットで一発切替できるようにすることで、Google日本語入力で句読点を切り替えるソフトを作ったのは参考になる手法を発見したからです。
かなり時間掛けて作ったのですが、完成してからMicrosoft IMEでも設定を変更する方法を発見してしまいました。
こっちの方がシンプルで、Google日本語入力を追加でインストールするとかそういうのが無いのですぐ導入できます。
コードの殆どを流用したらすぐできたのでこっちも公開します。
上のZIPファイルをダウンロードして任意の場所で解凍します。
※ C:\Program Files など、ユーザーアカウント制御により書き込みが制限される場所は避けてください。
PunctuationSwitcher.exeをダブルクリックで句読点スイッチャーが起動できます。Windowsから警告が表示されると思います。
コードサイニング証明書を取得していない個人開発のソフトウェアであるため、このようにWindowsの警告が表示されます。
詳細情報から実行をクリックして実行します。
Windowsの起動時に自動起動させる場合は下記の方法でスタートアップに登録してください。
PC起動時から実行させるのであれば、実行ファイルの右クリックメニューからショートカットを作成し、スタートアップフォルダに放り込みます。
個別ユーザーのスタートアップフォルダのパス
C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
全ユーザー共通のスタートアップフォルダのパス
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
デフォルトのショートカットキーは「Ctrl+Shift」です。
アイコンを右クリックすることで設定が可能です。
「ショートカットキーの有効化」をクリックすると、ショートカットキーの有効/無効を切り替えることができます(チェックマークで現在の状態をチェック可能)。
「ショートカットキーの設定」をクリックすると、ショートカットキーの設定画面へと進みます。
任意のショートカットキーを設定する場合はチェックマークを外した後に、
赤枠内をクリックしてフォーカスを当て、設定したいショートカットキーを実際に押します。
ショートカットキーが表示されたら、Saveボタンをクリックします(自動的に設定ウィンドウは閉じます)。
config.iniから直接編集も可能ですが、特殊なショートカットキーで登録できないなどの理由が無い限りはこの方法が楽なのでオススメです。
- ショートカットキーで句読点を切り替えた際、アイコンは変わっているのに入力する句読点が切り替わらない
Microsoft IMEの仕様っぽいんですが、レジストリ上で句読点の設定を書き換えても、フォーカスがそのままだと変更前の設定がキャッシュされていて句読点が切り替わりません。
タスクトレイアイコンをクリックすることで実行した場合、マウスクリックでフォーカスがリセットされるので問題なく変更が反映されるのですが、ショートカットキーによる実行ではフォーカスがそのままです。
ショートカットキーからの実行時に限り、フォーカスをリセットする(一瞬外して戻す)ために「コマンドプロンプトのウィンドウを最小化状態で0.5秒間出す」というダミーの処理を入れていますが、これでもたまに反映されないことがあります。
反映されないときは、テキスト入力欄以外のどこかを一旦クリックするなどしてフォーカスを再読み込みさせてください。
もっといい方法は無いものかと考えていますが、今のところ解決の目途は立っていません