ページ作成日
ページ更新日
概要
hidapiは、USB及びBluetooth HIDクラスデバイスと通信するためのマルチプラットフォームCライブラリです。
元々はAlan Ott(signal11)によって開発され、現在はlibusb/hidapiとして開発が継続されています。
特徴
- マルチプラットフォーム対応
- Windows、Linux、FreeBSD、macOSで動作します。
- 複数のバックエンド
- Linuxではhidraw(カーネルのhidrawドライバ使用)とlibusb(libusb-1.0使用)の2つのバックエンドを選択できます。hidrawはUSBとBluetooth両方に対応、libusbはUSBのみ対応です。
- 軽量な設計
- 共有ライブラリ(.so)としてビルドするか、ソースファイルを直接アプリケーションに組み込むことも可能です。
- 豊富な上位プロジェクト
- Python向けのcython-hidapiや、liquidctlなどのデバイス制御ツールから利用されています。
公式サイト
依存関係
このパッケージをビルドするには、以下のパッケージが必要です。
すべてSlackware標準パッケージに含まれています。
- cmake
- libusb-1.0
- eudev(libudev)
Make it by yourself!
まずは、自分のホームディレクトリにソースをダウンロードし、展開します。
cd ~/Downloads wget https://github.com/libusb/hidapi/archive/refs/tags/hidapi-0.14.0.tar.gz tar xvf hidapi-0.14.0.tar.gz
CMakeでビルドディレクトリを作成し、configureします。
cd hidapi-hidapi-0.14.0 mkdir build && cd build cmake \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_LIBDIR=lib64 \ -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \ ..
CMakeオプション
主要なオプションの説明です。
- -DCMAKE_INSTALL_PREFIX=/usr
- インストール先のプレフィックスを/usrに設定します。
- -DCMAKE_BUILD_TYPE=Release
- 最適化されたリリースビルドを行います。
- -DCMAKE_INSTALL_LIBDIR=lib64
- ライブラリのインストール先を/usr/lib64に設定します(x86_64環境向け)。
- -DCMAKE_POLICY_VERSION_MINIMUM=3.5
- hidapiのCMakeLists.txtが古いCMakeバージョンを要求しているため、CMake 4.0以降ではこのオプションが必要です。
makeします。
/usr/bin/time -v make -j$(nproc)
[画面出力を省略]
Command being timed: "make -j12"
User time (seconds): 0.46
System time (seconds): 0.06
Percent of CPU this job got: 182%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.28
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 49304
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 74
Minor (reclaiming a frame) page faults: 33466
Voluntary context switches: 401
Involuntary context switches: 10
Swaps: 0
File system inputs: 17960
File system outputs: 672
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
仮インストールディレクトリにインストールします。
make install DESTDIR=/tmp/hidapi-0.14.0
ドキュメントをインストールします。
mkdir -p /tmp/hidapi-0.14.0/usr/doc/hidapi-0.14.0 cp -a ../LICENSE*.txt ../README.md ../AUTHORS.txt \ /tmp/hidapi-0.14.0/usr/doc/hidapi-0.14.0/
パッケージを作成します。
cd /tmp/hidapi-0.14.0 sudo makepkg --linkadd y --chown n ../hidapi-0.14.0-x86_64-1.txz Slackware package ../hidapi-0.14.0-x86_64-1.txz created.
あとは、パッケージをインストールすれば完了です。
cd .. sudo installpkg hidapi-0.14.0-x86_64-1.txz