Tasoller USB デバイス用入力モニタ、LED制御サーバー、キーボードエミュレーター。
タッチセンサーの入力を監視してターミナルで表示可能、WebSocket経由でLED制御、仮想キーボード経由でキー入力をエミュレートできるLinux用CUIアプリケーションです。
- OS: Linux
- Rust: 1.56以上(ビルドの場合)
- libusb: libusb-1.0-dev(Debian/Ubuntu)
- 権限:
/dev/uinputへのアクセス(キーボードエミュレーション使用時)
USB デバイスへのアクセス権を設定します:
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="1ccf", ATTR{idProduct}=="2333", MODE="0666"' | \
sudo tee /etc/udev/rules.d/99-tasoller.rules
sudo udevadm control --reload-rules && sudo udevadm trigger--kb オプション使用時は、ユーザーを input グループに追加:
sudo usermod -aG input $USER
# 再ログインして有効化cargo build --release実行ファイルは target/release/tasoller_cui に生成されます。
./target/release/tasoller_cuiタッチセンサーの入力をターミナルで監視します。
tasoller_cui [--led-port <port>] [--kb] [--sensitivity <0-255>]
Umiguri WebSocket LED サーバーを指定ポートで起動します。
./target/release/tasoller_cui --led-port 3001クライアント(ブラウザなど)は ws://0.0.0.0:{port} に接続してLED制御メッセージを送信できます。
省略時: LED サーバーは起動しません。
uinput 仮想キーボードを作成してキー入力をエミュレートします。
./target/release/tasoller_cui --kbタスローラーを押すとキーボード入力として認識されます。
注意: 事前に input グループに追加される必要があります。
タッチ判定閾値を設定します。デフォルト値は 20。
./target/release/tasoller_cui --sensitivity 30値が大きいほど、より強く押す必要があります。
# LED サーバーとキーボードエミュレーションを有効化
./target/release/tasoller_cui --led-port 3001 --kb --sensitivity 25
# 感度調整のみ
./target/release/tasoller_cui --sensitivity 15=== Tasoller [LED server: ws://0.0.0.0:3001] (Ctrl+C to quit) ===
Top : ░░░░░░░░░░░░░░░░ (上段)
Bottom: ░░██░░░░██░░░░░░ (下段)
Air [bot→top]: _ _ _ 3 _ _ (サイド入力)
Ground raw: X Y X Y ... (生値)
░░: センサー値が感度未満██: センサー値が感度以上Air: サイド入力の状態(3 = 上段)
デフォルトのキーマッピング:
下段 (左→右): A Z S X D C F V G B H N J M K COMMA
上段 (左→右): 1 Q 2 W 3 E 4 R 5 T 6 Y 7 U 8 I
左側: O L P
右側: COMMA DOT PERIOD
ENTER SPACE ESC
LED サーバーは Umiguri UMGR バイナリプロトコルに対応しています。
[Version (1)] [Opcode (1)] [Payload Length (1)] [Payload]
| Opcode | Payload | 説明 |
|---|---|---|
| 0x11 | 0 bytes | Initialize |
| 0x12 | 4 bytes | Ping(ping データ) |
| 0xd0 | 0 bytes | RequestServerInfo |
| 0x10 | 103 bytes | SetLED(LED色制御) |
- Tasoller がUSBで接続されているか確認
- udev ルールが正しく設定されているか確認(
lsusbで1ccf:2333が見えるはず) - USB ケーブルが正しく接続されているか確認
[KB] Failed to create virtual keyboard: uinput open failed
の場合、以下を実行:
sudo usermod -aG input $USER
# ここで再ログイン- ファイアウォール設定を確認
- 別のプロセスが指定ポートを使用していないか確認
- WebSocket クライアントの SameSite ポリシーを確認
MIT