2

Ctrl + ZCocoa / Carbonで、キーの組み合わせ(たとえば)がWacomボタンからのものかキーボード自体からのものかを検出できるかどうか疑問に思いました。

最高のxonicに感謝します

4

2 に答える 2

1

Wacom タブレットのドライバーが、特定のボタンにバインドされたキーボード イベントを偽装しているとしか思えません。この場合、-pointingDeviceID、-tabletID、および友人はマウスイベントに対してのみ有効であるため、それらを区別できないと思います(偽または本物のキーボードイベントではありません)。

于 2010-09-01T21:50:28.020 に答える
0

「エクスプレス キー」については、Wacom がドライバ バージョン 6.1+ でカスタム イベントを提供しています。

ワコム開発者ドキュメントから:

WacomTabletDriver バージョン 6.1.0 は、アプリケーションがタブレット コントロールを制御できるようにする一連の Apple イベントを提供します。ExpressKeysタブレット コントロールには、 、TouchStrip、およびの 3 種類がありますTouchRing。各コントロールには、1 つ以上の機能が関連付けられています。特定のタブレットのコントロールの数や、コントロールに関連付けられた機能の数を推測しないでください。情報を照会するには、常に API を使用してください。

タブレット コントロールをオーバーライドするには、アプリケーションで次のことを行う必要があります。

  1. 対象のタブレットのコンテキストを作成します。
  2. 分散通知センターに登録して、オーバーライドされたコントロールのデータをユーザー アクションから受け取ります。
  3. コントロールの種類 (ExpressKeys、TouchStrip、> または TouchRing) ごとにコントロールの数を照会します。
  4. 各コントロールの機能数を問い合わせます。
  5. 関数を列挙して、オーバーライドに使用できる関数を見つけます。
  6. 使用可能な制御機能のオーバーライド フラグを設定します。
  7. コントロール データ通知を処理して、アプリケーションがコントロール機能に必要とする機能を実装します。
  8. アプリケーションの終了時またはアプリケーションの処理が終了したときに、コンテキストを破棄する必要があります。

タブレットのオーバーライド コンテキストを作成するには、 Apple Event の Param に of を入力{kAECoreSuite, kAECreateElement}し、Param にタブレットのインデックスのオブジェクト指定子 ( ) を入力し、クラス/タイプの Apple Event を Tablet Driver に送信します。の DescType で満たされた Param 。keyAEObjectClassDescTypecContextkeyAEInsertHerecWTDTabletkeyASPrepositionForpContextTypeBlank

コンテキストを破棄するには、コンテキストの ( ) uniqueID ( )のオブジェクト指定子で満たされた Apple Event Parameterを使用して、クラス / タイプ { kAECore, kAEDelete}の Apple Event を Tablet Driver に送信します。keyDirectcContextformUniqueID

これらのほとんどは、多くの C 構造体とヘルパー関数が Carbon と Cocoa の両方に対して定義されているドキュメンテーション ページのコンテキストでのみ意味があります。(ドキュメントのこの特定の部分はかなり下にあります。)

于 2016-12-27T09:05:57.603 に答える