問題タブ [magic-mouse]
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 - アップル マジック マウス API
Magic Mouseを購入しましたが、とても気に入っています。しかし、Mac 開発者としてはさらにクールです。しかし、問題が 1 つあります。そのための API は既に存在するのでしょうか。アプリケーションの 1 つに使用したいと考えています。たとえば、ユーザーの指の位置の検出、スワイプまたはストレッチのジェスチャなど...
そのためのAPIがあるかどうか(およびその使用方法)を知っている人はいますか?
objective-c - Magic Mouse の機能拡張: kext は必要ですか?
最近マジックマウスを購入しました。それは素晴らしく、可能性に満ちています。残念ながら、それはソフトウェア サポートによって深刻に妨げられています。私はそれを修正したい。私は非常に多くの調査を行ってきましたが、これまでのイベント チェーンに関する調査結果は次のとおりです。
- Magic Mouse は、完全なマルチタッチ イベントをシステムに送信します。
- マルチタッチ イベントは MultitouchSupport.framework (Carbon) で処理されます。
- イベントはフレームワークで解釈され、通常のイベントとしてシステムに送信されます
- 1 本の指でスクロールすると、実際のスクロール ホイール イベントが送信されます。
- 2 本の指でスワイプすると、スワイプ イベントが送信されます。
- NSTouch イベントはシステムに送信されません。NSTouch API を使用してマウスを操作することはできません。
上記のすべてを発見した後、MultitouchSupport.framework ファイルを逆アセンブルし、いくつかのグーグルで、独自のコールバックをチェーンに挿入して生のタッチ イベント データを受け取る方法を見つけました。デバイスのリストを列挙すると、デバイス (トラックパッドとマウス) ごとにアタッチできます。この発見により、マウスでマルチタッチを使用するためのフレームワークを作成できますが、これは単一のアプリケーションでのみ可能です。ここで私の投稿を参照してください: Raw Multitouch Tracking .
1つのアプリだけでなく、システム全体で新しい機能をマウスに追加したい。
そうしようとして、イベント タップを使用して、最下位レベルのイベント タップで生データを取得して解釈し、その場所に独自のイベントを送信できるかどうかを確認する方法を見つけました。残念ながら、そうではありません。イベント タップは、HID レベルであっても、入力が MultitouchSupport.framework で解釈されるよりも 1 ステップ上にあります。
ここで私のイベント タップ試行を参照してください: Event Tap - Attempt Raw Multitouch。
興味深い補足: スワイプなどのマルチタッチ イベントを受信すると、デフォルトのケースがヒットし、イベント番号 29 が出力されます。ヘッダーには、28 が最大として表示されます。
私の質問に移ります。すべての情報を入手し、私が試したことを確認したところで、Magic Mouse の機能を拡張するための最良のアプローチは何でしょうか? 入力が処理されて事前定義されたイベントがディスパッチされる前に、入力を取得するのに十分な低レベルで何かを挿入する必要があることはわかっています。したがって、それを 1 文の質問に要約すると、次のようになります。
- MultitouchSupport.framework で使用されるデフォルトのコールバックをオーバーライドする方法はありますか?
- kext を作成し、すべての着信データを自分で処理する必要がありますか?
- 現在入力を処理している kext の上にあるkext を作成し、その kext がすべてのハードワークを行った後にそれをフィルタリングすることは可能ですか?
私の最初の目標は、クリック時にデバイスに 2 本の指がある場合に、中ボタンのクリック イベントをディスパッチできるようにすることです。明らかに、できることははるかに多くありますが、今のところ、これは撮影するのに良いことのようです.
前もって感謝します!
-サスティラ
c++ - Apple Kext のリバース エンジニアリング - クラスの再構築
ご挨拶!
現在、Magic Mouse の機能を拡張しようとしています。これを行うために、マルチタッチ ドライバー AppleMultitouchDriver.kext からのイベントをインターセプトして解釈し、新しいイベントをディスパッチするか、実際のイベントを転送する kext を作成したいと考えています。このアプローチは、DoubleCommandで使用されるアプローチに似ています。
マウス イベント (クリック、モーションなど) をインターセプトする小さなテスト kext を既に作成しました。これも必要になるためです。
私が今抱えている問題は、AppleMultitouchDevice および/または AppleMultitouchHIDEventDriver オブジェクトからのイベントをインターセプトできないことです。それらのクラス定義がないためです。マウス インターセプタで行うように、また DoubleCommand で行うように、ポインタをコールバック関数に再割り当てできるようにする必要があります。私の知る限り、これは AppleMultitouchDevice クラスを再構築する必要があることを意味します。AppleMultitouchDevice オブジェクトのインスタンスへの参照は既に取得できているので、それをキャストして使用できるようにする必要があります。
背景がわかったところで、私の直接の質問は次のとおりです。
- kext をリバース エンジニアリングしたり、問題のクラスを再構築したりするには、どのような方法を使用する必要がありますか?
- この取り組みを支援するプログラムにはどのようなものがありますか?
- あなたが知っているこの特定のトピックに焦点を当てたチュートリアルや電子書籍はありますか?
- クラス全体を実際に再構築せずに、コールバック ポインタを再割り当てすることはできますか?
- 私はこれにとても慣れていないので、私が見逃したかもしれない他のもの。
アドバイスや支援をよろしくお願いします!!
cocoa - NSScrollView の Magic Mouse でモーメンタム/慣性スクロールはどのように機能しますか?
新しいApple Magic Mouseでスクロールすると(少なくとも10.6では、以前のMac OSは確認できません)、iPhoneでのスクロールのように慣性スクロールが得られます(つまり、指でフリックしてスクロールした後、スクロールしません)突然停止しますが、代わりに徐々に減速します)。この動作は、すべての NSScrollViews で「無料」であり、表示されます。
Mac 用の Tweetie など、例外的なケースもあります (Tweetie はUITableView
、iPhone での動作と同じように動作するカスタム Table View クラスを使用して記述されていると聞きました)。
私の質問は、スクロールビューがこの慣性スクロールを行う方法をどのように知っているのですか? 私の推測では、マウス [ドライバー] は、スクロール期間中に減衰するスクロールの大きさ (またはそのようなもの) でスクロール イベントを繰り返し送信します。しかし、それがどのように機能するかはよくわかりません。
スクロールビュー クラスでスクロールの問題が発生しており、その理由を突き止めようとしています (明らかに、Tweetie のソース コードがなく、適切なスクロールが得られない理由を確認できません)。私自身の問題を解決するためにどのように機能するか。
cocoa - Magic Mouse Momentum スクロールが機能しない
残念ながら、自分自身の Magic Mouse をまだ入手していないため、これを自分でテストするのは困難ですが、Magic Mouse を持っているテスターから、私のアプリではモーメンタム スクロールが機能しないと言われました。NSScrollView をサブクラス化していませんが、scrollview のドキュメント ビューはすべてカスタムです。私は scrollWheel: どこでもオーバーライドしていませんが、それでも勢いは明らかに機能していません。どこから始めればよいかさえわかりません。scrollWheel イベントを送信するだけで、物事は自然に処理されると思いました。(ホイールまたは MBP トラックパッドでのスクロールは期待どおりに機能します。) 明らかに、それを止める何かをしているに違いありませんが、どこから始めればよいかさえわかりません。考え?
iphone - Magic Mouse と iPhone Simulator でのタッチ イベント
iMac マジック マウスで、iPhone シミュレーターを使用しているときに、次の場合に観察します。
a) アクティブ ビューの iPhone 画面の中央に、タッチ イベントを生成できるオブジェクトがある、および b) iMac の操作者が、マジック マウスの表面を誤って、またはその他の方法で指を通常の方法でドラッグした場合スクロールに使用される、
中央のオブジェクトは、(偽の) マウス ダウンおよびドラッグ イベントを生成します。
画面中央にそのようなオブジェクトがなければ問題ありません。
この機能をプログラムまたはその他の方法で無効にする方法はありますか?
ios - MagicMouseまたはMacBookProトラックパッドをiPhoneシミュレーターで動作させる方法はありますか?
トラックパッドやマジックマウスがiPhoneシミュレーターで動作する絶好の機会のようですが、そうではありませんか?!
誰かが私が触れてつまむことができるようにそれを機能させる方法を知っていますか?
applescript - アップルスクリプトとマジックマウス
キーを押すだけでオンとオフを切り替えられるように、マジック マウスのスクロール動作を AppleScript したいと考えています。問題は、私は開発者ではなくデザイナーであるため、どこから始めればよいか見当もつかないことです。Script Editor と Automator を試してみましたが、どこにも行き着きませんでした。誰かが助けてくれますか、それとも何よりもスクリプトを書いてくれませんか? Snow Leopard の環境設定パネルでチェック ボックスをオンまたはオフに切り替えるのがこんなに難しいなんて信じられませんか?
objective-c - マジック マウスのバッテリー ステータスを取得するにはどうすればよいですか? (の %)
接続されている Bluetooth/ワイヤレス デバイス (Magic Mouse など) を検索するにはどうすればよいですか? どうすればバッテリーの%を取得できますか??
何かを見つけたので、いくつかのコードを投稿して説明してください。しかし、私はそれを本当に理解していません。
ご助力ありがとうございます。
iphone - iOS シミュレーターが osx を遅くし、マジック マウスに干渉する
iOS シミュレーターを長時間使用したり、アプリの起動中に osx やマジック マウスのパフォーマンスが低下したことに気付いた人はいますか?
先日、osx 画面全体に暗いビューが読み込まれ、再起動する必要があると表示されました。
これらはコンソールからの私のアプリのログです - ただし、さらにスタックがあります: