QMKファームウェアがキーボードに対して行うことを実装しようとしていますが、ソフトウェアを使用しています。そのため、キーフレームをオフにして、一部のキーフレームを他のキーフレーム、レイヤーなどに置き換えたいと思います。
検索すると最初に浮かぶのはこの例。問題は、バイナリを実行している端末にフォーカスがある場合にのみテスト実行が機能することです。そして、Windowsシステムを迂回したいと思います。
また、コードにこの配列が表示されますが、どのように入力するのかわかりません。
static unsigned char rdesc[] = {
0x05, 0x01, /* USAGE_PAGE (Generic Desktop) */
0x09, 0x02, /* USAGE (Mouse) */
0xa1, 0x01, /* COLLECTION (Application) */
0x09, 0x01, /* USAGE (Pointer) */
0xa1, 0x00, /* COLLECTION (Physical) */
0x85, 0x01, /* REPORT_ID (1) */
0x05, 0x09, /* USAGE_PAGE (Button) */
0x19, 0x01, /* USAGE_MINIMUM (Button 1) */
0x29, 0x03, /* USAGE_MAXIMUM (Button 3) */
0x15, 0x00, /* LOGICAL_MINIMUM (0) */
0x25, 0x01, /* LOGICAL_MAXIMUM (1) */
0x95, 0x03, /* REPORT_COUNT (3) */
0x75, 0x01, /* REPORT_SIZE (1) */
0x81, 0x02, /* INPUT (Data,Var,Abs) */
0x95, 0x01, /* REPORT_COUNT (1) */
0x75, 0x05, /* REPORT_SIZE (5) */
0x81, 0x01, /* INPUT (Cnst,Var,Abs) */
0x05, 0x01, /* USAGE_PAGE (Generic Desktop) */
0x09, 0x30, /* USAGE (X) */
0x09, 0x31, /* USAGE (Y) */
0x09, 0x38, /* USAGE (WHEEL) */
0x15, 0x81, /* LOGICAL_MINIMUM (-127) */
0x25, 0x7f, /* LOGICAL_MAXIMUM (127) */
0x75, 0x08, /* REPORT_SIZE (8) */
0x95, 0x03, /* REPORT_COUNT (3) */
0x81, 0x06, /* INPUT (Data,Var,Rel) */
0xc0, /* END_COLLECTION */
0xc0, /* END_COLLECTION */
0x05, 0x01, /* USAGE_PAGE (Generic Desktop) */
0x09, 0x06, /* USAGE (Keyboard) */
0xa1, 0x01, /* COLLECTION (Application) */
0x85, 0x02, /* REPORT_ID (2) */
0x05, 0x08, /* USAGE_PAGE (Led) */
0x19, 0x01, /* USAGE_MINIMUM (1) */
0x29, 0x03, /* USAGE_MAXIMUM (3) */
0x15, 0x00, /* LOGICAL_MINIMUM (0) */
0x25, 0x01, /* LOGICAL_MAXIMUM (1) */
0x95, 0x03, /* REPORT_COUNT (3) */
0x75, 0x01, /* REPORT_SIZE (1) */
0x91, 0x02, /* Output (Data,Var,Abs) */
0x95, 0x01, /* REPORT_COUNT (1) */
0x75, 0x05, /* REPORT_SIZE (5) */
0x91, 0x01, /* Output (Cnst,Var,Abs) */
0xc0, /* END_COLLECTION */
};
この問題に関するドキュメントが見つかりません。この時点では、私がやりたいことができるかどうかはわかりません。似たようなことを見たことがあります。モナード仕事に行けません。
最後に、私の質問は次のとおりです。
rdesc
キーボードに配列を埋める方法は?- Windowsシステムをバイパスする方法は?
- UHIDに関するドキュメントはどこにありますか?
答え1
私はこれを自分で見つけようとしていますが、この記事を探しています。見つけたと思います。ここで、rdisc変数は次のとおりです。HIDレポート記述子。このカーネルのドキュメントページには、次の内容が記載されています。
HIDレポート記述子の形式は、USB実装者フォーラムHID Webページで提供されている2つの文書で説明されています。
カーネル文書は具体的には次のリンクにリンクされています。HID USBデバイスクラスの定義そしてHID使用表。
これにより、最初の問題が解決されます。 3番目の質問には次のものがあります。この文書、UHIDは基本的にユーザースペースのHIDドライバー用の接着剤であり、一般的なHID文書からより多くの情報を得ることができるため、これはまれです。申し訳ありません。 2番目の質問にどのように答えるべきかわかりません。