NSView で flagsChanged を使用して、修飾キーが押されたときまたは離されたときにイベントをトリガーしています。ただし、これが発生したときにキーの実際の新しい状態を取得する方法がよくわかりません。各修飾キーの状態を手動で確認することはできません。現在、独自の状態配列を使用してチェックしていますが、これは間違っているようで、信頼できません。これを正しく行うにはどうすればよいですか?
質問する
1652 次
2 に答える
7
flagsChanged:
関心のあるさまざまな修飾キー マスクに対して渡されるイベントを確認するだけです。
- (void)flagsChanged:(NSEvent *)theEvent {
if (([theEvent modifierFlags] & NSAlternateKeyMask) == NSAlternateKeyMask) {
// Do something based on the alt/option key being pressed
} else if (([theEvent modifierFlags] & NSCommandKeyMask) == NSCommandKeyMask){
// Do something based on the command key being pressed
}
}
于 2013-01-16T03:30:06.237 に答える
0
「手動で」チェックするという意味がわかりません。このflagsChanged:
メソッドは を提供しNSEvent*
、それをメッセージとして渡すことができmodifierFlags
ます。
于 2013-01-15T03:10:42.837 に答える