一部気に入らない動きはあるけど、ひとまずやりたいことはできることがわかったLuaMacros。
というかそれだったらHID macrosで良いよね と思ったけど
後継だし自分でスクリプト書けるんだし、アドバンテージはあるはずだ。
※ただし俺の使用範囲内で
参考にした(というか使い込むなら必須)のはこちら。
アプリの起動
これはできて当然。
できないなんて言ったら即アンインストールだ。
lmc_spawn()を使用する。
こんな感じ。
lmc_device_set_name("LHKey","21AFEAEF")
lmc_set_handler("LHKey",function(button,direction)
if (direction == 1) then return end
if (button == 103) then
lmc_spawn("C:\\Program Files (x86)\\Notepad++\\notepad++.exe")
return
end
end
)
lmc_set_handler("LHKey",function(button,direction)
if (direction == 1) then return end
if (button == 103) then
lmc_spawn("C:\\Program Files (x86)\\Notepad++\\notepad++.exe")
return
end
end
)
じゃ、次はAutoHotkeyの自作アプリだ。
lmc_spawn("U:\\LuaTest\\test.ahk")
ERROR: Exception in LUA code: Failed to execute : 193
エラーになったw
いや、笑い事じゃないな。使えないと困る。
lmc_spawn("C:\\Program Files\\AutoHotkey\\AutoHotkeyU64.exe", "U:\\LuaTest\\test.ahk")
渋々こうしたら動いた。
もしくは実行ファイル形式にしたら動くとみた。
OK。問題なさそうだ。
スクリプトファイルの切り替え
これは「おおー」となった。
lmc_load()
を使用する。
test1.lua
lmc_device_set_name("LHKey","21AFEAEF")
lmc_set_handler("LHKey",function(button,direction)
if (direction == 1) then return end
if (button == 100) then
lmc_load('U:\\LuaTest\\test2.lua')
return
end
if (button == 103) then
lmc_send_keys("{F23}",50)
return
end
end
)
lmc_set_handler("LHKey",function(button,direction)
if (direction == 1) then return end
if (button == 100) then
lmc_load('U:\\LuaTest\\test2.lua')
return
end
if (button == 103) then
lmc_send_keys("{F23}",50)
return
end
end
)
test2.lua
lmc_device_set_name("LHKey","21AFEAEF")
lmc_set_handler("LHKey",function(button,direction)
if (direction == 1) then return end
if (button == 100) then
lmc_load('U:\\LuaTest\\test1.lua')
return
end
if (button == 103) then
lmc_send_keys("{F24}",50)
return
end
end
)
lmc_set_handler("LHKey",function(button,direction)
if (direction == 1) then return end
if (button == 100) then
lmc_load('U:\\LuaTest\\test1.lua')
return
end
if (button == 103) then
lmc_send_keys("{F24}",50)
return
end
end
)
test.ahk
#SingleInstance force
#NoEnv
#NoEnv
F23::
MsgBox, 1
Return
F24::
MsgBox, 2
Return
テンキーの4を押すと、2つのスクリプトが切り替わる。
テンキーの7を押すとスクリプトごとに呼び出すものが異なって 1 か 2 が表示される。
これができるということは
例えば
0を押してスクリプト切り替えモード →
1~9のキー入力でアプリごとのショートカット設定を呼び出す
なんてことができる。
覚えるの大変そうだけどw
しゃべる
lmc_say()
これ使うと しゃべるw
lmc_device_set_name("LHKey","21AFEAEF")
lmc_set_handler("LHKey",function(button,direction)
if (direction == 1) then return end
if (button == 103) then lmc_say('hoge') end
end
)
lmc_set_handler("LHKey",function(button,direction)
if (direction == 1) then return end
if (button == 103) then lmc_say('hoge') end
end
)
ほげ
まぁAutoHotkeyもしゃべらすことはできるけど。
他にも何かありそうだ。
ちょっと使い込んでみますか(・∀・)