2007-11-12

GetScriptManagerVariable/KeyScript

vim-cocoaでIM制御できない話がMLで出てるのでフィードバックしようと思って調べ直してたら、Carbon版で使ってるCarbon APIのGetScriptManagerVariableDeprecated in Mac OS X v10.5.ですよ。普通deprecatedなので代わりにこれ使ってね、とか書いてあるものなのに書いてないし...

で、LeopardでIMの状態をアプリごとに記憶するInputSwitcherというものをVoluntasさんとこで発見。しかもソース付き。

ありがたく見させていただくと、Text Input Source Services ReferenceのTISCopyCurrentKeyboardInputSourceで記憶、TISSelectInputSourceで設定、というのがわかりました。これでパッチ作ってフィードバックします。Leopard以上と以下でifdefかな。

なんでもかんでもCocoaってわけにはいかんのですね、というかそういう住み分けか。