Maliit provides a flexible and cross-platform input method framework, including a virtual keyboard.
It has a plugin-based client-server architecture where applications act as clients and communicate with the Maliit server via input context plugins.
Maliit is an open source framework (LGPL 2)
... [More] with open source plugins (BSD). There are also proprietary plugins. It runs on most GNU/Linux distributions. [Less]
Mac 版本使用者，請改至 github 取得最新版本： http://github.com/lukhnos/openvanilla-oranje/downloads ，並請參考 0.9.0a1 的版本發佈說明： http://github.com/lukhnos/openvanilla-oranje/blob/master/Documents/20090826-Announcement.markdown
The source tree for the Mac version has been moved to
... [More] http://github.com/lukhnos/openvanilla-oranje
OpenVanilla is an input method project. An input method is a system software program that people use to enter characters not found on their keyboards. The Project includes a large collection of Traditional and Simplified Chinese input methods as well as support for Taiwanese, Japanese, Tibetan, Unicode symbols, among others.
Input method development used to be platform-dependent. OpenVanilla provides a lightweight API that simplifies the process. Because of its minimalistic design, OpenVanilla is highly portable. Input method modules developed with OpenVanilla's API run smoothly on Mac OS X, Linux/FreeBSD, and Windows.
The Project also explores the possibilities of input method design. Topics include better user interface design and use cases beyond Asian languages. It's an open source project, participation welcome!
OpenVanilla（開放香草輸入法計劃）提供多種輸入法工具，可以在Mac OS X、Linux/FreeBSD/Windows等平台上使用。
All are dbus services. you can do anything to implement,as long as your app provide the dbus interface.
Features/Applications:user application can "hook" im's all ui events some app(eg. fullscreen game who take over all the screen resource need to handle them to provide input method while not
... [More] make screen blink)
input method can also draw its own panel,candidate window..., while still provide a default one for "lazy" input method developer. you can actually change all aspects/internals of the structure. while still provide "methods" for convinience. Currently provide a Chinese QuWei(区位） im, and a Qt4 im module now.
Great thanks to Peng Huang (email@example.com) He is the designer and coder of ibus (http://code.google.com/p/ibus).
My motivation/design is mainly inspired by his.
But aimbus is just a dbus service, doesn't need any other daemon/server to run, and my interface are simple and clean :) [Less]