Create a Bforartists Full keymap

Reiner's picture
Project: 
Bforartists Tracker

We need at one point a keymap that has best of both worlds. The controls from Bforartists, and the full keymap set from Blender. This means that the migrators from Blender have a better entry level. This means that you can follow Blender tutorials much better. You don't have to search for free hotkeys. And so on.

Status: 
Closed (duplicate)
Priority: 
Normal
Category: 
Task
Component: 
User interface
Assigned: 
Reporter: 
Created: 
Fri, 09/22/2017 - 10:38
Updated: 
Sat, 03/10/2018 - 09:50

Comments

59
Reiner's picture

Body: Old » New
Reiner's picture

Body: Old » New
Draise's picture

I'm down to building one and documenting it.

Reiner's picture

Assigned: Unassigned » Draise
Reiner's picture

Welcome aboard Draise. It's your task now. Good luck and have fun Smile

Draise's picture

After a little confusion, I need to define which would be the more popular keyboard to map to - or have the most common keys along most international keyboards needing to be considered - concluded after finding an inconsistency with Z and Y swapping around in German and English keyboards making the nice YXC becoming very weird (Y in English is two rows away up and to the right).

Other issues is using brackets [] and <> which I know have changed placed a lot even in the Americas. I will see which may be the danger keys, and carry on.

 

Reiner's picture

Yes. I was just about to open another task for the german / american keyboard issue. We are really trapped here.

EDIT, task created: https://www.bforartists.de/content/german-american-keyboard-layout-issues

Reiner's picture

Draise, just in case and as a reminder. This job here is not to reinvent the wheel. But to readd the Blender hotkeys. To lower the entry barrer for Blender users that wants to switch to Bforartists. So please stay as close as possible at the Blender keymap where you readd the hotkeys. This also makes the task much easier. You don't have to worry about the bracket keys that way. Just use the mapping that Blender uses.

The Blender keymap might be nasty here and there, but is proven and working. And many people are USED to it. It's hard enough to prevent hotkey conflicts even that way. And when you change too much then the keymap is of no use for Blender users anymore. Muscle memory ...

Yes, i have changed at it too. But really just a handful, to make the core navigation much easier. Lots of existing hotkeys are still Blender hotkeys. A to select, P for parent, and so on. I can even think aobut removing M and N for mark and clear seam, and to remap the original Blender functions here. But then we need a new home for those hotkeys. They don't have one in the Blender keymap. But are often used.

Where we could save hotkeys is imho the hotkeys to cycle through dropdown sub menus that are at top level UI anyways. There are a few crazy ones around, to cycle through the fallout settings for example. Search in Blender for cycle in the input manager, or for context, and you will see what i mean.

Draise's picture

Got it. Shouldn't take long with those limits.

The only issue is the YXC (German/Erope) for ZXC (English) or for alternative (both) XCV and remap V.

Other danger keys that shouldn't be assigned would be the ~ and / \ ' " ; : keys also. They shift around a lot in each country I've been to (around 20, haha). I am sure Blender hasn't used those, so no worries.

A proposal for D as focus is in in suggestion.

 

Reiner's picture

As suggested in the other issue, we will shift the yxc combo one button to the right, to be xcv instead. X becomes vertices select, c edge select, and v faces select. And y is not longer used. I will do this in the standard keymap now. Better said when the full keymap is done. Then we can apply the other changes too, like D for focus.

Reiner's picture

Hey Draise,

I hope you aren't too deep in the changes already. I had to fix two hotkeys again. The stroke select addon was broken. Which is definitely a overriding problem in the keymap. I haven't found the cause though. And so i ended in remapping it from i + select mouse to shift + q + select mouse. See issue here: https://www.bforartists.de/content/stroke-select-tool-add-selection

The other fix is no change in the hotkey, but the behaviour of the hotkey. You can toggle the 3d widget with Q. Unfortunately this started to flicker when you did hold the key. This is fixed here: https://www.bforartists.de/content/hotktey-q-toggle-3d-widget-flickers-b...

The current actual keymap is attached. You can of course also modify the text file with the keymap. It's in \2.79\scripts\presets\keyconfig

Draise's picture

Great, I was about to ask for the latest version.

