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が削除されちゃってるから、そこをどう考えるかだけど、意外と大丈夫なのかな?
コメント