What’s new

Loading release notes

Each keyboard.
Its own input source.

A free Mac menu bar app that gives each keyboard its own input source. Keyameleon detects which keyboard you use and switches automatically when you press a key.

Open source · No logging · No telemetry

HOW IT WORKS

Assign once. Switch automatically.

  1. 01

    Assign input sources

    Choose an input source for each keyboard you use. For example, English for your built-in keyboard and Italian for an external one.

  2. 02

    Press a key

    Keyameleon detects which keyboard the key press comes from and automatically switches to its assigned input source.

  3. 03

    Switch keyboards

    Start typing on another keyboard. Keyameleon switches to that keyboard’s assigned input source automatically.

FEATURES

Small app. Clear purpose.

Per-keyboard input sources, automatic switching, and a small footprint. No logging or telemetry.

  • Per-keyboard input sources

    Assign an input source to each keyboard you use. Use different sources on different keyboards, without switching manually.

  • Automatic switching

    Press a key and Keyameleon switches to the source assigned to that keyboard. No switching shortcut to remember.

  • No logging

    Keyameleon monitors keyboard activity to switch input sources. It does not log your keystrokes.

  • No telemetry

    Keyameleon does not collect telemetry. Keyboard activity triggers input source switching, not usage reports.

  • Open source

    Inspect the source code to see how keyboard detection and input source switching work. The code is open for review.

  • Small binary, small footprint

    A small binary with a small resource footprint. Keyameleon handles input source switching in the background.

AUTOMATIC

One source for each keyboard.

Assign an input source to each keyboard you use. When you press a key, Keyameleon identifies that keyboard and activates its assigned source.

  • Switches based on keyboard activity
  • No keystrokes are logged
PRIVACY

Switching without logging.

Keyameleon monitors keyboard activity to switch input sources. It does not log keystrokes or collect telemetry. The source code is open for inspection.

FAQ

Questions, answered.

Can a Mac use a different keyboard layout for each keyboard?

Not on its own. macOS can switch input sources with a shortcut or remember one per window, but not per physical keyboard. Keyameleon adds that: assign an input source to each keyboard, and it switches when you start typing on one.

Does it work with the built-in keyboard and external USB or Bluetooth keyboards?

Yes. Keyameleon recognizes the MacBook’s built-in keyboard and external keyboards, and remembers each one across disconnects and restarts. You can rename a keyboard or hide a device that isn’t one, such as a mouse that reports itself as a keyboard.

How is this different from per-app switchers like Input Source Pro?

Per-app switchers pick the input source from the app or website in front. Keyameleon follows the keyboard under your hands, so an Italian external keyboard and an English built-in keyboard each type in their own layout in every app.

Can Karabiner-Elements switch input sources per keyboard?

Only with rules you write yourself: a complex modification can select an input source when a key comes from a given device, and Karabiner-Elements routes your typing through its own virtual keyboard driver. Keyameleon needs no rules and only observes input: pick an input source for each keyboard and type.

Which input sources can I assign?

Any input source you have added in System Settings › Keyboard: layouts like Italian, German or Dvorak, and input methods like Japanese Kana or Pinyin. If an assigned source is removed later, Keyameleon keeps the assignment and doesn’t switch to a substitute.

Why does Keyameleon need Input Monitoring?

To tell which keyboard a key press comes from. Keyameleon observes keyboard activity through CoreHID, which cannot change or inject input. What you type is never saved, logged or sent anywhere.

Does the first key press use the new layout?

Not always. Keyameleon switches after it sees the key press, so that key, and any typed before macOS finishes switching, can still use the previous input source.

Which macOS versions does Keyameleon support?

macOS 26 or later. It lives in the menu bar with no Dock icon and can launch at login.

How do I set up Keyameleon?

Download the DMG from the latest GitHub release, drag Keyameleon into Applications and open it. Guided setup asks for Input Monitoring, lets you pick an input source for each keyboard, then hands off to the menu bar. From then on, it switches as you type.

Is Keyameleon free?

Yes. Keyameleon is free and open source under the MIT license. Download the latest release from GitHub, or read the code first.

DOWNLOAD

Ready when you are.

Download Keyameleon, assign an input source to each keyboard, and let it switch as you type.

Small binary · Small resource footprint

  • No logging
  • No telemetry
  • Open source