テンキーの「0」を修飾キー化して、"00"や"000"を使えるようにする

ピコーン

元ネタとして誠 Biz.IDの3分LifeHackingに「テンキーの「.」を「000」に置き替えて業務用電卓並みに数字の入力効率を上げる」という記事があって、それを読んで閃きました。


昨日のツイートではそれに引っ張られて、「.(ドット)」キーを修飾キーにしてと言ったんですが、試してみると押しにくいのでキーが広めの「0」に変わりました。


AHKに関して私は素人に毛が生えたぐらいの理解度なんで、分かってる人、自分で調べることが出来る人だけ使ってください。
風邪が治ってないので手抜き。
Windows 7 標準添付のメモ帳と電卓でのみテスト。

Numpad0::               Send, 0
Numpad0 & Numpad1::     Send, 0
Numpad0 & Numpad2::     Send, 00
Numpad0 & Numpad3::     Send, 000
Numpad0 & Numpad4::     Send, 0000
Numpad0 & Numpad5::     Send, 00000
Numpad0 & Numpad6::     Send, 000000
Numpad0 & Numpad7::     Send, 0000000
Numpad0 & Numpad8::     Send, 00000000
Numpad0 & Numpad9::     Send, 000000000
Numpad0 & NumpadDot::   Send `,

「0」を押したまま数字キーを押すとそれぞれ"0"を数字の数だけ入力されます。
また、「0」を押したまま「.」キーで",(カンマ)"が入力されます。
一般的に桁区切りは3桁ずつカンマ入力していくので、「3」と「.」の物理的距離も近いし何気に良いかもしれません。*1
難点としましては、「0」キー単独で使う場合にはキーが上がった時に"0"が入力されるので、押しっぱなしによる連続入力が出来なくなることくらいですかね。
まぁ、「0」キー +「1」キーを押しっぱなしにすれば良いだけなんですがねw


上のには書いてませんが、当然テンキー部分の他のキーも変更可能です。

「+」 NumpadAdd
「-」 NumpadSub
「*」 NumpadMult
「/」 NumpadDiv
「Enter」 NumpadEnter

例えば、以下のように書いたり出来ます。

Numpad0 & NumpadAdd::   Send, http://b.hatena.ne.jp/entry/
Numpad0 & NumpadSub::   Send, Hatena`:`:Diary
Numpad0 & NumpadMult::  Run, notepad
Numpad0 & NumpadDiv::   Run, calc
Numpad0 & NumpadEnter:: Run, http://www.sleipnirstart.com/

日本語を自動入力したい場合とかは ime.ahk を拾って来て、ファイルの先頭でインクルードしてキーストロークが入力される前にIMEをオンにしてとかやると行けるはず。*2


また、「NumLock」キーを常にオンにしていたい場合は
ファイルの先頭の方(ホットキーの入力部分より前)に以下の行を書き加えてください。

SetNumlockState, AlwaysOn

AutoHotkeyとテンキーといえば

AHK製のソフトで DressKey ってのが中々面白いです。
基本的にはNumLockオフの状態のテンキーにショートカットを割り当てるソフトです。
元々CGソフト向け(片手にペン、もう片方にテンキー)に作られたソフトですが、CGソフト以外でも使えます。*3

*1:歴史的に日本は万・億・兆(ryの単位に併せて4桁区切りが多かったが、欧米に併せた。こちらのページの追記部分を読むと桁区切りは空白で行うのが望ましいらしいですが……

*2:変数に元のIMEの状態保存しておいて、キーストローク入力終了後に元のIMEの状態に戻す必要もあるかな

*3:例えばデフォルトでGOM Playerの設定も入っている。個人的には微妙な設定だと思うけどw