続・プチ効率化!AutoHotKeyでテンキー入力をしてみよう

お塩です

連日猛暑で干上がりそうです。皆さんも体調には気を付けてください。


前回の記事で、プチ効率化としてAutoHotKeyを使用して特定のキー入力を別のキーに割り当てて、adobe XD等のアプリケーション内で使用するショートカットの置き換えを行いました。

今回も似たようなもので、普段あまり使用しない無変換キーをトリガーとして、テンキーの無いキーボードでもテンキーのような配置で入力ができるよう設定を行ってみました。

というのも、社用ノートPCや、普段使用しているキーボードにはテンキーが存在していないため、エクセルで数字周りの入力を行う際、テンキーが恋しくなる場面が度々あり、これを解決する方法として前回使用したAutoHotKeyでの設定を試してみた次第です。

というわけで今回もプチ効率化のためのAutoHotKeyの設定を紹介します。
※AutoHotKeyの導入については前回の記事を参照してください。

AutoHotKeyによるテンキー入力のメリット

別にテンキーじゃなくても数字入力できるしよくね?みたいな部分もあるかと思いますが、気になってしまったものはしょうがないのでどうにかしていきます。

まずテンキー入力するメリットって何?という話ですが、

これは主に電卓の操作や、表計算を始めとする数字の連続入力する際に有効です。

非テンキーの場合、

  • 横並びの配置であるため、指の移動距離が長くなりがちで、入力が手間(主に4~7付近)
  • 電卓のように数字入力を片手で網羅することができない
  • 全角モードから半角数字を入力したい場合、事前に入力モードの切り替えを行うか、または入力後に変換が必要

といった問題があります。

これらはテンキーを使用することで解消することができますが、ノートPCの多くはそもそもテンキーがついていないものも多く、別途外付けのテンキーが必要になる場合があります。

今回行うキー入力の置き換えは、無変換キーの入力を挟む必要はありますが、

  • 直接半角数字の入力を行うこと
  • 片手で数字入力を網羅すること
  • ノートPCなどのテンキーが存在しないデバイスでもテンキー入力が可能
  • ホームポジションから手を動かす必要がない

…等、私が不便に思っている部分の多くを解消することができます。

使用するキーと配置

続いて今回設定を行うキーを赤字で表記しました。

今回は0~9までの数字を対象に置き換えを行っていきます。
ピリオド等の数字以外のキーについては、元々のキー配置が右手ホームポジション付近に揃っているため、対象外とします。

その他のキーも同様に設定に加えたい場合は 、Wikiに記載がありますので、こちらを参照してください 。
今回使用する無変換(vk1D)など、一部キーについては固有のコードでの設定が必要となります。
※最新バージョンではスキャンコードの記述は不要となっているようです。

私はできるだけホームポジションから両手を移動したくないので、ホームポジション付近にテンキーの配列を当て込んでテンキー入力を行えるようにしてみました。

設定ファイルについて

では実際にスクリプトに記述する内容について触れていきます。

AutoHotKeyのスクリプトでは、特定のアプリケーションがアクティブである場合にのみ有効にする設定を行うことが可能ですが、今回はアプリケーション内外問わず有効にしたいため、アプリケーションの指定は行いません。
アプリケーション指定の範囲外に記述することで常時有効にすることができます。
※アプリケーションの指定については前回の記事を参照してください

また、通常の1~9を入力する場合、入力モードによって全角半角が揺れてしまいますが、unicodeの文字コードを入力することで半角数字のみを入力することが可能なようです。
私は半角数字のみ利用することが多いため、今回はunicodeの文字コードを使用します。
参考:https://www.naporitansushi.com/ahk-numbers-always-half-width/

キー設定については今回は下記の形式で記述しています。

; セミコロンの後の記述はコメントアウトされます
起動トリガーのキー & 同時押し対象のキー::
Send, 変換後のキー
return

上記ルールで記述したコードが下記となります。

; 無変換でテンキー入力————————-

; 無変換キー vk1D
; 変換キー vk1C
; SHIFT +
; Ctrl ^
; Alt !
; ;(セミコロン)vkBB
; :(コロン) vkBA
; ,(カンマ) vkBC
; .(ピリオド) vkBE
; Space vk20

; 無変換+変換で0
vk1D & vk1C::
Send, {U+0030}
return

; 無変換+Mで1
vk1D & m::
Send, {U+0031}
return

; 無変換+カンマで2
vk1D & vkBC::
Send, {U+0032}
return

; 無変換+ピリオドで3
vk1D & .::
Send, {U+0033}
return

; 無変換+Jで4
vk1D & J::
Send, {U+0034}
return

; 無変換+Kで5
vk1D & K::
Send, {U+0035}
return

; 無変換+Lで6
vk1D & L::
Send, {U+0036}
return

; 無変換+Uで7
vk1D & U::
Send, {U+0037}
return

; 無変換+Iで8
vk1D & I::
Send, {U+0038}
return

; 無変換+Oで9
vk1D & O::
Send, {U+0039}
return

設定の記述が完了したらファイルを保存し、ahkファイルを実行(Run script)することでAutoHotKeyを有効にすることができます。

AutoHotKey実行中の状態で無変換キーを入力しながら置き換え対象のキーを入力してみると

テンキーのように1~9の数字を入力することができました。
※変換キー(0)は通常時の可視化ができないため除外しています

おわりに

今回はテンキーが存在しないキーボードでもテンキー入力を行うことができるようにする設定を紹介しました。

細々とした内容ですが、プチ効率化も塵が積もればということで何卒。

ちなみに今回使用した変換キー/無変換キーについても、カタカナ一発変換や変換確定後の再変換として使用する便利なキーですので、こちらもぜひ一度利用してみてください。
普段使いしている方は別のキーをトリガーに設定するなど、自分好みのキーに設定してみてください。(capslockキーとか…?)

ではまた