Mac > API

Mac OS Xで日本語などの入力を司るAPI

Cocoa

Carbon

概要

まず、NewTSMDocumentでTSM documentなるものを作る。このときにUnicodeを使うという事を指示するのだが、微妙に面倒。次に、ウィンドウがアクティブになった時(要するにフォーカスが当たる、か?)にActivateTSMDocumentを呼ぶ。非アクティブになったらDeactivateTSMDocumentを呼び、終わったらDeleteTSMDocumentを呼ぶ。
そしたらいくつかのイベントが飛んでくるので、ちゃんと処理する。
  • kEventTextInputUpdateActiveInputArea
    • これが一番大事。未確定の文字は次々と変化するので、それに追従する。ちなみに未確定の文字はアプリケーション側で表示する。
  • kEventTextInputOffsetToPos
    • 変換候補のウィンドウをどこに出せばいいかを教えてやる。
  • kEventTextInputGetSelectedText
    • 再変換の際に飛んでくるので、現在どのテキストが選択されているか教えてやる。
  • 他にもあると思うので、分かった時に書きます。
  • 管理人が勉強不足で見当はずれな事を書いている可能性あり。

具体的なイベントとか


ひょっとしてCocoaだと、IMが有効な状態でキー入力しても(Carbonだと下の方に窓が出てくるのに対して)普通のキー入力しかにならない?


タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2010年12月01日 21:21