Display all Keyboard Shortcuts in DAZ Studio

- by

I’ve recently found out that there IS indeed a way to show a list of all DAZ Studio Keyboard Shortcuts. Sadly this functionality is not built in to DAZ Studio (as of 4.11 as far as I know), but we can convince the app to use the following script to show us a handy list.

This is the script:

// DAZ Studio version 4.6.2.118 filetype DAZ Script

var oActionMgr = MainWindow.getActionMgr();
var nActions = oActionMgr.getNumActions();
var oAction = undefined;
var oActionName = undefined;
var sShortcut = undefined;
var aShortcuts = [];
var i = 0;

// Create a new dialog
var wDlg = new DzBasicDialog;
wDlg.caption = "Keyboard Shortcuts";

// Create a listbox
var wTextBx = new DzTextEdit( wDlg );
wDlg.addWidget( wTextBx );

// Collect shortcuts
for( i = 0; i < nActions; i += 1 ){
 oAction = oActionMgr.getAction( i );
 sShortcut = oAction.shortcut.toString();
 if( !sShortcut.isEmpty() ){
  aShortcuts.push( String("%1 = %2").arg( sShortcut ).arg( oAction.text.replace("&", "" ) ) );
 }
}

// Collect custom action shortcuts
nActions = oActionMgr.getNumCustomActions();
for( i = 0; i < nActions; i += 1 ){
 oActionName = oActionMgr.getCustomActionText( i );
 sShortcut = oActionMgr.getCustomActionShortcut(i);
 if( !sShortcut.isEmpty() ){
  aShortcuts.push( String("%1 = %2").arg( sShortcut ).arg( oActionName.replace("&", "" ) ) );
 }
}
aShortcuts.sort();

// Populate the textbox
for( i = 0; i < aShortcuts.length; i += 1 ){
 wTextBx.append( aShortcuts[ i ] );
}

// Show the dialog
wDlg.exec();   

This code comes courtesy of Rob and msmorrels in the DAZ Studio Forums (thanks guys). Upon execution, we'll get a window similar to this one, and much longer too:

Wait... how does this work?

Technically, you copy the code and paste it into an empty plain text file. Name it something like Shortcuts.dsa (the .dsa extension is important). Then, open it in DAZ Studio with File - Open - and navigate to your file. That'll bring up that list.

Because life too short for repetitive and soul destroying tasks, I've already done that and added it to the following ZIP file for you! Download, unZIP and open:

Note that user defined shortcuts are currently not supported as far as I can tell, nor are viewport shortcuts (such as "hold alt, then left-click and drag", that sort of thing). Perhaps over time these features will be added. Until then, enjoy!

Contribute on GitHub

Sadly I know nothing about DAZ Studio scripting, but perhaps you do - or maybe one day I'll find out. In any case, here's the same code on GitHub for centuries to come. Feel free to contribute to the code via pull requests:



If you enjoy my content, please consider supporting me on Ko-fi. In return you can browse this whole site without any pesky ads! More details here.

Leave a Comment