1. A method of generating characters of an Ethiopic alphabet using key presses inputted on a device keyboard, comprising: receiving at the device keyboard a first keystroke, wherein the device keyboard is a QWERTY keyboard or a Dvorac keyboard; in response to receiving the first keystroke, starting a first timer, designating a first character a first contingent character, and rendering the first contingent character prior to the first timer expiring; if the first timer expires, accepting the first contingent character; if a second keystroke is received at the device keyboard prior to the first timer expiring, determining if the second keystroke is associated with one of a number of predetermined specifier keys associated with the first keystroke; if the second keystroke received prior to the first timer expiring is not one of the predetermined specifier keys, accepting the first contingent character and rendering a second character; if the second keystroke received prior to the first timer expiring is one of the predetermined specifier keys, removing the first character and rendering a third character; if the second keystroke is an order modifying keystroke, providing a second order group of characters and starting a second timer; if a third keystroke is received at the device keyboard prior to the second timer expiring, determining if the third keystroke is associated with one of a number of predetermined specifier keys associated with the first keystroke; if the third keystroke received prior to the second timer expiring is not one of the predetermined specifier keys, accepting the first contingent character and rendering a fourth character; and if the third keystroke received prior to the second timer expiring is one of the predetermined specifier keys, removing the first character and rendering a fifth character.
4. The method of claim 1 , wherein the third character is rendered in at least one ligated part.