G13(左手デバイス)で「押下しているときだけGキーが効く」ようにする

https://github.com/dif-engine/memo/blob/master/G13/script.lua

G13というロジクール製の左手デバイスがあります.(現在は廃盤ですが「Logicoolゲームソフトウェア」でサポートされています).このデバイスは,挙動をLuaスクリプトで制御できます.今回は「Gキーを押している間だけ有効にする」というのをやってみました.(上のコードです).

グラフィックソフトにおいてスペースバーに「手のひらツール」が割り当てられていることがあります.多くの場合,スペースバーを押し下げている間だけこのツールが有効になり,手を離すと直前に使っていたツールに遷移します.

以前のロジクール製G13ドライバにはこのような挙動をさせるための機能があったのですが,Windows10になってから削除されてしまいました.そこでこのような挙動をさせるためのLuaスクリプトを書いてみました.

上に貼った github のコードの「GtoKeys」という関数を好みに合わせて編集して使ってください.
例えば「G1」を押すと「ABC」キーが押されるようにしたければ g[1] の箇所を
g[1] = {"a","b","c"};
とすれば良いです.「G2」を押すと「Shift+B」が押されるようにしたければ g[2] の箇所を
g[2] = {"lshift", "b"};
とすれば良いです.一文字だけ割り当てる場合には
g[4] = "d";
のようにします.

G13(というデバイス)にはG1~G22の合計22個のGキーが並んでいますが,実はジョイスティック部分なども(内部的に)Gキーとして扱われます.スクリプトを書く際の参考にしてください.
pic