# Key Promoter X: An IntelliJ Plugin That Turns Repeated Mouse Clicks Into Shortcut Lessons

> Key Promoter X watches the mouse clicks you make in IntelliJ-based IDEs and shows the keyboard shortcut you could have used instead. It is a small, BSD-3-Clause Java plugin, last pushed on 2026-07-05, aimed at developers who want to stop reaching for the mouse.

**halirutan/IntelliJ-Key-Promoter-X** — Modern IntelliJ plugin to learn shortcuts for buttons

- Repository: https://github.com/halirutan/IntelliJ-Key-Promoter-X
- Stars: 3,069 · Forks: 77
- Language: Java
- License: BSD-3-Clause
- Published: 2026-09-24 · Updated: 2026-09-24 · Language: en
- Canonical page: https://hysenlabs.com/projects/halirutan-intellij-key-promoter-x

## The gap between knowing a shortcut exists and actually using it

Most developers can recite a handful of IntelliJ shortcuts and still reach for the mouse on the other fifty. The reason is not laziness. A shortcut you never see in context does not stick, and documentation pages listing hundreds of key bindings are read once and forgotten. Key Promoter X targets exactly that gap. It is a plugin for IntelliJ-based IDEs such as IntelliJ IDEA, Android Studio, and CLion, and its job is narrow: when you click something with the mouse, it tells you the keyboard shortcut you could have used instead. The audience is therefore developers who already work in these IDEs daily and want to reduce mouse use, not people evaluating an editor for the first time. The README frames the goal as replacing repetitive mouse actions gradually, which is a realistic promise. Nobody learns a keymap in one afternoon, and a tool that nudges you at the moment of the click fits how habits actually form.

## How Key Promoter X detects an action behind a mouse click

The mechanism rests on IntelliJ's own action system. According to the README, when you click something with the mouse, the plugin tries to detect whether that click triggered an IntelliJ action. If it did, and the plugin can identify the corresponding ActionID, the event is recorded. That identifier is the pivot: an action with a known ActionID and an existing key binding produces a notification showing the action name, for example Open Settings, together with its shortcut. The same click also lands in the plugin's statistics tool window.

When an action has an ActionID but no shortcut assigned, the click is still recorded. Depending on your settings under Settings | Tools | Key Promoter X, the plugin can then suggest creating a shortcut once the same action has been invoked a configurable number of times. This is the part that goes beyond a cheat sheet: it lets you bind actions the IDE never shipped a default key for.

The README is explicit about the boundary. Some mouse interactions cannot be inspected reliably even when they do trigger behavior in the IDE, and in those cases no hint appears. Certain buttons inside tool windows are named as an example. That is a real ceiling on coverage, and it follows from the design. The plugin is not intercepting raw mouse events and guessing intent. It is asking the platform whether a click mapped onto a registered action, and when the platform does not expose that mapping, Key Promoter X has nothing to work with.

## Installing Key Promoter X and reading your first notification

Installation goes through the IDE, not a build file. The README points to Settings | Plugins | Marketplace, where you search for `Key Promoter X`. There is no command line step and no manual JAR download described in the README, so the marketplace path is the one to follow.

Once installed, the plugin needs no configuration to start working. Click a toolbar button or a menu entry and a notification appears through the IDE's built-in message framework, showing the action name and its shortcut. The README describes the notifications as non-intrusive, and they are delivered through the platform's own message system rather than a custom overlay.

If you want to tune the frequency before it gets noisy, the settings live under Settings | Tools | Key Promoter X. The two counters worth knowing are described in the README as follows.

```text
Clicks before notification is shown
Number of invocations before suggesting to create
```

With `Clicks before notification is shown` set to 2, every second click shows a notification, which is the README's own example. The second setting controls how many times a button without a shortcut must be clicked before the plugin offers to create one. Raising both values is the simplest way to keep the plugin present without it interrupting every action.

The plugin also adds a tool window on the right side of the IDE. That window holds your missed shortcuts, ordered by how often you missed each one, plus a list of suppressed items. After a day of normal work, that ordering is the useful output: it tells you which three or four shortcuts would save the most keystrokes, rather than presenting an alphabetical keymap.

## Suppressing tips and the All Buttons trade-off

Not every mouse action deserves a shortcut, and the plugin accounts for that. Clicking Don't show again in a notification moves the shortcut to a suppressed list below the statistics in the tool window, and double-clicking an entry there reactivates it. The README also notes that you can clear statistics entirely, snooze notifications until the next IDE restart, or re-enable them sooner.

The settings panel has two switches that change behavior in ways worth thinking about. Show only keyboard shortcuts prevents notifications for mouse shortcuts, and the README gives Go to declaration as the example: that action can be invoked with a mouse gesture, so this option keeps only true keyboard bindings in the tips. Disable in presentation or distraction free mode turns the plugin off when you are presenting or explicitly do not want to be disturbed, which matters because a notification popping up during a screen share is worse than a missed learning opportunity.

The Enable for setting controls which buttons may show a tip, and here the README is candid about a trade-off rather than hiding it. The All Buttons checkbox will try to capture as many mouse clicks as possible, even when you are not pressing a real button. The documented example is holding Ctrl and clicking a Java method to jump to its declaration, which can also be done with Ctrl+B. That behavior is arguably correct, since Ctrl+click is a genuine mouse alternative to a shortcut, but it also means the plugin can comment on interactions you never thought of as button presses. If the tips feel too frequent, narrowing Enable for is the lever, not turning the plugin off.

