Cocoaはさっぱり!!! Version.3
■ このスレッドは過去ログ倉庫に格納されています
0538名称未設定
04/02/22 21:51ID:S6IkzAG/file:///Developer/Documentation/Cocoa/Conceptual/BasicEventHandling/Concepts/KeyboardInput.html#//apple_ref/doc/uid/20000902
を見るべし。
簡単に言うなら、View などの NSResponder のサブクラスには
keyDown: というメソッドがあり、これにイベントオブジェクト
が引数でひっついてくる。NSView のサブクラス作ったり、delegate
に実装することでこのメソッドを上書きするとキーボードや
マウスからのイベントを奪えるわけだ。
で、ひっついてきた NSEvent オブジェクトに characters を
おくれば(SHIFTなどの修飾キーの影響後の)文字がNSStringで
かえってくる。修飾キーの影響を受けていないのはcharacters
IgnoringModifiers で帰ってくる。
キーコードが欲しければ keyCode メソッドだ。
なお、テキスト入力の場合は IM にイベントを回してあげない
と正しくテキスト入力ができない。手っ取り早く IMに処理を
渡したいなら interpretKeyEvents: メソッドを叩けばいい。
なお、interpretKeyEvents: の引数は NSArray だ。つまり、
一つのイベントごと渡すのではなく、いくつかのイベントを
溜めておいて、NSArray で一気に渡すことができる。まぁ、
あんまり溜めると応答性が悪くなるのでお奨めせんがな(笑)
まぁ、詳しくは NSEvent や NSResponder のリファレンスを
みてくれ。そして、じっくり悩んでくれ。
■ このスレッドは過去ログ倉庫に格納されています