Concerning schedule, I'm still pending. I am currently in two deadlines with clients till end of the month, thus will work dedicatedly more in November for my proposed final delivery in Dec after review.

Reiner's picture

No pressure Smile

Draise's picture

Ok, working on it now - had a bit of difficulty exporting the default blender input's to a *.py file. Know how to do this?

Changed Focus View to D.

Draise's picture

Just to let you know, I am commenting every single change I'm doing.

Reiner's picture

Documenting every step is an excellent developer habit. This is a good thing Smile

As for exporting, there is in fact just the method to export the keymap in the user preferences.

Image: 
Draise's picture

Ok, realised it wasn't exporting because I didin't modify anything, so added a new empty input to export.

Export was doing it empty, even from Blender 2.79.

Reiner's picture

Huh? shouldn't happen I-m so happy

Just curious, what keymap do you want to export?

Draise's picture

Blender default

Reiner's picture

Ah, yes. Now i see what you mean.

It's meant this way .The Blender default is all defaults. Exported keymaps just stores the differences to the defaults. And when there is no difference then you get an nearly empty file I-m so happy

Draise's picture

About 60% done. I have found a lot of floating menus that could be replaced with a new PIE menu or reassigned - and I have noted where they are and still have them commented out. I have found some conflicts, and also commented them out till I reassign something new. Once I'm done I'll post a point by point case review.

Reiner's picture

Good to hear about your progress. And yes, it remains a hells job Smile

Just to remind, don't overdo with foreign modifications. The goal is to come as close to the Blender keymap as possible. Minus the modifications that improves the keymap of course I-m so happy

Draise's picture

 
 

Completed first pass of the fusion, meaning I have the keys together, with conflicts. I will start checking conflicts now, category by category and start doing a visual map.

