AutoHotkeyの使い方 インストール & テンキーレスキーボード用テンキー

Application

AutoHotkey

AutoHotkeyはキーマップ(配置)の入れ替え、ショートカットキーの設定、スクリプトによる自動化などをするためのアプリケーションです。

AutoHotkeyはオリジナルの「AutoHotkey」と派生版の「AutoHotkey_L」の2種類があり、現在はAutoHotkeyというと「AutoHotkey_L」のことを指すことが多いようです。
オリジナル版は「AutoHotkey Basic」や「AutoHotkey Classic」等で表記されていることもあります。

バージョンはAutoHotkey_Lがv1.1.28.02 (2018/4/7)、Basicがv 1.0.48.05(2009/9/25)となっています。

ダウンロード

AutoHotkey_L (Unicode・64bit)

公式サイト Github

AutoHotkey basic (AutoScriptWriter II を使いたい場合)

AutoHotkey インストーラー版 - Github

AutoHotkey104805.zip - SourceForge.net

インストール

インストーラーを起動すると下の画面が出ます。
Express Installationを選択するとそのままインストール完了になります。
コンテキストメニューにAutoHotKeyを追加したい場合はCustom Installationを選択します。

 

(中略)

 

1番目と3番目はチェックが入ったままにして、2つめは非推奨っぽいことが書いてあるので不安ならチェックを外します。4つめの[Run with UI Access]はヘルプファイルによると「UAC関連の問題の回避策を提供」とあるので、通常はチェックなし(デフォルトのまま)でインストールすればよいと思います。

 

インストールが終わったらPCを再起動し、スクリプトファイルを保存するフォルダーを適当な場所(ex. C:\Users\Username\AutoHotKey)に作って開き、右クリックから新規作成 > AutoHotkey Script を実行するとスクリプトを書くファイル(.ahk)が作成されます。

テンキーレスキーボード用テンキー

テンキーの無いノートPCで使われているNum Lock(Numeric Lock)でキーボードの一部をテンキーとして使うパターン。

私はデスクトップでもテンキーレスのキーボードを使っているので作ってみました。
手持ちのThinkPadもNum Lockが無いので同じように使えます。

無変換Mで0、無変換jで1というように設定。

 

;テンキー
vk1Dsc07B & m:: Send,{0} ;無変換+m
vk1Dsc07B & j:: Send,{1}
vk1Dsc07B & k:: Send,{2}
vk1Dsc07B & l:: Send,{3}
vk1Dsc07B & u:: Send,{4}
vk1Dsc07B & i:: Send,{5}
vk1Dsc07B & o:: Send,{6}
vk1Dsc07B & /:: Send,{+}
vk1Dsc07B & vkBBsc027:: Send,{-} ;(; セミコロン)
vk1Dsc07B & vkBAsc028:: Send,{tab} ;(: コロン) 
vk1Dsc07B & p:: Send,{*}
vk1Dsc07B & @:: Send,{Enter}
vk1Dsc07B & 0:: Send,{/}

※AutoHotkey 1.1.27.00 以降はvk1Dsc07B → vk1D のようにsc***の部分を削除してください

※日本語IMEでIMEのON/OFFを変換・無変換キーに割り当てている場合、動作しなくなるので、それもAutoHotkeyで行うようにします。

AutoHotkey単体では半角/全角キーの割り当てはできますが、ONとOFFを単独で使うことができないっぽいのでIME.ahkという関数を使います。

eamat @Cabinet - 本家日本語版
仮倉庫 AutoHotkey 日本語リファレンス chmヘルプ版 (AutoHotkeyJP.chm) AutoHotkeyを流行らせるページの解説ページを.chmに固めたものです。 2009.07....

「IMEの状態の取得」と「IMEの状態をセット」部分をコピペしてもいいですし、同じディレクトリにIME.ahkを置いてInclude文を書いておくとファイルを読み込みます。

 

#Include, IME.ahk

;IMEのON/OFF
vk1Csc079::IME_SET(1)
return
vk1Dsc07B::IME_SET(0)
return

 

コメント