>>534

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 のリファレンスを
みてくれ。そして、じっくり悩んでくれ。