1. Copied all Blender defaults to BFA discounting any BFA defaults.
2. removed SHIFT+A add menu entries (commented them out or just didin't included them. )
3. Commented out any popup menu entries and tagged them for Pie menu's or to be addressed in a future date - commenting that they probably need changes
4. Changed View Active on all areas to D from NUMPAD_PERIOD/0 - Not sure if I should keep the original, making a double hotkey? 
5. Worked a bit on the DEL menus to be consistent (some from Blender ported over, but had different consistencies to BFA - needs to be double tested) and made sure there were no X shortcuts for delete. 
6. Commented each section to "Needs Work" or "Done"
7. Commented all Blender shortcuts as appended to the bottom of each category to keep it clear which is BFA and which is Blender
8. Commented out BFA shortcuts (most of them) from the Blender defaults to aid in process of eliminiation and documentation verification.
9. Added some Maya/Silo shortcuts that adds some very standard features to the Outliner (SHIFT+LClick top to bottom selects all objects inbetween, like all file explorers, focus to active shortcut, and some other standard features). These are additions, not changes. To be tested.
10. Commented out apparent obvious conflicting shortcuts to be reassigned 
11. Changed any S, G, R from Blender to W, E, R to be consistent with BFA, noted with comments.

Next step:
1. Test shortcuts in a methodological way to prevent conflicts
2. Map shortcuts graphically for documentation
3. Double check conflicting entries.
4. Remap Center Origin ALT+SHIFT+CTRL+C shortcut and any others that may have a quadruple finger combo - with revision. 
5. Test the Outliner improvements from Maya/Silo shortctus

 

 
Reiner's picture

Looks good so far. You do a great job here Smile

Commented out any popup menu entries

We have parenting and unwrapping menu still hotkeyed in the BFA keymap. They are used too often, and the popup is a real time saver. What's your suggestion here? We can of course remove this entries once the pie menu is working proper. But that's somewhere in the future. So i would vote for keeping those two popups until the pie menu is done.

Draise's picture

Yeah, I have not commented out any popup menus from the BFA shortcuts.
I think those may have to stay till there is an alternative like custom BFA pie menu's or something - those menus becoming gesture based, visual, less clicks to select, will be awesome..

Draise's picture

I'm running a little behind schedule - the testing process is a little extensive and I have to allot time out of work to do it..busy time of year! 

Reiner's picture

No rush. It's done when it's done Wink

Draise's picture

D to "look at active item" in Outliner (previously NUMPADPERIOD) conflicts with Blenders D add driver.

Reiner's picture

Yeah, this unfunny hotkey conflicts are unfunny sometimes I-m so happy

We have two options here. Leave the "look at active item" hotkey at the numpad zero (period was the Blender hotkey, i had remapped it to Numpad zero). Or remap add driver to another hotkey.

By coincidence Numpad Zero is now free. I am just not sure if it's a good idea to have this add driver hotkey asides the hotkey to switch to camera view. This cries for accidents. And to remap camera view to zero would make more sense anyways. So add driver could end at numpad period in this scenario.

What could make the decision easier is to have a look what is used more often, and what is comfortable in the end. And i would say you center the view more often than you add a driver by a hotkey. Plus we had the add driver hotkey removed in the Bforartists keymap.

What do you think? Smile

 

Draise's picture

 
 

I think D for view Active should be consistent even in outliner, yes, and the CTRL+D would be best for adding driver throughout the whole of BFA. One frustration with Blender is that I've had issues where I was accidentally adding drivers with normal keyboard use everywhere, without knowing. Another alternative CTRL+SHIFT+D could be used to remove. Similar to the object selection add/remove standard just with added D for the driver. I am not a fan of any shortcuts on the numpad, the view system there is ok.. but I hardly use them (due to needing to reach over with one hand or the other, away from mouse, away from comfort).

What do you think? I think part of this task will mean me going through the whole documentation making sure it's all consistent and with the correct graphics. 

 

 
Reiner's picture

I am green with this solution. Just take care for possible hotkey conflicts. I think i have seen the key combo Ctrl D already in the input manager somewhere.

And as told, camera view could go back to Numpad Zero when we remove the View Active from there Smile

Draise's picture

 
 

Ok, only 4 entried for driver adding that needed to be changed, it is now officially CTRL+D to add driver.

I have decided to upload my first version of the shortcuts.

Changes in general:
-Commented which section is pretty much done and which needs work
-Appended all blender shortcuts to bottom of each section to make sure it's clear what is BFA's default and what is Blenders
-Changed View Active/Selected/Focus to D  instead of NUMPAD0 or NUMPADPERIOD
-Changed D for add driver to CTRL+D
-Changed ZXC selection set to XCV for international keyboard layouts.
-Included all Blender 2.78 shortcuts I could find
-Commented and fixed some BFA consistencies.
-Commented out obvious conflicts
-Commented out X for delete
-Added the VSE Transform Addon fix
-Added some Outliner funciontality from MayaSilo Input map (with some commented out)
-Called floating menus are relatively commented out, but noted to be resolved with a BFA pie menu or some other solution. Those already included with BFA have been commented (from what I could tell) for note of future releases.

These have not been extensively tested, comments are also not the cleanest most organized, but I'm currently testing them now as I work on another animation deadline for the 29th. I then go on holiday and get back to work mid Jan. I think I could finish testing in mid/end February and finetune it all, but this version.. shoooould be functional (albeit with bugs and possible conflicts.)

 

 
Draise's picture

 
 

Update:
Before trying out Lclick solution for the timeline/grapheditor/dopesheet/nla/sequencer I used this. I did some small fixes.

I plan to create a new task to test out shortcuts in all the views to make sure nothing is conflicting with Blender and BFA shortcuts. The list is..and has been too daunting to test as a whole.. so best divide it into chunks. I'll keep this task open till I finish the testing and fixes. I will keep the Rclick/Lclick system of BFA for the timeline, but I'll keep the Lclick/Rclick workflow I started developing commented in. 

Question, should I comment in all the floating menus that have been commented out? I don't recall if they all were activated again in the next release.

This version does not have the transform.transform + modal fix for the transform.translate/transform.rotate/transform.resize no longer registereing in the new builds. I will post a new bug on that.
 

 
Reiner's picture

Comments are of course welcome. But they will most probably be gone when somebody exports the keymap. Means comments are just for you personal useage here.

The important part is what arrives in the Input manager.

Draise's picture

Yehp, and review with you all.

Reiner's picture

Hard to check all hotkeys. We will most probably stumble across the baddies by coincidence and user feedback Smile

Reiner's picture

Looking good so far.

This one is missing: https://www.bforartists.de/content/missing-hotkey-inverse-weightpaint-se...

I had fixed it before two days Smile

Reiner's picture

Ah, found two missing hotkeys. Roll Left and Roll Right.

May i suggest to go through the menus and have a look for missing hotkeys? Blender has nearly everything hotkeyed. And when there is a gap ... Smile

Image: 
Draise's picture

Yep.  I can do.  As I go through conflicts as I am doing now, I'll add the step of double checking the Blander list.  One map group by one.

Comparing those menus makes me... freak out and calm at the same time. Bfa for the win!

Reiner's picture

Um, you have some baddies in the keymap ...

Image: 
Reiner's picture

You have two double entries for View Selected. The ones with Numpad . can be removed from what i can see here.

Image: 
Draise's picture

Good catch.  Between 4 labour contracts and this,  I've only managed one pass on the code! I'll get to it.... eventually.

Thanks for taking a look. 

Reiner's picture

Sometimes real life is really disturbing I-m so happy

Draise's picture

Oh, the baddies - by the way - are due to an addon, which were not adding those shortcuts, so to make it compatible with the VSE Transform tool I had to add those. They also may have something to do with other VSE addons that are included with BFA that I have activated. These errors show when those specific addons are not activated.

But..I know how you feel on the VSE.. =/ 

Should I just remove those entries as a default? Or can we have those addons activated by default? They make the VSE that much more feature rich and useful by default.

Reiner's picture

To make those addons activated by default means *somebody* needs to write a startup.blend file, and compile Bforartists with this new startup.blend then.

You know me right. I will definitely not do that Biggrin

The addon is deactivated by default. And so the default entries should also not list them. Doesn't those addons have proper menu entries?

Draise's picture

I can do that if you'd like. I will make a new tracker issue for that.

Draise's picture

Onward with checking. Decided to allow real work time to this, but limited, but focused. Otherwise.. I would go nowhere working here and there..so maybe 2 hours of my dedicated work week to get this done with some others for publicity. So far so good. Quarter way through the check.

Reiner's picture

So, what's the current status? We might need this keymap at one point I-m so happy

Draise's picture

40%

Current issue is the grease pencil and view focus conflict that has it stalled.

 

Draise's picture

Ok, I think I need to clarify the status of this...

Merge with Blender and BFA defaults based off 0.9.6 and Blender 2.79:
100%

Conflict Revision to test compatibility with Blender hotkeys and BFA Hotkeys:
Status: 45%

Conflict Revision with BFA Standard Hotkeys
Status: 3 conflicts - one potentially resolved with other two still in debate and postponed.

Reiner's picture

What do you mean with potentially resolved? When it's closed as fixed then it's fixed Smile

And postponed? I guess you mean the tasks that i postponed since this is a task for the experimental keymap, right?

Draise's picture

Well the 3 conflicts are tied together, so if one is fixed (CTRL+F for Weight Radius), the standard map still contains the same conflicts from the other two (View Selected and Grease Pencil and the debated solutions). Meaning the current fix may need to be changed with an official fix to the other conflicts. The solution to all three shouldn't just be experimental, but official. No?

We can solve all three issues to the standard map by implementing an official fix at once: SHIFT+Lclick tweaks for radius controls for two brush feature sets with less clicks, less hotkey combos to remember (currently you need 3 different hotkey combos to change the brush attributes strength, weight and size + click to apply) and more standard workflow with other artistic and popular software. Mentioned here:

Reiner's picture

Draise, you don't fix the flaws, you implement more and more of them. You started a chain reaction here. This "fixing" by you is a task for the experimental keymap. There you can break what you want. But not in the official keymaps please.

Reiner's picture

Just curios, how many of your glorious fixes have you already implemented into the full keymap?

Draise's picture

Look, the chain reaction can only go so far, and was to be expected, which is my job.. fix conflicts and move hotkeys around principally in the Blender hotkeys to fix any conflict. You said so yourself. I just happen to have discovered issues in the default BFA hotkeys which were in the standard minimalized hotkeys and I created tasks (and possible) solutions to get them fixed. It would be nice if you trust me to be in the best interest of this software and eventually get to the end goal.

Only changes to Standard according to tasks (and you have already implemented most of them already with your local copy in the branch):

  1.  D for focus - now reverted to Numpad_0
  2.  WER transform.transform code to fix transform.translate/rotate/scale (which was broken after factory reset and Blender update)
  3.  CTRL+Lclick for Lasso select
  4. CTRL+F to fix Weight Radius in Weight Paint mode
  5. VSE fixes for transform addon (added lines and fixed a conflict)

Nothing else. I respect that. These are all in the tasks created and closed, if there IS anything, it's heavily commented with what and why ready for your final review after I'm done. I'm not out of control nor crazy nor revolutionary.. jeepers.. I keep everything I do open and open to debate and/or review.

Concerning my versioning system - which I have decided to also include here from now on - I'll explian below:

  • Version 0.8 is the one with the standard keymap and 30-40% checked full map, nothing else changed - needs the CTRL+Lclick and D to Numpad0 revert to be applied - also contains commented out potential fixes for Lclick in animation workflow experiments, but commented out.
  • version 0.8.1 is a fix trying to find a way to make focus and view select work together over D, using ALT+D, fail, added 10% check
  • version 0.8.2 is moving the F radius to R and D to F tried to make it work to avoid conclits, in turn found conflcits, fixed some issues, fail ultimately
  • version 0.8.3 is the SHIFT+Lclick to fix D to F and radius conflicts in a number of areas - improve the workflow in standar, removed conflcits in standard, success - waiting on approval, added 5% check, will revert changes from here to build 0.9 to finish check.
  • version 0.6.1 is the Lclick experimental map, but failed and reverted back to 0.6, now long gone and the check is now at version 0.8 at 45% check - could be revisisted on newer versions.
     

Ultimately, the versions with 3 digits X.X.X are experimental maps and the versions with two digits X.X is the one I'm working on till final release of X, the end goal. End goal will not include experimental maps till you have approved the tasks they implement.

Currently I'm hoping you accept a solution I've spent more than a few hours figuring out and investigating and testing and writing and debating with you. 

This is volunteer work, and I have a number of deadlines and other jobs on paying work, and a studio with a handful employees to run on the side where this is a task I'm doing out of love, and this is BE FOR ARTISTS, you gotta let some creativity fly. Trust me, I'm trying to work WITH YOU.

Reiner's picture

Draise, i do this at volunteer base too. And i am as frustrated as you at the moment. So that's not the point. It's about how to reach the goal.

You do step 10 before step 1 is done. Step 1 is to port the Blender hotkeys. They are bullet proof. They work. The creative part, where you are so eager to change the keys to something better is a task for the experimental keymap then. And when they work in that experimental keymap, then we can port it to the standard keymaps. First make it working. Then improve it.

This applies to all development areas. I would also have loved to toy around with the button positions in the tool shelf in the first place. But you need to clean up the menus first, then you need icons, and so on. And now, after two and a half years, i can finally start to toy around with best positions of the buttons. And same counts for the keymap. It helps nothing to have a great but flawed keymap. First we need a working base.

To do step ten before one makes us double work. Please learn from the D key issue. There is a reason why i had to reassign it to Numpad 0. My mistake was that i trusted you too much here. The conservative way to first make it first working may look the longer one. But it is in real the shorter one.

davis's picture

I agree to having a blender keymap as pure as possible will specially help beginning users, since basically all Blender tutorials can apply to BfA without a problem. -  At the beginning it was a bit frustrating to always have to "translate" key commands or finding them missing and looking for the right button. Not a problem anymore for me, but for the beginner user experience this would be quite helpful I believe. - Just like Blender offers a Maya or 3dsmax Keymap.

But there is definetely room for improvement on the official BfA keymap, this requires some testing and a consencus to what is best for all audiences from beginner to pro. - A BfA keymap with the Blender shortcuts integrated where possible and a development keymap for experiments sounds like a good way to go. The proven shortkeys from the test map can then be integrated into the BfA keymap to grow it into a solid user interface.

We should also try to get some more feedback from other users, after all there seem to be quite a few people using BfA already, but there is not much feedback from them regarding usability unfortunately.

Reiner's picture

Ported to the Github tracker. Closing.

Reiner's picture

Status: Active » Closed (duplicate)