InputMethodKitで入力プログラムをつくろう

25

description

2009-05-30 Cocoa勉強会

Transcript of InputMethodKitで入力プログラムをつくろう

Page 1: InputMethodKitで入力プログラムをつくろう

InputMethodKitで⼊⼒プログラムをつくろう

Cocoa勉強会�#34�/�2009.05.30�(土)�/�⽊村渡

Powered�by�Rabbit�0.6.1�and�COZMIXNG

Page 2: InputMethodKitで入力プログラムをつくろう

InputMethodKit

Leopardで導⼊✓

アプリとしてかな漢字変換などの⼊⼒プログラムをつくれる

.appを/Library/Input�Methodsに配置✓

Cocoa�!!!✓

Page 3: InputMethodKitで入力プログラムをつくろう

InputMethodKitを採用している⼊⼒プログラム

Page 4: InputMethodKitで入力プログラムをつくろう

ことえり

Page 5: InputMethodKitで入力プログラムをつくろう

egbridge

Page 6: InputMethodKitで入力プログラムをつくろう

OpenVanilla

Page 7: InputMethodKitで入力プログラムをつくろう

AquaSKK

Page 8: InputMethodKitで入力プログラムをつくろう

どうやって実装する?

AppleのサンプルNumberInput

Page 9: InputMethodKitで入力プログラムをつくろう

NumberInput

5段階の実装

0.⼊⼒メニューに表⽰✓

1.変換して⼊⼒✓

2.複数の変換モード✓

3.変換候補の表⽰✓

4.環境設定メニュー+パネル✓

Page 10: InputMethodKitで入力プログラムをつくろう

デモ

Page 11: InputMethodKitで入力プログラムをつくろう

InputMethodKit

クラス

IMKInputController✓

IMKServer✓

IMKCandidates✓

Page 12: InputMethodKitで入力プログラムをつくろう

InputMethodKit

プロトコル

IMKServerInput✓

IMKTextInput✓

IMKMouseHandling✓

IMKStateSetting✓

Page 13: InputMethodKitで入力プログラムをつくろう

IMKServerInputの3種類の実装

IMKServerInputプロトコル

システムのキーバインディング利用✓

⼊⼒⽂字をそのまま利用✓

TSMのイベントを利用✓

Page 14: InputMethodKitで入力プログラムをつくろう

システムのキーバインディング利用

以下のメソッドを実装

inputText:client:✓

didCommandBySelector:client:✓

Page 15: InputMethodKitで入力プログラムをつくろう

⼊⼒⽂字をそのまま利用

以下のメソッドを実装

inputText:key:modifiers:client:✓

Page 16: InputMethodKitで入力プログラムをつくろう

TSMのイベントを利用

以下のメソッドを実装

handleEvent:client:✓

Page 17: InputMethodKitで入力プログラムをつくろう

NumberInput

5段階の実装

0.⼊⼒メニューに表⽰✓

1.変換して⼊⼒✓

2.複数の変換モード✓

3.変換候補の表⽰✓

4.環境設定メニュー+パネル✓

Page 18: InputMethodKitで入力プログラムをつくろう

⽇本語を⼊⼒したい!!!

Page 19: InputMethodKitで入力プログラムをつくろう

Prime

http://taiyaki.org/prime/index.html

Page 20: InputMethodKitで入力プログラムをつくろう

Prime

予測⼊⼒✓

連⽂節変換✓

多様なかな⼊⼒✓

Ruby�!!!✓

Page 21: InputMethodKitで入力プログラムをつくろう

RPrime.app

とりあえず動いた

Prime�+�RubyCocoa

Page 22: InputMethodKitで入力プログラムをつくろう

今回書いたコード量

%�wc�-l�*.rb����85�RPrimeInputController.rb����39�rb_main.rb���124�total

Page 23: InputMethodKitで入力プログラムをつくろう

感想

動かすまではとりあえず簡単✓

⼊⼒処理の実装に注⼒できる感じ✓

やることはまだまだたくさん✓

Page 24: InputMethodKitで入力プログラムをつくろう

Page 25: InputMethodKitで入力プログラムをつくろう

質問などあればどうぞ