札幌HIDライブラリ変更
#入力デバイスプラグイン
札幌HID入力プラグインの課題
BveのEvent呼び出し時に保護されているメモリエラー(非同期関連?)
サードパーティーライブラリが32bit限定
USB PIDがコード直書きになっている
HID API呼び出し方法検討
直接Win32APIを呼ぶ
http://spectrum.blog.jp/archives/2788864.html
メモリ管理やエラーハンドリングが大変そう
hidlibrary https://www.nuget.org/packages/HidLibrary/
nugetのusb hid関連で最もダウンロードされている
mbedのリファレンスにも載っている https://gist.github.com/DarranShepherd/f11efef7de934ae985dc
採用
現状リポジトリの課題
USB PIDを直書きしているかもしれず危ない
→いまのところ別ブランチになっている。
ライブラリがnugetではなく内包なのでライセンス表示が必要 https://www.codeproject.com/Tips/530836/Csharp-USB-HID-Interface
→コミット履歴に残るだけ。まあ良い。
順序
PIDを外部ファイル化
HIDライブラリ変更
(できれば)キー割り当てを外部ファイル化
PIDを外部ファイル化
ただコミットしたくないだけ(現状のブランチ切替は面倒)
静的なので、xmlよりもリソースに近い
Resources.Designer.cs があれば使うとか、フォルダ指定とかは厳しそう
(もしリソースファイルがあれば、それを使う、としたい)
ブランチ切替は必要だが、別ファイルなので少し間違えにくくなった。/icons/check.icon
アプリケーション構成ファイル → VIDはユーザーが変えないので微妙
HIDライブラリ変更
https://gyazo.com/3befb579f24ac8ff8b186502347a556b
参照じゃなくて静的リンクにしたい → dllを使う限り不可らしい。
dllをコピーすれば解消する。Bveのウィンドウに出ちゃう問題は保留。
https://gyazo.com/785414b840d6dc1f8b65986deda7f211
とりあえず動いた /icons/check.icon
どこか別のフォルダに依存dllを置けないか?