0

MacOSX 10.6にはデフォルトがNoのメソッドsetWantsRestingTouchesがありますが、どういうわけかデフォルトをYESに変更したいと思います。(それ以外の場合は、使用する各アプリの開発者に、これを設定可能な設定にし、それに応じてそのメソッドを呼び出すように要求する必要があります。)

メソッド名からグローバルプリファレンスに変換する従来の方法はありますか?

多くのアプリは、「defaults write ...」シェルコマンドを介して設定できるユーザー設定を公開していますが、Appleが提供するさまざまな方法に似たものはありますか?

(まだObjCコーダーではないことをお詫びします。そのため、質問の言い回しが不適切である可能性があります。)

具体的には、ユニボディMacBookが導入されたときに10.5.xに遅れて廃止された、「偶発的なトラックパッド入力を無視する」を無効にするトラックパッドオプションを再導入することに興味があります。開発者向けドキュメントによると、NSTouchクラスのsetWantsRestingTouchesメソッドとisRestingプロパティは、アプリ固有のレベルでこの動作を解決するためのフックです。それよりも深いレベルを目指しています。

ありがとう!

4

1 に答える 1

0

メソッド名からグローバルプリファレンスに変換する従来の方法はありますか?

いいえ。

さらに、wantsRestingTouches残念ながら、これはアプリレベルの設定でもありません。これはビューレベルの設定です。ビューは、ウィンドウ内に表示されるさまざまなコンポーネントです。多くのオブジェクトはそれ自体がビューであり、それぞれにwantsRestingTouches設定があります。

したがって、開発者が簡単wantsRestingTouchesYESグローバルに目を向けることができるわけでもありません。(ある意味では可能ですが、実際にはそうしたくありません。)

本当にやりたいですか?厳粛なAppleの場合、母性がそれが良い方法だと考えた場合、それをあきらめて一緒に暮らすのは良いアプローチである場合があります。(この場合、この特定のオプションを廃止します。)OS Xのアップデートごとに、いくつかの機能が破棄され、多くの人が涙を流し、多くの人が大声で不平を言いましたが、通常、それは大君主の心を変えませんでした。また、OS Xの各バージョンが多くのドアをロックダウンするため、システムのハッキングはますます困難になります。しかし、数年のうちに、人々は最終的に新しいシステムに慣れるでしょう。

そうは言っても、それを行う方法はありますが、それには多くのステップが必要です。

  1. メソッドスウィズリングの実行方法を理解します。こちらをご覧ください
  2. initのメソッドを変更するコードを記述しNSViewて、setWantsRestingTouches:YES
  3. osaxトリックを使用して注入します。ここを参照してくださいSIMBLと呼ばれるラッパーがその周りにあります

私はあなたのためにそれを書きません。むしろ、本当に本当にやりたいのであれば、OSXとObjective-Cの深いトリックを学ぶ良い機会です。ですから、辛抱強く、進んで学び、楽しんでください!

于 2010-07-14T05:42:33.907 に答える