Logicoolゲーミングマウスのマクロ(スクリプト)についてサンプルコードをご紹介する記事です。本記事では、2文字以上の文字列(例:abcdefg、logicool など)をキー入力するサンプルをご紹介させていただきます。
2文字以上の文字列をキー入力する場合、例えば abcdefg では a、b、c、d、e、f、g と PressAndReleaseKey 関数などに 1つずつ引数として渡せば 1度で入力することもできます。
PressAndReleaseKey( "a", "b", "c", "d", "e", "f", "g" )
そのような場合に使えるサンプルコードをご紹介させていただきます。
目次
サンプルコード
以下は abcdefg という文字列をキーで入力するサンプルです。
function OnEvent(event, arg)
-- イベントが発生したボタン番号をチェックする
if arg == 9 and event == "MOUSE_BUTTON_PRESSED" then
InputString( "abcdefg" )
end
end
---------------------------------------
-- 文字列を入力する
---------------------------------------
function InputString( iStr )
for i=1, #iStr do
-- 数字に合わせたキーを入力する
PressAndReleaseKey( string.sub( iStr, i, i) )
end
end
コード解説
文字列をキー入力する関数を呼び出す
対象行 : 3 ~ 8 行目if arg == 9 and event == "MOUSE_BUTTON_PRESSED" then InputString( "abcdefg" ) end
番号9 のボタンを押した時、InputString という関数を呼び出しています。
InputString は引数として指定された任意の文字列をキー入力してくれる関数です。あらかじめ用意されている関数ではなく、独自に定義した関数となります。
InputString 関数の定義
対象行 : 12 ~ 24 行目--------------------------------------- -- 文字列を入力する --------------------------------------- function InputString( iStr ) ~ end
引数の iStr で指定された任意の文字列をキー入力する InputString 関数を定義しています。
文字列を 1文字ずつキー入力する
対象行 : 17 ~ 22 行目 for i=1, #iStr do
-- 数字に合わせたキーを入力する
PressAndReleaseKey( string.sub( iStr, i, i) )
end
入力対象の文字列 iStr 内の何番目の文字を入力するか指定する添字番号 i を 1 に初期化しています。
また、 #iStr は文字列 iStr のバイト数を示しています。半角文字は 1バイトなので実質文字数とも言えます。裏を返せば本コードは全角文字に対応していませんのでご注意ください。
このサンプルでは入力対象が abcdefg と 7 文字の文字列であるため、i の数値が 1 から 7 になるまで 7回処理されます。
for i=1, #iStr do
-- 数字に合わせたキーを入力する
PressAndReleaseKey( string.sub( iStr, i, i) )
end
string.sub は指定した文字列の部分文字列を返す関数です。以下の書式で使われます。
string.sub( 部分的に抽出したい元の文字列, 開始位置, 終了位置)
今回は i番目の文字を 1文字取り出せれば良いので、i番目から i番目まで、という指定の仕方をしています。
そして抽出された 1文字を PressAndReleaseKey 関数に渡してキー入力を行っています。
まとめ
今回のサンプルのポイントは以下の通りです。
- 文字列を 1文字ずつ取り出して、PressAndReleaseKey 関数などに引数として渡し、キー入力を行う
Logicoolゲーミングマウスのマクロ(スクリプト)関連ページ一覧
皮脂や唾、手垢、汗などで表面は見えない雑菌だらけです。 衛生上も問題ですし、気持ち良く使うためにも、こまめに拭きとってキレイにしましょう。