How to disable `Microsoft Outlook`'s keybindings in macOS

I am using Microsoft Outlook in macOS. Is it possible to disable its keybindings such as command-a for select all, since I am using that binding for something else.

Basically, I just want Microsoft Outlook to see the default keybindings that macOS using.


Please note that I am using Emacs key bindings using Karabiner.

Key Bindings (control+keys)

control+bfnp    arrow keys
control+d   forward delete
control+h   delete
control+i   tab
control+[   escape
control+m   return
control+v   page down
control+a   (Microsoft Office)  home
control+e   (Microsoft Office)  end

Solution with Karabiner

Add this to the directory ~/.config/karabiner/assets/complex_modifications as a .json file with whatever unique filename you would like.

{
    "title": "Microsoft Outlook rules",
    "rules": [
        {
            "description": "Microsoft Outlook Unmap command-A",
            "manipulators": [
                {
                    "type": "basic",
                    "from": {
                        "key_code": "a",
                        "modifiers": {
                            "mandatory": ["command"],
                            "optional": ["caps_lock"]
                        }
                    },
                    "to": [
                        {
                            "key_code": "home"
                        }
                    ],
                    "conditions": [
                        {
                            "type": "frontmost_application_if",
                            "bundle_identifiers": ["^com\\.microsoft\\.Outlook$"]
                        }
                    ]
                }
            ]
        }
    ]
}

After you do this you will need to enable the complex modification by going to Karabiner-Elements Preferences > Complex Modifications > Rules > Add and picking it from the list.

More Info and Tools

Here is a link to the documentation for writing your own complex modifications.

If you want to do this for another application you can add a regex for the bundle ID of the app to the "bundle_identifiers" JSON entry. An easy way to get the bundle ID for an app is to use my Alfred workflow. Just open Alfred and type bundle <application_name> and it will give you autocomplete results from the applications you have installed. It copies the bundle ID for the application to your clipboard.

You can also use defaults to get the bundle ID: \

defaults read <path_to_the_application>/Contents/Info CFBundleIdentifier

P.S. If you want to make your own complex modifications I would actually suggest using Goku.