The Cangjie & Simplex input method for macOS

Yahoo! KeyKey, rebuilt for modern macOS

The classic Yahoo!奇摩輸入法 Cangjie (倉頡) and Simplex (速成) input method, reborn — native, fast, and open source.

Latest 2 macOS · 7 languages · 3 channels

See it in action

倉頡 + 速成 input

Both classic modes — full Cangjie (倉頡) and Simplex (速成) — with wildcard * matching when you don't remember every radical.

Frequency-ranked & adaptive

Candidates are ordered by how common they are, and the characters you pick rank higher over time — so your most-used words rise to the top.

Associated phrases (聯想字詞)

After you commit a character, Yahoo KeyKey 2 suggests the words that usually follow — so common phrases come together in a single keystroke.

What's new

Plain-language notes, newest first.

2.13.4
In 倉頡, 速成 and associated phrases, picking a character now decides where it appears next time. The candidate order follows how often you have chosen each candidate in that particular list, so a character you pick moves in front of the ones you have not — including a character the built-in dictionary does not know, which previously could never get there. That learning starts fresh with this version. 拼音 is unchanged. · In 倉頡 and 速成, a character you pick now leads its candidate list next time. Yahoo! KeyKey 2 used to mix how often you had chosen a character together with how common the built-in dictionary considers it, so picking a rare character only nudged it forward — and a character the dictionary does not know could never overtake one it does, however many times you chose it. Under 卜月卜尸心, for example, 龍 is in the dictionary and the variant 㡣 is not, so 㡣 stayed in second place permanently. Each candidate list is now counted on its own: the candidate you have chosen most often in that list comes first, and the dictionary order only decides between candidates you have chosen the same number of times. Pick 㡣 once and it leads the next time you type that code. A candidate you genuinely use more often stays ahead until the other one has been chosen as many times. 聯想字詞 follows the same rule; 拼音 is not affected by this change. · Candidate learning for 倉頡, 速成 and associated phrases starts fresh. What you pick is now remembered for each candidate list separately — the characters under one 倉頡 code, one 倉頡 wildcard pattern, one 速成 code, or the words suggested after one character — instead of one count per character shared across all of them. What was stored before was a single count per character with no record of which list you had been choosing from, so there is no accurate way to turn it into the new per-list history; rather than guess, Yahoo! KeyKey 2 starts counting these again. 倉頡 and 速成 share what they learn about 聯想字詞, because both suggest the same words after the same character. 拼音 keeps its own learning, which is neither changed nor reset.
2026-09-04 · View on GitHub →
2.13.3
A safety fix in Uninstall, inherited from the shared framework Yahoo! KeyKey 2 is built on. Cangjie and Simplex input is unchanged. The app also now spells its own name with the exclamation mark the Yahoo! trademark carries. · Uninstall now stops if it finds more than one copy of Yahoo! KeyKey 2 on your Mac. Moving the copy you are running to the Trash was always safe, but your settings, login item and support files are stored under the app's identity rather than its location — so two copies share all of them, and there is no way to tell whose is whose. Uninstalling a spare copy could remove the settings belonging to the copy you actually use. It now stops before removing anything and lists where the copies are, so you can trash the ones you do not want and try again. If you have one copy, which is nearly everyone, nothing changes. · Updated to DragonKit 4.1.1, the shared framework behind Settings, About, What's New and software updates. The fix above comes from it; none of those panes look or behave differently. · The app now calls itself "Yahoo! KeyKey 2", with the exclamation mark. "Yahoo!" is trademarked with it, and the name shown in System Settings ▸ Keyboard ▸ Input Sources was missing it while this app's own website carried it. Nothing else moved: the input method, your settings and your learning data are untouched, and the identifier macOS registers the input source under is unchanged. On an existing install macOS may keep showing the old name until you log out and back in.
2026-08-20 · View on GitHub →

From each release's What's New pane in the app

Ways to get it

Terminal · one command

Homebrew

brew install --cask teddychan/tap/yahoo-keykey-2
Coming soon

Mac App Store

Coming soon
Support development

Buy me Token

These apps are kept running mostly by AI. Instead of a coffee, you can chip in for the AI tokens that pay for ongoing maintenance.

Buy me Token

Need help?

Questions, bug reports, and feature requests are welcome — open an issue on GitHub and I'll take a look.

Open an issue on GitHub

In tribute

Yahoo KeyKey 2 is an independent, open-source rebuild in Swift, created in tribute to the original Yahoo! KeyKey (Yahoo!奇摩輸入法) — the Traditional-Chinese input method many Mac users loved. It carries that experience forward for modern macOS, released under the MIT License.

Latest 2 macOS 7 languages 3 channels Free and open source
Why I build & maintain these →