G600+AHKが最高だった

AutoHotKey

NiZ84キーというフルプログラマブルキーボード買ったんだけど、

Fnキー押した時、
1 2 3
q w e
a s d
z x c
が、テンキーになるように設定したらマジ便利だった。
右端にいる、EndキーにFnキーを割り当てておくと、マウスから親指を伸ばすだけで、左手でテンキーを使えるようになる。
近くのキーに=など、EXCELでよく使うキーを割り当て、SpaceキーにEnterを割り当てたら、文字列を打つ以外ほとんどマウスから手を離さなくなった。

ここでもし、キーボードのレイヤー切り替えボタンがマウスにあれば、親指を伸ばすという手間すら無くなる。
というわけで、マウスにF13キーを割り当てて、AutoHotkey(AHK)でF13キーと同時押ししたらテンキーになるようにしてみた。

私は、G600というロジクールの多ボタンマウスを使っているのだが、Logicoolゲームソフトウェアで、新しいコマンドを割り当てる→キーストロークからF13を入力してみたらあっさりと認識された。

F13~F24キーは、Fスクリーンキーボードというソフトを使うと簡単に入力できる。(画面を何回か右クリックすると、F13~F24キーが表示されるようになる。)

後は、AHKに以下のような感じで定義してやると、マウスでキーボードのレイヤー切り替えのように動くようになった。

F13 & z::Send {Numpad0}
F13 & x::Send {Numpad0}{Numpad0}
F13 & c::.
F13 & a::Send {Numpad1}
F13 & s::Send {Numpad2}
F13 & d::Send {Numpad3}
F13 & q::Send {Numpad4}
F13 & w::Send {Numpad5}
F13 & e::Send {Numpad6}
F13 & 1::Send {Numpad7}
F13 & 2::Send {Numpad8}
F13 & 3::Send {Numpad9}

G600は、標準状態だと中ボタンを右左に倒すと、進む、戻るになってるのだが、中クリックをする際、間違えて進や戻るを行ってしまうことがあったので、このスイッチを切っていた。
今回は、ここにF13とF14をそれぞれ割り当て、AutoHotkeyでキーの切り替えを行うようにした。

 

NiZ84キーから、F13~F24を出せるようにしたい。

単純には、NiZからF13~F24キーは出せない。

F13とかも、英字キーボードに無いキーなので、対応してないらしい。

というわけで、ChangeKeyを使って、Windowsのキーマップを書き換えて対応させてやることにした。

どのキーをF13などに割り当てるかだが、英字キーボードにも在って全く使わないキーに対して、割り当てることになる。

代表的なものは、CapsLockがあるんだけど、基本的にこのキーはCtrlキーとして使いたい。NiZならキーボードのCapsLockに直接Ctrlを割り当てておけば、Windowsに対してCapsLockが飛ぶことはないから問題ないんだが、他のキーボードを使うときも、このキーはCtrlキーとして使いたいので、Windows側でCtrlに書き換えてしまうため使えない。

次の候補はPauseキーだが、私は、日本語環境だとNiZが出せない「_」を出すのに使ってる。どうしようかと悩んだのだが、そういえば、Alt、Ctrl、Shift、WinキーはL,Rでスキャンコードが違ってたと思いだした。その中でも、RWinキーは、キーボードによっては省かれてるぐらい使わないキーなので、今回は、こいつに割り当ててやることにした。

これで、うまくFキーが出力できるようになったので、AutoHotKeyでのバインドがしやすくなった。

更に足りなくなったら、RAltとかApplicationキーなんかもFキーに置き換えてようと思う。

 

2021/11/05追記

最初は、F13をFnキー代わりに使ってたんだけど、無変換と変換キーを割り当てることにした。

AHKだと、無変換+何かのキーって設定すると、AHKのキーバインドを使ったら無変換は送信されないし、無変換単体を押したら、単純に無変換キーが送信されるだけだった。無変換キー組み合わせキーとして使うと、ノートPCなど含め、あらゆる日本語キーボードが、プログラマブルキーボードとして使える。

そして、無変換と変換キーってすごく押しやすい位置にあるから、組み合わせキーの使い勝手も最高だった。

NiZはUS配列だから、無変換キーと変換キーが無いんで微妙にめんどくさい。

こう考えると、小型の静電容量式は、HHKBの日本語を選ぶのが最高かもしれない。

まあ、F1~F12が削除されちゃってるから、そこをどう考えるかだけど、意外と大丈夫なのかな?

コメント

PAGE TOP
Ads Block Detector Powered by codehelppro.com
Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

タイトルとURLをコピーしました