1. An apparatus for text entry comprising: a joystick member user input device having at least P number of motions, each of which is associated with a signal representing one of P predefined stroke categories; a processor coupled to said joystick member; at least one memory coupled to said processor, said at least one memory containing at least one database and at least one program used by said processor to process data, said at least one database comprising a number of characters and data of stroke order necessary for each of the characters as well as data of use frequency associated with each of the characters, said stroke order based on said predefined stroke categories; and an output member coupled to said processor, said output member comprising a text display area and a selection list display area; wherein said at least one program causes said processor to: identify a stroke input signal representative of one of said stroke categories, said stroke input signal being associated with a predefined motion of said joystick member; display a first selection list when a first stroke is identified, said first selection list comprising first Q number of most frequently used characters that start with said first stroke; if the user chooses to enter any character from said first selection list, display said chosen character in said text display area; otherwise, display a second selection list when a second stroke is identified, said second selection list comprising first Q number of most frequently used characters that start with said first stroke followed by said second stroke; if the user chooses to enter any character from said second selection list, display said chosen character in said text display area; otherwise, display a third selection list when a third stroke is identified, said third selection list comprising first Q number of most frequently used characters that start with said first stroke followed by said second stroke and then followed by said third stroke; if the user chooses to enter any character in said third selection list, display said chosen character in said text display area; otherwise, continue to display a next selection list corresponding to a next stroke added until the user chooses to enter any character from said next selection list; and repeat the process for entering a next character.