Unplug Your Mouse Workflow Automation with A uto H ot K ey
description
Transcript of Unplug Your Mouse Workflow Automation with A uto H ot K ey
Unplug Your MouseWorkflow Automation
with AutoHotKey
Andrew WeidnerRobert Wilson
Mice make simple things easyand complex things impossible.
Mice make simple things easyand complex things impossible.
Mice are useful and fun, but they tend toslow down repetitive file management tasks.
Do things faster with your keyboard.
Keyboard Optimization: why type fifty-two keys when you can do the same thing with two?
(Ctrl + 4)
Overview
• Keyboard Shortcuts• AutoHotkey Scripts• Tools & References• Demonstration
Keyboard Shortcuts
Windows Explorer
Tab = cycle fields (add Shift to reverse)Alt + Tab = application switcherEnter = open selected file/folderBackspace = return to parent folderAlt + F + M = rename selected file/folder (also F2)Alt + F + W + F = create a new folderHome/End = go to first/last file
Keyboard Shortcuts
ACDSee Viewer
Page Down = next imagePage Up = previous image(NumPad) * = fit image to window(NumPad) + = zoom in(NumPad) - = zoom outArrow Keys = move around the imageHome/End = go to first/last image
Keyboard Shortcuts
Mozilla Firefox
Ctrl + T = open new tabCtrl + Tab = cycle tabs (add Shift to reverse)Alt + Left = go to previous page (also Backspace)Ctrl + L = focus on address barTab = cycle links (add Shift to reverse)Arrow Keys = scroll through the pageCtrl + B = show/hide bookmarks sidebar
AutoHotkey Scripts
Simple: another Enter key
; plain text file with .AHK extension; comments begin with a semicolon
; define the hotkey: Alt + a!a::; define the actionSend, {Enter}
AutoHotkey Scripts
Simple: type some text
; hotkey: Ctrl + 1^1::
; use the ` symbol before a literal comma; `n inserts a new line, `t inserts a tabSend, Sincerely`,`n`t
AutoHotkey Scripts
Complex: create a folder
; hotkey: Win + k#k::Send, {AltDown}f{AltUp}Sleep, 200Send, wSleep, 200Send, f
AutoHotkey Scripts
Complex: rename a file
; hotkey: Ctrl + Alt + r^!r::Send, {F2}Sleep, 200Send, {Home}Sleep, 200Send, 2013
AutoHotkey Scripts
Complex: paste a file in multiple folders
Pause::Pause ; pause script with the Pause key!v::Send, {CtrlDown}v{CtrlUp}sleep, 400Loop {
Send, {Backspace}Sleep, 1400Send, {Down}Sleep, 400Send, {Enter}Sleep, 800Send, {CtrlDown}v{CtrlUp}Sleep, 400}
AutoHotkey Scripts
Complex: open with Photoshop
NumpadDot & NumpadEnter::ClipMem = %Clipboard% ; save current clipboard valueclipboard = Send, ^c ; copy the file nameClipWait; insert the file name at the end of the Photoshop Run commandRun, C:\Program Files\Adobe\Adobe Photoshop CS5 (64 Bit)\Photoshop.exe %clipboard%clipboard = %ClipMem% ; restore the original clipboard valueReturn
AutoHotkey Scripts
Application: ETD_Metadata
Finds keywords in author-provided metadataand enters them in an XML file.
ETD Metadata: Part 1
#Home::DefinedAddress = DefinedKeywords = KeywordMeta = Clipboard =SendInput, {F4}{ControlDown}a{ControlUp}sleep, 200Send ^cClipWaitSleep, 100DefinedAddress = %clipboard%
SetWorkingDir, %DefinedAddress%Run, Wordpad.exe index.docxWinWaitActive, index
Open author-provided metadata
Declare blank variables for future use
Copy file path
Assign file path to variable
Open index.docx file in Wordpad
ETD Metadata: Part 2
Keywords:Sleep, 100clipboard = SendInput, {CtrlDown}f{CtrlUp}WinWaitActive, FindSleep, 100SendInput, KeywordsSleep, 100SendInput, {Enter}{Esc}Sleep, 100SendInput, {Tab}Send ^cClipWaitDefinedKeywords = %clipboard%
Function title
Open Find dialog
Type ‘Keywords’
Copy text Store text in variable for later use
Find Keywords
ETD Metadata: Part 3
/* Comma + space occurrences in DefinedKeywords variable are replacedwith Tab so keywords are sent to appropriate fields later */StringReplace, DefinedKeywords, DefinedKeywords, `,%A_Space%, %a_tab%, all
; create window for keyword input, separated into individual variablesKeywordWindow: Gui, 30:+AlwaysOnTop Gui, 30:Add, Text, x6 y6 w100, Keyword1: Gui, 30:Add, Edit, x6 y+5 w100 vKeyword1
Gui, 30:Add, Text, x6 y6 w100, Keyword2: Gui, 30:Add, Edit, x6 y+5 w100 vKeyword2; code repeats to Keyword10
Create GUI for Keyword Input
ETD Metadata: Part 4
; submit each field as a defined variable: Keyword1-10
Gui, 30:Add, Button, x6 default, OK Gui, 30:Show,, Keywords
Sleep, 100WinActivate, KeywordsSendInput, %DefinedKeywords%Sleep, 100
30GuiClose:30ButtonOK:Gui, 30:Submit
Send Keywords
Create OK Button
Send formatted keywords
Close Window
ETD Metadata: Part 5
IfExist, C:\Program Files\jEdit\jedit.exeRun, C:\Program Files\jEdit\jedit.exe metadata.xml
ElseRun, C:\Program Files\jEdit\jedit.bat metadata.xml
WinWait, jEditSleep, 1000
SendInput, ^{Home}Sleep, 200
Send, {ControlDown}f{ControlUp}Sleep, 200
Open Metadata XML File Open metadata.xml in jEdit (.exe or .bat)
Wait for jEdit to load the file
Move to top of file
Open Search window
Wait for Search window to open
Search for ‘#Keywordmeta’
Close Search window‘#Keywordmeta’ is highlighted
ETD Metadata: Part 6Prepare for Keyword EntryWinWait, Search And Replace, IfWinNotActive, Search And Replace, , WinActivate, Search And Replace, WinWaitActive, Search And Replace, SendInput, {#}{ShiftDown}k{ShiftUp}eywordmeta{Enter}Sleep, 200SendInput, {Esc}
Types ‘#Keywordmeta’
ETD Metadata: Part 7
If (Keyword1 <> "")SendInput, <subject qualifier="KWD">%Keyword1%</subject>Sleep, 100If (Keyword2 <> "")SendInput, `r<subject qualifier="KWD">%Keyword2%</subject>Sleep, 100; code repeats to Keyword10
Enter Keywords Send keywords stored in
variables (IF they exist!)
Tools & References
• AutoHotkey Recorder: produces script code• Mobile AutoHotkey: use on any Windows system• AutoIt Window Spy: screen coordinates & title info• Website: www.autohotkey.com• Documentation: www.autohotkey.com/docs• Forum: www.autohotkey.com/board
Demonstration
• ETD_Metadata (rw)
• SuperPaste (rw)
• OpenWithPhotoshop (rw)
• TDNP_Microfilm (aw)
• NewspaperNotes (aw)
• DashboardTools (aw)