私のアプリケーションでは、トラックパッドでの 2 本指のジェスチャではなく、マウスからのスクロール ホイール アクションのみでスクロールを実行したいと考えています。基本的に、(void)scrollWheel:(NSEvent *)theEvent メソッド内で、scrollWheelEvent がマウスまたはトラックパッドから生成されているかどうかを判断しようとしています。これまでのところ、これを達成する簡単な方法はないようです。
-(void)beginGestureWithEvent:(NSEvent *)event; 内でブール変数を true および false に設定する回避策を試しました。-(void)endGestureWithEvent:(NSEvent *)event; しかし、 endGestureWithEvent: メソッドが呼び出された後、 scrollWheel: メソッドが数回呼び出されるため、これは解決策ではありません。
これが私のコードです:
$BOOL fromTrackPad = NO;
-(void)beginGestureWithEvent:(NSEvent *)event;
{
fromTrackPad = YES;
}
-(void) endGestureWithEvent:(NSEvent *)event;
{
fromTrackPad = NO;
}
- (void)scrollWheel:(NSEvent *)theEvent
{
if(!fromTrackPad)
{
//then do scrolling
}
else
{
//then don't scroll
}
}
これが標準ではないことはわかっていますが、これが私の要件です。誰もこれを行う方法を知っていますか?? ありがとう!