Importing hotkeys from H20 into H20.5

   1805   17   4
User Avatar
Member
201 posts
Joined: 1月 2016
Offline
Please, is it possible to import hotkeys from H20 into H20.5?
User Avatar
Member
909 posts
Joined: 9月 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]
User Avatar
Member
373 posts
Joined: 6月 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 - 2024年7月15日 13:30:57
User Avatar
Member
909 posts
Joined: 9月 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 - 2024年7月15日 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]
User Avatar
Member
201 posts
Joined: 1月 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
909 posts
Joined: 9月 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]
User Avatar
スタッフ
1080 posts
Joined: 7月 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
909 posts
Joined: 9月 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]
User Avatar
Member
201 posts
Joined: 1月 2016
Offline
SideFX for the win! Excellent, thank you very much!!!
User Avatar
Member
201 posts
Joined: 1月 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
909 posts
Joined: 9月 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]
User Avatar
Member
201 posts
Joined: 1月 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
201 posts
Joined: 1月 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
スタッフ
1080 posts
Joined: 7月 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
201 posts
Joined: 1月 2016
Offline
Amazing, thank you SO much!
User Avatar
Member
703 posts
Joined: 2月 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 - 2024年7月18日 10:58:47

Attachments:
Houdini20_CYTE.keymap (378.8 KB)

User Avatar
Member
380 posts
Joined: 11月 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
56 posts
Joined: 5月 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.
Environment art 💚
Socials: https://linktr.ee/AnimGraphLab [linktr.ee]
  • Quick Links