AutoHotKey
自分独自のショートカットキーを作れるフリーソフト(DLリンク)
#絶対入れるべきソフト
例えば…
Caps Lock + J, K, L, I で矢印キーの動作
Caps Lock + U, O でBack Space、Deleteの動作
エクスプローラーでCtrl + Spaceを押すと、押した場所をカレントディレクトリとしてGit-Bashを実行
などなど、これまで以上使いやすくなる!
Change Keyと一緒に使うことで化ける!
/icons/hr.icon
新規スクリプトの作り方
普通にエクスプローラーで右クリック --> 新規作成 --> AutoHotKey Scriptを選択すればOK
/icons/hr.icon
Change KeyでCaps LockをF13に変更すると
Caps Lock + J, K, L, I 矢印キー(左、下、右、上)
Caps Lock + U, O Back SpaceとDelete
左手用に、
Caps Lock + A, S, D, W 矢印キー(左、下、右、上)
Caps Lock + Q, E Back SpaceとDelete
コードはこれ↓(参考元:ホームポジションをキープするAutoHotkey(v2)設定)
code:keyBindv2.ahk
;多重起動不可
#SingleInstance Force
;プロセス優先度
ProcessSetPriority("Realtime")
F13 & d::Right
F13 & a::Left
F13 & w::Up
F13 & s::Down
F13 & q::Backspace
F13 & e::Delete
F13 & l::Right
F13 & j::Left
F13 & i::Up
F13 & k::Down
F13 & u::Backspace
F13 & o::Delete
F13 & Space::Enter
下記コードはv1.*以下でのみ有効
code:keyBind.ahk
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
F13 & d::Send, {Blind}{right}
F13 & a::Send, {Blind}{left}
F13 & w::Send, {Blind}{up}
F13 & s::Send, {Blind}{down}
F13 & q:: Send {Backspace}
F13 & e:: Send {Delete}
F13 & l::Send, {Blind}{right}
F13 & j::Send, {Blind}{left}
F13 & i::Send, {Blind}{up}
F13 & k::Send, {Blind}{down}
F13 & Space:: Send {Enter}
F13 & u:: Send {Backspace}
F13 & o:: Send {Delete}
/icons/hr.icon
エクスプローラーでCtrl + Spaceを押すと、押した場所をカレントディレクトリとしてGit Bashを実行(参考元)
※このスクリプトはv1.*でのみ動く(=v2.*では動かない)
code:Git-BashShortcutKey.ahk
#NoEnv ; 環境変数を使用しない(推奨テンプレート的なコード)
SendMode Input ; 再生中に予期せぬウィンドウが現われて動作が妨げられるのを防ぐ(推奨テンプレート的なコード)
SetWorkingDir %A_ScriptDir% ; スクリプトの作業ディレクトリをスクリプト自身が存在するディレクトリに設定(推奨テンプレート的なコード)
SetBatchLines, -1 ; スクリプトを一時停止無しにして最大速度で実行
#NoTrayIcon ; タスクトレイにアイコンを表示しない
SetTitleMatchMode RegEx ; ウィンドウのタイトルを指定する際に正規表現を使用することを許可
return
#IfWinActive ahk_class ExploreWClass|CabinetWClass ; Windows Explorerがアクティブなときにのみ次のホットキーが有効になるようにする
^Space:: ; Ctrl+Spaceで次の関数が呼び出される
OpenGbHere() ; OpenGbHereという名前の関数を呼び出し
return ; ホットキーの処理を終了
#IfWinActive ; #IfWinActiveディレクティブを終了
GetActiveExplorerTab(hwnd:="") ; "GetActiveExplorerTab"という関数を定義。引数はウィンドウハンドル"hwnd"で、デフォルト値は空文字列
{
static IID_IShellBrowser := "{000214E2-0000-0000-C000-000000000046}" ; "IID_IShellBrowser"という静的変数を定義し、その値を"{000214E2-0000-0000-C000-000000000046}"に設定。{000...}はシェルブラウザのインターフェース識別子
activeTab := 0, hwnd := hwnd ? hwnd : WinExist("A") ; "activeTab"という変数を0に初期化し、"hwnd"が指定されていない場合は現在アクティブなウィンドウのハンドルを取得
try
ControlGet, activeTab, Hwnd,, ShellTabWindowClass1, ahk_id %hwnd% ; アクティブなタブのウィンドウハンドルを取得
catch
try
ControlGet, activeTab, Hwnd,, TabWindowClass1, ahk_id %hwnd% ; アクティブなタブのウィンドウハンドルを取得
for w in ComObjCreate("Shell.Application").Windows { ; シェルアプリケーションのすべてのウィンドウをループ
if (w.hwnd != hwnd) ; ウィンドウのハンドルがアクティブなウィンドウハンドルと一致しない場合はスキップ
continue
if (activeTab) { ; アクティブなタブがある場合、true
shellBrowser := ComObjQuery(w, IID_IShellBrowser, IID_IShellBrowser) ; シェルブラウザのインターフェースを取得
DllCall(NumGet(NumGet(shellBrowser+0), 3*A_PtrSize), "UPtr",shellBrowser, "UIntP",thisTab:=0) ; 現在のタブを取得
if (thisTab != activeTab) ; 現在のタブがアクティブなタブと一致しない場合はスキップ
continue
}
return w ; 正しいタブを見つけたら、そのウィンドウを返す
}
}
OpenGbHere()
{
tab := GetActiveExplorerTab() ; 現在アクティブなエクスプローラータブを取得
switch ComObjType(tab.Document, "Class") ; 現在のタブの種類に基づいて異なるアクションを実行
{
case "ShellFolderView": ; 現在のタブが通常のフォルダを表示している場合のアクションを定義
full_path := tab.Document.Folder.Self.Path ; 現在のフォルダのフルパスを取得
StringReplace, full_path, full_path, r, , all ; 念のため - すべてのキャリッジリターン (r) を削除
IfInString full_path, \ ; フルパスがバックスラッシュを含むかどうかをチェック
{
Run, C:\Program Files\Git\git-bash.exe, %full_path% ; フルパスがバックスラッシュを含む場合、そのパスでGit bashを開く
}
else
{
Run, C:\Program Files\Git\git-bash.exe --cd-to-home ; フルパスがバックスラッシュを含まない場合、ホームディレクトリでGit bashを開く
}
default: ;case "HTMLDocument": ; 現在のタブがHTMLドキュメント(Webページなど)を表示している場合のアクション
Run, C:\Program Files\Git\git-bash.exe --cd-to-home ; ホームディレクトリでGit bashを開く
}
}
/icons/hr.icon
Rapture起動ショートカット設定
普段使わない∧間違えて押すと長いロードの末ヘルプが開くF1キーをRaptureの起動ショートカットに置き換える
既にRaptureを使っている場合、
設定ファイル(rapture.ini)をこのahkファイルと同じディレクトリに入れる事!!
設定ファイルさえあればこれまでと同じように起動する
但し多重起動のみ防げない
多重起動した場合、Escを押すと最後に起動したものから終了する
code:F1bootRapture.ahk;多重起動不可
#SingleInstance ignore
;カレントディレクトリをRaptureのディレクトリに移動
SetWorkingDir "C:\Software\rapture-2.4.1"
;F1でRaptureを起動する
F1::Run "C:\Software\rapture-2.4.1\rapture.exe"
AutoHotkeyで3キー同時押し | 晴耕雨読
#pc_config
プログラミング言語としての AutoHotKey - 檜山正幸のキマイラ飼育記 (はてなBlog)
#ブックマーク