CA2396421C - System and method for intelligent text input in a mobile device - Google Patents

System and method for intelligent text input in a mobile device Download PDF

Info

Publication number
CA2396421C
CA2396421C CA2396421A CA2396421A CA2396421C CA 2396421 C CA2396421 C CA 2396421C CA 2396421 A CA2396421 A CA 2396421A CA 2396421 A CA2396421 A CA 2396421A CA 2396421 C CA2396421 C CA 2396421C
Authority
CA
Canada
Prior art keywords
input
text input
event
text
platform
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CA2396421A
Other languages
French (fr)
Other versions
CA2396421A1 (en
Inventor
Vadim Fux
Arie V. Mazur
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BlackBerry Ltd
Original Assignee
BlackBerry Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BlackBerry Ltd filed Critical BlackBerry Ltd
Priority to AU2003250636A priority Critical patent/AU2003250636A1/en
Priority to AT03762371T priority patent/ATE521932T1/en
Priority to EP03762371A priority patent/EP1540452B1/en
Priority to PCT/CA2003/001022 priority patent/WO2004006081A2/en
Publication of CA2396421A1 publication Critical patent/CA2396421A1/en
Priority to HK05110120.7A priority patent/HK1084453A1/en
Application granted granted Critical
Publication of CA2396421C publication Critical patent/CA2396421C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Input From Keyboards Or The Like (AREA)

Abstract

In accordance with the teaching described herein, systems and methods are provided for intelligent text input. A plurality of text input components may be used to receive text input events from an input device. A text input directing engine may be used to translate a text input event into a platform-independent event. The platform-independent event may include an index value that represents the text input event. A plurality of input methods may be used, with each input method being operable to receive the platform- independent event from the text input directing engine and translate the platform-independent event into one or more input method specific characters based on the index value. The one or more input method specific characters may be displayed on a graphical user interface by one of the text input components.

Description

SYSTEM AND METHOD FOR INTELLIGENT TEXT INPUT IN A
MOBILE DEVICE
BACKGROUND OF THE INVENTION
Field of the Invention The invention relates to computer text input. Specifically, this invention relates to text input in various languages on a plurality of input devices.
Description of the State of the Art The growing use of mobile devices and different types of embedded systems challenges developers and manufacturers of these devices to create products that require minimal memory usage yet perform well. The key element of such products is user interface, which requires input of text. Existing text input systems such as Microsoft IMETm, X-server XIMTm, or Tegic's T9Tm that are widely used in mobile phones, do not provide the best solution for the cross-platform text input that embedded devices require.
Microsoft IMETm or XIMTm architecture is not suitable for the embedded environment because of their size. In addition, their application programming interfaces (APIs) are tightly bound to other operating system (OS) APIs, which are not available on typical embedded device. Thus this architecture is not suitable for embedded devices, which have very different OS APIs and often don't have an OS at all.

, A system like T9Tm does not allow the flexibility of state-full input and easy adaptation to different types of input devices. It also ignores the requirements of the user input, adding to complexity of integration. In addition it requires a customization when adding text input for additional languages. It is simply not flexible enough to meet the needs of today's embedded systems.
The above mentioned systems also fail to provide a way to update the input logic with application specific information, making existing solutions for text input inflexible, wasteful and sometimes even impossible to use at all on embedded devices.
SUMMARY
In one aspect of the invention, architecture for separating a text input in any language from the text input method logic is provided.
In another aspect, there is provided a mobile device, comprising a text input device; a graphical user interface (GUI) that includes a plurality of input fields for receiving input for a device application, wherein the GUI is configured to enable a user to select a particular input field from the plurality of input fields to enter a textual input using the text input device; a plurality of mapping tables for translating textual inputs from the text input device into alphanumeric characters, wherein each of the plurality of mapping tables translates into alphanumeric characters of a different language; and a text input handler that receives the textual input and selects one of the mapping tables to translate the textual input into one or more alphanumeric characters of a particular language for display on the GUI, wherein the one mapping table is selected based on the particular input field selected by the user to enter the textual input; whereby a keystroke on the text input device may result in a different language output being displayed on the GUI
depending on which of the plurality of input fields is selected by the user to receive the input.
In a further aspect, there is provided a method of processing a textual input on a mobile device, comprising receiving a user input to select an input field from a plurality of input fields on a graphical user interface (GUI); receiving a textual input from a text input device; translating the textual input into one or more alphanumeric characters of a particular language, wherein the particular language is one of a plurality of languages available on the mobile device and is selected from the plurality of available languages based on the input field on the GUI selected by the user input; and displaying the alphanumeric characters in the input field; wherein a keystroke on the text input device may result in a different language output being displayed on the GUI depending on which of the plurality of input fields is selected by the user to receive the textual input.
In a further aspect, there is provided a mobile device, comprising a text input device; a display having a graphical user interface (GUI) that includes a plurality of input fields for receiving input for a device application, wherein the plurality of input fields are simultaneously displayed the GUI is configured to enable a user to select a particular input field from the plurality of input fields to enter a textual input using the text input device; a text input engine having a plurality of mapping tables for translating textual inputs from the text input device into alphanumeric characters, wherein each of the plurality of mapping tables translates into alphanumeric characters of a different language; a text input handler that receives the textual input and selects one of the mapping tables to translate the textual input into one or more alphanumeric characters of a particular language for display on the GUI, wherein the one mapping table is automatically selected by the text input handler based on the particular input field selected by the user to enter the textual input and based on which of the plurality of mapping tables has been pre-defined for the particular input field; and wherein at least two of the simultaneously displayed input fields have different pre-defined mapping tables such that a keystroke on the text input device may result in a different language output being displayed on the GUI
depending on which of the plurality of simultaneously displayed input fields is selected by the user to receive the input.
In yet a further aspect, there is provided a method of processing a textual input on a mobile device, comprising receiving a user input to select an input field from a plurality of input fields that are simultaneously displayed on a graphical user interface (GUI); receiving a textual input from a text input device; translating the textual input into one or more alphanumeric characters of a particular language, wherein the particular language is one of a plurality of languages available on the mobile device and is automatically selected from the plurality of available languages based on the input field on the GUI selected by the user input from the plurality of simultaneously displayed input -2a-= CA 02396421 2012-04-26 fields and based on which of the plurality of languages has been pre-defined for the selected input field; and displaying the alphanumeric characters in the input field; wherein at least two of the simultaneously displayed fields have different pre-defined mapping tables such that a keystroke on the text input device may result in a different language output being displayed on the GUI depending on which of the plurality of input fields is selected by the user to receive the textual input.
In yet a further aspect, there is provided an intelligent text input system for a mobile device, comprising a plurality of text input components, each text input component being operable to receive a text input event from an input device; a text input directing component, executed by a processor, operable to receive the text input event from each of the plurality of text input components and translate the text input event into a platform-independent event, the platform-independent event including an index value that represents the text input event; a plurality of input methods, each input method being associated with an input language and being further operable to receive the platform-independent event from the text input directing component and translate the platform-independent event into one or more input method specific characters based on the index value; and the text input directing component being further operable to direct the platform-independent event to one of the plurality of input methods based on the text input component that received the text input event, wherein the one or more input method specific characters is displayed on a graphical user interface by one of the text input components.
In yet a further aspect, there is provided a method of processing a text input event in a mobile device, comprising receiving a text input event from one of a plurality of text input components; translating the text input event into a platform-independent event that includes an index value that represents the text input event;
directing the platform-independent event to an active input method selected from a -2b-plurality of input methods, the platform-independent event being directed to the active input method based on the text input component that received the text input event, each input method being associated with an input language; translating the platform-independent event into one or more input method specific characters based on the index value; and displaying the one or more input method specific characters on a graphical user interface by one of the text input components.
Further features of the invention will be described or will become apparent in the course of the following detailed description.
BRIEF DESCRIPTION OF THE DRAWINGS
In order that the invention may be more clearly understood, the one or more embodiments thereof will now be described in detail by way of example, with reference to the accompanying drawings, in which:
Fig. 1 is a system diagram for directing a plurality of text input components;

Fig. 2 is a block diagram of the text input direction engine;
-2c-Fig. 3 is a top plan view of a device with a phone keypad;
Fig. 4 is a top plan view of an alternative device with a reduced QWERTY
keyboard;
Fig. 5 is a top plan view of an alternative device with a reduced QWERTY
touchscreen; and Fig. 6 is a block diagram showing the text input directing engine loading and unloading mechanisms.
DETAILED DESCRIPTION
Reference will now be made to the embodiments illustrated in the drawings.
Fig. 1 is a system diagram and for directing a plurality of text input components. The system 100 is preferably practiced in the context of embedded systems with or without an operating system, but may be used on any computational device. The computational device may have any type of input device, but preferably the device is a keyboard-based device, having, but not limited to such inputs as a keyboard of a computer or mobile device, a mobile phone keypad, a virtual keyboard appearing on a touch screen or a touchpad. The system 100 defines an application programming interface (API) between a text input method logic and a text input component 102, such that both are maintained independent from each other. The text input method logic is the decision made for which input method 110 is used.
In Fig. 1, an application on a device has text input components 102, which are fields in a user interface where a user inputs text. When a user enters text into a text input component 102, a text input directing engine 106 directs the text input to the appropriate input method 110. A shared text input directing engine 106 will direct a text input from a plurality of text input components 102.
70 Text input components may also use a private text input directing engine 108.
A private text input directing engine is used when a text input component 104 is independent of other text input components. For example, when a text input in a language is made that is different than text inputs made in the other text input components, a private text input directing engine is preferably used to direct the input to the appropriate input 75 method 110. At any given moment, only one text input component 104 and one input method 110 are active.
Fig. 2 is a block diagram of the text input directing engine. In Fig. 2, the system 200 shows a text input event 201 entered into a text input component 202 that is accepted by a text input directing engine 204. The text input directing engine has a so translation module 206 that preferably converts text input events 201 to platform-independent events and sends them 207 to an input handler 208 , which redirects the text input events 201 to an active input method 212. The active input method 212 is preferably defined based on the request of the text input component 202 for the text input 201 in a certain language or based on the last active input method used, allowing an input method 85 212 to be reused for different text input components 202. The input handler 208 preferably uses a mapping table or configuration data 210, to retrieve characters assigned to the received text input events from a device keyboard or keypad. The mapping table or configuration data 210uses to the device's keyboard layout to produce the resulting text with a list of variants which is then sent to input handler 208 and subsequently to the text 90 input component 202.
The system is adaptable to different types of input devices, preferably a keyboard, keypad or a touch screen. When a device text input event 201 is translated to a platform independent event 207, the translation module identifies the input device. The input device is preferably a key from a keyboard but may be any kind of input device.

A key from an input device may have a plurality of character inputs associated with it. Furthermore, the input device may have function keys that may alter the input of a particular key. These function keys may include but are not limited to such keys as a shift key, a control key, or an alt key. These function keys when used in conjunction with an input key may produce an output such as a symbol or a formatting change.

Figs. 3-5 show examples of devices with different kinds of keyboard inputs having a plurality of characters associated with each keyboard input. Fig. 3 shows a device 300 with an ITU E 1.161 Standard Key Pad 302. Fig. 4 shows a device 400 with a reduced QWERTY keyboard 402. Fig. 5 shows a device 500 with a touchscreen 502 that has an integrated reduced QWERTY keyboard 504. The input device is not limited to these examples and any other example of input device may be used with such text input directing engines. Each of these examples of input devices requires its own mapping table 210 within the text input directing engine 204.
The mapping table 210 assigns a specific character inputs to an input device identification. The mapping table 210 preferably takes into account specific languages to properly direct the input handler 208 to an active input method in a certain language. The required mapping table 210 may include one or more input device layouts according to a specific keyboard layout and identifies characters assigned to the given keys for the given input device. With multiple mapping tables 210, simultaneous input from different types of input devices is possible. Mapping tables 210 may be in an editable format, so new devices 115 can be added or a configuration may be modified without the need to change anything else in the system.
In Fig. 5, shows a system 600 for allowing dynamic loading and unloading of the input methods 606 and language data 608 to the text input directing engine 610.
Dynamic loading and unloading of input methods and language data may be used when 120 more than one word list 602 is used by an application 604. This functionality allows deploying the system in a manner suitable for devices with strict memory requirements and extends the existing system with new or modified data or logic without interfering with the rest of the system. It also allows the application to extend the existing language data and input methods with the extended language data and/or customized input logic where 125 desired.
It will be appreciated that the above description relates to the preferred embodiment by way of example only. Many variations on the invention will be obvious to those knowledgeable in the field, and such obvious variations are within the scope of the invention as described and claimed, whether or not expressly described.

Claims (16)

1. An intelligent text input system for a mobile device, comprising:
a plurality of text input components, each text input component being operable to receive a text input event from an input device;
a text input directing component, executed by a processor, operable to receive the text input event from each of the plurality of text input components and translate the text input event into a platform-independent event, the platform-independent event including an index value that represents the text input event;
a plurality of input methods, each input method being associated with an input language and being further operable to receive the platform-independent event from the text input directing component and translate the platform-independent event into one or more input method specific characters based on the index value; and the text input directing component being further operable to direct the platform-independent event to one of the plurality of input methods based on the text input component that received the text input event, wherein the one or more input method specific characters is displayed on a graphical user interface by one of the text input components.
2. The system of claim 1, wherein the text input directing component associates an active input method with one or more text input component.
3. The system of claim 2, wherein the text input directing component directs the platform-independent event to the active input method.
4. The system of claim 1, wherein the platform-independent event includes event data indicating the state of the input device.
5. The system of claim 1, wherein the platform-independent event includes event data indicating the time at which the text input event was received from the input device.
6. The system of claim 1, wherein the platform-independent event includes event data indicating the number of consecutive occurrences of the text input event.
7. The system of claim 1, wherein at least one input method applies an input logic function to predict a complete word or phrase from the one or more input method specific characters.
8. The system of claim 7, wherein the one input method accesses a word list associated with one or more of the text input components to predict the complete word or phrase.
9. The system of claim 1, wherein the input device is a telephone-style keypad.
10. The system of claim 1, wherein the input device is a miniature keyboard.
11. The system of claim 1, wherein the input device is a virtual keyboard on a touch screen user interface.
12. The system of claim 1, further comprising:
a loading and unloading mechanism operable to remove one or more of the input methods from the mobile device and add one or more additional input methods to the mobile device.
13. A method of processing a text input event in a mobile device, comprising:
receiving a text input event from one of a plurality of text input components;
translating the text input event into a platform-independent event that includes an index value that represents the text input event;
directing the platform-independent event to an active input method selected from a plurality of input methods, the platform-independent event being directed to the active input method based on the text input component that received the text input event, each input method being associated with an input language;
translating the platform-independent event into one or more input method specific characters based on the index value; and displaying the one or more input method specific characters on a graphical user interface by one of the text input components.
14. The method of claim 13, further comprising:
predicting a complete word or phrase from the one or more input method specific characters.
15. A mobile device including an input device, a graphical user interface, and an intelligent text input system according to one of claims 1 to 12.
16. The mobile device of claim 15, further comprising:
means for predicting a complete word or phrase from the one or more input method specific characters.
CA2396421A 2002-07-03 2002-08-01 System and method for intelligent text input in a mobile device Expired - Lifetime CA2396421C (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
AU2003250636A AU2003250636A1 (en) 2002-07-03 2003-07-03 System and method for intelligent text input in a mobile device
AT03762371T ATE521932T1 (en) 2002-07-03 2003-07-03 SYSTEM AND METHOD FOR INTELLIGENT TEXT ENTRY IN A MOBILE DEVICE
EP03762371A EP1540452B1 (en) 2002-07-03 2003-07-03 System and method for intelligent text input in a mobile device
PCT/CA2003/001022 WO2004006081A2 (en) 2002-07-03 2003-07-03 System and method for intelligent text input in a mobile device
HK05110120.7A HK1084453A1 (en) 2002-07-03 2005-11-11 System and method for intelligent text input in a mobile device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US39394902P 2002-07-03 2002-07-03
US60/393,949 2002-07-03

Publications (2)

Publication Number Publication Date
CA2396421A1 CA2396421A1 (en) 2004-01-03
CA2396421C true CA2396421C (en) 2014-03-11

Family

ID=30770903

Family Applications (1)

Application Number Title Priority Date Filing Date
CA2396421A Expired - Lifetime CA2396421C (en) 2002-07-03 2002-08-01 System and method for intelligent text input in a mobile device

Country Status (1)

Country Link
CA (1) CA2396421C (en)

Also Published As

Publication number Publication date
CA2396421A1 (en) 2004-01-03

Similar Documents

Publication Publication Date Title
RU2419833C2 (en) Smart programmable keyboard
US6301626B1 (en) System for dynamic configuration of an input device by downloading an input device layout from server if the layout is not already display on the input device
KR100711660B1 (en) Universal keyboard
US6340937B1 (en) System and method for mapping multiple identical consecutive keystrokes to replacement characters
US10496276B2 (en) Quick tasks for on-screen keyboards
US20040260536A1 (en) Method and apparatus for recognizing language input mode and method and apparatus for automatically switching language input modes using the same
US20090259962A1 (en) Character Input Method
KR101681281B1 (en) Extension framework for input method editor
JP4091398B2 (en) Automatic software entry panel selection based on application program status
US9836448B2 (en) Text editing
KR20100057880A (en) Improved data entry system
CN106598266A (en) Multi-language mixed input method and system
KR20100031648A (en) Standardized method and systems for providing configurable keypads
KR100676697B1 (en) Language displaying method and system of software for computer, recording media of computer program therefor
US20040044422A1 (en) System and method for intelligent text input
US8839123B2 (en) Generating a visual user interface
KR20100046043A (en) Disambiguation of keypad text entry
KR102149131B1 (en) Method for augmentative and alternative communication, and computer program recorded on record-medium for executing method therefor
US5852798A (en) Machine translation apparatus and method for translating received data during data communication
EP1540452B1 (en) System and method for intelligent text input in a mobile device
CA2396421C (en) System and method for intelligent text input in a mobile device
US20030189551A1 (en) System and method for identifying functions invoked by function keys on a keyboard
US20120081286A1 (en) Alerting user to shortcuts on computer
US11354036B2 (en) Method and electronic device for configuring touch screen keyboard
US20090289898A1 (en) Keyboard for Use in Computer System

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20220802