このプロジェクトについて

# Weylus Weylusは、タブレットやスマートフォンをコンピュータ用のグラフィックタブレットやタッチスクリーンに変えるオープンソースアプリケーションです。主要なオペレーティングシステム(Linux、macOS、Windows)で動作し、タブレット側では最新のブラウザ(Firefox 80+、iOS/iPadOS 13+)のみが必要です。 ## 主な機能 - **マウス制御**: タブレットを使用してコンピュータのマウスカーソルを制御 - **画面ミラーリング**: コンピュータの画面をタブレットにリアルタイムでミラーリング - **キーボード入力**: 物理Bluetoothキーボードをタブレットに接続して直接入力 - **ハードウェアアクセラレーション**: GPUアクセラレーションによるビデオエンコーディングを利用(LinuxではVAAPI、WindowsではNVENC/MediaFoundation、macOSではVideoToolbox) - **スタイラスサポート(Linux)**: スタイラス/ペン入力の完全な筆圧と傾き感度 - **マルチタッチ(Linux)**: Kritaなどの互換ソフトウェアでマルチタッチジェスチャをサポート - **ウィンドウキャプチャ(Linux)**: 特定のウィンドウを選択してミラーリングし、その上にのみ描画 - **セカンドスクリーン(Linux)**: タブレットを追加の仮想モニタとして使用 ## インストール お使いのOS向けの最新リリースを[リリースページ](https://github.com/H-M-H/Weylus/releases)から入手してください。タブレット側ではインストール不要で、ブラウザを開くだけです。 Arch Linuxユーザー向けのAURパッケージが利用可能です: - ソースから: `weylus` - プリビルドバイナリ: `weylus-bin` ## クイックスタート 1. Weylusを起動し、アクセスコードを設定(推奨)して、Startを押します 2. タブレットで表示されたURL(例: `http://<コンピュータのアドレス>:1701`)を開きます 3. TCPポート1701(ウェブサーバー)と9001(ウェブソケット)のファイアウォールアクセスを許可します ## プラットフォーム別の注意点 ### Linux - スタイラスとマルチタッチサポートには`uinput`が必要です。READMEの設定手順に従ってudevルールを作成してください。 - Waylandサポートは実験的です。`pipewire`、`xdg-desktop-portal`、およびポータルバックエンド(GNOMEではGTK、KDEではKDE)が必要です。 - VAAPIによるハードウェアアクセラレーション。`WEYLUS_VAAPI_DEVICE`をレンダーノード(例: `/dev/dri/renderD129`)に設定する必要がある場合があります。 - セカンドスクリーン機能用に、Intelの`xf86-video-intel`ドライバを使用して仮想ディスプレイを作成できます。 ### macOS - ハードウェアアクセラレーションにVideoToolboxを使用しますが、品質はソフトウェアエンコーディングより低い場合があります。 ### Windows - ハードウェアアクセラレーションエンコーディングにNVENCとMediaFoundationをサポートします。 ## ソースからのビルド Rust、TypeScript、make、git、Cコンパイラ、nasm、bashが必要です。Linuxでは追加の依存関係が必要です(完全なリストはREADMEを参照)。ビルドスクリプトはデフォルトでffmpegとlibx264をコンパイルします。`--features ffmpeg-system`を使用してシステムライブラリを使用できます。 Dockerビルドも`hhmhh/weylus_build`イメージを介してサポートされています。 ## 仕組み WeylusはブラウザのPointerEventsを使用して、タブレットからのスタイラス、タッチ、マウス入力をキャプチャします。これらのイベントはWebSocketを介してサーバーに送信され、サーバーは汎用バックエンド(マウスのみ)またはLinuxではuinputバックエンドを使用して完全なスタイラス/マルチタッチサポートを処理します。画面ミラーリングはffmpegを使用してデスクトップ(または選択したウィンドウ)をH.264ビデオストリームにエンコードし、Media Source Extensionsを介してブラウザで再生します。 ## FAQのハイライト - **接続の問題?** ファイアウォールでTCPポート(1701と9001)の両方が開いていることを確認してください。 - **macOS/Windowsでウィンドウキャプチャがない?** この機能はX11統合のためLinuxのみです。 - **Android版Firefoxが動作しない?** 別のブラウザを使用するか、ネットワーク設定を確認してください。 - **iPadのChromeの問題?** ChromeはiPadOSで一部のビデオストリーミング機能が不足しているため、SafariまたはFirefoxを使用してください。 - **WiFiがない?** USBテザリングを使用するか、タブレットからホットスポットを作成してください。AndroidユーザーはADBポートフォワーディングを使用して`http://127.0.0.1:1701`で接続できます。 ## セキュリティに関する注意 Weylusにはレイテンシを最小限に抑えるための組み込み暗号化はありません。信頼できるネットワークでのみ実行してください。信頼できないネットワークでは、READMEに記載されているようにTLSプロキシ(例: hitch)を設定してください。 詳細(トラブルシューティングや高度な設定を含む)については、[公式README](https://github.com/H-M-H/Weylus)を参照してください。