Question: On my MacPro there is one issue (and guys from Apple think this is feature...) that annoys me very much: there is a time delay between CapsLock switching. I used to do that fast. If I go to preferences and reassign caps lock to any other button and then back it works OK then, so it is not a hardware problem.

Is there any way to fix that ?

Answer: 
If you install Karabiner-Elements, it defaults to zeroing out macOS's obnoxious caps lock delay.

The version you need to install depends on your macOS version.

### macOS 10.15.6 and above

Download and install [Karabiner-Elements 13.3.0 or higher](https://karabiner-elements.pqrs.org/).

### macOS 10.11 through 10.15.5

Download and install [Karabiner-Elements 11.6.0](https://github.com/pqrs-org/Karabiner-Elements/releases/download/v11.6.0/Karabiner-Elements-11.6.0.dmg).

(Note that Karabiner-Elements 12.0.0 - 13.1.0 [re-added the Caps Lock delay](https://github.com/tekezo/Karabiner-Elements/issues/1358), and 13.3.0 isn't available on older OS versions.)

---

This is the only solution I know of that both works on 10.12 and requires nothing more than installing & running an application without any special steps or reconfigurations.
If you don't want to install Karabiner just for that, you can use `brew install --cask capslocknodelay`, it's nice lightweight and open-source tool [GitHub](https://github.com/gkpln3/CapsLockNoDelay).

Do not forget to enable it in the settings:

1. **System Preferences** -> **General** -> **Login** Items, add **CapsLockNoDelay.app** to the list.
2. **System Preferences** -> **Security** & **Privacy** -> **Privacy** -> **Accessability** -> Enable CapsLockNoDelay.app
3. **System Preferences** -> **Security** & **Privacy** -> **Input Monitoring** -> Enable CapsLockNoDelay.app (if present).