過去に何度も話題にしている左手キーボード。
ワイヤレス テンキーをキーボードの左に置いて、プログラマブル・キーボードとして使うと
やりようによっては効率がかなり上がる。
HidKeySequenceに始まり、
使うとブルスタが落ちるようになったためにHIDMacrosに移行し
HIDMacrosが古い(死んでる)のでLuaMacrosに移行し
今に至る。
LuaMacrosでやりたいことは満たせているんだけど、1つ問題がある。
Bluetooth接続のワイヤレス テンキーなので、放っておくと勝手にスリープに入る。
キーを押せば復帰するけどLuaMacrosは見失うらしく、ただのテンキーになってしまう。
俺の場合はAutoHotkeyが常駐しているので、LuaMacrosを再起動するキーを押せば良い。
良いんだけど、この一手間が気に入らない。
再起動策は負けな気がする(何に
前回調査から3年以上経っているので
何か良い物があるかもしれない。
「LuaMacros 代替」でググってみると、俺の記事が出てきて二度見w
「HKSの代替としてLuaMacros」という記事だけど・・・
その次の記事(というかフォーラム)に惹かれた。
最近になってやたらとRedditのお世話になることが多い気がする。
なんでだろ。
10ヶ月前の古い記事だけど、AutoHotkeyやHIDMacros、LuaMacrosの代替アプリを作ったぜ
という内容だ。
GitHubでソースコードも公開しているので、ヤバいものではないだろう。
多分。
しかしHIDeousって名前はどうなんだ。
「恐ろしい」的な意味じゃなかったっけ?w
ダウンロードして解凍すると
- 実行ファイル
- DLL
- 設定ファイル
しか入っていなかった。
さっそく起動してみると
どこか見覚えのあるような情報
デバイス名があって、識別する文字列的な物。
HKSやHIDMacrosにあったな。
登録したいキーボードのキーを押すと、4列目の「Key」にキーコードと名称が表示される。
で、設定ファイル。
初期状態は全部コメントアウトされているけど、この部分に手を加えて自分仕様にする。
Main_Keyboard=9CC297
[Main_Keyboard]
Numpad0=keys:WIN+F10
Numpad1=text:¯\_(ツ)_/¯
Numpad2=run:C:\apps\something.exe
Numpad3=run:explorer.exe C:\Some\Path
Main_Keyboardの右辺には、先ほど起動したウィンドウでキーを押した時に
表示があった行を右クリック→Copy Device Hashでクリップボードに入るので
その値を貼り付ける。
「Main_Keyboard」という名称は実は何でも良くて、好きに決められる。
ただし、続くセクションMain_Keyboardと同じにしないと動かないので注意。
俺の場合は
LeftHand_Keyboard=XXXXXX
[LeftHand_Keyboard]
・・・
こうした。
複数のデバイスを登録をする時にわかりやすくなる程度のものなのでお好みで。
HIDeousを1回落として再起動すると「User Label」に設定した名称が出るはず。
設定を反映させるには必ず「1回落として再起動」をしないといけない。
自動リロードとかそんな機能は不要だ!という漢らしい仕様。
自分仕様に色々設定した後は頻繁に変更するものでもないので、俺も不要だと思う。
続いてキーの割り当て設定。
なんかワクワクしてきたぞ。
例としてコメントアウトされていた
Numpad1=text:¯\_(ツ)_/¯
Numpad2=run:C:\apps\something.exe
Numpad3=run:explorer.exe C:\Some\Path
を見ると、マニュアルを見なくてもわかるぐらい簡単。
名称(Numpad0とか)は定義されている名称に沿わせる。
大文字小文字は区別してないっぽい。
keys:キーを送る
text:文字列を送る
run:実行する
俺の場合はkeysがメインになるだろう。
ここからAutoHotkeyで定義しているキーを送れば良い。
なんだ。楽勝じゃないか。
・・・が、貫通する。
例えば
と設定してAutoHotkey側でも
MsgBox, Hoge
Return
としてあるとする。
左手キーボードの0を押すと確かにHogeるんだけど、0も突き抜けて出力されてしまう。
テキストエディタで作業していると致命的。
惜しいところまで来てるんだけどな。
なんとかならんのかな。
キーの組み合わせを変えてみたり色々頑張って丸一日。
心が折れかけた。
あ・・・。
こういう事象は"leaks"なのね。
確かにそうだ。
これの最後に答えがあった。
just increase keywait time
GlobalセクションのKeyWaitTimeの値をを大きくしろ と。
デフォルトが30(ミリ秒)なので、100にしてみたけどダメ。
500にすると出ないことがある。
1000にしたら出なくなった。
OK、問題解決だ。
しばらく使って様子見かな。
いったん切れたBluetoothデバイスが再認識された時の動きも気になる。





