Industry Compatible Keymap: Questions, suggestions and answers

@LeonardSiebeneicher
Yes shortcuts like that are impossible to trigger on a german keyboard. Shortcuts are always the basic symbol of a key plus modifiers. So you never trigger “[” on a german keyboard. Blender also recognizes it like you described it as AltGr+8.

You don’t have that many options:

  • Set it to a new shortcut yourself. You can search for the commands name aswell as the shortcut under preferences - keymap
  • Ask here for a change on blenders side.
  • Use Autohotkey. I wrote a short script for it some time ago. It’s changing to US Keyboard layout, triggers the command and switches back to your current layout. That works very well and you can trigger it with AltGr+8 or any other key you want. But that’s just a workaround if for some reason you don’t want to change the shortcuts in Blender directly but you’d need the tool running in the background.

I am glad for your answer, Debuk. It shows, at least someone cares about this problem.

if you use Autohotkey, you are probably Windows user. I guess, same problem on Windows.

Mh … I dont like to workaround with custom blender hotkeys, or fall into another workaround.
I just change to 2.80 keymap.

Yes I’m primarily working under Windows 10. And yes its not os dependent. It’s a not even a bug or something like that. It’s a common keyboard layout specific problem. So as blender is perhaps the tool with the most shortcuts out there, this problem is quite visible. For users with other keyboard layouts there’s a problem that’s not solved yet.

The correct way to solve it is to identify the usable subset for all latinbased keyboard layouts and tweak the keymap until restricts to that. I’m know that @billrey is aware of that too. Perhaps he can say something about the future of this keymap regarding that. Principally it just needs work to get there. Feel free to add good alternative shortcuts for this keymap. The more people make good proposals for some good changes the better it will get.

Your remaining problem is that “[” is used in the blender 2.80 keymap extensively too. I fear you will have to decide on tweaking your keymap or live without several hotkeys as you can’t trigger them. Having said that, though many things can be reached in other ways via menus, buttons or with the search option.

@NahuelBelich I recently updated my local version of Blender (specifically 2.81) to add that function to the Industry Keymap. I intend to submit my patch (once I figure out how to do it correctly). I edited the code, but you can simply check the “Cycle” box in the keymap.

I’ve noticed that the industry keymap is missing a few useful features that the default keymap has. I intend to update the industry keymap to reflect those new updates. I’m starting off with small changes/patches but hopefully after I get more comfortable with the code, I’ll update the keymap regularly (if not already being updated by @billrey or someone else).

1 Like

Thanks but i don’t use it, i just test it because as bfct need to know more or less how is it working and what someone that goes in blender may spec to found,
this compatibility its nice for someone that use blender now and then but the traditional blender keymap its a lot more efficient if the idea its to use blender all day long.
Good luck with that patch it would be a nice practical change have that on by default.

[ is used 15 times in Industry Compatible Keymap. ] even 33 times. Among them important operators, indispensable.

Its interesting, that [ and ] work flawlessly inside Blender in the text editor. They could be hit also in Blender Preferences. In Object Rename operator, [ and ] could be triggered flawlessly. It works on all text fields I tried so far.

Now an experiment. I installed a screencast addon, and watched how it behaves if I press different keys.
If I hit AltGr, suddenly there is an error message.


KeyError: ‘’

Same happens if I press other keys outside ‘english boundary’. Like öäüß´`é etcetera. Looks like they are forwarded as an empty string.
This problem rather looks like a bug.

Yes it’s used quite alot. Part of that is because blender shortcuts may be reused if the mouse is hovering on a different window element eg. the same shortcut can be used for different things in the outliner or in the 3d viewport.

Yes there is no problem for blender handling square brackets as text, as the square bracket is part of the text encoding and fonts blender is using. The problem for the shortcuts is a general one. Not one that is restricted to blender.

Lets say in your own 3dapplication you want to write a shortcut system. You would probably want to allow all keys on the keyboard and all combinations with modifiers.
And because of that you cant define special keys already that need a modifier to be triggered.
You allowed every key to be triggered with any modifier combination.
So you allow a shortcut with the sign “8” and all modifier combinations, among these is the AltGr+8. Your app tries to find a function for that key combo of 8 and AltGr. Do you see what I mean? Triggering squarebracket on a german keyboard would not differ in reality. You are interpreting the same thing two times differently. There is no way for an app to see if you wanted AltGr+8 or the square bracket on a german keyboard. But within a texteditor blender has just to take your keycode, take a lookup in its encoding table and it gives you the squarebracket you want.

The app gets a keycode and tries to print a sign. If its not part of the encoding or the graphical representation of the keycode is not embedded in the font you use, then maybe they are not printed.

I hope that lengthy description makes it clearer. Blender Devs just defined its shortcuts with an us keyboard layout in mind. And there the squarebracket is part of the “base” keys. On a german keyboard it is not. So you really simply just can’t trigger it.

I dont think the app would see AltGr at all. So, Situation AltGr+8 is not treated like Shift+8 (combination) but only like 8 (single char).

Playing with assign shortcut to an operator.
Shift, Control, ‘Windows-Key’ … they are supported, left and right treated the same.
Ignored keys are Menu Key and AltGr. With AltGr ignored, I cant substitute [ with a “German” combi like AltGr+8.
So I would argue, this is a Blender-speciffic bug.

Blender handles a and A not like two different chars, but like key combinations. So, its not a or A, but a and Shift+a. Putting shift on the same level like Control key or Alt key.

I think, at least, Blender should not ignore AltGr key.

Sorry, had it written down quite quick. And yes you are right AltGr is not individually assignable in the preferences. It’s a substitute for Alt+Ctrl so if you want to want to have a shortcut to react on AltGr you have to activate “Alt” and “Ctrl” plus your Basekey.

But if you still think I’m wrong here, you could write a question with reference to billrey so he gets a note on that. Perhaps he can confirm it or correct me if I’m wrong.

Mh … I am just glad, that there is awareness for AltGr issue.

Not sure Alt+Ctrl would do the job. It clashes with purpose of AltGr.

Devs are probably very busy atm. Not sure its a good idea.

To be pushed into a Workaround feels like you have to play violin with a ripsaw.

If you scroll to an earlier question of me in this thread, you can read on some comments of billrey on this topic. It’ s really known that there is a problem for other keyboard layouts. But I’m not sure when things will change regarding this. I guess this is judged as a minor issue. So as I suggested before. Coming up with some good proposals for alternative shortcuts that, fit well into the concept of this keymap might be one of best things you could do.

Good news for everyone interested in duplicating and modifying this keymap. It seems the edit mode switching via 1,2,3 is now always set up correct, not just at loading time.
See: https://developer.blender.org/T63653
@ideasman42 : Thanks alot!!

@billrey . Hi Bill, could we change the shortcuts in sculptmode for deselecting all to Ctrl-Shift+A instead of Alt+M and add an additional Ctrl+A to paint.mask_flood_fill with value 1.0 to select all? It would unify two similar or at least somehow analog functionalities for these two modeling modes. They are already sharing shortcuts like Ctrl + I and hiding things in edit mode and sculptmode correlates too. I can see no benefits it keeping their shortcuts partially separate.

1 Like

Hello,

im a new guy, and im unsure if this is a similar issue, but i have been unable to re-import my customized IC keymap back into blender, because it breaks the “ic_keymap.mesh_select_mode” option.
meaning the hotkeys 1,2,3, doesn’t work properly.

Has it now been solved? and how do I go about getting the “solved” version of the IC keymap?
Thanks.

Hi NFEX,

yes it has and you most definitely need to update your blender version. You probably have downloaded the 2.80 from here

It’s the most actual stable release.
Changes that have been made in the meantime don’t find their way back to the last stable.
So you can wait for the next stable release of the mainbranch. That will be version 2.81 coming sometime in November.
Or you can download a nightly build (experimental build). It can’t be guaranteeed this will be as stable, but most times it is.
If you want to report a bug in the future this is also the version you should download to test if it hasn’t already been resolved.

hey Debuk,

I will keep a lookout for the stable 2.81 build then.
Thanks for the response!

Ok. If you want to edit your keymap in the meantime, that will be no problem. You just have to switch back and forth between another keymap and your custom one after blender has started (every start) if you want 1,2,3 working. Not the best workaround, but its possible.

Your keymap changes won’t be lost after updating to 2.81 but the bug will be gone.

yup! i kind of figured out that workaround too, thanks for the tip!

glad to know my keymap changes wont be lost! that was something i was wondering as well.

Hello,
I am using 2.81 B 2019-11-08 and I have trouble to use the mouse scroll button for zooming.

Indeed in the Industry Compatible Keymap all the navigation requires the Alt key to be pressed. The zoom is Alt + RMB, which is right (except for the defaut direction, which is, for a strange reason, inverted by default). And basically we do all the viewport manipulations to reframe the viewport content by keeping the Alt key pressed. Or, very very often, by scrolling with the MMB for zooming, as it is the case for many users.

The thing is this way of zooming only works when no modifier keys are pressed. In other words we cannot zoom-scroll when the Alt button is pressed.
This is really annoying since most of the time when navigating we would like to avoid to think if we have to release or not the Alt key.
In Maya for example the zoom-scroll works also with the Alt key pressed.

Solution/request:
woudl it be possible to have the Zoom-scroll action with the MMB also working when the Alt key is pressed?

Thank you very much

Have you tried just activating the any button in the keymap entries. They are located in 3dview - 3dview(Global) - ZoomView. The two correct entries are the ones being mapped to Wheel In and Wheel Out.

Haven’t tested it yet. Did you? Does it break existing functionality?

Hey @billrey. Currently hard to get feedback at all. How are the plans to make this keymap more usable for common non querty keyboard layouts? I think just changing the bracket usages here would already be a big step forward.