「わからない」を「わかった」に変えるブログ

CREVICE 4 はプログラミングできるマウスジェスチャーアプリ!自由にコマンド登録できるのが最高に便利だ

更新日: 公開日:2020/07/13
プログラムできるマウスジェスチャーアプリ CREVICE

僕がマウスジェスチャーに求めるものは次の4つ。

  • ブラウザ固有ではなく Windows 全体で使える
  • アプリごとに固有の設定ができる
  • 設定のエクスポート&インポート機能あり
  • コマンドを好きにカスタマイズできる

理想を追ってマウスジェスチャーツールを探し続けた結果、ついに全ての要件を満たす神がかったアプリを見つけてしまった。そのアプリが CREVICE 4 です。

Crevice 4 マウスジェスチャー
Crevice 4 マウスジェスチャー
フリーソフト

作成者は、るびゅ (@ruby_u) さん。

目次

マウスジェスチャーとは?

マウスの右クリックを押しながら描いた軌道に応じてショートカットコマンドを発行する機能を持つ、それがマウスジェスチャーアプリの特徴です。

つまりこういうこと。

マウスの軌道に応じてショートカットキーが発行される

アプリに応じて細かく設定すれば、作業効率が格段に向上します。そしてわざわざたくさんのボタンがついた高性能なマウスすら不要になります。

CREVICE 4 はどのようなマウスジェスチャーアプリか

コマンド登録はプログラミングで記述

CREVICE は無駄を省いたコンパクト設計なアプリで、余計な機能が一切ありません。そもそも設定画面が存在せず、用意されたテキストファイルに C# でプログラムを記述してコマンドを登録します。

もうこの時点でマニア向け一直線なアプリ確定ですが、プログラミングなんて書けないし読めない人でも使えるように、サンプルプログラムを用意しておくので、ぜひ最後までご覧ください。

プログラムといっても構造は難しくありません。マウスジェスチャーを使いたいアプリを変数に登録して、その変数に対して1つずつコマンドを登録する。それだけです。(といっても初心者にはハードルが高く見えるのは重々承知しています)

Crevice 4 のプログラム構造

CREVICE 4 はブラウザ、エクスプローラー、テキストエディタ、画像編集ソフト、動画編集ソフト、Word、Excel 等、どんなアプリにでも対応できる万能なマウスジェスチャー用アプリです。

JavaScript や PHP のように、少しでも何かしらのプログラム言語に触れた機会があれば、記述方法を真似るくらいは簡単にできると思います。僕自身もこのアプリの記述に用いられている C# は、全くの未経験者です。

公式ドキュメントも用意されていますが、英語のみです。

バックアップが簡単

必要なのはソフトウェア本体と、プログラムが記載されたファイル default.csx 1つのみ。この csx ファイルをコピーすれば、他のパソコンでも同じマウスジェスチャーが利用できます。

  • バックアップはファイル移動のみ
  • 他のパソコンへの以降が簡単

Export も Import もコマンド入力不要。ファイルを移動するだけ。本当にシンプルです。

設定ファイルの格納場所はこちら。

%USERPROFILE%\Crevice4

エクスプローラーにそのままコピー&ペーストでアクセスできます。なおタスクバーの Crevice のアイコンから [Open UserScript] でも開けます。

タスクバーから Crevice 設定ファイルのあるフォルダを開く

フォルダ内にはファイルが2つ。必要なのは default.csx だけで、末尾に cache がついたファイルは無視して OK です。

マウス軌道がわかりやすい

マウスジェスチャーアプリを導入すると、右クリックしたままマウスを動かすと軌道が現れます。マウスの移動が検知されるとピンク色になり、移動方向が変わるとこれまでピンクだった線は青く、そして検知された新しい方向の線はピンクで表現されます。

Crevice のマウス軌道

方向を変えた情報が正しく検知されたか、わかりやすいのが良いです。

CREVICE 4 のコマンド実装

初期設定で使えるジェスチャー

初期状態では次のジェスチャーが登録されています。

ジェスチャー
【右クリックを押しながら】
発行コマンド処理内容
ホイール ↑ 回転Ctrl + Shift + Tab前のタブに移動
ホイール ↓ 回転Ctrl + Tab後ろのタブに移動
マウス ↑ 移動Homeページの先頭に移動
マウス ↓ 移動Endページの末尾に移動
マウス ← 移動Alt + 前の画面に戻る
マウス → 移動Alt + 次の画面に進む
マウス ↑↓ 移動F5画面再読み込み(更新)
マウス ↓→ 移動Ctrl + Wタブを閉じる

対応しているのは各種ブラウザ (Chrome, Firefox, Opera, IE, Edge) および、通常の Windows エクスプローラーで動きます。

ブラウジングを快適にするコマンドを追加

WordPress や Gmail を始めブラウザ上で処理する機会が多く、初期設定のジェスチャーでは足りません。そこで標準的なブラウザのジェスチャーコマンドを追加します。

