Add-ons with keymap entries generate duplicates in keymap #88518

Open
opened 2021-05-24 04:51:55 +02:00 by Joshua Worley · 33 comments

System Information
Operating system: Windows-10-10.0.19041-SP0 64 Bits
Graphics card: NVIDIA GeForce GTX 1060 6GB/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 466.27

Blender Version
Broken: version: 2.93.0 Beta, branch: master, commit date: 2021-05-19 16:30, hash: blender/blender@0456223cde
Worked: Unsure, tested 2.91.2 and it also has the issue.

Short description of error
Importing keymap creates duplicate entries

Exact steps for others to reproduce the error

  • Activate an addon which adds custom key bindings (Use NodeWrangler as an example. It adds lots of key bindings, is widely used and comes bundled with Blender)
  • Save existing keymap under a new name
  • Export it (select All Keymap option)
  • Import it back
    Result: The large amount of key bindings in Node Editor section of keymap created by NodeWrangler is now doubled. Exporting and Importing the keymap again will triple the bindings, and so on.
    Expected: The addon key bindings are not doubled when importing the keymap.
**System Information** Operating system: Windows-10-10.0.19041-SP0 64 Bits Graphics card: NVIDIA GeForce GTX 1060 6GB/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 466.27 **Blender Version** Broken: version: 2.93.0 Beta, branch: master, commit date: 2021-05-19 16:30, hash: `blender/blender@0456223cde` Worked: Unsure, tested 2.91.2 and it also has the issue. **Short description of error** Importing keymap creates duplicate entries **Exact steps for others to reproduce the error** - Activate an addon which adds custom key bindings (Use NodeWrangler as an example. It adds lots of key bindings, is widely used and comes bundled with Blender) - Save existing keymap under a new name - Export it (select `All Keymap option`) - Import it back Result: The large amount of key bindings in Node Editor section of keymap created by NodeWrangler is now doubled. Exporting and Importing the keymap again will triple the bindings, and so on. Expected: The addon key bindings are not doubled when importing the keymap.
Author

Added subscriber: @Toxijuice

Added subscriber: @Toxijuice

blender/blender#89945 was marked as duplicate of this issue

blender/blender#89945 was marked as duplicate of this issue

blender/blender#94180 was marked as duplicate of this issue

blender/blender#94180 was marked as duplicate of this issue
Member

Added subscriber: @PratikPB2123

Added subscriber: @PratikPB2123
Member

@Toxijuice , can you check again with 2.93 LTS

@Toxijuice , can you check again with 2.93 LTS

Added subscriber: @Toxijuice-3

Added subscriber: @Toxijuice-3

Just tested on 2.93 LTS, it still occurs.

Just tested on 2.93 LTS, it still occurs.
Member

Changed status from 'Needs Triage' to: 'Confirmed'

Changed status from 'Needs Triage' to: 'Confirmed'
Member

Thanks for checking. Tested again, now I can reproduce the problem.

Adding ~8-9 Keyconfig presets will help to reproduce the problem.

Thanks for checking. Tested again, now I can reproduce the problem. Adding ~8-9 Keyconfig presets will help to reproduce the problem.
Member

Added subscribers: @Rawalanche, @Branskugel

Added subscribers: @Rawalanche, @Branskugel

In #88518#1181126, @PratikPB2123 wrote:
Thanks for checking. Tested again, now I can reproduce the problem.

Adding ~8-9 Keyconfig presets will help to reproduce the problem.

This is not NodeWrangler specific issue, this is issue with keymap entries added by any addon. If you merge my report into this one, then at least name it correctly. Otherwise, the name of the task implies it's a lot smaller problem than it really is.

> In #88518#1181126, @PratikPB2123 wrote: > Thanks for checking. Tested again, now I can reproduce the problem. > > Adding ~8-9 Keyconfig presets will help to reproduce the problem. This is not NodeWrangler specific issue, this is issue with keymap entries added by **any** addon. If you merge my report into this one, then at least name it correctly. Otherwise, the name of the task implies it's a lot smaller problem than it really is.
Pratik Borhade changed title from Node Wrangler creates duplicate entries in keymap when creating new Keyconfig preset to Add-ons with keymap entries generate duplicates in keymap when creating new Keyconfig preset 2021-12-23 13:49:22 +01:00

Added subscriber: @Hologram

Added subscriber: @Hologram

In #88518#1277631, @Rawalanche wrote:

In #88518#1181126, @PratikPB2123 wrote:
Thanks for checking. Tested again, now I can reproduce the problem.

