Importing hotkeys from H20 into H20.5
1797 17 4-
- ikoon
- Member
- 201 posts
- Joined: Jan. 2016
- Offline
-
- PolyMarvels
- Member
- 909 posts
- Joined: Sept. 2018
- Offline
Unfortunately, hotkey manager is totally broken, and to add salt to the injury, none of the shortcuts from H20 will work if imported. I need a vacation to chill off at this point.
![](/static/djangobb_forum/img/smilies/big_smile.png)
QA Specialist at Greyscalegorilla |PolyMarvels YT: https://www.youtube.com/channel/UCqXuTLiaL-jqvn3LK1XlwHg [www.youtube.com]
-
- kodra
- Member
- 373 posts
- Joined: June 2023
- Offline
-
- PolyMarvels
- Member
- 909 posts
- Joined: Sept. 2018
- Offline
kodra
I contacted to SideFX support for this.
They suggest recreating the hotkeys in H20.5. No kidding.
I really don't know why they changed how hotkeys work.
What I would like to know is, what was improved!!!?
![](/static/djangobb_forum/img/smilies/smile.png)
Edited by PolyMarvels - July 15, 2024 13:48:36
QA Specialist at Greyscalegorilla |PolyMarvels YT: https://www.youtube.com/channel/UCqXuTLiaL-jqvn3LK1XlwHg [www.youtube.com]
-
- ikoon
- Member
- 201 posts
- Joined: Jan. 2016
- Offline
-
- PolyMarvels
- Member
- 909 posts
- Joined: Sept. 2018
- Offline
ikoonIll cry for you too my friend, my condolences.
I have over 300 hotkey overrides.
(some of them are assignments, some of them were automatic "un-assignments" of default hotkeys)
Thank you guys for the information. I hope there will be some way to convert them from 20 to 20.5
![](/static/djangobb_forum/img/smilies/big_smile.png)
QA Specialist at Greyscalegorilla |PolyMarvels YT: https://www.youtube.com/channel/UCqXuTLiaL-jqvn3LK1XlwHg [www.youtube.com]
-
- Ondrej
- Staff
- 1080 posts
- Joined: July 2005
- Offline
Houdini 20.5 is using a new hotkey system, with new default configuration files and a new keymap file format and extension (.keymap2).
The documentation on all this is a little behind, so please bear with us.
You can bring in your bindings from an old .keymap file into a new .keymap2 file, with a helper python script, but it's a little involved. First you need to save out a new .keymap2 file from Houdini to act as source from which we will look up the bindings in the old .keymap file and generate a new .keymap2 file with your old bindings.
Then, in a python shell, you can run the following, replacing the arguments to match your file paths/names.
The documentation on all this is a little behind, so please bear with us.
You can bring in your bindings from an old .keymap file into a new .keymap2 file, with a helper python script, but it's a little involved. First you need to save out a new .keymap2 file from Houdini to act as source from which we will look up the bindings in the old .keymap file and generate a new .keymap2 file with your old bindings.
Then, in a python shell, you can run the following, replacing the arguments to match your file paths/names.
import keymaputils keymaputils.importV1KeymapBindingsToKeymapFile("path_to_new_keymap2.keymap2", "path_to_old_keymap.keymap", "path_where_to_write_the_new_keyamp2_file", "KeymapName")
-
- PolyMarvels
- Member
- 909 posts
- Joined: Sept. 2018
- Offline
Ondrej
Houdini 20.5 is using a new hotkey system, with new default configuration files and a new keymap file format and extension (.keymap2).
The documentation on all this is a little behind, so please bear with us.
You can bring in your bindings from an old .keymap file into a new .keymap2 file, with a helper python script, but it's a little involved. First you need to save out a new .keymap2 file from Houdini to act as source from which we will look up the bindings in the old .keymap file and generate a new .keymap2 file with your old bindings.
Then, in a python shell, you can run the following, replacing the arguments to match your file paths/names.import keymaputils keymaputils.importV1KeymapBindingsToKeymapFile("path_to_new_keymap2.keymap2", "path_to_old_keymap.keymap", "path_where_to_write_the_new_keyamp2_file", "KeymapName")
Thanks Onder, that will help, especially to Ikoon, for me I could do it manually and refresh the whole sheet, but I'll probably try the script first.
Thank you!
QA Specialist at Greyscalegorilla |PolyMarvels YT: https://www.youtube.com/channel/UCqXuTLiaL-jqvn3LK1XlwHg [www.youtube.com]
-
- ikoon
- Member
- 201 posts
- Joined: Jan. 2016
- Offline
-
- ikoon
- Member
- 201 posts
- Joined: Jan. 2016
- Offline
I have tried the importV1KeymapBindingsToKeymapFile command as you suggested and got this error from line 260:
if dst_keymap_name and impl.name_token in keymap:
NameError: name 'impl' is not defined
So I have added these four lines into the function definition just to try it:
Then I got no errors. I have exported the new keymap2 file and some of the hotkeys were indeed imported.
However many hotkeys were not imported (many of them are hotkeys to shelf tools). I have attached my h20.keymap file and I will also send a Bug/RFE.
if dst_keymap_name and impl.name_token in keymap:
NameError: name 'impl' is not defined
So I have added these four lines into the function definition just to try it:
if (version := keymap.get(version_token)) and version >= 2: impl = Version2KeymapImpl() else: impl = Version1KeymapImpl()
Then I got no errors. I have exported the new keymap2 file and some of the hotkeys were indeed imported.
However many hotkeys were not imported (many of them are hotkeys to shelf tools). I have attached my h20.keymap file and I will also send a Bug/RFE.
-
- PolyMarvels
- Member
- 909 posts
- Joined: Sept. 2018
- Offline
It would be great to fix that Search field that was in the top right corner. It's quite essential to the Hotkey Manager. I was hoping its gonna be fixed in the first daily build, but unfortunately, it is not.
QA Specialist at Greyscalegorilla |PolyMarvels YT: https://www.youtube.com/channel/UCqXuTLiaL-jqvn3LK1XlwHg [www.youtube.com]
-
- ikoon
- Member
- 201 posts
- Joined: Jan. 2016
- Offline
-
- ikoon
- Member
- 201 posts
- Joined: Jan. 2016
- Offline
-
- Ondrej
- Staff
- 1080 posts
- Joined: July 2005
- Offline
-
- ikoon
- Member
- 201 posts
- Joined: Jan. 2016
- Offline
-
- CYTE
- Member
- 703 posts
- Joined: Feb. 2017
- Offline
Hey everybody,
I would like to convert my keymap to the new format. But I fail. I don't know what I did wrong but I get:
Could somebody convert my keymap? That would be great.
Thanks in advance!
Cheers
CYTE
Edit: ikoon helped me. Thanks again, buddy!
I would like to convert my keymap to the new format. But I fail. I don't know what I did wrong but I get:
PermissionError: Permission denied:from the python shell.
Could somebody convert my keymap? That would be great.
Thanks in advance!
Cheers
CYTE
Edit: ikoon helped me. Thanks again, buddy!
Edited by CYTE - July 18, 2024 10:58:47
-
- OneBigTree
- Member
- 380 posts
- Joined: Nov. 2010
- Offline
-
- AnimGraphLab
- Member
- 56 posts
- Joined: May 2019
- Offline
Just in case, for someone still figuring out..
1. Open Houdini -> Alt+Shift+P (Python Shell).
2. Paste the code below replacing your old and new keymap paths. I keep them at Documents/houdini.
For Windows:
Ondrej mentioned about it: "to act as source from which we will look up the bindings in the old .keymap file and generate a new .keymap2 file".
In my case, all hotkeys were updated.
1. Open Houdini -> Alt+Shift+P (Python Shell).
2. Paste the code below replacing your old and new keymap paths. I keep them at Documents/houdini.
For Windows:
import keymaputils keymaputils.importV1KeymapBindingsToKeymapFile( "C:\\Users\\<YOUR_USERNAME>\\Documents\\houdini20.5\\animgraphlab_hotkeys_20.5.keymap2", "C:\\Users\\<YOUR_USERNAME>\\Documents\\houdini20.5\\animgraphlab_hotkeys.keymap", "C:\\Users\\<YOUR_USERNAME>\\Documents\\houdini20.5\\animgraphlab_hotkeys_20.5_NEW.keymap2", "KeymapName" )
animgraphlab_hotkeys_20.5.keymap2
is a default keymap from H20.5 that I manually saved. Ondrej mentioned about it: "to act as source from which we will look up the bindings in the old .keymap file and generate a new .keymap2 file".
In my case, all hotkeys were updated.
-
- Quick Links