Singhala keymap provides a means for typing Dual-script Singhala. It is preferably added to the top of the "lk" layout file at X11/xkb/symbols/pc/lk. It is use for romanized Singhala, which fully covers the three languages Singhala, Sanskrit, and Pali. The text typed using it can be displayed in the Singhala script when displayed using orthographic smart-fonts. Where there is no Singhala font available, the text appears as readable Latin text.
ZedLog is a robust cross-platform input logging tool (A.K.A., a key logger). It is based on a flexible data logging system which makes it easy to get the required data. It features logging of all keyboard and mouse events, a replay simulation tool, logging to a file, and hiding in the background.
KeyBoards is a cross-operating system platform that synchronizes short text messages or URLs. It is designed to be used for composing messages on a desktop system with a real, comfortable keyboard, and then sending them to a mobile device for transmission as an SMS. It is ideal for use with non-Latin character sets.
Showkeys is a simple program to display keys being pressed on the screen. It is useful while making presentations and screencasts. The audience will be able to see the keys being pressed. It is similar to key-mon. Key-mon has more features than showkeys. but the latter solves some specific problems: it doesn't use GTK/GNOME; uses libxosd to display keys directly onto the screen; has no floating windows to that always need to be on top (which is very useful if you're using a tiling WM like Xmonad); and has keystroke history. key-mon has keystroke history, but doesn't show modifiers. showkeys does, using an Emacs style key notation.
Keyboard is an object that can show an on-screen keyboard to emulate letter key typing. It can display a keyboard on the page with buttons for letters. The user can click on the letter buttons, and the object pastes the letters on the currently active form input. It supports switching between many types of keyboard maps.