問題タブ [nsevent]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
288 参照

objective-c - システムレベルで [NSEvent mouseLocation] をフックしますか?

だから私はシステム レベルで [NSEvent mouseLocation] をフックできるようにしたいと思います。

これは、[NSEvent mouseLocation] を起動してマウス ポインターの位置を取得するため、ゲームにマウス イベントを送信できないことが原因です。

誰でも私がどこに出くわすことができるかについての手がかりを持っていますか?

0 投票する
1 に答える
4673 参照

objective-c - ココアで矢印キーを使用していますか?

これについて少し調べていて、見つけ たのが 質問。そこで使用したコードを実装しましたが、何も起こりませんでした。これが私が使用している正確なコードです:

.h ファイル

.m ファイル

なにが問題ですか?インターフェイスに追加する必要があるものはありますか?

編集:まあ、何かが実際に起こった. 私のコンピューターは私にビープ音を鳴らしました。これ以上何もない。

0 投票する
2 に答える
1769 参照

objective-c - CGEvent NSKeyDown は、アプリが一番前にある場合にのみ機能しますか?

いくつかのタスクを自動化しようとしています (applescript のサポートはありません) ので、CGEvents を使用してこれらのイベントを投稿する必要があります。マウスのクリックは正常に機能しますが、NSKeyDown (入力) は、ドックでアプリをクリックした場合にのみ機能します (これにより、ほとんどのアプリが前面に表示されます)。これまでのコードは次のとおりです。

ループ内に posteventtopsn がある理由は、テスト目的のためです (一度だけ送信する必要があります)。プログラムがループしている間に、アプリを一番前にアクティブにすると、イベントは正常に機能します。

私は何を間違っていますか?バックグラウンドで動作する方法はありますか?ありがとう。

0 投票する
1 に答える
1276 参照

objective-c - バックグラウンド アプリへの CGEvents キーストロークの送信

次のようなバックグラウンド アプリにエンター キーを送信しようとしています。

機能していません。キーストロークを受け取るには、アプリが最前面にある必要があるためだと思いますか? 私は正しいですか?もしそうなら、最初にアプリをアクティブにせずにこのイベントを送信できる方法はありますか? そうでない場合、私は何が間違っていますか?ありがとう。

0 投票する
4 に答える
9735 参照

objective-c - 特定の修飾子が押されたが他の修飾子が押されていない場合は、NSEvent の modifierFlags を確認します

NSEventのaddLocalMonitorForEventsMatchingMask:handler:メソッドを試してみたところ、次の質問に出くわしました。特定の修飾子だけが押されたかどうかを確認するにはどうすればよいですか?

この質問をコンテキストに設定する簡単な例: ショートカット "⌘+W" をリッスンしたかった。したがって、次のコードを書きました。

これはうまく機能しますが、「⌃+⌘+W」や「⇧+⌃+⌥+⌘+W」などの修飾キーをさらに押しても、ショートカットがトリガーされます。これを回避する方法はありますか?

簡単な解決策は、他のすべての修飾キーをチェックして、それらが押されていないことを確認することです。これは退屈でエラーが発生しやすいようです。さらに、単項 "&" を使用しているため、十分に醜いです。さらに、(何らかの理由で) 別の修飾キーがキーボード レイアウトに追加されると、問題が発生する可能性があります。

いつものように、あらゆる推奨事項に感謝します。

0 投票する
5 に答える
4280 参照

cocoa - スクロール イベントを親 NSScrollView に渡す方法

大きなスクロール ウィンドウ内に固定サイズの NSTextView が必要です。IB では、テキストビューが実際にはスクロールしないように最小/最大サイズが固定されていても、テキストビューが独自の NSScrollView 内にある必要があります。テキストビュー フレーム内でトラックパッド ジェスチャが行われると (フォーカスがあるかどうかに関係なく)、テキストビューのスクロールビューによってキャプチャされるため、何も起こりません。

テキストビューのスクロールビューに、スクロールイベントをウィンドウのメインスクロールビューに渡すように指示するにはどうすればよいですか? (または、ウィンドウのメイン スクロール ビューに、これらのイベント自体を処理し、子スクロール ビューに渡さないように指示する方法を尋ねる必要があるかもしれません。)

IB 構造は次のようになります。

    • ウィンドウのコンテンツ ビュー
      • ウィンドウの大きなスクロールビュー (スクロール イベントの目的のターゲット)
          • 別のxibのスワップ可能なコンテンツビュー
            • テキストビューのスクロールビュー
              • テキストビュー
そして、はい、テキストビューにフォーカスがない 場合、ウィンドウは正しくスクロールします。

0 投票する
2 に答える
5914 参照

cocoa - NSView を通過するマウス イベント

親ウィンドウのコンテンツ ビューをカバーする NSView があります。このビューには、コンテンツ ビューから削除するクリック イベント ハンドラーがあります。このビューの中に、別のビューがあります。この内側のビューでマウスをドラッグすると、マウス イベントが前面のビューだけでなく、背面のビューにも適用されます。さらに、背後のビューからのカーソルも表示されています。これは、ここで発生している同じ問題です: NSView オーバーレイはマウス イベントを下層のサブビューに渡しますか? しかし、別のウィンドウを開くことができないため、そこにある答えは私のプロジェクトでは機能しません。

0 投票する
3 に答える
2112 参照

objective-c - mouseDown 時に mouseEntered イベントを無効にする (NSEvents Mac)

NSButton クラスを作成しました。ボタンをロールオーバーすると、mouseEntered および mouseExited イベントが検出されます。しかし、mouseDown イベントが発生するとすぐに、マウスが押されている限り、mouseEntered イベントはマウス ボタンが離されるまで呼び出されなくなります。

したがって、mouseDown イベントが呼び出されると、mouseEntered または MouseExited イベントは呼び出されなくなり、最初の mouseDown を放すまで、他のボタンをロールオーバーするときにも mouseDown が呼び出されなくなります。

そのため、マウスがダウンしているときにマウスが入ったことを検出したいと思います。

0 投票する
1 に答える
213 参照

objective-c - NSEventのデバイス

バーコードスキャナーを使用するアプリケーションがあります。キーボードとバーコードスキャナーのどちらがキーを押したかを判別できるようにしたい。NSEventのすべてのメソッドを試しましたが、何も見つかりませんでした。

ありがとう

0 投票する
3 に答える
6441 参照

objective-c - ダブルクリックイベントを受信する

私はAppleのドキュメントを検索してきましたが、ダブルクリックに関連して見つけた唯一の関数は、クリック間の許容可能な時間をダブルクリックと見なすために返しました。

ダブルクリックイベントの例を教えてもらえますか?