Keystrokes and shortcuts totally unique for your workflow!

Anything (more or less) related to FastPictureViewer not fitting in the above sections.

Keystrokes and shortcuts totally unique for your workflow!

Postby jayp on Wed Oct 07, 2009 5:04 pm

I have a quick and fun note regarding FPV. I love the program but really wanted to customize the shortcuts for my own purposes. I've done so in a unique and very successful way by using a short AutoHotKey script, which I'll share below.

For those unaware, AutoHotkey (or AHK) is a free open source lightweight utility that can provide scripting on Windows environments. As just one example, you can do thing like map keystrokes to different keystroke combinations. The number 1 could send ctrl alt 1, or the z key could send F1, that sort of thing... Some of the simplest actions can be much easier to code than you might think, even for someone with little background in programming. It can be found at

So I sort of have a feature request too. I'd like to ask that the author not implement some deep low level hook in FPV that handles mouse or keyboard input. In rare or unusual cases, a program may "defeat" AutoHotkey if it uses a low level hook to detect user input. I'd hate to see this in FPV.

It also might be really nice if users could define some shortcuts themselves or turn keyboard shortcuts off. For example, it would be helpful for me to make the middle mouse click do nothing in FPV. (I could explain, but it's a little complicated.)

Anyway, here's what I had done in the way of custom FPV shortcuts. They allow me to keep one hand on my mouse and another on my keyboard. I can go through large groups of pictures without ever moving my hands!

The magic (for my workflow of course) is that the middle mouse button sets a label of 6, the right mouse button a label of 8. (I use Expression Media labels where 6 means delete for my workflow and 8 means keep.) Holding down the space bar zooms in to 100% (it literally sends a left click to FPV) and then the Z key sets a Rating to 1. (Why Z? Well, it's close to the spacebar, so I can use these two keys one handed with my thumb on the spacebar and my point finger on the Z key.)

My thinking is that these four actions are what I need to do most as I go through pictures. And since I'm especially interested in finding pictures that I want to delete, I don't have to lift a finger off the middle mouse wheel (since I'm using it to scroll forwards and backwards through pictures) to mark them for deletion.

I also make the keypad work for ratings and labels.

Finally, to read the code below, just note that anything with a semicolon (;) in front of it is a comment, not AHK code. So you can read my comments to see what the code does.

Code: Select all
; FastPictureViewer - custom keystrokes and mouse actions
#IfWinActive FastPictureViewer ahk_class FastPictureViewer_Frame
   ;Zoom in to 100%
      Click Down ;clicks left mouse button down at current mouse position
      KeyWait, Space  ;Wait for key to be released.
      Click up ;release the left mouse button to zoom back out
   ;Apply Rating=1. I use 'Z' key simply because it's near the space bar.
   z::Send, 1
   ;Apply xMedia labels with mouse.
   MButton::Send, +6 ;label 6. This sends a shift and a 6
   RButton::Send, +8 ;label 8. This sends a shift and an 8
   ;Apply xMedia labels with number keys. Sends shift plus the number
   6::Send, +6
   7::Send, +7
   8::Send, +8
   ;Apply xMedia ratings with numpad keys.
   Numpad0::Send, 0
   Numpad1::Send, 1
   Numpad2::Send, 2
   Numpad3::Send, 3
   Numpad4::Send, 4
   Numpad5::Send, 5
   ;Apply xMedia labels with numpad keys. Send shift + number.
   Numpad6::Send, +6
   Numpad7::Send, +7
   Numpad8::Send, +8
   NumpadSub:: Send, +0 ;Hitting minus clears label. Sends shift + zero.
Posts: 3
Joined: Tue Oct 06, 2009 5:31 pm

Return to General Discussions