>_ DevTrendsja

言語

ホーム

言語

セクション

フロントエンド バックエンド モバイル DevOps AI / ML ゲーム開発 ブロックチェーン 組み込み セキュリティ
C-sharp

CrossMacro:クリック録音、ホットキー、スケジューラーを3つのOSで統合

Waylandを採用した最新のLinuxで日常的なマウスクリックの自動化を試してみてください。十中八九、xdotoolのような伝統的なユーティリティは、ディスプレイサーバーのセキュリティ制限によりお手上げ状態です。Windowsでは таких задач обычно используется AutoHotkey, а на macOS устанавливают отдельные кликеры и текстовые расширители. В результате на каждой рабочей станции оказывается разнородный набор программного обеспечения.

CrossMacroプロジェクトはこのギャップを埋め、Linux、Windows、macOS向けの明確な自動化ツールを提供することを目指しています。

CrossMacro recording interface preview

内部構造

著者はAvalonia UIフレームワークを使用してC#でアプリケーションを作成しました。これにより、すべてのシステムで同じ外観のクリーンなインターフェースが実現され、NordやGruvboxからDraculaやCatppuccinまで、十几个の組み込みテーマがサポートされています。

しかし、ここで最も重要なのはGUIではなく、入力の問題をどのように解決するかです。Linuxでは、アプリケーションは独自のシステムデーモンを介した動作と、入力デバイスへの直接アクセス(uinput / direct device access)という2つのモードで動作できます。これにより、X11とWaylandの両方でマクロが問題なく実行されます。

主な機能

CrossMacroはデスクトップ向けのスイスアーミーナイフのように構築されています,内部では4つの自動化の方向性が同時にパッケージされています。

アクションの録音と再生

すべてはクラシックレコーダーから始まります。F8を押して、マウスとキーボードのアクションを実行し、もう一度F8を押します。完了。

再生(F9)はニーズに合わせてカスタマイズできます:

  • 速度を0.1倍から10.0倍に変更;
  • 一時停止を挿入(F10);
  • 繰り返し回数の設定または無限ループ;
  • 実際の人間のアクションをシミュレートするために、反復間にランダムな遅延を追加。

ロジック付きマクロエディタ

.macro拡張子の録音済みファイルは、数ピクセルの誤差で最初から録音し直す必要はありません。組み込みエディタでは、座標を手動で編集したり、アクションの順序を変更したり、一時停止やテキストブロックを挿入したりできます。

基本的な条件と画面読み取りもここで利用できます:

  • ピクセル色の取得 — 特定のピクセルの色を読み取る;
  • 色待機 — 画面上の指定されたポイントで正しい色調を待つ;
  • 色検索 — 指定された領域で正しい色を検索する。

このようなコマンドは、ウィンドウの読み込みやボタンのステータス変更を待ってから次のクリックを実行する必要がある場合に便利です。

| 再生 | テキスト展開 | ショートカット |

再生 テキスト展開 ショートカット

| スケジュールタスク | エディタ | 設定 |

スケジュールタスク エディタ 設定

テキストスニペットとホットキー

複雑なカーソル移動が必要なく、テンプレート応答や住所、コードスニペットをすばやく挿入したいだけの場合は、CrossMacroには組み込みのテキスト展開モジュールがあります。定義した省略形を入力すると、ユーティリティが即座に長いテキストに置き換えます。

マクロはキーの組み合わせにバインドすることもできます。2つのモードがあります:押下時の通常の開始と、キーを押している間のみ実行。

スケジューラとターミナル操作

任意のアクションをスケジュールできます:1回だけ、間隔を置いた繰り返し、毎週、または選択した曜日。

bashスクリプト愛好家向けのフルCLIがあります。アプリケーションはメインウィンドウを開かずに起動でき、バックグラウンドで実行され、ターミナルから直接マクロを実行します:

# Валидация файла макроса
crossmacro macro validate ./demo.macro

# Запуск макроса с ускорением в 1.25x и тремя повторами
crossmacro play ./demo.macro --speed 1.25 --repeat 3 --repeat-delay-ms 500

# Выполнение цепочки действий одной строкой
crossmacro run --step "move abs 800 400" --step "click left" --dry-run

覚えておくべきこと:コンソールモードでもアクティブなデスクトップセッションが必要です。グラフィカルディスプレイのないリモートサーバーでは実行できません。

インストールと設定方法

このプロジェクトは事実上すべての一般的な配布渠道で配布されています。

Linuxでは、以下が利用可能です:

  • Flathub経由のFlatpak(io.github.alper_han.crossmacro);
  • リリースページの.debおよび.rpmパッケージ(.deb.rpm);
  • Arch Linux用のAUR(yay -S crossmacro);
  • NixOS用の公式モジュール(services.crossmacro)。

Windowsでは、winget(winget install AlperHan.CrossMacro)、Microsoft Store、またはポータブルexeファイルでインストールできます。macOSでは、Apple SiliconとIntel用のDMGパッケージがあります。

インストール後に問題が発生した場合(たとえば、Linuxでデーモンのソケット権限がない、またはmacOSで画面録画権限の付与を忘れた場合)、開発者は組み込みの診断機能を追加しました:

crossmacro doctor --json --verbose

このコマンドはすべてのサービスのステータスを出力し、現在のセッションで不足している権限を提案します。

試してみる価値はあるか

CrossMacroは、異なるオペレーティングシステムに異なるユーティリティを設定することに厌倦している人々に適しています。レガシーデスクトッププログラムで同じフォームに定期的に入力する必要がある場合、クリックでインターフェースをテストする場合、またはスケジュールに従って反復的なアクションを実行する場合は、このプロジェクトが確かに数時間のルーティン作業を節約します。リポジトリはGPL-3.0ライセンスの下で公開されており、 активно更新されており、今すぐ使用する準備ができています。

関連プロジェクト