Arduino HID-Project.h ライブラリとは?
HID-Project.h
ライブラリは、ArduinoボードをHID(Human Interface Device)デバイスとして動作させるためのライブラリです。このライブラリは、キーボード、マウス、ゲームパッド、およびメディアコントロールデバイスなど、さまざまなHIDデバイスのエミュレーションを提供します。
HID-Project.hライブラリ関数
メディアキー定数を含むキーボードの関数
メディアキー定数
HID-Project.hライブラリには、以下のメディアキー定数が含まれています。
MEDIA_PLAY_PAUSE
MEDIA_NEXT
MEDIA_PREVIOUS
MEDIA_STOP
MEDIA_VOLUME_UP
MEDIA_VOLUME_DOWN
MEDIA_MUTE
MEDIA_EJECT
MEDIA_FAST_FORWARD
MEDIA_REWIND
キーボードの関数
Keyboard.press(key)
: 特定のキーを押し下げます。Keyboard.release(key)
: 特定のキーを離します。Keyboard.write(key)
: 特定のキーを押して離します。Keyboard.print(text)
: テキストをキーとして送信します。Keyboard.println(text)
: テキストをキーとして送信し、改行を追加します。
マウスの制御関数
Mouse.begin()
: マウス機能を初期化します。Mouse.end()
: マウス機能を終了します。Mouse.click(button)
: 指定されたボタンをクリックします。Mouse.move(x, y, wheel)
: マウスを移動し、ホイールを回転させます。Mouse.press(button)
: 指定されたボタンを押し下げます。Mouse.release(button)
: 指定されたボタンを離します。
マウスのボタン定数
MOUSE_LEFT
MOUSE_RIGHT
MOUSE_MIDDLE
ジョイスティックの制御関数
ジョイスティック機能は、HID-Project.hライブラリの中で高度な制御を提供します。
Joystick.begin()
: ジョイスティック機能を初期化します。Joystick.end()
: ジョイスティック機能を終了します。Joystick.setButton(button, value)
: 指定されたボタンを設定します。Joystick.setXAxis(value)
: X軸の値を設定します。Joystick.setYAxis(value)
: Y軸の値を設定します。Joystick.setZAxis(value)
: Z軸の値を設定します。Joystick.setRxAxis(value)
: Rx軸の値を設定します。Joystick.setRyAxis(value)
: Ry軸の値を設定します。Joystick.setRzAxis(value)
: Rz軸の値を設定します。Joystick.sendState()
: ジョイスティックの状態を送信します。
具体的な使用例
メディアキーの使用例
#include <HID-Project.h>
void setup() {
HID.begin();
}
void loop() {
// 音量を上げる
Consumer.write(MEDIA_VOLUME_UP);
delay(1000);
}
キーボードの使用例
#include <HID-Project.h>
void setup() {
HID.begin();
}
void loop() {
// "Hello, World!"を送信
Keyboard.print("Hello, World!");
delay(1000);
}
マウスの使用例
#include <HID-Project.h>
void setup() {
Mouse.begin();
}
void loop() {
// マウスを右に100ピクセル移動
Mouse.move(100, 0, 0);
delay(1000);
}
ジョイスティックの使用例
#include <HID-Project.h>
void setup() {
Joystick.begin();
}
void loop() {
// X軸とY軸を最大値に設定
Joystick.setXAxis(1023);
Joystick.setYAxis(1023);
Joystick.sendState();
delay(1000);
}
Keyboard.hやMouse.hとの違い
`Keyboard.h` や `Mouse.h` の機能は `HID-Project.h` に統合されているため、`Keyboard.h` や `Mouse.h` にあるが `HID-Project.h` には無い特定の関数はありません。`HID-Project.h` はこれらのライブラリの機能を包括的にカバーしているため、実質的には同じ機能を提供します。
まとめ
HID-Project.h は Keyboard.h と Mouse.h の全機能を含んでおり、さらにメディアコントローラーやシステムコントロールデバイスのエミュレーション機能も提供します。したがって、Keyboard.hや Mouse.h の機能を包括的に扱いたい場合や、追加のHIDデバイスのエミュレーションが必要な場合は HID-Project.h を使用することが推奨されます。
コメント