問題タブ [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 に答える
891 参照

objective-c - 補助デバイスのサポートを有効にせずにグローバル ホットキーを登録する

このコードを使用して、グローバル イベント ハンドラーを登録できます。

残念ながら、補助デバイスのサポートが有効になっている場合、イベントはこのモニターに渡されます。補助デバイスを有効にしないと、イベントは渡されません。

ドキュメントを作成します。

ユーザーに OS X の特定の機能を強制的に有効にすることなく、イベントを渡す別の方法が存在するのではないかと思います。

Apple のドキュメントには解決策が見つかりませんでしたが、解決策は存在するはずです。たとえば、MAS でダウンロードされた Alfred のバージョンでは、ホットキーを定義できます。

興味深いことに、Alfred の設定には特別なキーしか表示されず、特定の特別なキーの組み合わせが機能しない可能性があることが指摘されています。

私は基本的に「グローバル」な非アクティブ化パネルを表示/非表示にしたいので、おそらくシステム サービスを準備する必要があります。するべきか?

0 投票する
0 に答える
1670 参照

objective-c - 修飾子フラグの NSEvent グローバル イベント モニタリングが混在した結果を返す

モディファイヤ フラグの変更のグローバル モニタリングに関して、特有の問題が発生しています。

モニターが以下のようになっていると仮定します...

最初に、左コマンドを押すと、ログには次の情報が表示されます。

[NSEvent modifierFlags] は 1048576 で、[event modifierFlags] は 1048840 です。

左のコマンドを放した後:

[NSEvent modifierFlags] は 0 で、[event modifierFlags] は 256 です。

ここで、タイトル バー領域を 3 本の指で押したままにして MacBook のウィンドウを移動すると、同じモニターから次の結果が得られます。

[NSEvent modifierFlags] は 1048576 で、[event modifierFlags] は 1048584 です。

左のコマンドを放した後: [NSEvent modifierFlags] は 0 で、[event modifierFlags] は 0 です。

質問:

  1. [event modifierFlags] が異なる値、特にモディファイアが保持されていない場合に 256 を返すのはなぜですか?

  2. 3 本指のウィンドウ移動ジェスチャによって [event modifierFlags] が -256 変化するのはなぜですか?

クラスとivar modifierFlagsが異なる結果を返す理由はわかりませんが、caps lockと関係があるかもしれません。

私は10.7.3を使用しています。

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

macos - グローバルショートカットは機能しますが、システムはエラー音を再生します

このコードでグローバルショートカットを作成します。

このコードは完璧に機能しますが、一部のアプリケーション(Xcode、AppStoreなど)にフォーカスがある場合、システムはエラーサウンドを再生します。どのように修正しますか?サックス。

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

objective-c - (BOOL)windowShouldClose:(id)senderは、メインメニューのウィンドウのコンテンツビューとして設定したビューでは機能しません

NSViewControllerのビューをメインメニューのウィンドウのcontentviewとして設定しましたが、どのように使用すればよいですか-(BOOL)windowShouldClose:(id)sender?

<NSWindowDelegate>@interfaceで使用し- (BOOL)windowShouldClose:(id)sender、.mを付けましたが、機能しません

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

objective-c - fieldEditor を選択した位置に移動するには?

-(void)editColumn:(NSInteger)column row:(NSInteger)row withEvent:(NSEvent *)theEvent select:(BOOL)selectフィールド エディターを使用して列を編集しようとすると、NSTableView常にテキストの先頭にNSTextField表示されます。テキストにタブ スペースを挿入しました。フィールドエディタ(カーソル)をテキストの先頭に移動したいと思います。これを達成するためのヒントはありますか?

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

objective-c - そのコントロールの1つのサブクラスからコントロールを配置するビューでメソッドを使用する方法

NSTextFieldをサブクラス化し、サブクラスでイベントメソッド(keyUp)を使用します。ユーザーがEnterキーを押したときに、メインビュー(NSTextFiledを配置したビュー)でメソッドを呼び出したいのですが、以下のコードを使用しますが、呼び出す方法はありません。メインビューの特定のメソッド

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

objective-c - 左右の Shift キーが押されていることを区別する方法はありますか?

次のコードを使用して、ユーザーが Shift キーを押したことを認識できます。

しかし、押されたのが右または左のShiftキーであるかどうかを区別する方法はありますか?

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

macos - NSSystemDefinedNSEventを投稿する方法

を作成しNSEventて投稿したいと思います。どうやってやるの?

タイプなNSSystemDefinedのでグローバルに投稿したいです。基本的にいくつかIOHIDPostEventまたはCGEventPost同等のもの。

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

cocoa - NSEventPhaseEndedは、IKImageBrowserViewを使用するNSScrollViewでは呼び出されません

この問題をテストするために、NSScrollView内にIKImageBrowserViewが埋め込まれています。これは、IKImageBrowserViewがNSScrollViewの幅の半分しか埋めないためです。

私のNSScrollViewサブクラスは、次のメソッドを実装し、scrollviewでスクロールが開始および終了したときにログに記録します。

NSEventPhaseBeganイベントフェーズは、スクロールを開始したときにカーソルがIKImageBrowserView上にあるかどうかを正常に呼び出します。これは予想される動作です。

ただし、スクロールを停止したときにカーソルがIKImageBrowserViewの上にある場合、NSEventPhaseEndedイベントフェーズは呼び出されません。カーソルがIKImageBrowserViewの上にない場合、NSEventPhaseEndedが呼び出されます。

IKImageBrowserViewがNSScrollViewでNSEventPhaseEndedが呼び出されないようにするのはなぜですか?

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

objective-c - NSEventsのリッスンを停止するにはどうすればよいですか?

イベントのリッスンに問題があります。完全に機能するイベントをリッスンできますが、イベントのリッスンを停止させることはできません。しばらく調べて、+(void)removeMonitor:(id)eventMonitorというメソッドを思いつきました。これは、リスナーを使い終わったら使用する必要があることを示しています。

しかし、私がその方法を使おうとすると、

「-[NSEventinvalidate]:認識されないセレクターがインスタンスに送信されました」というエラーが表示され続けます。これも調査しましたが、使用中のメモリを上書きしていることを意味していると思います。しかし、私はこの問題を解決する方法がわかりません。任意の提案、またはヘルプは大歓迎です!

更新JWWalker、Samir、Abizernのおかげで、動作するようになりました

.hファイル

.mファイル