FileMaker Custom Keyboard Shortcuts - InfoG and Install Script

FileMaker Custom Keyboard Shortcuts are a key part of developer productivity.

Attached is a one page Work-in-Progress PNG documenting the Custom Keyboard Shortcuts that we are currently using.

This technique is based on and extends the work documented here:

Macintosh Keyboard Shortcuts Enhancer tool, created by Matt Petrowsky

...and builds on a presentation that I gave to the NYFMP.org group:

More ideas here...

Take the Short Cut by Daniel Wood

Below is a shell script that will install a reasonably well thought out set of Custom Keyboard Shortcuts into FileMaker 18.

Here are the steps to install (at your own risk!!!)...

  1. Close your System Preferences Application (as needed)

  2. Quit FileMaker Pro (Advanced)

  3. Run this #!/bin/sh shell script from: BBEdit > menu > #! > Run in Terminal

[begin]

#!/bin/sh
defaults write com.filemaker.client.pro12 NSUserKeyEquivalents -dict-add 'Security…' '$@A' # ⇧⌘A
defaults write com.filemaker.client.pro12 NSUserKeyEquivalents -dict-add 'Value Lists…' '$@V' # ⇧⌘V
defaults write com.filemaker.client.pro12 NSUserKeyEquivalents -dict-add 'External Data Sources…' '$@E' # ⇧⌘E
defaults write com.filemaker.client.pro12 NSUserKeyEquivalents -dict-add 'Custom Functions…' '$@X' # ⇧⌘X
defaults write com.filemaker.client.pro12 NSUserKeyEquivalents -dict-add 'Custom Menus…' '$@M' # ⇧⌘M
defaults write com.filemaker.client.pro12 NSUserKeyEquivalents -dict-add 'File Options…' '^O' # ⌃O
defaults write com.filemaker.client.pro12 NSUserKeyEquivalents -dict-add 'Buttons' '^~@B' # ⌃⌥⌘B
defaults write com.filemaker.client.pro12 NSUserKeyEquivalents -dict-add 'Sample Data' '^~@D' # ⌃⌥⌘D
defaults write com.filemaker.client.pro12 NSUserKeyEquivalents -dict-add 'Sliding Objects' '^~@O' # ⌃⌥⌘O
defaults write com.filemaker.client.pro12 NSUserKeyEquivalents -dict-add 'Non-Printing Objects' '^~@N' # ⌃⌥⌘N
defaults write com.filemaker.client.pro12 NSUserKeyEquivalents -dict-add 'Conditional Formatting' '^~@C' # ⌃⌥⌘C
defaults write com.filemaker.client.pro12 NSUserKeyEquivalents -dict-add 'Script Triggers' '^~@S' # ⌃⌥⌘S
defaults write com.filemaker.client.pro12 NSUserKeyEquivalents -dict-add 'Quick Find' '^~@Q' # ⌃⌥⌘Q
defaults write com.filemaker.client.pro12 NSUserKeyEquivalents -dict-add 'Tooltips' '^~@T' # ⌃⌥⌘T
defaults write com.filemaker.client.pro12 NSUserKeyEquivalents -dict-add 'Conditional…' '^C' # ⌃C
defaults write com.filemaker.client.pro12 NSUserKeyEquivalents -dict-add 'Themes…' '$@T' # ⇧⌘T
defaults write com.filemaker.client.pro12 NSUserKeyEquivalents -dict-add 'Smallest Width' '^~@←' # ⌃⌥⌘←
defaults write com.filemaker.client.pro12 NSUserKeyEquivalents -dict-add 'Smallest Height' '^~@↑' # ⌃⌥⌘↑
defaults write com.filemaker.client.pro12 NSUserKeyEquivalents -dict-add 'Largest Width' '^~@→' # ⌃⌥⌘→
defaults write com.filemaker.client.pro12 NSUserKeyEquivalents -dict-add 'Largest Height' '^~@↓' # ⌃⌥⌘↓
defaults write com.filemaker.client.pro12 NSUserKeyEquivalents -dict-add 'Script Debugger' '^B' # ⌃B
defaults write com.filemaker.client.pro12 NSUserKeyEquivalents -dict-add 'Data Viewer' '^D' # ⌃D
defaults write com.filemaker.client.pro12 NSUserKeyEquivalents -dict-add 'Containers…' '$@C' # ⇧⌘C
defaults write com.filemaker.client.pro12 NSUserKeyEquivalents -dict-add 'Popover Buttons' '^~@P' # ⌃⌥⌘P

[end]

  1. Open FileMaker Pro (Advanced)

  2. Happy FileMaker'ing!

Shown below (in green boxes) are some of the keyboard shortcuts that you should see.

5 Likes

Great stuff. Thank you for sharing this with the community, @tonywhitelive!

Do you know which versions of FM this works with? From version 12 onward? Anything older?
Thanks.

I do not know all the versions that it works for. Most?
You might test (at your own risk) to see if it works for you and your version.

1 Like

I've been thinking lately, lots of people use Logitech mouses for gaming. I dont know much about them.

Is there a way to set those mouse shortcuts with Filemaker?

Yes, I use a Logitech gaming mice for development.

To be honest a lot of my binds are for Spotify controls, however I do use a few for FileMaker. I work in a multi file solution and often I need to get quickly into field definitions from another file, so I have set up a custom menu item to take me to that file. In the Logitech app I can set up multiple keystrokes to be bound to a button, which I do to run the custom menu shortcut followed by cmd+shift+d to get into field definitions.

I have also tried a few others in the past, one experimental sequence which was intended to allow me to open any script by clicking a button on a layout. In Logitech you can record macros. I would press a special key on the mouse over a button, which would:

• Turn on debugger (via a custom shortcut).
• Single-click
• step into script in debugger
• launch script window via debugger
• Terminate script and close debugger

The end result quite nice (however not 100% reliable due to timings).

At the end of the day you can program any of the buttons to basically do anything. You can also have different profiles for various apps. You can also have multiple profiles for an app and bind a button to cycle between profiles, allowing you to have more than one set of button binds.

2 Likes

While I use a Logitech for working for almost 10 years now I haven't tried to program any key of it. It just doesn't seem to fit to the mouse. (maybe that is also the reason for not using the Touchbar of the Macbooks) I'm using it because of speed and the levels of settings I get to customize my experience. I got pushed to it by a fellow programmer who is a gamer and saw/heard me sometimes swearing at my older input devices while working on bigger screens or two-monitor-setups.

As a developer, your two biggest tools are the keyboard/mouse obviously - so why wouldn't you invest in making these perform to the absolute best they can to improve your efficiency and proficiency as a developer.

All too often I see people developing with a basic setup.

The keyboard can be made so much more powerful with additional custom shortcuts, and text-expanding tools to save time reaching for the mouse, or wasted typing.

While the mouse can do so much more in terms of additional buttons & bindings..

Over the course of a year, the savings in time from adding shortcuts & extra buttons is massive.

3 Likes

I absolutely agree. I'm using the keyboard shortcuts a lot, enhancing the functionality via macOS means (Systempreferences -> Keyboard -> Shortcuts) and by generating own combinations of key sequences via the MBS Hotkey - component within FM-applications.

Mouse shortcuts are a different case though because I don't have the same mouse on all setups (Logitech M10, Logitech G402, Logitech G700s) especially while "on the road", thus no mouse programming as of today for me :slight_smile:

1 Like

Yeah the mouse is definitely more difficult. Overall about 95% of efficiency comes from the keyboard, the mouse buttons while nice don't provide a massive boost.

2 Likes