Adding ~8-9 Keyconfig presets will help to reproduce the problem.

This is not NodeWrangler specific issue, this is issue with keymap entries added by any addon. If you merge my report into this one, then at least name it correctly. Otherwise, the name of the task implies it's a lot smaller problem than it really is.

Indeed, considering the many bugs related to corrupting the keymap this one may be most severe.
If you are unaware, it will eventually inflate the keymap's file size by quite a lot. When trying to clean up my keymap file, I noticed it had increased from ~400KB to 694KB. Editing it becomes such a mess with items going missing, see: https://developer.blender.org/T94618 that I decided to manually rework the entire thing, which will be over a couple of days worth of work...

> In #88518#1277631, @Rawalanche wrote: >> In #88518#1181126, @PratikPB2123 wrote: >> Thanks for checking. Tested again, now I can reproduce the problem. >> >> Adding ~8-9 Keyconfig presets will help to reproduce the problem. > > This is not NodeWrangler specific issue, this is issue with keymap entries added by **any** addon. If you merge my report into this one, then at least name it correctly. Otherwise, the name of the task implies it's a lot smaller problem than it really is. Indeed, considering the many bugs related to corrupting the keymap this one may be most severe. If you are unaware, it will eventually inflate the keymap's file size by quite a lot. When trying to clean up my keymap file, I noticed it had increased from ~400KB to 694KB. Editing it becomes such a mess with items going missing, see: https://developer.blender.org/T94618 that I decided to manually rework the entire thing, which will be over a couple of days worth of work...

In #88518#1284885, @Hologram wrote:

In #88518#1277631, @Rawalanche wrote:

In #88518#1181126, @PratikPB2123 wrote:
Thanks for checking. Tested again, now I can reproduce the problem.

Adding ~8-9 Keyconfig presets will help to reproduce the problem.

This is not NodeWrangler specific issue, this is issue with keymap entries added by any addon. If you merge my report into this one, then at least name it correctly. Otherwise, the name of the task implies it's a lot smaller problem than it really is.

Indeed, considering the many bugs related to corrupting the keymap this one may be most severe.
If you are unaware, it will eventually inflate the keymap's file size by quite a lot. When trying to clean up my keymap file, I noticed it had increased from ~400KB to 694KB. Editing it becomes such a mess with items going missing, see: https://developer.blender.org/T94618 that I decided to manually rework the entire thing, which will be over a couple of days worth of work...

The unfortunate reality is that anyone serious about a custom keymap (beyond a slight modifications of the default one) will sooner or later resort to manual editing of the .py file in a code editor rather than using the keymap editor in Blender because there's just way too many way too serious keymap corruption bugs :(

> In #88518#1284885, @Hologram wrote: >> In #88518#1277631, @Rawalanche wrote: >>> In #88518#1181126, @PratikPB2123 wrote: >>> Thanks for checking. Tested again, now I can reproduce the problem. >>> >>> Adding ~8-9 Keyconfig presets will help to reproduce the problem. >> >> This is not NodeWrangler specific issue, this is issue with keymap entries added by **any** addon. If you merge my report into this one, then at least name it correctly. Otherwise, the name of the task implies it's a lot smaller problem than it really is. > > Indeed, considering the many bugs related to corrupting the keymap this one may be most severe. > If you are unaware, it will eventually inflate the keymap's file size by quite a lot. When trying to clean up my keymap file, I noticed it had increased from ~400KB to 694KB. Editing it becomes such a mess with items going missing, see: https://developer.blender.org/T94618 that I decided to manually rework the entire thing, which will be over a couple of days worth of work... The unfortunate reality is that anyone serious about a custom keymap (beyond a slight modifications of the default one) will sooner or later resort to manual editing of the .py file in a code editor rather than using the keymap editor in Blender because there's just way too many way too serious keymap corruption bugs :(

By the way, this bug also occurs when enabling > disabling > re-enabling addons (such as node-wrangler) that create keymap entries upon enabling the addon. This makes it so that duplicate items will emerge. So there are two methods that can corrupt the keymap.
This still occurs on Blender 3.0.

By the way, this bug also occurs when enabling > disabling > re-enabling addons (such as node-wrangler) that create keymap entries upon enabling the addon. This makes it so that duplicate items will emerge. So there are two methods that can corrupt the keymap. This still occurs on Blender 3.0.

The unfortunate reality is that anyone serious about a custom keymap (beyond a slight modifications of the default one) will sooner or later resort to manual editing of the .py file in a code editor rather than using the keymap editor in Blender because there's just way too many way too serious keymap corruption bugs :(

