Importing hotkeys from H20 into H20.5

   2496   18   4
User Avatar
Member
207 posts
Joined: Jan. 2016
Offline
Please, is it possible to import hotkeys from H20 into H20.5?
User Avatar
Member
915 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.
QA Specialist at Greyscalegorilla |PolyMarvels YT: https://www.youtube.com/channel/UCqXuTLiaL-jqvn3LK1XlwHg [www.youtube.com] | Instagram: https://www.instagram.com/polymarvels/?hl=en [www.instagram.com]
User Avatar
Member
373 posts
Joined: June 2023
Offline
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.
Edited by kodra - July 15, 2024 13:30:57
User Avatar
Member
915 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!!!?
Edited by PolyMarvels - July 15, 2024 13:48:36

Attachments:
giphy.gif (470.7 KB)

QA Specialist at Greyscalegorilla |PolyMarvels YT: https://www.youtube.com/channel/UCqXuTLiaL-jqvn3LK1XlwHg [www.youtube.com] | Instagram: https://www.instagram.com/polymarvels/?hl=en [www.instagram.com]
User Avatar
Member
207 posts
Joined: Jan. 2016
Offline
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
User Avatar
Member
915 posts
Joined: Sept. 2018
Offline
ikoon
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
Ill cry for you too my friend, my condolences.
QA Specialist at Greyscalegorilla |PolyMarvels YT: https://www.youtube.com/channel/UCqXuTLiaL-jqvn3LK1XlwHg [www.youtube.com] | Instagram: https://www.instagram.com/polymarvels/?hl=en [www.instagram.com]
User Avatar
Staff
1081 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.

import keymaputils
keymaputils.importV1KeymapBindingsToKeymapFile("path_to_new_keymap2.keymap2", "path_to_old_keymap.keymap", "path_where_to_write_the_new_keyamp2_file", "KeymapName")
User Avatar
Member
915 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] | Instagram: https://www.instagram.com/polymarvels/?hl=en [www.instagram.com]
User Avatar
Member
207 posts
Joined: Jan. 2016
Offline
SideFX for the win! Excellent, thank you very much!!!
User Avatar
Member
207 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:

    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.

Attachments:
h20.keymap (300.6 KB)

User Avatar
Member
915 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.

Attachments:
Screenshot_1.png (116.1 KB)

QA Specialist at Greyscalegorilla |PolyMarvels YT: https://www.youtube.com/channel/UCqXuTLiaL-jqvn3LK1XlwHg [www.youtube.com] | Instagram: https://www.instagram.com/polymarvels/?hl=en [www.instagram.com]
User Avatar
Member
207 posts
Joined: Jan. 2016
Offline
You can put * in the Context Filter to search everywhere.

The bug I was describing has been logged as ID# 139334
User Avatar
Member
207 posts
Joined: Jan. 2016
Offline
Here are the examples of the search. With the asterisk in the context filter, it searches for text or a hotkey.

Attachments:
1.png (21.4 KB)
2.png (42.3 KB)

User Avatar
Staff
1081 posts
Joined: July 2005
Offline
The error in keymaputils.importV1KeymapBindingsToKeymapFile() is fixed in 20.5.299. It will also transfer shelf tool hotkeys in that version.
User Avatar
Member
207 posts
Joined: Jan. 2016
Offline
Amazing, thank you SO much!
User Avatar
Member
708 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:
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

Attachments:
Houdini20_CYTE.keymap (378.8 KB)

User Avatar
Member
382 posts
Joined: Nov. 2010
Offline
Wow. Just wow. I was trying for half an hour to import my hotkeys. Now I find this thread. On the positive side: I am not crazy. On the negative side: Wow. Just Wow.
User Avatar
Member
66 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:
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.keymap2is 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.
Generalist. Transforming still images to 3D animation 🔮
Socials: https://linktr.ee/AnimGraphLab [linktr.ee]
User Avatar
Member
382 posts
Joined: Nov. 2010
Offline
AnimGraphLab
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:
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.keymap2is 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.


Thank you but this can't be seriously a way to load hotkey configurations in 5k software, can it?
Are there any plans to make Hotkey management user friendly again? Eben manually configuring hotkeys is time consuming and tedious.
But somehow it seems to fit into the grand scheme of things.... Houdini is now my most time consuming part of my job. It actually costs me more than I get paid for because no one pays me for configuring hotkeys. And I can't hire a TD for that

Edit: Even the Help file is not updated for the lack of a search bar. Am I missing some thing?
I have no way of knowing what all the action terms are so the filter is of no use. I am trying to set a hot key for a radial menu in the node tree but filtering to "radial" yield zero results. How is anybody supposed to work this way?
Edited by OneBigTree - Oct. 18, 2024 15:06:42
  • Quick Links