Skip to content

増井俊之先生のDynamic MacroのAuto Hot Key 実装。

Notifications You must be signed in to change notification settings

forestail/DynamicMacroAHK

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 

Repository files navigation

DynamicMacroAHK

増井俊之氏のDynamic MacroのAutoHotKey実装です。
オリジナルはEmacs上で動作するマクロですが、AutoHotKeyで実装することにより、Windows上の全てのエディタ、アプリケーションで手軽にDynamic Macroを利用できます。

参考:http://www.pitecan.com/DynamicMacro/

紹介記事:https://forestail.com/programing/dynamic-macro-autohotkey/

使い方

必要なもの

※ AutoHotKeyのKeyHistoryを利用しているため、現状スクリプトをコンパイルした状態で使うことはできません。

起動と使い方

  • DynamicMacro.ahkをダブルクリックして実行します。
  • 下記設定のInvokeHotKeyで割り当てたホットキー(デフォルトはCtrl+T)を入力すると、その時点までのキー操作から繰り返しを見つけてそれをマクロ実行します。
  • 繰り返しが見つからない場合は、キー操作を予測した上で繰り返しになるものを探します。
    • まずキー操作から\mathbf{X}\mathbf{Y}\mathbf{X}を探し、\mathbf{Y}を予測して補完します。
    • 以降続けてホットキーが入力されると\mathbf{X}\mathbf{Y}をマクロ実行します。
  • 下記設定のResetHotKeyで割り当てたホットキー(デフォルトはESC)を入力すると、これまでのキー入力履歴をクリアし、保持している繰り返しキー入力も削除します。

設定

ホットキーの指定

DynamicMacro.iniの以下の部分でホットキーを設定してください。それぞれのコマンドの意味は下記の通りです。

InvokeHotKey=^t
PredictHotKey=^y
ResetHotKey=~esc
PrevRepeatHotKey=^F9
PrevPredictHotKey=^F10
# コマンド デフォルトHK 機能概要
1 InvokeHotKey ^t 繰り返しまたは予測を自動判定して実行
2 PredictHotKey ^y 予測モードを指定して実行
3 ResetHotKey ~esc キー履歴をクリア
4 PrevRepeatHotKey ^F9 前回の繰り返しキー操作を再実行
5 PrevPredictHotKey ^F10 前回#1を実行した時点での予測モード再実行

※#3は能動的にキー履歴をクリアするもので、このDynamicMacroが特定のエディタではなくOS全体で機能する点を考慮して実装したものです。

※#4は繰り返し実行後、別のキー操作をしていたとしても、実行すると前回繰り返し入力したキー操作を再度実行します。

※#5は#1を実行したときに予測モードを期待したのに繰り返し実行されてしまった場合に、その時点までCtrl+ZなどでUndoして、予測モードでやり直すコマンドです。

ログ機能

利用状況を分析するために、ログ出力機能を付けています。
ログを出力するには、DynamicMacro.iniの以下の部分を設定してください。

EnableLog=0
LogPath=DMlog.txt

EnableLogを1にすると、LogPathのファイルにログを出力します。ログファイルは絶対パスか相対パスで指定してください。相対パスの場合はDynamicMacro.ahkが存在するディレクトリを起点にします。

ログはCSV形式で、それぞれのカラムの意味は以下です。

カラム 意味
第1カラム 時刻 2021/07/17 01:01:01
第2カラム 実行タイプ Reset or Repeat or Predict
第3カラム 挿入したキー(Predictの場合はXYXのY)のタイプ数 3
第4カラム Predictの場合のXYXのXのキータイプ数 2

動作している様子

  • Windows標準のメモ帳

DynamicMacroAHK

  • Excel

DynamicMacroAHK_Excel

  • ファイルリネーム

DynamicMacroAHK_File

About

増井俊之先生のDynamic MacroのAuto Hot Key 実装。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published