External­Display­Brightness is a small utility which allows you to change the brightness of external displays connected to your Mac using keyboard shortcuts, just as you would change the brightness of the built-in display on a Macbook.

This is a small summer project which I did to get some practice with developing Mac apps. There are a bunch of similar projects available, but they feel hard to use and are cluttered with too many options. I wanted to make something simple which would Just Work™ and you could forget it's even there.

Installation

External­Display­Brightness supports macOS 10.13 High Sierra and newer.

To install, download the latest release, open it and drag External­Display­Brightness­.app to your Applications folder.

Usage

During the first launch, the app will request permission to use accessibility services on your Mac to listen for keyboard shortcuts. Grant the permission and relaunch the app for the change to take effect.

The app runs as a hidden agent app, silently listening for keyboard shortcuts. to access the preferences, simply launch the app again using Launchpad or any other method, and the preferences window will open. the app keeps listening for keyboard shortcuts when you close the preferences window. To completely quit the app, use the Quit button in the window.

You can customize the keyboard shortcuts for the brightness actions to any of the F1 - F20 keys or the brightness keys on the Magic Keyboard (listed as MK_BDN and MK_BUP in the preferences).

By default the application takes over the default brightness keys on a Mac keyboard, which are mapped to F14 and F15 , respectively. When pressing the keyboard shortcut in combination with Option + Shift , the brightness changes in smaller increments, just like on a real Mac.

There is also an option to control the brightness of all connected displays simultaneously, by default triggered by using the keyboard shortcut in combination with the Command modifier. This behavior is also customizable in the app's preferences.

Compatibility

External­Display­Brightness uses the DDC/CI standard commands to control the brightness of external displays. For the app to work, your display needs to support the DDC/CI standard properly. Most displays do, but there are some issues with Samsung displays (and possibly others), which do not implement the standard correctly. Unfortunately, there is not much that can be done to remedy the situation.

There are some issues with certain Mac models which freeze when attempting to read the current brightness of the external display. Because of that, reading the initial brightness of the display is disabled by default, and when changing the brightness of a display for the first time, its initial brightness is set to 50%. You can enable reading the brightness from the display in the app's preferences, but do so at your own risk.

Additionally, it seems the HDMI port on the 2018 Mac Mini does not work with the DDC/CI interface. Using an USB-C to HDMI adapter should work fine, though.