I have a custom python file where I setup my keymaps like this:
kmi = km.keymap_items.new('mesh.select_linked_pick', 'LEFTMOUSE', 'DOUBLE_CLICK').properties.deselect = False
How come I can do that for Blender's default operators but NOT for my custom operators. Whenever I try it always throws an error saying whatever property I'm setting doesn't exist. For example:
kmi = km.keymap_items.new('armored.zero_vertex', 'X', 'PRESS', alt=True).properties.axis = 'X'
The operator itself does work and the custom property does affect the code correctly depending on its value (when run from blender's console
bpy.ops.armored.zero_vertex(axis='X')), it just doesn't work from the Keymap file.
Note that this keymap works if I place it in the operator's own registration function, which leads me to assume that Blender's operators get registered way before and that's why their properties are already available while the properties for my operators are not.
Both my Operator and my Keymap file are inside the startup/scripts folder, their name and order in that folder seems to be irrelevant.