Ctrl + Z
Cocoa / Carbonで、キーの組み合わせ(たとえば)がWacomボタンからのものかキーボード自体からのものかを検出できるかどうか疑問に思いました。
最高のxonicに感謝します
Ctrl + Z
Cocoa / Carbonで、キーの組み合わせ(たとえば)がWacomボタンからのものかキーボード自体からのものかを検出できるかどうか疑問に思いました。
最高のxonicに感謝します
Wacom タブレットのドライバーが、特定のボタンにバインドされたキーボード イベントを偽装しているとしか思えません。この場合、-pointingDeviceID、-tabletID、および友人はマウスイベントに対してのみ有効であるため、それらを区別できないと思います(偽または本物のキーボードイベントではありません)。
「エクスプレス キー」については、Wacom がドライバ バージョン 6.1+ でカスタム イベントを提供しています。
ワコム開発者ドキュメントから:
WacomTabletDriver バージョン 6.1.0 は、アプリケーションがタブレット コントロールを制御できるようにする一連の Apple イベントを提供します。
ExpressKeys
タブレット コントロールには、 、TouchStrip
、およびの 3 種類がありますTouchRing
。各コントロールには、1 つ以上の機能が関連付けられています。特定のタブレットのコントロールの数や、コントロールに関連付けられた機能の数を推測しないでください。情報を照会するには、常に API を使用してください。タブレット コントロールをオーバーライドするには、アプリケーションで次のことを行う必要があります。
- 対象のタブレットのコンテキストを作成します。
- 分散通知センターに登録して、オーバーライドされたコントロールのデータをユーザー アクションから受け取ります。
- コントロールの種類 (ExpressKeys、TouchStrip、> または TouchRing) ごとにコントロールの数を照会します。
- 各コントロールの機能数を問い合わせます。
- 関数を列挙して、オーバーライドに使用できる関数を見つけます。
- 使用可能な制御機能のオーバーライド フラグを設定します。
- コントロール データ通知を処理して、アプリケーションがコントロール機能に必要とする機能を実装します。
- アプリケーションの終了時またはアプリケーションの処理が終了したときに、コンテキストを破棄する必要があります。
タブレットのオーバーライド コンテキストを作成するには、 Apple Event の Param に of を入力
{kAECoreSuite, kAECreateElement}
し、Param にタブレットのインデックスのオブジェクト指定子 ( ) を入力し、クラス/タイプの Apple Event を Tablet Driver に送信します。の DescType で満たされた Param 。keyAEObjectClass
DescType
cContext
keyAEInsertHere
cWTDTablet
keyASPrepositionFor
pContextTypeBlank
コンテキストを破棄するには、コンテキストの ( ) uniqueID ( )のオブジェクト指定子で満たされた Apple Event Parameterを使用して、クラス / タイプ {
kAECore
,kAEDelete
}の Apple Event を Tablet Driver に送信します。keyDirect
cContext
formUniqueID
これらのほとんどは、多くの C 構造体とヘルパー関数が Carbon と Cocoa の両方に対して定義されているドキュメンテーション ページのコンテキストでのみ意味があります。(ドキュメントのこの特定の部分はかなり下にあります。)