## Where Key Promoter X stops being the right tool

The clearest limitation is the one the README states outright: mouse interactions that cannot be inspected reliably produce no hint at all, and certain buttons inside tool windows fall into that category. If your daily work leans on custom UI or third-party tool windows whose buttons are not registered as platform actions, a meaningful share of your clicks will go unremarked, and the statistics will understate what you actually do with the mouse.

There is a second limit that is structural rather than documented. The plugin only sees actions inside IntelliJ-based IDEs. Work done in a terminal, a browser, a standalone editor, or a database client is invisible to it, so a developer whose day is split across several applications will get a partial picture at best.

A third case is fit rather than failure. For someone still learning the IDE, a stream of shortcut suggestions competes with the basic navigation they are trying to absorb. The plugin assumes you already have a mental model of what the actions do and only lack the key binding. Install it before that point and the notifications become noise you learn to dismiss, which is the opposite of the intended effect. The snooze and Don't show again controls exist for a reason, but suppressing everything defeats the purpose.

## How it compares with a printed keymap or the IDE's own keymap reference

The obvious alternative is IntelliJ's built-in keymap reference and the various printable shortcut sheets that circulate online. The difference in approach is timing. A keymap lists shortcuts by category, in an order chosen by whoever wrote it, and you consult it when you already suspect a shortcut exists. Key Promoter X inverts that: it fires at the moment you perform the slow version of an action, and it names the specific shortcut for the thing you just did. That contextual delivery is the whole product.

The trade-off is coverage and control. A keymap covers every binding the IDE ships with, including ones you have never triggered, and it costs nothing to consult. Key Promoter X covers only clicks it can attribute to an ActionID, and it decides when to speak. It also does something a static reference cannot: it counts. The statistics tool window ranks missed shortcuts by frequency, which turns an unordered list into a priority order derived from your own behavior.

A second alternative is simply remapping keys yourself and relying on muscle memory, but that assumes you already know which actions are worth binding. The plugin's suggestion to create a shortcut for an action that has none, after a configurable number of invocations, addresses that specific problem, and it is the feature with no real equivalent in a printed reference.

## Licence, maintenance and what upgrading involves

The project is licensed under BSD-3-Clause, a permissive licence that allows use and redistribution provided the copyright notice and licence text are retained. That is permissive enough for ordinary plugin use, but it is not legal advice, and anyone redistributing the code or bundling it into a product should read the LICENSE file in the repository rather than rely on a summary.

Maintenance signals are straightforward. The repository is not archived, and the last push was on 2026-07-05. Releases track the IntelliJ platform's versioning: v2026.1.0, v2026.1.1, and v2026.1.2, the last of which was published on 2026-07-05. That naming suggests releases are aligned with platform versions rather than shipped on an independent schedule, which is typical for IDE plugins because a new platform release can break an old plugin.

Upgrade cost is therefore mostly the IDE's problem, not yours. When you update IntelliJ, the plugin either remains compatible or it does not, and the marketplace handles the version matching. There is no server component, no database, and no configuration file to migrate. Your statistics and suppressed list live inside the IDE, and the README notes you can clear statistics and start fresh from the tool window, which is also the recovery path if the data ever looks wrong after an upgrade.

## Conclusion

Adopt Key Promoter X if you already know your way around IntelliJ and keep catching yourself clicking toolbar buttons or menu items you could reach with a key combination. Skip it if you are new to the IDE, because the notifications will compete with everything else you are still learning, or if you work mostly in a terminal or an editor outside the IntelliJ platform, since the plugin only sees actions inside those IDEs. Before installing, check the Enable for settings and decide whether All Buttons is too broad for you, because it captures clicks that are not really buttons, such as Ctrl+click on a Java method. Then verify your IDE version against the plugin listing, set Clicks before notification to 2 or 3 rather than 1, and open the Key Promoter X tool window after a day of work to see which missed shortcuts rank highest.

## FAQ

### What does Key Promoter X actually do when I click with the mouse?

It tries to detect whether the click triggered an IntelliJ action and, if it can identify the ActionID, records the event. When the action already has a shortcut, a notification shows the action name together with the keyboard shortcut you could have used.

### Can Key Promoter X create a shortcut for a button that has none?

Yes. If an action has an ActionID but no shortcut, the click is still recorded, and depending on your settings under Settings | Tools | Key Promoter X the plugin can suggest creating a shortcut after the action has been invoked a configurable number of times.

### Why does Key Promoter X sometimes not show a shortcut tip?

The README states that some mouse interactions cannot be inspected reliably even when they trigger behavior in the IDE, and that this can happen with certain buttons inside tool windows. In those cases the plugin cannot provide a shortcut hint.

### How do I stop Key Promoter X from showing a tip for one specific action?

Click Don't show again in the notification. The suppressed shortcut then appears in the list below the statistics in the Key Promoter X tool window, where double-clicking it reactivates it.

## Sources

- [halirutan/IntelliJ-Key-Promoter-X on GitHub](https://github.com/halirutan/IntelliJ-Key-Promoter-X)
- [Issues](https://github.com/halirutan/IntelliJ-Key-Promoter-X/issues)
- [License: BSD-3-Clause](https://github.com/halirutan/IntelliJ-Key-Promoter-X/blob/master/LICENSE)
- [README](https://github.com/halirutan/IntelliJ-Key-Promoter-X/blob/master/README.md)
- [Releases](https://github.com/halirutan/IntelliJ-Key-Promoter-X/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/halirutan-intellij-key-promoter-x
