マウスマクロ

Logicoolマウスのマクロ作成(基本コード)

投稿日:2018年12月4日 更新日:

Logicoolゲーミングマウスではマクロにより定型的な操作を自動的に実行させることができます。
前回の記事ではLogicoolゲーミングマウスのスクリプトエディタの起動と初期コードの解説を行いました。
今回はマクロを作成する場合のプログラムコードの基本形について解説したいと思います。

コードの基本形

基本的なコードの形は以下のようになります。
※あくまで私個人のやり方なので、他に良いコードはあると思います。

EnablePrimaryMouseButtonEvents( true );

function OnEvent(event, arg)
	--OutputLogMessage("event = %s, arg = %s\n", event, arg);
	
	if ( arg == X ) then -- X にはボタンに合わせて任意のボタン番号を記述します
		-------------------------------------------------------
		-- ボタンX でイベントが発生した場合の処理
		-------------------------------------------------------
		
		if ( event == "MOUSE_BUTTON_PRESSED" ) then
			-------------------------------------------------------
			-- ボタンが押されてイベントが発生した場合の処理
			-------------------------------------------------------

                        ★ボタンX が押された場合に行いたい処理をここに記述します

		elseif ( event == "MOUSE_BUTTON_RELEASED" ) then
			-------------------------------------------------------
			-- ボタンが離されてイベントが発生した場合の処理
			-------------------------------------------------------

                        ★ボタンX が離された場合に行いたい処理をここに記述します

		end

	elseif ( arg == Y ) then -- Y にはボタンに合わせて任意のボタン番号を記述します
		-------------------------------------------------------
		-- ボタンY でイベントが発生した場合の処理
		-------------------------------------------------------
		
                ~ 省略 ~
                
	end

end

左クリック時のイベント発生を有効化する

対象行: 1 行目

EnablePrimaryMouseButtonEvents( true );

マウスの左ボタン(通常のクリックで使用するボタン)は押される機会が多いため、パフォーマンスの観点から通常はイベントが発生しないようになっています。左ボタンが押されたり離されたりした時も何らかの自動操作を行いたい場合は、この命令を実行することでイベントが発生するようになります。

左ボタンを押したり離したりしたときに自動操作を行う必要がない場合、この行はコメントアウトしておいてください。 先頭に"-"(ハイフン)を 2 つ付けることで、その行に記載されている内容はコメントとして扱われ、プログラムコードとしては認識されなくなります。

ボタン番号、イベント内容をコンソールに出力する

対象行: 4 行目

--OutputLogMessage("event = %s, arg = %s\n", event, arg);

event、arg パラメータの内容をコンソールに出力する命令です。

event パラメータにはボタンが押された(MOUSE_BUTTON_PRESSED)、またはボタンが離された(MOUSE_BUTTON_RELEASED)ことを示す情報が入っています。
arg パラメータにはイベントが発生した(押されたり離されたりした)ボタンを識別する番号が入っています。

ボタンを押すたびにメッセージが出力されるのは邪魔になるのでコメントアウトして無効化しています。

どのボタンが押されたか(離されたか)判定する

対象行: 6 行目

if ( arg == X ) then

arg パラメータにはイベントが発生したボタンの番号が入っていますので、意図したボタンで発生したイベントかどうかを判定しています。
"X" の部分には自動操作のトリガとして使いたいボタン(※)の番号を記載します。
 ※押したり離したりしたときに自動操作を起動したいボタン

例えば、マウスのとあるサイドボタン(ボタン番号:7)を押したときに何らかの処理を行いたい場合、以下のようになります。

例:

if ( arg == 7 ) then

ボタン番号が分からない場合は 4 行目のコードのコメントアウトを解除(先頭 2 つのハイフンを削除)して、番号を確認したいボタンを押してください。
コンソールに出力されたメッセージの arg パラメータの内容がボタン番号です。

例:

event = MOUSE_BUTTON_PRESSED, arg = 7

ボタン番号だけだと後でコードを見たときにどのボタンのことを指しているのか分からなくなるため、分かりやすいようにコメントを入れておくと良いでしょう。

例:

-- サイドの左上のボタン
if ( arg == 7 ) then


ボタンが押されたのか判定する

