macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

keyEventWithType:location:modifierFlags:timestamp:windowNumber:context:characters:charactersIgnoringModifiers:isARepeat:keyCode:

キーイベントを作って返します
+(NSEvent *)keyEventWithType:(NSEventType)type:
              location:(NSPoint)location:
              modifierFlags:(unsigned int)flags:
              timestamp:(NSTimeInterval)time:
              windowNumber:(int)windowNum:
              context:(NSGraphicsContext *)context:
              characters:(NSString *)characters:
              charactersIgnoringModifiers:(NSString *)unmodCharacters:
              isARepeat:(BOOL)repeatKey:
              keyCode:(unsigned short)code:

解説

【windowNum】ウインドウ番号
【context】ディスプレイコンテキスト
【unmodCharacters】まるでモディファイアキーが押されなかった(シフトを除いて)ように、unmodCharactersはキーイベントによって発生する文字の文字列である。

返り値

( NSEvent * )

イベント

引数

( NSEventType )type

タイプ
以下の、他のものでなければいけません。
でなければ、NSInvalidArgumentExceptionが起こされます。
● NSKeyDown
● NSKeyUp
● NSFlagsChanged

( NSPoint )location

指定したウインドウの座標のマウスの位置

( unsigned int )flags

モディファイアキーフラグ
● NSControlKeyMask  コントロールキー
● NSAlternateKeyMask オプション(alt)キー
● NSCommandKeyMask コマンドキー
● NSAlphaShiftKeyMask
● NSShiftKeyMask シフトキー
● NSNumericPadKeyMask 数字キー
● NSHelpKeyMask ヘルプキー
● NSFunctionKeyMask ファンクションキー

( NSTimeInterval )time

イベントが発生した時間(システム起動からの時間)

( int )windowNum

ウインドウ番号

( NSGraphicsContext * )context

コンテキスト

( NSString * )characters

キー

( NSString * )unmodCharacters
( BOOL )repeatKey

キーイベントは繰り返されるか

( unsigned short )code

キーイベントのコード

フレームワーク

ApplicationKit

クラス

NSEvent

Class Methods

使用可能

10.0

参照

- characters
- charactersIgnoringModifiers
- isARepeat
- keyCode

例文

#import "MyObject.h"

@implementation MyObject

- (IBAction)myAction:(id)sender
{
NSEvent* event = [NSEvent keyEventWithType:NSKeyDown
                            location:NSMakePoint(0,0)
                            modifierFlags:0
                            timestamp:0
                            windowNumber:[[sender window] windowNumber]
                            context:nil
                            characters:@"a"
                            charactersIgnoringModifiers:nil
                            isARepeat:NO
                            keyCode:nil
                            ];
[NSApp postEvent:event atStart:NO];


}

@end