var oActionMgr = MainWindow.getActionMgr();
var nActions = oActionMgr.getNumActions();
var oAction = 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 wListBx = new DzListBox( wDlg );
wDlg.addWidget( wListBx );
// 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("&", "" ) ) );
}
}
aShortcuts.sort();
// Populate the listbox
for( i = 0; i < aShortcuts.length; i += 1 ){
wListBx.insertItem( aShortcuts[ i ] );
}
// Show the dialog
wDlg.exec();
Just copy the contents of the code block above, paste it into a new text document in your favorite text editor and save it to a file named "Keyboard Shortcuts.dsa". Then, depending on where you save it, you can launch the script via drag-n-drop onto the viewport, double click from within the Content Library pane, a Custom Action in the Main Menu Bar or a Toolbar, etc.
Rob's script doesn't show keyboard accelerators assigned to user made custom commands. Here's a version that does. It also changes from a listbox to an edit box so you can copy the text out.
// 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();
I noticed those are all camera shortcuts. aren't there hotkeys for Twist, Bend, and Front-Back somewhere? would speed up my work significantly not having to drag on the dials every time.
I noticed those are all camera shortcuts. aren't there hotkeys for Twist, Bend, and Front-Back somewhere? would speed up my work significantly not having to drag on the dials every time.
Keep your eye on http://docs.daz3d.com/doku.php/public/software/dazstudio/4/referenceguide/scripting/api_reference/samples/start - your question apparently chimed with soemthign Rob has been thinking about and - time and the effectiveness of the result depending - he may be able to post a sample script showing how to emulate a key-driven modification (like the WASD navigation options). It probably won't be exactly what you want, but it should show the steps and functions required.
I noticed those are all camera shortcuts. aren't there hotkeys for Twist, Bend, and Front-Back somewhere? would speed up my work significantly not having to drag on the dials every time.
Keep your eye on http://docs.daz3d.com/doku.php/public/software/dazstudio/4/referenceguide/scripting/api_reference/samples/start - your question apparently chimed with soemthign Rob has been thinking about and - time and the effectiveness of the result depending - he may be able to post a sample script showing how to emulate a key-driven modification (like the WASD navigation options). It probably won't be exactly what you want, but it should show the steps and functions required.
After searching for weeks, I finally find this mention of the idea of having keyboard access to manipulate joint properties for twist, bend, front-back/up-down/side-side, etc. Has anyone found a way to do this? I'm stunned it wasn't baked into the ActivePose tool when it was designed.
It would be amazing to select the ActivePose tool, click a joint, and then use arbitrarily-assignable keyboard shortcuts to spin the X, Y, and Z rings on the ActivePose globe interface. Bonus points if you can also assign keyboard shortcuts to X, Y, and Z transposition and scaling. Bonus bonus points if there is a modifier to increase or decrease the sensitivity for these controls, both as a toggle and as a momentary modifier.
I have a dial controller for video editing with bunch of modifier keys that can all be mapped to keyboard presses -- so if Daz Studio had keyboard functions for the above, a user could easily and naturally spin a dial to precisely pose a bunch of joints in rapid succession.
Comments
If you go into Edit > Customize > Actions, they are all listed there, and you can change them by using the right-click menu.
Wonderful! Thank you so much.
Here is a quick script to start from...
Just copy the contents of the code block above, paste it into a new text document in your favorite text editor and save it to a file named "Keyboard Shortcuts.dsa". Then, depending on where you save it, you can launch the script via drag-n-drop onto the viewport, double click from within the Content Library pane, a Custom Action in the Main Menu Bar or a Toolbar, etc.
-Rob
Thanks Rob, that is a very useful script. I put it in my Scripts folder in Documents, and it works great.
It is a very handy way to learn new shortcuts too, many thanks.
thanks - will try this
aNY IDEA HOW THAT WORKS WITH 4.6?
aNY IDEA HOW THAT WORKS WITH 4.6?
It's now in Window > Workspace > Customize
Rob's script doesn't show keyboard accelerators assigned to user made custom commands. Here's a version that does. It also changes from a listbox to an edit box so you can copy the text out.
That Script works great, thank you very much!
Ah, so it is. I've been looking for this.
By chance, has anyone made an actual list of these keyboard shortcuts, such as could be printed out on paper?
Thanks.
...
(edit)
OK, now I get it. I ran the excellent script above, and came up with a list. Thanks. :-)
I made this table of keyboard shortcuts. Hope it helps.
Thank's to msorrels for the script ;o)
I noticed those are all camera shortcuts. aren't there hotkeys for Twist, Bend, and Front-Back somewhere? would speed up my work significantly not having to drag on the dials every time.
http://docs.daz3d.com/doku.php/public/software/dazstudio/4/referenceguide/scripting/api_reference/samples/actions/action_accelerators/start
Keep your eye on http://docs.daz3d.com/doku.php/public/software/dazstudio/4/referenceguide/scripting/api_reference/samples/start - your question apparently chimed with soemthign Rob has been thinking about and - time and the effectiveness of the result depending - he may be able to post a sample script showing how to emulate a key-driven modification (like the WASD navigation options). It probably won't be exactly what you want, but it should show the steps and functions required.
After searching for weeks, I finally find this mention of the idea of having keyboard access to manipulate joint properties for twist, bend, front-back/up-down/side-side, etc. Has anyone found a way to do this? I'm stunned it wasn't baked into the ActivePose tool when it was designed.
It would be amazing to select the ActivePose tool, click a joint, and then use arbitrarily-assignable keyboard shortcuts to spin the X, Y, and Z rings on the ActivePose globe interface. Bonus points if you can also assign keyboard shortcuts to X, Y, and Z transposition and scaling. Bonus bonus points if there is a modifier to increase or decrease the sensitivity for these controls, both as a toggle and as a momentary modifier.
I have a dial controller for video editing with bunch of modifier keys that can all be mapped to keyboard presses -- so if Daz Studio had keyboard functions for the above, a user could easily and naturally spin a dial to precisely pose a bunch of joints in rapid succession.