問題タブ [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.
objective-c - 補助デバイスのサポートを有効にせずにグローバル ホットキーを登録する
このコードを使用して、グローバル イベント ハンドラーを登録できます。
残念ながら、補助デバイスのサポートが有効になっている場合、イベントはこのモニターに渡されます。補助デバイスを有効にしないと、イベントは渡されません。
ドキュメントを作成します。
ユーザーに OS X の特定の機能を強制的に有効にすることなく、イベントを渡す別の方法が存在するのではないかと思います。
Apple のドキュメントには解決策が見つかりませんでしたが、解決策は存在するはずです。たとえば、MAS でダウンロードされた Alfred のバージョンでは、ホットキーを定義できます。
興味深いことに、Alfred の設定には特別なキーしか表示されず、特定の特別なキーの組み合わせが機能しない可能性があることが指摘されています。
私は基本的に「グローバル」な非アクティブ化パネルを表示/非表示にしたいので、おそらくシステム サービスを準備する必要があります。するべきか?
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 です。
質問:
[event modifierFlags] が異なる値、特にモディファイアが保持されていない場合に 256 を返すのはなぜですか?
3 本指のウィンドウ移動ジェスチャによって [event modifierFlags] が -256 変化するのはなぜですか?
クラスとivar modifierFlagsが異なる結果を返す理由はわかりませんが、caps lockと関係があるかもしれません。
私は10.7.3を使用しています。
macos - グローバルショートカットは機能しますが、システムはエラー音を再生します
このコードでグローバルショートカットを作成します。
このコードは完璧に機能しますが、一部のアプリケーション(Xcode、AppStoreなど)にフォーカスがある場合、システムはエラーサウンドを再生します。どのように修正しますか?サックス。
objective-c - (BOOL)windowShouldClose:(id)senderは、メインメニューのウィンドウのコンテンツビューとして設定したビューでは機能しません
NSViewControllerのビューをメインメニューのウィンドウのcontentviewとして設定しましたが、どのように使用すればよいですか-(BOOL)windowShouldClose:(id)sender?
<NSWindowDelegate>
@interfaceで使用し- (BOOL)windowShouldClose:(id)sender
、.mを付けましたが、機能しません
objective-c - fieldEditor を選択した位置に移動するには?
-(void)editColumn:(NSInteger)column row:(NSInteger)row withEvent:(NSEvent *)theEvent select:(BOOL)select
フィールド エディターを使用して列を編集しようとすると、NSTableView
常にテキストの先頭にNSTextField
表示されます。テキストにタブ スペースを挿入しました。フィールドエディタ(カーソル)をテキストの先頭に移動したいと思います。これを達成するためのヒントはありますか?
objective-c - そのコントロールの1つのサブクラスからコントロールを配置するビューでメソッドを使用する方法
NSTextFieldをサブクラス化し、サブクラスでイベントメソッド(keyUp)を使用します。ユーザーがEnterキーを押したときに、メインビュー(NSTextFiledを配置したビュー)でメソッドを呼び出したいのですが、以下のコードを使用しますが、呼び出す方法はありません。メインビューの特定のメソッド
objective-c - 左右の Shift キーが押されていることを区別する方法はありますか?
次のコードを使用して、ユーザーが Shift キーを押したことを認識できます。
しかし、押されたのが右または左のShiftキーであるかどうかを区別する方法はありますか?
macos - NSSystemDefinedNSEventを投稿する方法
を作成しNSEvent
て投稿したいと思います。どうやってやるの?
タイプなNSSystemDefined
のでグローバルに投稿したいです。基本的にいくつかIOHIDPostEvent
またはCGEventPost
同等のもの。
cocoa - NSEventPhaseEndedは、IKImageBrowserViewを使用するNSScrollViewでは呼び出されません
この問題をテストするために、NSScrollView内にIKImageBrowserViewが埋め込まれています。これは、IKImageBrowserViewがNSScrollViewの幅の半分しか埋めないためです。
私のNSScrollViewサブクラスは、次のメソッドを実装し、scrollviewでスクロールが開始および終了したときにログに記録します。
NSEventPhaseBeganイベントフェーズは、スクロールを開始したときにカーソルがIKImageBrowserView上にあるかどうかを正常に呼び出します。これは予想される動作です。
ただし、スクロールを停止したときにカーソルがIKImageBrowserViewの上にある場合、NSEventPhaseEndedイベントフェーズは呼び出されません。カーソルがIKImageBrowserViewの上にない場合、NSEventPhaseEndedが呼び出されます。
IKImageBrowserViewがNSScrollViewでNSEventPhaseEndedが呼び出されないようにするのはなぜですか?
objective-c - NSEventsのリッスンを停止するにはどうすればよいですか?
イベントのリッスンに問題があります。完全に機能するイベントをリッスンできますが、イベントのリッスンを停止させることはできません。しばらく調べて、+(void)removeMonitor:(id)eventMonitorというメソッドを思いつきました。これは、リスナーを使い終わったら使用する必要があることを示しています。
しかし、私がその方法を使おうとすると、
「-[NSEventinvalidate]:認識されないセレクターがインスタンスに送信されました」というエラーが表示され続けます。これも調査しましたが、使用中のメモリを上書きしていることを意味していると思います。しかし、私はこの問題を解決する方法がわかりません。任意の提案、またはヘルプは大歓迎です!
更新JWWalker、Samir、Abizernのおかげで、動作するようになりました
.hファイル
.mファイル