対象行:11 ~ 16 行目

if ( event == "MOUSE_BUTTON_PRESSED" ) then
    -------------------------------------------------------
    -- ボタンが押されてイベントが発生した場合の処理
    -------------------------------------------------------

    ★ボタンX が押された場合に行いたい処理をここに記述します

event パラメータには発生したイベントの内容が入っていますので、マウスのボタンが押されたことにより発生したイベントかどうかを判定しています。
条件に該当する場合、ボタンX が押された時に行いたい自動操作をここに記述します。

ボタンが離されたのか判定する

対象行: 18 ~ 23 行目

elseif ( event == "MOUSE_BUTTON_RELEASED" ) then
    -------------------------------------------------------
    -- ボタンが離されてイベントが発生した場合の処理
    -------------------------------------------------------

    ★ボタンX が離された場合に行いたい処理をここに記述します

11 行目と同様に、マウスのボタンが離されたことにより発生したイベントかどうかを判定しています。
条件に該当する場合、ボタンX が離された時に行いたい自動操作をここに記述します。

まとめ

  • 左ボタンのイベントを処理したい場合は EnablePrimaryMouseButtonEvents( true ) を実行する
  • arg パラメータにより意図したボタンで発生したイベントかどうかをチェックする
  • event パラメータによりボタンが押されたのか離されたのかをチェックする

自動操作を記述する前段階として、トリガとなるボタンや発生したイベント内容をチェックする部分のコードを基本形としてご紹介させていただきました。
マウスのボタンを押す、特定のキーを押す、マウスカーソルを動かすなどの自動操作の記述については別途ご紹介したいと思います。

その他のマクロ(スクリプト)関連ページはこちら

Logicoolゲーミングマウスのマクロ(スクリプト)関連ページ一覧

おすすめのゲーミングマウス

超高速FPSゲーミングマウス(ボタン: 8 個)

Logicool ロジクール ゲーミング マウス G402

  • 500IPSを超えるトラッキング速度
  • 8個のプログラム可能なボタン
  • ボタンによるDPIの素早い切り替え
  • 1msのレポートレート
  • 高速なクリック(連打)を実現

高パフォーマンスのゲーミングマウス(ボタン: 11 個)

Logicool ロジクール ゲーミング マウス G502 HERO

  • 400IPSを超えるトラッキング速度
  • 11個のプログラム可能なボタン
  • 100~16,000の全DPIでゼロスムージング、ゼロフィルタリング、ゼロアクセラレーションを達成
  • 1msのレポートレート
  • マウスの重さを調整可能

15 個のプログラム可能なボタンを持つ高性能ワイヤレスマウス

Logicool G ゲーミングマウス ワイヤレス G604 ブラック

  • 400IPSを超えるトラッキング速度
  • 15個のプログラム可能なボタン
  • 100~16,000の全DPIでゼロスムージング、ゼロフィルタリング、ゼロアクセラレーションを達成
  • 1msのレポートレート
  • ワイヤレス

カスタマイズ可能な 20 個ものボタンを備える MMO 向けゲーミングマウス

Logicool ロジクール ゲーミング マウス G600t

  • MMO に最適な 20個のプログラム可能なボタン
  • 親指だけで 12個のボタンを瞬時に押せるサムパネル
  • 1msのレポートレート

スポンサーリンク

そういえば買いたい物があったんだった、日用品補充しなきゃ、などがあれば





おすすめ記事

1
Logicool(ロジクール)のゲーミングマウスではマクロを作って自動的な操作を実現することができます。 ボタン 1 つ押すだけで複雑な操作が自動で行えるようになり、定型的な操作を効率良く楽に行えるよ ...
2
バウヒュッテ(Bauhutte)のゲーミングチェア : RS-950RR の使用感などをレポートさせていただきたいと思います。一般的なオフィスチェアよりも断然座り心地が良く、私には合っていました。オス ...
3
キーボード・マウスでの操作に慣れているのに、PS4 や Xbox のコントローラで FPS/TPSゲームをプレイするとうまく操作できず、歯がゆい思いをされていないでしょうか。ゲームソフト側が対応してい ...

-マウスマクロ

Copyright© ArekoReport , 2020 All Rights Reserved.