ジェスチャー
【右クリックを押しながら】
発行コマンド処理内容
マウス →↑ 移動Ctrl + T新しいタブを開く
マウス ↓← 移動Ctrl + Shift + T最後に閉じたタブを開く
追加するプログラム
// 右上に移動で新しいタブ
Browser.
On(Keys.RButton).
On(Keys.MoveRight, Keys.MoveUp).
Do(ctx =>
{
    SendInput.Multiple().
    ExtendedKeyDown(Keys.ControlKey).
    ExtendedKeyDown(Keys.T).
    ExtendedKeyUp(Keys.T).
    ExtendedKeyUp(Keys.ControlKey).
    Send(); // Open new tab
});

// 下左に移動で消したタブを戻す
Browser.
On(Keys.RButton).
On(Keys.MoveDown, Keys.MoveLeft).
Do(ctx =>
{
    SendInput.Multiple().
    ExtendedKeyDown(Keys.ControlKey).
    ExtendedKeyDown(Keys.ShiftKey).
    ExtendedKeyDown(Keys.T).
    ExtendedKeyUp(Keys.T).
    ExtendedKeyUp(Keys.ShiftKey).
    ExtendedKeyUp(Keys.ControlKey).
    Send(); // Reopen previously closed tab
});

プログラムの追記は default.csx ファイルをテキストエディタで開いて、上記の内容をそのまま末尾に記述するだけで OK です。

プログラミング初心者の方は、設定ファイルのバックアップをとってから追記しましょう。間違って更新しても、元に戻せるようにしておくのが大切です!

Excel 用に実装したプログラム

頻繁に利用するものをジェスチャープログラムで動くようにしました。ブラウザと同じ操作性で実装しているのがポイントです。

ジェスチャー
【右クリックを押しながら】
発行コマンド処理内容
ホイール ↑ 回転Ctrl + PageUp前のシートに移動
ホイール ↓ 回転Ctrl + PageDown次のシートに移動
マウス ↑ 移動Ctrl + Homeシートの先頭に移動
マウス ↓ 移動Ctrl + Endシートの末尾に移動
Excel 用プログラム
// Gestures for Excel
var Excel = When(ctx =>
{
    return ctx.ForegroundWindow.ModuleName == "EXCEL.EXE";
});

// 前のシートに移動
Excel.
On(Keys.RButton).
On(Keys.WheelUp).
Do(ctx =>
{
    SendInput.Multiple().
    ExtendedKeyDown(Keys.ControlKey).
    ExtendedKeyDown(Keys.PageUp).
    ExtendedKeyUp(Keys.PageUp).
    ExtendedKeyUp(Keys.ControlKey).
    Send();
});

// 次のシートに移動
Excel.
On(Keys.RButton).
On(Keys.WheelDown).
Do(ctx =>
{
    SendInput.Multiple().
    ExtendedKeyDown(Keys.ControlKey).
    ExtendedKeyDown(Keys.PageDown).
    ExtendedKeyUp(Keys.PageDown).
    ExtendedKeyUp(Keys.ControlKey).
    Send();
});

// シートの先頭に移動
Excel.
On(Keys.RButton).
On(Keys.MoveUp).
Do(ctx =>
{
    SendInput.Multiple().
    ExtendedKeyDown(Keys.ControlKey).
    ExtendedKeyDown(Keys.Home).
    ExtendedKeyUp(Keys.Home).
    ExtendedKeyUp(Keys.ControlKey).
    Send();
});

// シートの末尾に移動
Excel.
On(Keys.RButton).
On(Keys.MoveDown).
Do(ctx =>
{
    SendInput.Multiple().
    ExtendedKeyDown(Keys.ControlKey).
    ExtendedKeyDown(Keys.End).
    ExtendedKeyUp(Keys.End).
    ExtendedKeyUp(Keys.ControlKey).
    Send();
});

拡張性は無限大

基本的な仕組みを理解できれば、あとは自身の用途に応じて拡張するだけです。上記の例ではブラウザ向けの機能拡張と Excel 向けのジェスチャーを実装してみました。この程度であれば C# の予備知識がなくても、プログラミング経験者であれば難なく実装できると思います。

使用頻度が高いアプリであればあるほど、マウスジェスチャーの実装で作業効率が向上するのは間違いありません。掘り下げればもっと複雑な処理を組み込めそうなので、これからどんどん拡張させていくのが少し楽しみになっています。

プログラミング未経験者にはハードルの高いソフトウェアなので、万人におすすめできません。それでも僕自身は、C# の勉強を0から始めようかと思うほど拡張性の高さに惹かれています。まずは公式ドキュメントを読み解くところからスタートですね。

機能がある程度拡張できたら、またサンプルプログラムとして紹介しようと思います。

以上、プログラミングできるマウスジェスチャーアプリ CREVICE 4 の紹介でした。

\ この記事をシェアする /

このブログの運営者

NJ

元システムエンジニア。ガジェットのレビューや、パソコン・スマホ操作のノウハウをブログで発信。現在は個人事業主として独立。Web サイト運営、ポップデザインや動画制作など、パソコンでモノづくりをしている。

プロフィール詳細