0 Replies Latest reply: Sep 28, 2008 3:07 AM by Ian Lyons RSS

    Lightroom 2.x - Remapping Library / Develop module keyboard shortcuts (Windows)

    Ian Lyons ACP/MVPs
      SOLUTION: LR2 Library/Develop Keyboard Shortcuts

      Prepared by: Gordon McKinney

      http://www.night-ray.com

      For windows users - this is the latest update to my keyboard shortcuts for Library and Develop module. It has improved performance through caching.

      Quick access to Develop and Library module adjustments via your keyboard number pad. You'll need www.AutoHotKey.com to use this script.

      ; ---------------------------------------- ;
      ; Gordon's Lightroom 2.0 Shortcuts Aug-22 2008
      ; www.night-ray.com
      ;
      ;
      ; Use numpad to perform certain develop and library functions.
      ; This effectively disables the number pad for digit entry
      ; (except 5 and 0) please use the main keyboard instead.
      ;
      ; Left/Right - Prev or Next photo
      ; Up/Down - Exposure
      ; Minus/Plus - Fill Light
      ; Page Up/Dn - Contrast
      ; Home/End - Color Temperature
      ; Div/Mult - Color Tint
      ; Enter - Paste Previous
      ; Dot (Delete) - AutoTone
      ;
      ; F9 Library Module
      ; F10 Develop Module
      ; F11 Slideshow Module
      ; F12 Web Module
      ;
      SetTitleMatchMode,2
      ;
      #IfWinActive, Lightroom
      F9::Send ^!1
      F10::Send ^!2
      F11::Send ^!3
      F12::Send ^!4
      #IfWinActive
      ;
      ; *** DEVELOP SHORTCUTS ***
      ;
      #IfWinActive, Lightroom - Develop
      numpad4:: Send ^{Left}
      numpad6:: Send ^{Right}
      numpad8:: lrdAdd(09)
      numpad2:: lrdSub(09)
      NumpadAdd:: lrdAdd(11)
      NumpadSub:: lrdSub(11)
      numpad9:: lrdAdd(14)
      numpad3:: lrdSub(14)
      numpad7:: lrdAdd(04)
      numpad1:: lrdSub(04)
      NumPadMult:: lrdAdd(05)
      NumPadDiv:: lrdSub(05)
      NumPadDot:: Send ^u
      NumPadEnter:: Send ^!v
      ;
      lrdAdd(delta) {
      instance := lrGetControl( Static, 6, "Treatment :", delta )
      ControlClick, Static%instance%
      Send {=}
      }
      ;
      lrdSub(delta) {
      instance := lrGetControl( Static, 6, "Treatment :", delta )
      ControlClick, Static%instance%
      Send {-}
      }
      #IfWinActive
      ;
      ; *** LIBRARY SHORTCUTS ***
      ;
      #IfWinActive, Lightroom - Library
      numpad4:: Send ^{Left}
      numpad6:: Send ^{Right}
      numpad8:: lrlClick(03)
      numpad2:: lrlClick(02)
      NumpadAdd:: lrlClick(11)
      NumpadSub:: lrlClick(10)
      numpad9:: lrlClick(23)
      numpad3:: lrlClick(22)
      numpad7:: lrlClick(-6)
      numpad1:: lrlClick(-7)
      NumPadMult:: lrlClick(-2)
      NumPadDiv:: lrlClick(-3)
      NumPadDot:: Send ^u
      NumPadEnter::Send ^!v
      ;
      lrlClick(delta) {
      instance := lrGetControl( Button, 6, "Auto Tone", delta )
      ControlSend, Button%instance%, {SPACE}, ahk_class AgWinMainFrame
      }
      #IfWinActive
      ;
      ; Fetch the Control Instance using Type, Title, and Instance Delta
      ;
      lrGetControl( type, typeLen, title, delta ) {
      global lrLastTitle, lrLastCBase, lrLastCache
      ;
      if (lrLastTitle = title and lrLastCache > A_TickCount )
      {
      ; Cached! Saves time.
      return lrLastCBase + delta
      }
      else
      {
      WinGet, ActiveControlList, ControlList, ahk_class AgWinMainFrame
      Loop, Parse, ActiveControlList, `n
      {
      IfInString, A_LoopField, %type%
      {
      ControlGetText, text, %A_LoopField%
      IfInString, text, %title%
      {
      StringMid, controlbase, A_LoopField, typeLen+1
      lrLastTitle := title
      lrLastCBase := controlbase
      lrLastCache := A_TickCount + (120*1000)
      return controlbase + delta
      }
      }
      }
      }
      return 999999
      }
      ;
      ; End
      ; ----------------------------------------