Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tasoller_cui

Tasoller USB デバイス用入力モニタ、LED制御サーバー、キーボードエミュレーター。

タッチセンサーの入力を監視してターミナルで表示可能、WebSocket経由でLED制御、仮想キーボード経由でキー入力をエミュレートできるLinux用CUIアプリケーションです。

必要な環境

  • OS: Linux
  • Rust: 1.56以上(ビルドの場合)
  • libusb: libusb-1.0-dev(Debian/Ubuntu)
  • 権限: /dev/uinput へのアクセス(キーボードエミュレーション使用時)

インストール

1. Tasoller へのアクセス権設定

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

2. キーボードエミュレーション用権限設定(オプション)

--kb オプション使用時は、ユーザーを input グループに追加:

sudo usermod -aG input $USER
# 再ログインして有効化

3. ビルド

cargo build --release

実行ファイルは target/release/tasoller_cui に生成されます。

使い方

基本的な実行

./target/release/tasoller_cui

タッチセンサーの入力をターミナルで監視します。

コマンドラインオプション

tasoller_cui [--led-port <port>] [--kb] [--sensitivity <0-255>]

--led-port <port>

Umiguri WebSocket LED サーバーを指定ポートで起動します。

./target/release/tasoller_cui --led-port 3001

クライアント(ブラウザなど)は ws://0.0.0.0:{port} に接続してLED制御メッセージを送信できます。

省略時: LED サーバーは起動しません。

--kb

uinput 仮想キーボードを作成してキー入力をエミュレートします。

./target/release/tasoller_cui --kb

タスローラーを押すとキーボード入力として認識されます。

注意: 事前に input グループに追加される必要があります。

--sensitivity <0-255>

タッチ判定閾値を設定します。デフォルト値は 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 = 上段)

キーマッピング

デフォルトのキーマッピング:

グラウンドセンサー(32個)

下段 (左→右): 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

エアセンサー(6個、下→上)

左側:  O L P
右側:  COMMA DOT PERIOD

エクストラキー

ENTER SPACE ESC

Umiguri LED サーバープロトコル

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 not found"

  • Tasoller がUSBで接続されているか確認
  • udev ルールが正しく設定されているか確認(lsusb1ccf:2333 が見えるはず)
  • USB ケーブルが正しく接続されているか確認

キーボードエミュレーションが動作しない

[KB] Failed to create virtual keyboard: uinput open failed

の場合、以下を実行:

sudo usermod -aG input $USER
# ここで再ログイン

LED サーバーに接続できない

  • ファイアウォール設定を確認
  • 別のプロセスが指定ポートを使用していないか確認
  • WebSocket クライアントの SameSite ポリシーを確認

ライセンス

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages