外付けのテンキーが押し入れから出てきたので、LuaMacrosを使って
ボタンひと押しでバッチを実行できるように遊んでみた。
エセプログラマブルキーボードですね。
で、設定で思いの外ハマったのでメモを残しておきます。
※例によってこの記事を真似して何が起ころうと、私は責任を取りません。
解説は省いて、LuaMacrosに書いたコードを置いておきます。
----------------------------------------------------------------------------------------
-- 最小化時にタスクトレイに隠す
lmc.minimizeToTray = true
-- 最小化
lmc_minimize()
-- キーボードに名前を割り当て
lmc_device_set_name("extnumpad", "11X1111X")
-- キー割り当て
lmc_set_handler("extnumpad", function(button, direction)
if (direction == 1) then return end
-- 0
if (button == 96) then
lmc_send_keys("#(c)")
-- 1
elseif (button == 97) then
lmc_spawn("C:\\test\\pdf.bat")
-- 2
elseif (button == 98) then
lmc_spawn("C:\\test\\jpghiraku.bat")
-- 3
elseif (button == 99) then
lmc_send_keys("#(d)")
-- 4
elseif (button == 100) then
lmc_spawn("C:\\test\\gamenlock.bat")
end
end)
----------------------------------------------------------------------------------------
ちなみになんですが、私は以下がわからなくてハマりました。
・バッチや実行ファイルを指定するときは「lmc_spawn」を使う
・lmc_spawnの引数で「\」を使うときは「\\」でエスケープ
・「-- 」始まりでコメントアウト
その他ハマった点。
・Windows+Lの画面ロックがなぜかできない。
→試しにsendkeysしようとしたのがこれでハマった。
コマンドを書いたバッチをキックする方法で回避。
どの道自室のパソコンなので使うことはないけど…。
・ショートカットに割り当てたショートカットキーをキックするとなんか遅い
→Windowsの仕様らしい。
Windows10のショートカットキーが重い件(Superfetch)
SuperfetchとかSysMainを落としても変わらなかったので
ファイルを開くバッチをキックする方法に逃げました。
・「00」を押すと「0」を2回押したことになる
→テンキーはハード的にそうなっているそうで、調べたけど対処法は不明。
諦めました。一番下段の「0」「00」「・」の並びのキーを使いたかったけど
まぁいいか…。。
・IMEオン(全角入力)のときにテンキーを押すと、ショートカットは効くが
数字が入力されてしまう
→Google 日本語入力のプロパティで「テンキーからの入力」を
「直接入力」にすることで回避。IMEだとできないかも?
あとは以下のような感じのショートカットを作ってスタートアップに
入れて自動起動。いい感じです。
リンク先を
0 件のコメント:
コメントを投稿