2 ポイント 投稿者 unstabler 4 시간 전 | まだコメントはありません。 | WhatsAppで共有

スクリーンショット (Twitter / X)

macOS向けリモート操作アプリ を作っているのですが、その過程で得たノウハウをもとに、右側の Option / Command キーで韓英切り替えができるようにする Sejong98 というアプリを作ってみました。

機能

  • 以下のキーに対して、「韓英切り替え」「韓国語入力に切り替え」「英字入力に切り替え」のアクションを割り当てられます。

    • 右 Command
    • 右 Option
    • Shift + Space
  • Vim ユーザー向け機能: Escape キーを押すと英字入力に切り替える機能を提供します。

これまでプログラム経由で韓英切り替えができなかった理由 / ではこのアプリはどうやってこの問題を解決したのか?

macOS では HIToolbox というフレームワークで提供される TISSelectInputSource() 系 API を通じて入力言語を切り替えられます。

しかし、これらの API は実際にはクラシック Mac OS 時代に存在した Carbon API に属しており、現在はメンテナンスされていないのか、この API を呼び出すと韓中日への言語切り替えがほぼ確率的に近い動作になります。あるときは韓国語入力になり、あるときは英字入力になり……という具合です。

しかし、API 呼び出し後に別のアプリへ移動してから戻ると、常に正常に韓国語入力への切り替えが保証されることが確認されました。Sejong98 はこの点を応用(悪用)して、この問題を可能な限り回避します。

Sejong98 では 1x1 の見えない空のウィンドウを作っておき、右 Command キーが押されると可能な限り高速で空のウィンドウへ移動してから元のアプリへ戻ります。こうすると、ウィンドウフレームが一瞬ちらつく代わりに、韓英切り替えが常に成功するようになります.

まだコメントはありません。

まだコメントはありません。