How to Keymap a Custom Operator with Properties
I believe the .axis appended to the end of the .new() constructor may be throwing your solution - it's being seen as an attribute of your keymap's properties, rather than referencing an idname for the operator which I believe is in your case
armored.zero_vertex
Here is an example of an implementation of a custom keymap applied to a hidden operator. It might be useful for reference:
The class definition surfaces the custom/hidden operator with its bl_idname
# Surfacing the Operators
# They can now be looked up via their bl_label attribute with the search function on default hotkey F3

class PREFERENCES_OT_toggle_emulate_3_button_mouse(bpy.types.Operator):
    bl_idname = &quot;preferences.toggle_emulate_3_button_mouse&quot;
    bl_label = &quot;Toggle 'Emulate 3 Button Mouse'&quot;

    def execute(self, context):
        context.preferences.inputs.use_mouse_emulate_3_button = not context.preferences.inputs.use_mouse_emulate_3_button
        return {&quot;FINISHED&quot;}

And then the keymap is applied:
km = wm.keyconfigs.addon.keymaps.new(name=idname, space_type=space_type)

kmi = km.keymap_items.new(idname, type, value, ctrl=true)

properties = kmi.get(&quot;properties&quot;)

for name, value in properties:
   setattr(kmi.properties, name, value)

keymaps = keymaps.append((km,kmi))