I don't think people are aware of the severity of this particular bug, just check the other task I mentioned and you will see that there are some serious unforseen consequences to this.

> The unfortunate reality is that anyone serious about a custom keymap (beyond a slight modifications of the default one) will sooner or later resort to manual editing of the .py file in a code editor rather than using the keymap editor in Blender because there's just way too many way too serious keymap corruption bugs :( I don't think people are aware of the severity of this particular bug, just check the other task I mentioned and you will see that there are some serious unforseen consequences to this.

Removed subscriber: @Branskugel

Removed subscriber: @Branskugel
Pratik Borhade changed title from Add-ons with keymap entries generate duplicates in keymap when creating new Keyconfig preset to Add-ons with keymap entries generate duplicates in keymap 2022-01-26 07:19:04 +01:00
Member

Added subscribers: @IihT2cWA9xiP30BsYphz3EiEISNoScoe, @filedescriptor, @twonumbers

Added subscribers: @IihT2cWA9xiP30BsYphz3EiEISNoScoe, @filedescriptor, @twonumbers

Grease Pencil Tools and Material Utilities, both bundled with Blender suffer from the same problem as Node Wrangler, I'm compiling the full list here: https://developer.blender.org/T89945

And notice, it also happens without 'Export all Keymaps' checked.

Grease Pencil Tools and Material Utilities, both bundled with Blender suffer from the same problem as Node Wrangler, I'm compiling the full list here: https://developer.blender.org/T89945 And notice, it also happens without 'Export all Keymaps' checked.

Added subscriber: @TR4

Added subscriber: @TR4

@PratikPB2123 could the duplication bugs for keymaps when exporting the keymap and enabling/disabling addons please be fixed for Blender 3.2?

@PratikPB2123 could the duplication bugs for keymaps when exporting the keymap and enabling/disabling addons please be fixed for Blender 3.2?
Member

Hello @Hologram , unfortunately I don't know the fix (not investigated yet)
it's actually a long standing bug (oldest report I found was blender/blender#45578 (Duplicate Addons Hotkeys)) so I can't guarantee that it'll get fixed sooner :)

