Skip to content
ย 
ย 

Latest commit

ย 

History

1,990 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

WinCompose

A compose key for Windows, free and open-source, created by Sam Hocevar.

A compose key allows to easily write special characters such as รฉ ลพ ร  ล รป รธ โ˜บ ยค โˆ… ยซ โ™ฏ โธ˜ โ“€ ใŠท โ™ช โ™ฌ using short and often very intuitive key combinations. For instance, รถ is obtained using o + ", and โ™ฅ is obtained using < + 3.

WinCompose also supports Emoji input for ๐Ÿ˜ ๐Ÿ‘ป ๐Ÿ‘ ๐Ÿ’ฉ ๐ŸŽ ๐ŸŒน ๐ŸŠ.

This is the PolyKybd fork. WinCompose is Sam Hocevar's project โ€” essentially all of the code, the compose-sequence data and the design are his work โ€” and this fork builds on ell1010's fork, which modernised the UI and retargeted to .NET Framework 4.8.1. It exists because PolyKybd uses WinCompose for unicode and emoji output on Windows and needed a handful of fixes. It does not claim to succeed either repository; both are still there, and these changes are meant to go back upstream.

Download

Note: these builds are not code-signed, so Windows SmartScreen warns that the publisher is unrecognised โ€” choose More info โ†’ Run anyway if you are happy to proceed. Signing is planned and waits on a registered business entity, since the certificate has to be issued to one.

Because they are unsigned, every release ships a SHA256SUMS.txt listing the SHA-256 of each asset, written by the same CI run that built them:

Get-FileHash .\WinCompose-NoInstall-<version>.zip -Algorithm SHA256

Compare that against the matching line. It proves the file is byte-for-byte what our CI produced โ€” it does not prove who produced it, which is what a signature is for.

Quick start

After installation, WinCompose should appear in the System Tray. Press and release the โŽ„ Compose key to initiate a compose sequence (this key defaults to Right Alt); the icon should change to indicate a compose sequence is in progress.

Then type in the keys for a compose sequence, such as A then E for ร†:

Quick Launch

If Right Alt is not suitable for you, you can change it in the options.

Examples

Compose rules are supposed to be intuitive. Here are some examples:

  • โŽ„ Compose ` a โ†’ ร 
  • โŽ„ Compose ' e โ†’ รฉ
  • โŽ„ Compose ^ i โ†’ รฎ
  • โŽ„ Compose ~ n โ†’ รฑ
  • โŽ„ Compose / o โ†’ รธ
  • โŽ„ Compose " u โ†’ รผ
  • โŽ„ Compose o c โ†’ ยฉ
  • โŽ„ Compose + - โ†’ ยฑ
  • โŽ„ Compose : - โ†’ รท
  • โŽ„ Compose ( 7 ) โ†’ โ‘ฆ
  • โŽ„ Compose C C C P โ†’ โ˜ญ
  • โŽ„ Compose < 3 โ†’ โ™ฅ

Emoji sequences typically start with two โŽ„ Compose hits:

  • โŽ„ Compose โŽ„ Compose a n g r y โ†’ ๐Ÿ˜ 
  • โŽ„ Compose โŽ„ Compose g r i n n i n g โ†’ ๐Ÿ˜
  • โŽ„ Compose โŽ„ Compose s u s h i โ†’ ๐Ÿฃ
  • โŽ„ Compose โŽ„ Compose s n a k e โ†’ ๐Ÿ

A special Unicode input mode can be activated in the options and lets the user type in any Unicode character:

  • โŽ„ Compose u 5 8 d Enter โ†’ ึ (U+058D Right-Facing Armenian Eternity Sign)
  • โŽ„ Compose u 2 3 f 0 Enter โ†’ โฐ (U+23F0 Alarm Clock)

The full list of rules can be found by clicking on the WinCompose system tray icon or using the โ€œShow Sequencesโ€ฆโ€ menu entry:

Sequence List

The window allows you to filter the sequences being listed.

Features

WinCompose supports the standard Compose file format. It provides more than 1700 compose rules from the Xorg project and the dotXCompose project. You can add custom rules by creating a file named .XCompose or .XCompose.txt in your %USERPROFILE% folder. WinCompose must be restarted for changes to take effect.

WinCompose stores its state in the %APPDATA%\wincompose folder: settings.ini contains the settings, and metadata.xml contains all the metadata associated with sequences.

WinCompose supports rules of more than 2 characters such as โŽ„ Compose ( 3 ) for โ‘ข.

WinCompose supports early exits. For instance, โŽ„ Compose Q will immediately type Q because there is currently no rule starting with the capital letter Q.

WinCompose carries translations for 47 languages, at varying completeness. Translation happens upstream on the Weblate project, so work done there reaches every fork; the badge is the live figure:

Translation status

Development

Make sure that all Git submodules are fetched, then just open src/wincompose.sln in Visual Studio in order to build WinCompose. You will also need to install Inno Setup if you wish to build the installer.

.github/workflows/build.yml compiles the app on every push and pull request. release.yml builds the installer, the portable zip and SHA256SUMS.txt and attaches them when a release is published โ€” see RELEASE.md.

Bugs and Improvements

Please report bugs or suggest improvements for this fork in its issue tracker.

For the upstream projects, use ell1010/wincompose or samhocevar/wincompose.

About

๐Ÿ”ฃ Compose Key for Windows

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages