Hotkeys conflict between Shader Nodes, Compositing Nodes, GeoNodes and Texture Node Editor. #93403

Open
opened 2021-11-26 12:30:42 +01:00 by Oxicid · 18 comments

System Information
Operating system: Windows-10-10.0.17763-SP0 64 Bits
Graphics card: NVIDIA GeForce GTX 1050 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 471.68

Blender Version
Broken: version: 2.93.6, branch: master, commit date: 2021-11-16 14:54, hash: c842a90e2f
Worked: (newest version of Blender that worked as expected)

Short description of error
I have hotkeys on frequently used nodes in shader editor. When I switch to Compositing, first of all I have hotkeys already assigned to similar nodes (I did it in shader editor, but they are automatically assigned in compositing). Secondly, I get an error in Compositing - Not a shader or geometry node tree.

Exact steps for others to reproduce the error

  1. Apply the "I" button to the "Invert" node in the shader editor
  2. Switch to Compositing or Texture Node Editor
  3. Call the invert node with the I button

You get the following error

Python: Traceback (most recent call last):

File "D:\BF_daily_build\2.93.0\blender-2.93.7-candidate+v293.4ec6cc412d7f-windows.amd64-release\2.93\scripts\startup\bl_operators\node.py", line 138, in invoke
  result = self.execute(context)
File "D:\BF_daily_build\2.93.0\blender-2.93.7-candidate+v293.4ec6cc412d7f-windows.amd64-release\2.93\scripts\startup\bl_operators\node.py", line 129, in execute
  self.create_node(context)
File "D:\BF_daily_build\2.93.0\blender-2.93.7-candidate+v293.4ec6cc412d7f-windows.amd64-release\2.93\scripts\startup\bl_operators\node.py", line 92, in create_node
  node = tree.nodes.new(type=node_type)

RuntimeError: Error: Cannot add node of type ShaderNodeInvert to node tree 'Geometry Nodes'

Not a shader node tree

location: <unknown location>:-1

https://archive.blender.org/developer/file/12282/12282119/bandicam_2021-11-26_16-53-56-020.mp4
https://archive.blender.org/developer/file/12271/12271877/Node_Conflict.blend

**System Information** Operating system: Windows-10-10.0.17763-SP0 64 Bits Graphics card: NVIDIA GeForce GTX 1050 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 471.68 **Blender Version** Broken: version: 2.93.6, branch: master, commit date: 2021-11-16 14:54, hash: `c842a90e2f` Worked: (newest version of Blender that worked as expected) **Short description of error** I have hotkeys on frequently used nodes in shader editor. When I switch to Compositing, first of all I have hotkeys already assigned to similar nodes (I did it in shader editor, but they are automatically assigned in compositing). Secondly, I get an error in Compositing - Not a shader or geometry node tree. **Exact steps for others to reproduce the error** 1) Apply the "I" button to the "Invert" node in the shader editor 2) Switch to Compositing or Texture Node Editor 3) Call the invert node with the I button You get the following error ``` Python: Traceback (most recent call last): File "D:\BF_daily_build\2.93.0\blender-2.93.7-candidate+v293.4ec6cc412d7f-windows.amd64-release\2.93\scripts\startup\bl_operators\node.py", line 138, in invoke result = self.execute(context) File "D:\BF_daily_build\2.93.0\blender-2.93.7-candidate+v293.4ec6cc412d7f-windows.amd64-release\2.93\scripts\startup\bl_operators\node.py", line 129, in execute self.create_node(context) File "D:\BF_daily_build\2.93.0\blender-2.93.7-candidate+v293.4ec6cc412d7f-windows.amd64-release\2.93\scripts\startup\bl_operators\node.py", line 92, in create_node node = tree.nodes.new(type=node_type) RuntimeError: Error: Cannot add node of type ShaderNodeInvert to node tree 'Geometry Nodes' Not a shader node tree location: <unknown location>:-1 ``` https://archive.blender.org/developer/file/12282/12282119/bandicam_2021-11-26_16-53-56-020.mp4 https://archive.blender.org/developer/file/12271/12271877/Node_Conflict.blend
Author

Added subscriber: @Oxicid

Added subscriber: @Oxicid
Oxicid changed title from Hotkeys conflict between Shader Nodes, Compositing Nodes and Texture Node Editor. to Hotkeys conflict between Shader Nodes, Compositing Nodes, GeoNodes and Texture Node Editor. 2021-11-26 12:31:55 +01:00
Author

The following categories should be added to the hotkeys settings, to avoid conflicts between hotkeys image.png

The following categories should be added to the hotkeys settings, to avoid conflicts between hotkeys ![image.png](https://archive.blender.org/developer/F12271978/image.png)
Member

Added subscriber: @PratikPB2123

Added subscriber: @PratikPB2123
Member

Changed status from 'Needs Triage' to: 'Needs User Info'

Changed status from 'Needs Triage' to: 'Needs User Info'
Member

Hi, thanks for the report. I am not able to reproduce this on master and 2.93.7 (4ec6cc412d7f)

To reproduce the error. Could you please provide exact reproducing steps? I manually changed the shortcut. Not sure if I understand the use of py script.

Can you reproduce this issue with factory settings?: {nav File > Defaults > Load Factory Settings}

Hi, thanks for the report. I am not able to reproduce this on master and 2.93.7 (`4ec6cc412d7f`) To reproduce the error. Could you please provide exact reproducing steps? I manually changed the shortcut. Not sure if I understand the use of py script. Can you reproduce this issue with factory settings?: {nav File > Defaults > Load Factory Settings}
Author

In #93403#1260503, @PratikPB2123

bandicam 2021-11-26 16-53-56-020.mp4

{nav Shading > Ctrl+A > Color > Invert > right mouse button > Assign Shortcut > I}

Now everything will work fine in the shading mode, but in other node editors, when you press "I" you will get an error.

PS. And the .py file is not a script, but saved hotkeys

> In #93403#1260503, @PratikPB2123 [bandicam 2021-11-26 16-53-56-020.mp4](https://archive.blender.org/developer/F12282119/bandicam_2021-11-26_16-53-56-020.mp4) {nav Shading > Ctrl+A > Color > Invert > right mouse button > Assign Shortcut > I} Now everything will work fine in the shading mode, but in other node editors, when you press "I" you will get an error. PS. And the .py file is not a script, but saved hotkeys
Member

Changed status from 'Needs User Info' to: 'Confirmed'

Changed status from 'Needs User Info' to: 'Confirmed'
Member

Hi, thanks for clarifying. Can confirm now :)

Hi, thanks for clarifying. Can confirm now :)

Agree that each of the node editors should have their own set of shortcuts, even if it means duplicating the shortcuts for the nodes that do work across different editors.

Agree that each of the node editors should have their own set of shortcuts, even if it means duplicating the shortcuts for the nodes that do work across different editors.
Philipp Oeser removed the
Interest
User Interface
label 2023-02-10 09:22:42 +01:00

i am not able to reproduce the issue , has this been patched already ?

i am not able to reproduce the issue , has this been patched already ?

@ravikul-rao I believe contributions to this are still welcome. If you get a chance to work on this remember to refer to this issue, so people following it can help with testing.

@ravikul-rao I believe contributions to this are still welcome. If you get a chance to work on this remember to refer to this issue, so people following it can help with testing.

Hello! Is anyone working on the problem? I would take it upon myself to solve it.

Hello! Is anyone working on the problem? I would take it upon myself to solve it.

Hi! I have a solution to the problem, but it seems a bit ugly to me. How can we discuss the code?

Hi! I have a solution to the problem, but it seems a bit ugly to me. How can we discuss the code?
Member

@arevkov hi, if you've a PR ready then feel free to submit it: https://wiki.blender.org/wiki/Tools/Pull_Requests
Discussion can happen there.

@arevkov hi, if you've a PR ready then feel free to submit it: https://wiki.blender.org/wiki/Tools/Pull_Requests Discussion can happen there.

Is the task relevant?

Is the task relevant?
Contributor

Guys, please don't. It's already borderline impossible to maintain any other than default keymap and this pushes it beyond point. The amount of keymap entries for node editor is already insane, and quadrupling it is beyond insanity. What Blender gravely needs is unification of shortcuts, not going in opposite direction.

Agree that each of the node editors should have their own set of shortcuts, even if it means duplicating the shortcuts for the nodes that do work across different editors.

@dfelinto I am honestly curious here. What made you conclude that instead of a simple check whether node can be added in given node editor context, the best course of actions would be to add 246 new keymap entries? (Default keymap has currently 82 entries for node editor). I can't imagine you've considered how difficult it already is to make a custom keymap for Blender, and this change would quadruple that difficulty for node editor section.

Especially given that what changes between node editor modes are just the nodes. Here's a very obscure use case of someone having hotkeyed specific nodes. The solution to such obscure use case should not have devastating effect on keymap customization. I really want to know your thought process here.

Guys, please don't. It's already borderline impossible to maintain any other than default keymap and this pushes it beyond point. The amount of keymap entries for node editor is already insane, and quadrupling it is beyond insanity. What Blender gravely needs is unification of shortcuts, not going in opposite direction. > Agree that each of the node editors should have their own set of shortcuts, even if it means duplicating the shortcuts for the nodes that do work across different editors. @dfelinto I am honestly curious here. What made you conclude that instead of a simple check whether node can be added in given node editor context, the best course of actions would be to add 246 new keymap entries? (Default keymap has currently 82 entries for node editor). I can't imagine you've considered how difficult it already is to make a custom keymap for Blender, and this change would quadruple that difficulty for node editor section. Especially given that what changes between node editor modes are just the nodes. Here's a very obscure use case of someone having hotkeyed specific nodes. The solution to such obscure use case should not have devastating effect on keymap customization. I really want to know your thought process here.
Author

@Rawalanche In some ways you are right, perhaps we should leave the global keys in place, and only have custom hotkeys displayed in separate tabs.

Now the solution is to write a script yourself, so that it adds this or that node by context.

@Rawalanche In some ways you are right, perhaps we should leave the global keys in place, and only have custom hotkeys displayed in separate tabs. Now the solution is to write a script yourself, so that it adds this or that node by context.

@dfelinto I am honestly curious here. What made you conclude that instead of a simple check whether node can be added in given node editor context, the best course of actions would be to add 246 new keymap entries?

Existing keymap entries would not be duplicated but stay in a common node editor keymap. There would be additional, initially empty keymaps for custom shortcuts per node type. But that still has design challenges for user keymap editing, as I mentioned in the PR.

> @dfelinto I am honestly curious here. What made you conclude that instead of a simple check whether node can be added in given node editor context, the best course of actions would be to add 246 new keymap entries? Existing keymap entries would not be duplicated but stay in a common node editor keymap. There would be additional, initially empty keymaps for custom shortcuts per node type. But that still has design challenges for user keymap editing, as I mentioned in the PR.
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
7 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#93403
No description provided.