citizen
they're architecture engineers not UI designers, after all.
Exactly. I think they need one.
Ondrej
Houdini 20.5 is using a new hotkey resolution and context system. Resolution is now consolidated and done explicitly against all the key bindings in a set of active contexts instead of piecemeal by each individual hotkey handler.
This makes new capabilities possible, though most are not yet available to users via the UI. For example, it is now possible to have bindings for a given action in different contexts, so we can have viewer state contexts with bindings for handle actions. The consolidation of key event resolution also makes it possible to bind key sequences as action triggers. For example, the G key followed by the H key to trigger one action, and the G key followed by the H key to trigger another.
All of this required switching to a new set of configuration file formats and new keymap file and keymap override formats. Not saving the labels and descriptions for dynamically added hotkey symbols into the keymap and keymap override files is intentional. It is both to avoid saving redundant data and to have unregistered actions for which a keymap has bindings stand out. The blank lines in the UI are a bug as is the fact that this affects the shelf tool hotkeys the way it does. Note that those key bindings will still work to trigger the shelf tools in the specific examples mentioned in this thread. There are other situations where they won't, but that's a bug that was present in the old system as well.
Speaking of the old system, it is possible to run 20.5 using the old hotkeys and configuration files by running Houdini with the HOUDINI_NEW_HOTKEY_SYSTEM environment variable set to 0. This is intended as an emergency option to let users work around any serious issues that they might encounter in their particular configurations and use cases. Note however that virtually all internal testing of Houdini 20.5 was done with the new system in the several months immediately preceding release, and the ability to switch back will be removed in H21.
The capabilities and organization of the old and new systems are more different than it may appear despite superficial similarities. The cumbersome importing of old keymap files is a best effort sort of thing and may not capture everything perfectly. This, and the fact that we ran out of time, is why it currently has to be done through a python script.
This was all supposed to be documented when 20.5 shipped, but this was pushed back for higher priority items. The documentation is forthcoming, as are some bug fixes to specific issues raised in this thread.
As the chief villain/architect of the new system I would normally have already pushed fixes to some of the other issues that have been reported with the new system to the daily builds, but I've been busy with other responsibilities.
animatrix_
Thanks a lot Ondrej! The new hotkey system packs a lot of firepower! The new key sequences are pretty similar to my dual hotkey system where the first key popups up a custom menu and the second key invokes a menu item. Really quick way of working while overloading each key with a ton of other keys per context.
So it's normal the docs are a bit behind the cutting edge
OndrejWhen will we have the ability to see the labels of assigned hotkeys in the hotkey editor?animatrix_
Thanks a lot Ondrej! The new hotkey system packs a lot of firepower! The new key sequences are pretty similar to my dual hotkey system where the first key popups up a custom menu and the second key invokes a menu item. Really quick way of working while overloading each key with a ton of other keys per context.
So it's normal the docs are a bit behind the cutting edge
Thanks for the nice words. Just to be clear for others reading this, the ability to bind key sequences isn't a part of the 20.5 release. What animatrix is referring to is a prototype implementation.
RGaal
Guys, how can I assign a hotkey to select geometry in the Group field? I circled the arrow in the screenshot.
I tried selecting Restart selection and Quick selection in the hotkey editor, but it had no effect. What is the correct name of this function?
And by the way, does anyone know what Restart selection and Quick selection are for in the hotkey editor actions?
Ondrej
I don't believe you can bind a hotkey directly to this select geometry button. The best you can probably do is create a shelf tool that invokes it and assign a hotkey to that shelf tool. Unfortunately, I don't think there is a way to invoke this type of action script directly through python, or, if there is, I'm aware of it. All of these group select buttons invoke the `soputils.selectGroupParm()`, which can be easily invoked from a shelf script if a node has a group parameter. The bad news is that the buttons for different groups often pass different arguments to this function since they have slightly different needs, so I don't think you can easily capture all this in a generic script.
alexeyvanzhula1984
When will we have the ability to see the labels of assigned hotkeys in the hotkey editor?
kodra
Can one just get the python code of the parameter's script_action Python code as string then eval() it? I know eval() is usually a bad idea for general programming, but if it's just used internally for Houdini...
Anyway it would be more ideal if Houdini's Restart Selecting just be smarter to handle this. It even occupies a quite valuable hotkey
(`) by default. Please make it do better.