Hello @Hologram , unfortunately I don't know the fix (not investigated yet) it's actually a long standing bug (oldest report I found was blender/blender#45578 (Duplicate Addons Hotkeys)) so I can't guarantee that it'll get fixed sooner :)

@PratikPB2123 I think I understand the cause of the issue and why sometimes addons do and sometimes do not create duplicates.
It is actually surprisingly simple in principle and related to this bug: https://developer.blender.org/T86228.

If you enable an addon, it adds a keymap entry to Blender's default keymap. Since Blender does not differentiate between keymaps during editing (it changes all keymaps globally rather than one individually) it means Blender adds a keymap item. When exporting the keymap, it exports this entry. When importing this keymap, it adds a second entry to the keymap, because Blender initially added one with the addon and that's still being processed.

On the other hand, if the addon's keymap item is removed before importing the exported keymap, it does not create a duplicate. Then, it only imports one item, since there is no other item to process. As soon as duplicates exist, they stack up when importing/ exporting.

Steps to reproduce

  1. Go to Preferences > Add-ons > enable "Material Utilities" that is bundled with Blender
  2. Go to the Keymap editor, search for "Shift + Q" and locate "Material Utilities" under the 3d view header.
  3. Export the keymap with the "All Keymaps" option checked
  4. Import the Keymap from step 3.
  5. Notice that there is a second entry for "Material Utilities"
  6. Go to Preferences > Add-on, disable the addon.
  7. Notice that there is now just one keymap entry
  8. Re-enable the addon in Preferences > Add-on
  9. Notice that this adds the second keymap entry back into the list.
  10. Go back to the default Blender Keymap, remove the single entry for "Material Utilities"
  11. Import the keymap from step 3. Notice that this adds back the keymap entry for "Material Utilities".

Keymap Duplication_Rendered0001-6234.mp4

@PratikPB2123 I think I understand the cause of the issue and why sometimes addons do and sometimes do not create duplicates. It is actually surprisingly simple in principle and related to this bug: https://developer.blender.org/T86228. If you enable an addon, it adds a keymap entry to Blender's default keymap. Since Blender does not differentiate between keymaps during editing (it changes all keymaps globally rather than one individually) it means Blender adds a keymap item. When exporting the keymap, it exports this entry. When importing this keymap, it adds a second entry to the keymap, because Blender initially added one with the addon and that's still being processed. On the other hand, if the addon's keymap item is removed before importing the exported keymap, it does not create a duplicate. Then, it only imports one item, since there is no other item to process. As soon as duplicates exist, they stack up when importing/ exporting. **Steps to reproduce** 1. Go to Preferences > Add-ons > enable "Material Utilities" that is bundled with Blender 2. Go to the Keymap editor, search for "Shift + Q" and locate "Material Utilities" under the 3d view header. 3. Export the keymap with the "All Keymaps" option checked 4. Import the Keymap from step 3. 5. Notice that there is a second entry for "Material Utilities" 6. Go to Preferences > Add-on, disable the addon. 7. Notice that there is now just one keymap entry 8. Re-enable the addon in Preferences > Add-on 9. Notice that this adds the second keymap entry back into the list. 10. Go back to the default Blender Keymap, remove the single entry for "Material Utilities" 11. Import the keymap from step 3. Notice that this adds back the keymap entry for "Material Utilities". [Keymap Duplication_Rendered0001-6234.mp4](https://archive.blender.org/developer/F12996608/Keymap_Duplication_Rendered0001-6234.mp4)

Also, for addons which have preferences to change the keymaps, duplicates can emerge when the preferences do not correspond to the keymaps. In other words, if I have preferences saved with a shortcut set to X, though I have a keymap with the shortcut set to Y, importing the latter adds the shortcut for Y. Resulting in both X and Y entries in the keymap. The keymap with Y can be created by manually changing the keymap and exporting and quitting Blender without saving the preferences.

Disabling a keymap item has the same effect, because this prevents the merger of the two and is especially apparent in modals, where they end up stacking new duplicate entries which are all enabled (each export adds 1 additional item for every disabled keymap).
For example:
afbeelding.png

But it does not happen here:
afbeelding.png

I can elaborate on all of this if needed.

Also, for addons which have preferences to change the keymaps, duplicates can emerge when the preferences do not correspond to the keymaps. In other words, if I have preferences saved with a shortcut set to X, though I have a keymap with the shortcut set to Y, importing the latter adds the shortcut for Y. Resulting in both X and Y entries in the keymap. The keymap with Y can be created by manually changing the keymap and exporting and quitting Blender without saving the preferences. Disabling a keymap item has the same effect, because this prevents the merger of the two and is especially apparent in modals, where they end up stacking new duplicate entries which are all enabled (each export adds 1 additional item for every disabled keymap). For example: ![afbeelding.png](https://archive.blender.org/developer/F12996664/afbeelding.png) But it does not happen here: ![afbeelding.png](https://archive.blender.org/developer/F12996665/afbeelding.png) I can elaborate on all of this if needed.
Member

Added subscriber: @ideasman42

Added subscriber: @ideasman42
Member

Hi, thanks for the investigation.

Not sure who is the active developer in this area. Maybe @ideasman42 ?
If so, can you share your thoughts?

Hi, thanks for the investigation. Not sure who is the active developer in this area. Maybe @ideasman42 ? If so, can you share your thoughts?

I would also like to emphasize that certain addons (e.g. Nodewrangler) currently require you to make changes to the default Blender keymap, because if you export the keymap that you edited, it adds a long list of duplicates that have the default keymap settings (from Blender's default keymap). So, in order to import a custom keymap, you have to delete all Node Wrangler entries from Blender's keymap. This is a side-effect from this bug.
But, it also means that if I exported my keymap (with the "All Keymaps" option unchecked) I am not able to import this particular input in a factory state Blender, because the default keymap would contain entries for Node Wrangler when the addon is enabled OR the custom keymap does not contain the entries, because they were created in the default keymap. This thus defeats the purpose of exporting keymaps when add-ons are involved!

  1. So, I think there should be a fix for resetting Blender's keymap to the default state, at least to make sure that anyone who has created a custom keymap is able to undo the mess that is created by all the keymap bugs.
  2. Make sure that the correct keymap items are exported (and not duplicated)
  3. Make sure to check for duplications upon importing
  4. Make sure to merge duplicates that have emerged
  5. Make sure that keymap items do not jump around as this also messes with the keymap and causes items to get lost.
  6. Have a check for the keymap when enabling/ disabling an addon, to prevent additional items from appearing, whether they are duplicates or different ones than the user specified in the Add-on's preferences.

I really do hope that all the keymap related bugs will be addressed as one, because I fear that solving a single one does not resolve the mess entirely due to their interrelatedness.

I would also like to emphasize that certain addons (e.g. Nodewrangler) currently require you to make changes to the default Blender keymap, because if you export the keymap that you edited, it adds a long list of duplicates that have the default keymap settings (from Blender's default keymap). So, in order to import a custom keymap, you have to delete all Node Wrangler entries from Blender's keymap. This is a side-effect from this bug. But, it also means that if I exported my keymap (with the "All Keymaps" option unchecked) I am not able to import this particular input in a factory state Blender, because the default keymap would contain entries for Node Wrangler when the addon is enabled OR the custom keymap does not contain the entries, because they were created in the default keymap. This thus defeats the purpose of exporting keymaps when add-ons are involved! 1. So, I think there should be a fix for resetting Blender's keymap to the default state, at least to make sure that anyone who has created a custom keymap is able to undo the mess that is created by all the keymap bugs. 2. Make sure that the correct keymap items are exported (and not duplicated) 3. Make sure to check for duplications upon importing 4. Make sure to merge duplicates that have emerged 5. Make sure that keymap items do not jump around as this also messes with the keymap and causes items to get lost. 6. Have a check for the keymap when enabling/ disabling an addon, to prevent additional items from appearing, whether they are duplicates or different ones than the user specified in the Add-on's preferences. I really do hope that all the keymap related bugs will be addressed as one, because I fear that solving a single one does not resolve the mess entirely due to their interrelatedness.

Added subscriber: @Nurb2Kea

Added subscriber: @Nurb2Kea

Added subscriber: @GeRo

Added subscriber: @GeRo

I was not aware of this bug until some shortcuts ( used by add-ons that ship with blender, and 3rd party add-ons) randomly stop working after opening Blender.
I discovered that, besides having up to 8 duplicates for all shortcuts of add-ons like f2, Node wrangler, bool tool, Machin3Tools etc., some shortcuts were just gone missing. Maybe not directly related to the duplication issue, but certainly compounding onto it.

Another thing is that when exporting keymaps, the "all keymaps" setting does not seem to work anymore either. The file sizes are exactly the same whether it is checked or not.
Looking at my keymap save archive this stopped working starting from 3.4. The 3.3 archive does have a smaller file for the one where the checkbox was turned off.

Frankly, I don't understand that a main feature like this gets neglected for years all the while the core team has been very aware of it and share the frustration (as can be read in issues that have been posted 4 years ago).

I was not aware of this bug until some shortcuts ( used by add-ons that ship with blender, and 3rd party add-ons) randomly stop working after opening Blender. I discovered that, besides having up to 8 duplicates for all shortcuts of add-ons like f2, Node wrangler, bool tool, Machin3Tools etc., some shortcuts were just gone missing. Maybe not directly related to the duplication issue, but certainly compounding onto it. Another thing is that when exporting keymaps, the "all keymaps" setting does not seem to work anymore either. The file sizes are exactly the same whether it is checked or not. Looking at my keymap save archive this stopped working starting from 3.4. The 3.3 archive does have a smaller file for the one where the checkbox was turned off. Frankly, I don't understand that a main feature like this gets neglected for years all the while the core team has been very aware of it and share the frustration (as can be read in issues that have been posted 4 years ago).

This is my workaround for this bug. It is super annoying to have to go through this, but I got really fast at it, and I don't require it that much anymore, so whatever:

  1. I keep a clean Hotkeys file outside Blender config. I also add tags to it to quickly search the text for them and find the workspace I want. This file shouldn't have the default addon hotkeys that get duplicated, but it can have any custom hotkeys that are made for these addons. If this file is really clean, it shouldn't exceed 400KB (mine is around 369KB, still not super-clean and it has a ton of custom hotkeys).
  2. Every time I want to modify any hotkey, I load that file again (so it loads without the duplicates), I add/modify the hotkeys I want, and I copy the hotkey commands that I modified to the clipboard.
  3. I export the new config to a new file.
  4. I search the new file for the command that I copied to the clipboard, then I copy it, and paste it in my initial clean file (or I modify any entry manually)
  5. I re-import the clean file after the modifications into blender.
  6. Sometimes, I need to expand the hotkey categories one by one and click on "restore" so that the hotkeys that are on the file are used and not the ones that Blender has in memory.
  7. I save preferences and restart Blender.
This is my workaround for this bug. It is super annoying to have to go through this, but I got really fast at it, and I don't require it that much anymore, so whatever: 1. I keep a clean Hotkeys file outside Blender config. I also add tags to it to quickly search the text for them and find the workspace I want. This file shouldn't have the default addon hotkeys that get duplicated, but it can have any custom hotkeys that are made for these addons. If this file is really clean, it shouldn't exceed 400KB (mine is around 369KB, still not super-clean and it has a ton of custom hotkeys). 2. Every time I want to modify any hotkey, I load that file again (so it loads without the duplicates), I add/modify the hotkeys I want, and I copy the hotkey commands that I modified to the clipboard. 3. I export the new config to a new file. 4. I search the new file for the command that I copied to the clipboard, then I copy it, and paste it in my initial clean file (or I modify any entry manually) 5. I re-import the clean file after the modifications into blender. 6. Sometimes, I need to expand the hotkey categories one by one and click on "restore" so that the hotkeys that are on the file are used and not the ones that Blender has in memory. 7. I save preferences and restart Blender.

A pretty big issue indeed. I've developed a workaround similar to @Nidhal-Flowgun. Mine uses git diff instead to keep track of what Blender actually changes between versions of keymap, as it tends to do so in an erratic fashion, and that is how I discovered the duplicate addon hotkeys.

Anyway, just want to chime in that no. 6 is also super annoying. Importing keymaps should override all keymap modifications made in the program, without users having to take that extra step to restore existing modifications - a step made even more painful by the lack of a global Restore button, which means in order to restore we have to expand all nested section one-by-one to check that there isn't changes accidentally left unrestored because they are buried deep down. This can really bite unaware users as they re-export the keymap after further modifications not knowing some hotkeys actually differ from what they believe them to be.

I've been looking into Blender's history and am truly amazed at the progress on usability the team has made. I think improving the hotkey customization UX is another area that can be very impactful as this is a rare area that benefits both beginners and power users.

A pretty big issue indeed. I've developed a workaround similar to @Nidhal-Flowgun. Mine uses git diff instead to keep track of what Blender actually changes between versions of keymap, as it tends to do so in an erratic fashion, and that is how I discovered the duplicate addon hotkeys. Anyway, just want to chime in that no. 6 is also super annoying. Importing keymaps should override all keymap modifications made in the program, without users having to take that extra step to restore existing modifications - a step made even more painful by the lack of a global Restore button, which means in order to restore we have to expand all nested section one-by-one to check that there isn't changes accidentally left unrestored because they are buried deep down. This can really bite unaware users as they re-export the keymap after further modifications not knowing some hotkeys actually differ from what they believe them to be. I've been looking into Blender's history and am truly amazed at the progress on usability the team has made. I think improving the hotkey customization UX is another area that can be very impactful as this is a rare area that benefits both beginners and power users.

my suggested solution would be to have 3 checkboxes in every keymap:

  • Export to file as a new keymap
  • Export to file as Default keymap
  • Don't Export to file

Addons default keymaps should have the "Don't Export to file". This way, they don't get added up from the file and then re-injected by the addon, avoiding the creation of duplicates.

When the Addon hotkey is modified (keymap modifications are already tracked in Blender), the checkbox automatically jumps to "Export to file as Default keymap". Addons can then be written in such a way that they check hotkeys that have this checkbox checked (tongue-twister there). If they find their command within that list, they don't re-inject the hotkey. This will allow addons to "remember" their old key config even after updating them, which improves UX by A LOT.

When a new hotkey is created, the "Export to file as a new keymap" would be checked by default. These keymaps get saved to exported keymap files, but addons don't check them, allowing them to inject their default keymap, while retaining any added keymap for the same command.

my suggested solution would be to have 3 checkboxes in every keymap: - Export to file as a new keymap - Export to file as Default keymap - Don't Export to file Addons default keymaps should have the "Don't Export to file". This way, they don't get added up from the file and then re-injected by the addon, avoiding the creation of duplicates. When the Addon hotkey is modified (keymap modifications are already tracked in Blender), the checkbox automatically jumps to "Export to file as Default keymap". Addons can then be written in such a way that they check hotkeys that have this checkbox checked (tongue-twister there). If they find their command within that list, they don't re-inject the hotkey. This will allow addons to "remember" their old key config even after updating them, which improves UX by A LOT. When a new hotkey is created, the "Export to file as a new keymap" would be checked by default. These keymaps get saved to exported keymap files, but addons don't check them, allowing them to inject their default keymap, while retaining any added keymap for the same command.
Sign in to join this conversation.
No Milestone
No project
No Assignees
13 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-addons#88518
No description provided.