Keymap conflict detection operator.

Takes into account the hierarchical structures of keymaps as well as wildcards (KM_ANY) in event definitions, user remaps (emulate numpad, action/select mouse buttons, ...) and event values that overlap (click, press and release)

For now, doesn't do anything other than print conflicts in the console.

As a result, I cleaned up a lot of keymaps that had double definitions, moved some keymap items in more appropriate places, fixed wrong definitions and removed kmi that were added for testing a long long time ago.

Out of all the remaining conflicts, after removing obvious non-issues, here's what remains: http://www.pasteall.org/9898
This commit is contained in:
2009-12-17 22:14:43 +00:00
parent 66c3ae5c34
commit 62639a55d9
15 changed files with 197 additions and 63 deletions

View File

@@ -288,5 +288,16 @@ void RNA_api_keymap(StructRNA *srna)
RNA_def_property_flag(parm, PROP_REQUIRED);
}
void RNA_api_keymapitem(StructRNA *srna)
{
FunctionRNA *func;
PropertyRNA *parm;
func= RNA_def_function(srna, "compare", "WM_keymap_item_compare");
parm= RNA_def_pointer(func, "item", "KeyMapItem", "Item", "");
RNA_def_property_flag(parm, PROP_REQUIRED);
parm= RNA_def_boolean(func, "result", 0, "Comparison result", "");
RNA_def_function_return(func, parm);
}
#endif