When Btool addon declares its BToll_* class(Operator), it uses a bl_idname that is not recognizable by blender’s internal system.
BTool_Diff(Operator):
bl_idname = "btool.boolean_diff"
bl_label = "Brush Difference"
...
if you change:
...
bl_idname = "btool.boolean_diff"
...
into:
...
bl_idname = "object.btool_boolean_diff"
...
the shortcuts will then work. the shortcut automatically worked after I re-started blender and re-enabled the addon.
bl_idname can not contain more than one ‘.’
it also can’t have any capitalized characters
the first segment of the bl_idname indicates which system it will register itself into(For the hotkey manager).
This is why when the bl_idname is “btool.*” the hotkey doesn’t work. Because it can’t find the correct place/system to insert the hotkey.
When you change it to “object.btool_*”, it knows to insert itself into the “Object” mode of the hotkey manager. Therefore the hotkey works.
This also enables the right-click menu to show “Add/Change/Remove Shortcut” options.