Skip to content

Coises/Compose-for-Windows

Repository files navigation

Compose for Windows

Compose for Windows is a Windows application which implements a compose key for entering characters that are not available on the keyboard.

Compose for Notepad++, a similar plugin which implements a compose key in Notepad++ rather than throughout Windows, is available from the same author.

This software is Copyright © 2025 by Randy Fellmy and is released under the MIT (Expat) License. Source is available on GitHub.

This software uses JSON for Modern C++ by Niels Lohmann and WinReg by Giovanni Dicanio, which are released under the MIT License. The installer is built with Inno Setup.

Purpose

A compose key is a key that indicates the following keys are to be interpreted in a special way. Usually an easy-to-remember sequence produces a character that’s not on the keyboard, such as 'a for á or --- for an em dash. Compose for Windows brings this facility to Windows in a flexible and customizable way.

Features

When you start Compose for Windows it displays a dialog that lets you enable or disable composition, choose the key you want to use as the compose key and select an optional user definitions file to augment the included definitions. A status area icon lets you recall this dialog later.

Compose does nothing until you press the key or key combination chosen as the Compose key; then it watches the characters you type next. When it recognizes a meaningful sequence it substitutes the characters defined for that sequence — usually entering a special character that isn’t available on your keyboard. Examples:

  • Compose AE types Æ.
  • Compose -L types £.
  • Compose .-a types ǡ.

Pressing the Compose key twice does whatever that key or key combination did originally.

You can select almost any key or key combination as the Compose key. The default Compose key is the Insert key (without Alt, Ctrl or Shift). Another good choice would be the Caps Lock key, if you don’t use that key often. You can also choose a typical “shortcut-style” key combination, such as Ctrl+Alt+P.

A long list of pre-defined sequences is provided. You can specify additional sequences in a user definitions file. You could use this feature to define sequences for special characters you want that are not in the pre-defined set; but since the inserted text is not limited to a single character, you could also create shorthand sequences for any text you want to insert with just a few keystrokes.

The pre-defined sequences include all the HTML named character entities; for example, you can type Compose © to type the copyright symbol. You can also enter Compose &#...; and Compose &#x....; sequences, or just type the Compose key, the hexadecimal value of a Unicode code point, and the Enter key. (If the hexadecimal value begins with two letters, type a zero first to be sure you don’t trigger a different, pre-defined sequence.)

Around thirty combining marks (accents) are defined. You can enter sequences using multiple marks, such as Compose .-a to type ǡ (lower case a with a dot above and a macron). Compose for Windows will insert a pre-composed Unicode character when one exists; otherwise it will insert the appropriate combining characters.

A detailed help file is available.

Installation

To install Compose for Windows, download the Compose-for-Windows-...-setup.exe file from the latest release and run it. You can uninstall from Windows Settings: Apps.

If you prefer to run Compose for Windows as a portable app, making no uninstall entries or shortcuts and storing its settings in the same folder as the program, download the Compose-for-Windows-....zip file from the latest release and unzip the file to a convenient location. You can start the program by double-clicking CK4Win.exe or you can create a shortcut.

About

This project implements a Compose key for Windows.

Resources

License

Stars

Watchers

Forks

Contributors

Languages