Kazuki.io

プログラミングやITガジェットなどの備忘録だよ。人の役に立てばいいな。

HHKBで数値入力を楽にする方法

こんにちは。

HHKBを使い初めて1年程度が経ちました。
HHKBは打鍵感や打鍵音が素晴らしく、今ではHHKB以外のキーボードは使えない手になってしまいました。

HHKBはとても素晴らしいキーボードですが、使用期間1年を通じてどうしても解決できなかったのが数字入力

テンキーレスのキーボードどれに対しても当てはまるのですが、Esc行のキーからしか入力ができません。

私の力量不足でもありますが、ブランドタッチでこの範囲の入力はどうしてもできませんでした。

f:id:kazukisaito:20211022225312p:plain

 

すこし話題は変わり…

HHKBというキーボードはFnキーを押下したままで入力すると1つのキーで別の動作をさせることができます。
例えばFn+1でF1になったり、Fn+LでPage Upになったり…

「キーボード上のセカンドレイヤーを使用する」という感覚でしょうか。

f:id:kazukisaito:20211022225631p:plain

 

そこで思いついたのが別のレイヤーを更に作り、既存のキー配列上にテンキーを作ってしまえば?と思ったのです。

 

私は日頃からAutoHotkeyというフリーツールを使っています。

www.autohotkey.com

ここでは説明を省きますが、自由にショートカットキーを作ることができるツールです。

私はAutoHotkeyでよく「変換」「無変換」のキー + 何かのキー で動作するショートカットを使っています。この2つのキーは親指で押下しやすいためです。日本語配列のキーボードを選んでいる理由でもあります。

そして今回は

「無変換」+ M = 1

「無変換」+ < = 2

...

「無変換」 + O = 9

 という割当にしました。

 

f:id:kazukisaito:20211022230329p:plain

テンキーっぽい配列になっています。

 

ちなみにAutoHotkeyのスクリプトは以下のように記載しました。

そのままコピペで使えると思います。

;----------------------
;Key Map Number
;----------------------
vk1D & /::Send,0
vk1D & M::Send,1
vk1D & vkBC::Send,2
vk1D & .::Send,3
vk1D & J::Send,4
vk1D & K::Send,5
vk1D & L::Send,6
vk1D & U::Send,7
vk1D & I::Send,8
vk1D & O::Send,9

 

 

個人的にはこれが私の最適解なのですが、実はまだ課題があります。

  • 0入力の位置。
  • ホームポジションでないと入力できない
  • AutoHotkeyが必要。

HHKBにはキーマップツールがあり、キーマップを変更することができます。よって

Fn + M = 1とすることも可能ですが、会社ではHHKB Professional JPを使っているため、このキーマップツールが使えないためにAutoHotkeyとの組み合わせとしました。

 

片手で入力できるようにしたいのならば無変換キーではなく、変換キーを使用してもよいかもしれませんね。(私は変換キー+JKLIで方向キーを割り当てています)

f:id:kazukisaito:20211022231444p:plain

 

以上