Java 21/22/25 対応のマウスホイール自動回転ツール。Windows/Linux クロスプラットフォーム対応。
- F9: マウスホイール回転開始(持続回転)
- F10: マウスホイール回転停止
別画面フォーカス時でも反応します。
- 🎚️ 回転速度調整: スライダーと数値入力フィールド(10~500ms)
- 🔄 回転量調整: スライダーと数値入力フィールド(1~20 ticks)
↕️ 回転方向切り替え: 上/下- 🖱️ ボタンクリック操作: Start/Stop ボタン
- スライダーと数値フィールドが常に同期
- 設定変更は即座に反映
| OS | ホットキー | マウス制御 | GUI |
|---|---|---|---|
| Windows | ✅ グローバル (JNA) | ✅ 完全対応 | ✅ Swing |
| Linux | ✅ X11対応 | ✅ Swing | |
| macOS | ❌ 未実装 | ❓ 確認必要 | ✅ Swing |
- Java: 21, 22, 25 以上
- Maven: 3.6+ (ビルド時のみ)
ワンコマンドで導入できます:
wget https://github.com/warasugitewara/mouse-wheel-tool/releases/download/v1.0.0/MouseWheelTool-1.0.0-jar-with-dependencies.jar && java -jar MouseWheelTool-1.0.0-jar-with-dependencies.jarまたは分けて実行:
# JAR ファイルをダウンロード
wget https://github.com/warasugitewara/mouse-wheel-tool/releases/download/v1.0.0/MouseWheelTool-1.0.0-jar-with-dependencies.jar
# 実行
java -jar MouseWheelTool-1.0.0-jar-with-dependencies.jargit clone https://github.com/warasugitewara/mouse-wheel-tool.git
cd MouseWheelTool
mvn clean package -DskipTests
java -jar target/MouseWheelTool-1.0.0-jar-with-dependencies.jar詳細な手順は LINUX_SETUP.md を参照してください。
# 1. 必要なツールをインストール
sudo apt install -y openjdk-21-jdk maven # Ubuntu/Debian
# 2. ソースコードを取得・ビルド
git clone https://github.com/warasugitewara/mouse-wheel-tool.git
cd mouse-wheel-tool
mvn clean package -DskipTests
# 3. 実行
java -jar target/MouseWheelTool-1.0.0-jar-with-dependencies.jarmvn clean package -DskipTestsでビルドしてください- または、GitHub Release から JAR を直接ダウンロードしてください
- アプリケーションを起動
- F9 を押す → 回転開始
- F10 を押す → 回転停止
- GUI で設定調整
※ アプリケーションの背景にいても F9/F10 は動作します
セットアップ:
# xbindkeys をインストール
sudo apt install xbindkeys # Ubuntu/Debian
# または
sudo yum install xbindkeys # RedHat/CentOS
# 設定ファイルを生成
xbindkeys --defaults > ~/.xbindkeysrc
# エディタで編集
nano ~/.xbindkeysrc~/.xbindkeysrc に追加:
# Mouse Wheel Tool - Start
"java -jar /path/to/MouseWheelTool-1.0.0-jar-with-dependencies.jar --start"
F9
# Mouse Wheel Tool - Stop
"java -jar /path/to/MouseWheelTool-1.0.0-jar-with-dependencies.jar --stop"
F10起動:
xbindkeys -f ~/.xbindkeysrcまたは、GUI ウィンドウをアクティブにしておけば、キーボード入力リスナーが動作します。
- スライダー: 直感的に調整
- 数値フィールド: 正確な値を入力
- 範囲: 10~500ms(デフォルト: 50ms)
- 低い値 = 高速回転
- 高い値 = ゆっくり回転
- スライダー: 1~20 ticks
- 数値フィールド: 正確な値を入力
- デフォルト: 1 tick
- 意味: 1回の操作で回転するホイール「段」の数
- Down (↓): 下方向にスクロール(ページ送り)
- Up (↑): 上方向にスクロール(ページ戻る)
MouseWheelToolApp (エントリーポイント)
├── MouseWheelToolGUI (Swing GUI)
│ ├── Sliders (スライダー)
│ ├── Spinners (数値入力)
│ └── Buttons (開始/停止)
├── RotationController (制御ロジック)
│ ├── start/stop (状態管理)
│ └── rotationLoop (バックグラウンド回転)
├── MouseWheelRotator (マウス操作)
│ └── Robot API (java.awt.Robot)
├── GlobalHotKeyListener (ホットキー検出)
│ ├── Windows: JNA + Windows API
│ └── Linux: xbindkeys 推奨
└── OSUtils (OS判定)
| スレッド | 用途 |
|---|---|
| EDT (Event Dispatch Thread) | Swing GUI イベント処理 |
| RotationThread | マウスホイール定期操作 |
| HotKeyListenerThread | グローバルホットキー検出 (Windows) |
RotationController.java:
private volatile int rotationSpeed = 50; // 回転間隔(ミリ秒)
private volatile int rotationAmount = 1; // 回転量(ticks)
private volatile int rotationDirection = 1; // 1=下, -1=上MouseWheelToolGUI.java のコンストラクタで調整可能。
mvn test-compile
java -cp "target/classes:target/test-classes" mousewheeltool.MouseWheelTest出力例:
=== Mouse Wheel Test ===
Testing mouse wheel rotation...
Test 1: Scrolling DOWN 5 times...
[MouseWheel] Rotating: 1
[MouseWheel] Rotating: 1
[MouseWheel] Rotating: 1
[MouseWheel] Rotating: 1
[MouseWheel] Rotating: 1
Test 2: Scrolling UP 5 times...
[MouseWheel] Rotating: -1
[MouseWheel] Rotating: -1
[MouseWheel] Rotating: -1
[MouseWheel] Rotating: -1
[MouseWheel] Rotating: -1
Test completed!
原因: ビルドされていない
解決方法:
# ビルドコマンドを実行
mvn clean package -DskipTests
# または、GitHub Release から JAR を直接ダウンロード
wget https://github.com/warasugitewara/mouse-wheel-tool/releases/download/v1.0.0/MouseWheelTool-1.0.0-jar-with-dependencies.jar
java -jar MouseWheelTool-1.0.0-jar-with-dependencies.jar原因: Java がインストールされていない
解決方法:
# Linux
sudo apt install openjdk-21-jdk # Ubuntu/Debian
sudo yum install java-21-openjdk # CentOS/RHEL
# 確認
java -version原因: Maven がインストールされていない
解決方法:
# Linux
sudo apt install maven # Ubuntu/Debian
sudo yum install maven # CentOS/RHEL
# 確認
mvn -version- ✅ 別のアプリ が F9/F10 をグローバルホットキーとして登録していないか確認
- ✅ 管理者権限で実行を試みてください
- ✅ コンソール出力でエラーメッセージを確認
- スライダーを右に移動(回転間隔を短くする)
- 回転量を増やす
詳細は LINUX_SETUP.md を参照してください
# インストール確認
which java
which mvn
# パスを確認
echo $PATH# xbindkeys テスト
xbindkeys -v
# キーの確認
xbindkeys -k # F9 を押してテスト- X11 環境か Wayland 環境か確認
- Wayland の場合、まず X11 をお試しください
# X11 確認
echo $DISPLAY- X11/ディスプレイサーバーが起動しているか確認
- X11 フォワーディングを確認(リモート接続時)
- グローバルホットキー: ❌ 未実装
- マウスホイール制御: ? 確認中
- CPU: 最小限(バックグラウンドスレッド使用)
- RAM: 100MB 以上
- ディスク: 50MB(JAR + 依存関係)
| ライブラリ | 用途 | バージョン |
|---|---|---|
| JNA | Windows API 呼び出し | 5.14.0 |
| SLF4J | ロギング | 2.0.11 |
| Swing | GUI | Java 標準 |
貢献を歓迎します!以下を参照してください:
- CONTRIBUTING.md - 貢献ガイド
- Issues - バグ報告・機能リクエスト
メイン README と GITHUB_MANUAL_SETUP.md を参照
詳細な手順は LINUX_SETUP.md を参照してください
- インストール手順(Ubuntu/Debian/Fedora/CentOS)
- xbindkeys セットアップ
- トラブルシューティング
未実装
MIT License - 詳細はファイルを参照してください
- ✨ 数値入力フィールド追加(スライダーとの連動)
- 📈 最大回転量を 20 に拡張
- 🐧 Linux 対応(xbindkeys 推奨)
- 🖥️ OS 判定ユーティリティ
- 📊 起動時にシステム情報表示
詳細は CHANGELOG.md を参照。
- macOS ネイティブサポート
- GUI テーマカスタマイズ
- 設定ファイル保存・読み込み
- ホットキーのカスタマイズ機能
- ロギングをファイルに保存
# ローカル開発
git clone <repository>
cd MouseWheelTool
# Maven でコンパイル
mvn compile
# テスト
mvn test
# パッケージ
mvn package -DskipTests
# 実行
java -jar target/MouseWheelTool-1.0.0-jar-with-dependencies.jar問題が発生した場合:
- Troubleshooting を確認
- Issues で同じ問題がないか検索
- 新しい Issue を作成(OS、Java バージョン、エラーメッセージを含める)
Happy scrolling! 🎉