新しいものを表示

どうやら、ボタンしかないのに変化する数値のもの(座標とか移動量とか)がないか探してる結果「無いんだけど」ってエラーになってるっぽい・・・?><

なんかGPT-4oに聞いたら、UsagePageは、0x0CのConsumer Devicesで、Usageは、0x01のConsumer Controlだよって言ってたから、言われたとおりにさっき書いたHIDのやつに書いたら、解析は失敗したけどRawなデータとしては取得できた!><;

orange さんがブースト

再生コントロールのボタン、単純にキーボードエミュレーションしてる回とかありそう

デバイスマネージャを見ると、USBイヤホンの再生ボタン(?)もRawInputAPIから扱えそうだけど、どうやったら対象にできるんだろう・・・?><

orange さんがブースト

そういえば、Windowsとかでのゲームパッドの標準ドライバのボタンの限界って32個っぽいけど、HIDの規格上は255個まで対応してるっぽい?><(ただし一度で送れない(?)だろうからハードウェア側でなんか工夫する必要がある?><)

オレンジが得たこの情報を、どこかでわかりやすく誰かが解説してくれてたら3日も試行錯誤しないで済んだ><;
例えばLinkCollectionがボタン1個とかの単位でまとめたグループみたいなのであるなんて、名前から推測できないじゃん?><;
ドキュメントの機械翻訳も意味不明だし><;(英語難しい)

取得できる情報が何であるかは、UsagePageって数値とUsageって数値の組み合わせで出てくるので、HIDの規格書で調べる必要がある><

HID Usage Tables 1.6 | USB-IF
usb.org/document-library/hid-u

nugetにある末代の人が作ったライブラリを、HidP_GetDataで検索しても出てこないから、それはオレンジのとやり方が違うっぽい><(あんまりへんてこなデバイスは考慮してないライブラリ?><)

RawInputAPIでのUSB HIDのイベント解析の仕方>< 

簡単に言うと、
HidP_GetCapsとHidP_GetValueCaps(座標とか用)とHidP_GetButtonCapsとHidP_GetUsages(ボタンとか用)を使って『UsagePageとUsage』の『DataIndex』への対応を調べて、
HidP_GetDataで、ちゃんと区切られたデータを得て、
区切られたデータはDataIndexとRawValueのペアなので、さっき調べたUsagePageとUsageとの対応を調べて、それが何の数値なのかわかる感じ><

複数のデータで成り立つもの(例えばX座標とY座標)とか同じものが複数あって区別する必要があるもの(タッチパッドなら指ごとのデータとか)は、LinkCollectionっていう値を同じにする事でまとめて、フォルダみたいな扱い(ディレクトリ構造)になってる><(規格上はツリー状になるらしいけどタッチパッドの場合は孫まではなかった(?)のでそこまでは解析してない・・・><)

スレッドを表示

やっとHIDなデバイスからWM_INPUTの情報を全部取得できるようになった><
お手本にしたサイトのやり方はあくまでタッチパッドの座標とかに特化したやり方であって、ボタンとかの情報も取得しようとするとやり方がだいぶ違うっぽい><

APIがどうのというか、USB HIDの仕様がわけがわからない・・・><

RawInputAPIでボタンの状態をちゃんと取得するの難しすぎる・・・><

詳細>< 

実はIDを取得するやつだったっぽいやつ><
HidP_GetUsages関数 (hidpi.h) - Windows drivers | Microsoft Learn
learn.microsoft.com/ja-jp/wind

データを取得するやつっぽいもの><
HidP_GetData関数 (hidpi.h) - Windows drivers | Microsoft Learn
learn.microsoft.com/ja-jp/wind

スレッドを表示

「なぜかデータを取得するAPIで変な値が出てくる><; 助けてGemini、このデータ見て><」
Gemini「確かにおかしいですね。IDそのものが出てるようです」
~ 一時間後 ~
「ちなみにコードはこう書いたんですけど・・・><」
Gemini「それはIDを取得するAPIです。データを取得するAPIはこっちですね」
「・・・・・><」

「iOS 26」正式発表 12年ぶりにデザイン刷新、“液体ガラス”のようなUIに - ITmedia NEWS
itmedia.co.jp/news/articles/25

やっぱVistaのすりガラスデザインは正しかったんじゃん!?><
だから背景が透けるのはデコレーションじゃなく実用上必要なデザインって言ったじゃん?><
誰だよ半透明はただの流行とか言ってたやつ><(たしかWin8時代のMSのUXデザインガイドラインで見かけた気がする><(読んでブチ切れた><))

orange さんがブースト

銀行とかクレカとかのアプリが金の移動以外で通知を出すどころか通知で広告を打ってくるの、末期も末期なので行政から指導とか入ってほしい (まずは立法から……)

(「主に」をつけた><;(地上の人も危なかった事例もあるので><;))

航空の重大インシデントで死にかけるのは主に乗客と乗員だけど、別に乗客全員が「別にそんな怖くなかったし、機長は優しい人で結果的には心地よいフライトだった」と思ってても重大インシデントであることには変わりない><

当人が不本意でも、秤の問題は普通に当人以外にも問題なんだから当人が不本意に思う広さの外側で騒がれるのは別におかしくないし、公共の問題は当事者のみの問題では無いよね感><

古いものを表示
:realtek:

思考の /dev/null