ES2202070T3 - Entrada de datos para dispositivos informaticos personales. - Google Patents

Entrada de datos para dispositivos informaticos personales.

Info

Publication number
ES2202070T3
ES2202070T3 ES00910460T ES00910460T ES2202070T3 ES 2202070 T3 ES2202070 T3 ES 2202070T3 ES 00910460 T ES00910460 T ES 00910460T ES 00910460 T ES00910460 T ES 00910460T ES 2202070 T3 ES2202070 T3 ES 2202070T3
Authority
ES
Spain
Prior art keywords
list
search
user
candidates
completion
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
ES00910460T
Other languages
English (en)
Inventor
Harold David Gunn
John Chapman
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.)
602531 British Columbia Ltd
Original Assignee
602531 British Columbia 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=23040914&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2202070(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 602531 British Columbia Ltd filed Critical 602531 British Columbia Ltd
Application granted granted Critical
Publication of ES2202070T3 publication Critical patent/ES2202070T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0236Character input methods using selection techniques to select from displayed items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Input From Keyboards Or The Like (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Train Traffic Observation, Control, And Security (AREA)
  • Calculators And Similar Devices (AREA)
  • Adornments (AREA)

Abstract

Procedimiento para soportar la introducción de texto en un dispositivo informático personal (10) con un teclado digital (28) y una lista de búsqueda (30) que son visualizados en una interfaz del usuario (34), en el que el dispositivo informático personal (10) es receptivo a entradas desde un dispositivo de señalización y supervisa una señal de entrada del usuario, el procedimiento caracterizado porque visualiza el teclado digital (28) en la interfaz del usuario (34) cuando un usuario está introduciendo texto con una pulsación de la tecla cada vez; si la señal de entrada del usuario corresponde a la activación de una búsqueda automática para obtener una lista de candidatas de compleción sobre la base de una introducción de texto parcial recibida por el dispositivo informático personal (10), reemplazando el teclado digital (28) con la lista de búsqueda (30) que contiene la lista de candidatas de compleción y esperando una entrada adicional del usuario; y si la señal de entrada del usuario corresponde a la finalización de una búsqueda automática, reemplazando la lista de búsqueda (30) con el teclado digital (28) y esperando una entrada adicional del usuario.

Description

Entrada de datos para dispositivos informáticos personales.
Campo de la invención
La presente invención se refiere globalmente a la introducción de datos asistida por ordenador y más particularmente a un procedimiento, sistema y aparato para la generación y la introducción de texto asistida por ordenador utilizando un dispositivo de señalización con un dispositivo informático personal y a medios que pueden ser leídos por el ordenador provistos de instrucciones ejecutables para soportar la generación y la introducción de texto utilizando un dispositivo de señalización.
Antecedentes de la invención
La adopción ampliamente extendida de dispositivos informáticos personales en miniatura, tales como los dispositivos que se pueden sostener en la mano y los asistentes digitales personales (PDA - Personal Digital Assistants) ha llevado a un incremento en la utilización de dispositivos para enviar y recibir textos y datos. Un ejemplo de esta tendencia son los equipos informáticos basados en lápices en los que los usuarios introducen textos y mandatos en ordenadores personales que se pueden sostener en la mano a través de una pantalla sensible al tacto. Mientras los equipos informáticos de este tipo basados en lápices son populares, especialmente con el poder creciente de los dispositivos informáticos en miniatura, presentan retos al usuario que introduce datos en una aplicación que corra en el dispositivo que se sostiene en la mano. Por ejemplo, muchos ordenadores y asistentes digitales personales que se pueden sostener en la mano requieren que el usuario introduzca los datos de acuerdo con un estilo de escritura previamente determinado, como por ejemplo con las series de PDA PalmPilot^{TM}. Otros dispositivos que se pueden sostener en la mano proporcionan un sistema de reconocimiento de la escritura el cual requiere que el ordenador aprenda el estilo de la escritura a mano del usuario. Mientras los mecanismos de introducción de datos de este tipo son útiles, son relativamente difíciles de utilizar y complejos de aprender y pueden ser propensos a los errores en el caso en el que el usuario se desvíe de su estilo de escritura previamente determinado o del estilo de escritura a mano tradicional del usuario.
Muchos sistemas informáticos basados en lápiz, tanto grandes como pequeños, ofrecen al usuario la opción de introducir texto utilizando un teclado digital en la pantalla. Los teclados digitales en la pantalla son típicamente una réplica en miniatura de los teclados físicos de tamaño natural convencionales, como por ejemplo los teclados QWERTY. Muchos de los teclados en la pantalla han demostrado ser poco eficaces para la introducción de texto. Cuando se utiliza un dispositivo de señalización como por ejemplo un lápiz, típicamente se requiere al usuario que introduzca el texto, un carácter cada vez, tecleando selecciones de un carácter individual a parir del teclado en la pantalla. Este procedimiento de teclear de "buscar y picotear" con un único dispositivo de señalización lleva mucho tiempo, especialmente cuando un usuario está introduciendo grandes cantidades de datos.
Otro reto común cuando se introducen datos en un dispositivo informático personal con un único dispositivo de señalización como por ejemplo un lápiz o un estilete y en particular cuando se introduce un texto, es que cada letra que compone la palabra o la frase se debe introducir manualmente. Cuanto más larga sea la palabra o la frase, mayor será la cantidad de introducción manual requerida.
Han sido desarrollados sistemas para completar texto en un esfuerzo por ayudar a los usuarios en la introducción de texto. En general, estos sistemas predicen y sugieren completar una palabra completa sobre la base de una introducción parcial de texto introducido por el usuario. Estos sistemas permiten al usuario teclear la introducción de texto parcial y aceptar entonces completar el texto predicho por la introducción parcial de texto. Esto evita las pulsaciones de las teclas que de otro modo serían necesarias para teclear el texto completo deseado por parte del usuario. Mientras los sistemas de completar texto de este tipo proporcionan alguna ayuda básica a los usuarios para introducir texto más rápidamente de lo que requeriría si se tuviera que teclear independientemente cada carácter del texto deseado, queda todavía la necesidad en la técnica de un sistema de completar texto más flexible para utilizarlo con un único dispositivo de señalización. También sería conveniente que un sistema de completar texto de este tipo empleara una técnica de selección conveniente que reduzca la cantidad de movimiento del dispositivo de señalización requerido para introducir texto en un ordenador. También sería adicionalmente conveniente que un sistema de ese tipo fuera aplicable a dispositivos informáticos personales tanto grandes como pequeños.
Otro problema en la técnica es que los teclados de programa, o digitales, han tendido a estar continuamente visualizados de forma que consumen permanentemente espacio en la pantalla o han necesitado ser invocados y descartados manualmente por el usuario. Sería conveniente que el teclado digital pudiera aparecer y desaparecer al requerirlo.
El documento EP0844571 A2, depositado el 21.11.1997, describe el preámbulo de las reivindicaciones 1 y 18 en el que se describe un dispositivo y un procedimiento de entrada de texto para un ordenador de entrada por lápiz. El dispositivo y el procedimiento de entrada de texto utilizan menús de avance y menús emergentes. En el dispositivo y el procedimiento presentados, el usuario presiona una tecla en un teclado de programa y la tecla seleccionada se convierte en una condición de recuperación en la generación de un conjunto de palabras candidatas que empiezan con la tecla seleccionada. Las palabras candidatas se visualizan en un menú de avance y si se presenta la palabra deseada, el usuario quita el lápiz de la pantalla, momento en el cual se visualizan las candidatas como un menú emergente y el menú de avance desaparece.
El documento EP0858023 A2, depositado el 10 de febrero 1998 describe un dispositivo de introducción de símbolos provisto de una superficie de visualización gráfica, una unidad de mando remota sostenida con la mano y una herramienta de introducción de símbolos visualizada en la superficie de visualización gráfica. La herramienta de introducción de símbolos incluye una zona de introducción de símbolos y un cuadro de símbolos visualizados en un área circular rodeando por lo menos parcialmente la zona de introducción de símbolos. El cuadro de símbolos visualiza una pluralidad de símbolos. Un foco visible es sensible a mandatos proporcionados por el usuario de forma que el usuario puede desplazar el foco a un símbolo particular en el cuadro de símbolos y seleccionar tal símbolo para introducirlo en el sistema de introducción de símbolos. Sólo un subconjunto de símbolos es visible en la superficie de visualización gráfica en cualquier momento particular. Globalmente, el subconjunto visible incluye aquellos símbolos más próximos a la posición actual del foco en el cuadro de símbolos.
Resumen de la invención
Las conveniencias anteriores y aquellas relacionadas se tratan en la presente invención proporcionando un procedimiento, un sistema e instrucciones que pueden ser leídas por el ordenador, no evidente y novedoso, para la generación y la introducción de texto asistido por ordenador utilizando un dispositivo de señalización con un dispositivo informático personal.
Visto desde un aspecto de la presente invención, se proporciona un procedimiento como se reivindica en la reivindicación 1.
En realizaciones por lo menos preferidas el usuario puede introducir y buscar rápidamente el texto utilizando un sistema de introducción de datos a través de la combinación de la introducción de uno o más caracteres en un teclado digitalmente visualizado con un dispositivo de señalización y utilizando una lista de búsqueda para obtener una lista de candidatas de compleción. El usuario puede activar la lista de búsqueda para obtener una lista de candidatas de compleción en cualquier momento mientras se introduce una introducción parcial de texto con el sistema de introducción de datos. Cuando la lista de búsqueda está activa, una lista de candidatas de compleción se visualiza en la interfaz gráfica del usuario para que el usuario seleccione de la misma y el usuario pueda ejecutar una de diversas acciones. El usuario puede desactivar la lista de búsqueda y volver para modificar la introducción de texto parcial actual y otro texto. El usuario puede seleccionar una de las candidatas de compleción en la lista de búsqueda y utilizar la candidata de compleción seleccionada para remplazar la introducción de texto parcial que el usuario está actualmente introduciendo. Cuando el usuario desactiva la lista de búsqueda interactiva, el usuario puede continuar inmediatamente añadiendo o modificando la introducción de texto parcial actual que está siendo introducido y puede volver a invocar la lista de búsqueda para buscar adicionalmente candidatas de compleción sobre la base de la introducción de texto parcial modificado. En el segundo caso, la candidata de compleción seleccionada se utiliza para remplazar la introducción de texto parcial que el usuario está actualmente introduciendo y el sistema de introducción de datos empieza a supervisar una nueva introducción de texto parcial del usuario.
En una realización, cuando la lista de búsqueda está activa el usuario puede utilizar una de las candidatas de compleción en la lista de búsqueda para iniciar una búsqueda automática adicional para obtener una lista más refinada de candidatas de compleción. En esta realización, están disponibles listas de búsqueda y búsquedas de múltiples niveles para ayudar a la compleción acelerada de una introducción de texto parcial. Como resultado, el usuario puede iniciar automáticamente una búsqueda iterativa en la que una candidata de compleción relacionada en la lista de búsqueda se utiliza como la nueva introducción de texto parcial para obtener dinámicamente una nueva lista de candidatas de compleción, la cual es entonces visualizada en la lista de búsqueda. La capacidad automática de utilizar la lista de búsqueda para obtener una lista refinada de candidatas de compleción permite al usuario hacer buen uso rápidamente de los resultados de la búsqueda que sean sólo parcialmente un éxito. Cuando la lista de búsqueda es revisada con una nueva lista de candidatas de compleción, el usuario puede escoger entonces una de las candidatas de compleción en la nueva lista, o el usuario puede repetir el proceso de búsqueda iterativa otra vez escogiendo una de las candidatas de compleción en la nueva lista y activando una búsqueda iterativa adicional. Además, el usuario puede volver a la introducción de teclado con la última candidata de compleción seleccionada por el usuario en la iteración anterior de la lista de búsqueda. Esta última característica proporciona al usuario la conveniencia de ser capaz de continuar introduciendo automáticamente y sin interrupción la palabra, frase o secuencia de caracteres deseada utilizando la última candidata de compleción seleccionada por el usuario en la iteración anterior de la lista de búsqueda interactiva. Por lo tanto, el usuario puede remplazar rápida y fácilmente la introducción de texto parcial actual del usuario con una candidata de compleción parcialmente de éxito y continuar construyendo o modificando esta candidata de compleción parcial utilizando el teclado mientras al mismo tiempo permite al usuario la flexibilidad de volver a introducir la lista de búsqueda en cualquier momento.
Visto desde un segundo aspecto, se proporciona un sistema como se reivindica en la reivindicación 18.
En realizaciones por lo menos preferidas está provisto un procedimiento de procesamiento del texto introducido en un dispositivo informático personal con un dispositivo de señalización. Con este procedimiento, una introducción de texto parcial es recibida y utilizada para obtener una lista dinámicamente generada de candidatas de compleción. La lista de candidatas de compleción se visualiza en una lista de búsqueda dentro de la interfaz gráfica del usuario. Se recibe una señal de entrada del usuario asociada con el dispositivo de señalización. Si la señal de entrada del usuario corresponde a un primer tipo de selección del usuario con el dispositivo de señalización, entonces se desactiva la lista de búsqueda. Si la señal de entrada del usuario corresponde a un segundo tipo de selección del usuario con el dispositivo de señalización, entonces la introducción de texto parcial es reemplazada con una candidata de compleción de la lista de búsqueda.
En una realización, si la señal de entrada del usuario corresponde a un tercer tipo de selección del usuario con el dispositivo de señalización, entonces una lista refinada de candidatas de compleción se obtiene dinámicamente sobre la base de una de las candidatas de compleción de la lista de búsqueda. La lista refinada se visualiza en la lista de búsqueda para una selección adicional del usuario.
En una realización preferida, se proporciona un procedimiento de procesamiento de una cadena de entrada por lo menos parcialmente introducida en un dispositivo informático personal con un dispositivo de señalización. Esta realización incluye ejecutar una búsqueda de un conjunto de candidatas de compleción para localizar una pluralidad de posibles candidatas de compleción para completar la cadena de entrada en respuesta a una posible candidata de compleción anteriormente localizada o un carácter que puede ser seleccionado por el usuario. Se visualizan por lo menos una de la pluralidad de posibles candidatas de compleción y de los caracteres que pueden ser seleccionados por el usuario.
En una realización preferida de la presente invención, se proporciona un procedimiento de introducción de texto basado en el usuario. Con esta realización, un conjunto de coordenadas de posición para un dispositivo de señalización se supervisa con relación a la interfaz del usuario y un teclado digital se visualiza en la interfaz del usuario en un último conjunto conocido de coordenadas del dispositivo de señalización siempre que el teclado digital es activado por la entrada del usuario.
En realizaciones por lo menos preferidas se proporciona un procedimiento para intercambiar la visualización de un teclado digital y una lista de búsqueda. El teclado digital es visualizado en la interfaz del usuario cuando un usuario está introduciendo un texto con la pulsación de una tecla cada vez. Cuando se visualiza el teclado digital, se supervisa la entrada del usuario. Si la entrada del usuario corresponde a la activación de la lista de búsqueda, entonces el teclado digital es reemplazado por la lista de búsqueda. Si la entrada del usuario corresponde a la terminación de la utilización de la lista de búsqueda una vez activada, entonces la lista de búsqueda es reemplazada por el teclado digital.
En realizaciones por lo menos preferidas, un teclado digital está configurado para incluir una pluralidad de caracteres asignados a localizaciones previamente determinadas dentro de una distribución en planta del teclado digital de acuerdo con una distribución de frecuencia previamente determinada asociada a la pluralidad de caracteres. La pluralidad de caracteres incluye los caracteres menos comúnmente utilizados y los caracteres más comúnmente utilizados sobre la base de una distribución de la frecuencia previamente determinada. El teclado digital se visualiza en una interfaz gráfica del usuario con los caracteres menos comúnmente utilizados visualizados substancialmente más alejados del centro del teclado digital que los caracteres más comúnmente utilizados.
En realizaciones por lo menos preferidas se proporciona un sistema para la generación e introducción de texto asistido por ordenador. El sistema incluye una interfaz de entrada, una unidad de proceso y un medio que puede ser leído por el ordenador. La interfaz de entrada recibe señales de entrada del usuario sobre la base de acciones con un dispositivo de señalización. El medio que puede ser leído por el ordenador contiene instrucciones que pueden ser leídas por el ordenador para dirigir la unidad de proceso para ayudar a la generación e introducción de texto sobre la base de la entrada del usuario recibida a través de la interfaz de entrada con el dispositivo de señalización. El medio que puede ser leído por el ordenador incluye instrucciones para recibir una introducción de texto parcial, para obtener una lista dinámicamente generada de candidatas de compleción sobre la base de la introducción de texto parcial, para visualizar la lista de candidatas de compleción en una lista de búsqueda en un dispositivo de visualización, y para recibir una señal de entrada del usuario asociada con el dispositivo de señalización desde la interfaz de entrada. Si la señal de entrada del usuario corresponde a un primer tipo de selección del usuario con el dispositivo de señalización, las instrucciones que pueden ser leídas por el ordenador están programadas para desactivar la lista de búsqueda. Si la señal de entrada del usuario corresponde a un segundo tipo de selección del usuario con el dispositivo de señalización, las instrucciones que pueden ser leídas por el ordenador están programadas para reemplazar la introducción de texto parcial con una candidata de compleción de la lista de búsqueda.
Otros aspectos y características de la presente invención se harán evidentes a aquellos normalmente expertos en la técnica al revisar la siguiente descripción de las realizaciones específicas de la invención conjuntamente con los dibujos que se acompañan.
Breve descripción de los dibujos
En los dibujos que se acompañan los cuales ilustran realizaciones de la invención,
La figura 1 es un diagrama esquemático de un dispositivo informático personal cargado con un sistema de introducción de datos, de acuerdo con una primera realización de la invención.
La figura 2 es un diagrama esquemático del sistema de introducción de datos de la primera realización.
La figura 3 es una representación esquemática que ilustra la visualización de un teclado digital en una interfaz gráfica del usuario dentro del dispositivo informático personal de la primera realización.
La figura 4 es una representación esquemática de una estructura de datos para un diccionario de acuerdo con la primera realización.
La figura 5 es una representación esquemática que ilustra la visualización intercambiable del teclado digital y una lista de búsqueda interactiva de acuerdo con la primera realización.
La figura 5A es una representación esquemática que ilustra las candidatas de compleción potenciales para la recuperación y la visualización en la lista de búsqueda interactiva de acuerdo con un ejemplo de utilización de la primera realización.
La figura 6 es un diagrama de flujo que ilustra, a título de ejemplo, desde la perspectiva del usuario, la utilización del sistema de introducción de datos de la primera realización.
Las figuras 7 a 9 son diagramas de flujo que ilustran el flujo de funcionamiento del sistema de introducción de datos de acuerdo con la primera realización.
La figura 10 es una representación esquemática de una realización alternativa de una distribución en planta de un teclado digital.
La figura 11 es una representación esquemática de otra realización alternativa de una distribución en planta de un teclado digital.
La figura 12 es una representación esquemática de otra realización alternativa de una distribución en planta de un teclado digital.
La figura 13 es una representación esquemática de otra configuración de un teclado digital de acuerdo con una realización de la presente invención.
La figura 14 es una representación esquemática de la distribución en planta de la lista de búsqueda interactiva de acuerdo con la primera realización.
Las figuras 15 a 18 son representaciones esquemáticas de distribuciones en planta alternativas de la lista de búsqueda interactiva de acuerdo con realizaciones alternativas de la presente invención.
La figura 19 es una representación esquemática de una configuración del teclado digital y de la lista de búsqueda interactiva de acuerdo con una realización de la presente invención.
La figura 20 es una representación esquemática de una configuración alternativa del teclado digital de acuerdo con una realización de la presente invención.
Las figuras 21 y 22 son diagramas de flujo que ilustran el flujo de funcionamiento del sistema de introducción de datos de acuerdo con una realización alternativa de la presente invención.
Las figuras 23 y 24 son diagramas de flujo que ilustran el flujo de funcionamiento del sistema de introducción de datos de acuerdo con una realización alternativa de la presente invención.
Las figuras 25 y 26 son diagramas de flujo que ilustran el flujo de funcionamiento del sistema de introducción de datos de acuerdo con una realización alternativa de la presente invención.
La figura 27 es una representación esquemática de una configuración alternativa del teclado digital de acuerdo con una realización de la presente invención.
Se apreciará que por simplicidad y claridad de la ilustración, los elementos ilustrados en los dibujos que se acompañan no necesariamente han sido dibujados a escala. Por ejemplo, las dimensiones de algunos de los elementos están exageradas con relación a los otros elementos para mayor claridad. Además, cuando se ha considerado adecuado, los números de referencia y las etiquetas se han repetido entre los dibujos para indicar elementos y características correspondientes o análogos.
Descripción detallada
Se hará referencia ahora con mayor detalle a implantaciones y realizaciones de la invención, ejemplos de las cuales se ilustran en los dibujos que se acompañan.
Introducción
En un aspecto de la presente invención el usuario puede rápidamente introducir y buscar texto utilizando un sistema de introducción de datos a través de la combinación de introducir uno o más caracteres en un teclado digitalmente visualizado con un dispositivo de señalización y utilizando una lista de búsqueda interactiva para obtener dinámicamente una lista de candidatas de compleción. El usuario puede activar la lista de búsqueda interactiva para obtener una lista dinámicamente generada de candidatas de compleción en cualquier momento mientras introduce una introducción de texto parcial con el sistema de introducción de datos. En esta memoria "introducción de texto parcial" significa una secuencia de uno o más caracteres que forman una parte que encabeza una palabra, una frase o una secuencia de caracteres. Cuando la lista de búsqueda interactiva está activa, una lista dinámicamente generada de candidatas de compleción se visualiza en una interfaz gráfica del usuario para que el usuario haga la selección de ella. La lista de candidatas de compleción se recupera de por lo menos un diccionario mediante un sistema de predicción de candidatas el cual recupera las candidatas de compleción que son las que más probablemente contengan las candidatas de compleción deseadas por el usuario. La predicción de candidatas se basa en unas medidas estadísticas que clasifican las introducciones en el diccionario unas con relación a otras. Cuando la lista de búsqueda interactiva está activa, el usuario puede ejecutar una de diversas acciones con el sistema de introducción de datos que incluyen cualquiera de las siguientes:
(1) el usuario puede desactivar la lista de búsqueda interactiva y volver a modificar la introducción de texto parcial actual y otro texto; y
(2) el usuario puede seleccionar una de las candidatas de compleción en la lista de búsqueda interactiva y utilizar la candidata de compleción seleccionada para reemplazar la introducción de texto parcial que el usuario está actualmente introduciendo.
En el primer caso, cuando el usuario desactiva la lista de búsqueda interactiva, el usuario puede continuar inmediatamente añadiendo o modificando la introducción de texto parcial actual que está siendo introducida y puede volver a invocar la lista de búsqueda interactiva para buscar adicionalmente candidatas de compleción sobre la base de la introducción de texto parcial modificada. En el segundo caso, la candidata de compleción seleccionada se utiliza para reemplazar la introducción de texto parcial que el usuario está actualmente introduciendo y el sistema de introducción de datos empieza a supervisar una nueva introducción de texto parcial (de una palabra, frase o secuencia de caracteres) del usuario.
En ciertas realizaciones de la presente invención, como se ilustra adicionalmente más adelante, una tercera acción disponible para el usuario, cuando la lista de búsqueda interactiva está activada, es:
(3) utilizar una de las candidatas de compleción en la lista de búsqueda interactiva para iniciar una búsqueda automática adicional para obtener una lista dinámica más refinada de candidatas de compleción del diccionario.
En el tercer caso, están disponibles listas de búsqueda y búsquedas de múltiples niveles para ayudar a la compleción acelerada de una introducción de texto parcial. En este último caso, el usuario puede iniciar automáticamente una búsqueda iterativa en la cual una candidata de compleción relacionada en la lista de búsqueda interactiva se utiliza como nueva introducción de texto parcial para obtener dinámicamente una nueva lista de candidatas de compleción, la cual es entonces visualizada en una lista de búsqueda interactiva actualizada. La capacidad automática de utilizar la lista de búsqueda interactiva para obtener dinámicamente una lista refinada de candidatas de compleción permite al usuario hacer buen uso rápidamente de los resultados de la búsqueda que son sólo parcialmente de éxito. Cuando la lista de búsqueda interactiva se actualiza con una nueva lista de candidatas de compleción, el usuario puede escoger entonces una de las candidatas de compleción en la nueva lista, o el usuario puede repetir el proceso de búsqueda iterativa otra vez escogiendo una de las candidatas de compleción en la nueva lista y activando una búsqueda iterativa adicional. Además, el usuario puede volver a la introducción del teclado con la última candidata de compleción seleccionada por el usuario en la iteración anterior de la lista de búsqueda interactiva. Esta última característica proporciona al usuario la conveniencia de ser capaz de continuar introduciendo automáticamente y sin interrupción la palabra, frase o secuencia de caracteres deseada utilizando la última candidata de compleción, seleccionada por el usuario en la iteración anterior, de la lista de búsqueda interactiva. Por lo tanto, el usuario puede reemplazar rápida y fácilmente la introducción de texto parcial actual del usuario con una candidata de compleción parcialmente de éxito y continuar construyendo o modificando esta candidata de compleción parcial utilizando el teclado mientras al mismo tiempo permite al usuario la flexibilidad de volver a introducir la lista de búsqueda en cualquier momento.
Como se describe adicionalmente en esta memoria, otras acciones también pueden ser llevadas a cabo por el usuario cuando la lista de búsqueda interactiva está activa.
Entorno de funcionamiento
La figura 1 muestra un diagrama esquemático de un dispositivo informático personal 10 para la introducción de texto de acuerdo con una primera realización de la invención. El dispositivo informático personal 10 representado en la figura 1 contiene por lo menos una unidad de proceso 12 (como por ejemplo una CPU o un procesador similar o un multiprocesador) conectado mediante un bus a un medio que puede ser leído por el ordenador 16. El medio que puede ser leído por el ordenador 16 proporciona un almacén de memoria para que residan los programas y los datos dentro del dispositivo informático personal 10. El medio que puede ser leído por el ordenador 16 puede incluir uno o más tipos de medios que pueden ser leídos por el ordenador tales como una memoria de acceso aleatorio
(RAM - Random Access Memory) y una memoria no volátil, como por ejemplo un disco duro o una memoria sólo de lectura (ROM - Read Only Memory). Preferiblemente el medio que puede ser leído por el ordenador 16 incluye una combinación de memoria volátil y no volátil. En la primera realización, el medio que puede ser leído por el ordenador 16 contiene un sistema operativo, un sistema de introducción de datos 26 y una aplicación 27 receptiva a la introducción de texto basada en el usuario como por ejemplo un procesador de texto. El medio que puede ser leído por el ordenador 16 también puede almacenar otras aplicaciones o aplicaciones alternativas tales como un navegador o micro-navegador, una aplicación de correo electrónico y otras aplicaciones del usuario final.
El sistema operativo puede ser cualquiera de los diversos sistemas operativos muy conocidos que depende del dispositivo informático personal utilizado. Por ejemplo, para dispositivos que se pueden sostener en la mano, el sistema operativo puede ser PalmOS^{TM}, Windows CE^{TM}, o un sistema operativo equivalente. Para sistemas mayores, como por ejemplo con estaciones de trabajo o ordenadores de mesa, se puede utilizar un sistema operativo más potente tal como, por ejemplo, Windows 95^{TM}, Windows 98^{TM}, Windows NT^{TM}, Windows 2000^{TM}, MacOS^{TM}, UNIX, Linux o similar. Para los propósitos de la primera realización, el sistema operativo es PalmOS^{TM}.
El sistema de introducción de datos 26 se implanta como un programa que corre en la unidad de proceso 12 para soportar la generación y la introducción de texto asistida por ordenador para el usuario, aunque en otras alternativas, el sistema de introducción de datos 26 se puede implantar como instrucciones que pueden ser leídas por el ordenador en microprogramas o incrustadas en los componentes del equipo. En la primera realización el texto electrónico y los documentos son generados y mantenidos por la aplicación 27 y el usuario crea y edita el texto electrónico y los documentos con el sistema de introducción de datos 26 el cual se comunica con la aplicación 27 a través de una interfaz de programación de la aplicación (API - Application Programming Interface). Esto permite que el sistema de introducción de datos 26 sea portátil de forma que pueda ser utilizado por una o más aplicaciones para aceptar la introducción de texto y de datos del usuario. Como una alternativa, el sistema de introducción de datos 26 puede estar integrado en una parte de una aplicación.
El dispositivo informático personal 10 incluye un dispositivo de visualización gráfico 15 y una interfaz de entrada del equipo 17 receptiva a las entradas del usuario desde un dispositivo de señalización. En esta memoria, el término "dispositivo de señalización" significa un dispositivo de entrada que permite a un usuario seleccionar una elección entre uno o varias posibilidades (una selección basada en el usuario). Algunos dispositivos de señalización habilitan al usuario para hacer selecciones basadas en el usuario señalando una elección deseada e incluyen, a título de ejemplo, un lápiz, un estilete o el dedo. Más generalmente, los dispositivos de señalización capaces de soportar selecciones basadas en el usuario incluyen, a título de ejemplo, los dispositivos de señalización de antes capaces de señalar, así como otros dispositivos de entrada tales como un ratón, una bola de seguimiento o similar.
El dispositivo de visualización gráfico 15 está conectado y controlado por la unidad de proceso 12 a través de un circuito visualizador de vídeo 13. El dispositivo de visualización gráfico 15 puede ser un tubo de rayos catódicos
(CRT - Cathode Ray Tube), un visualizador de cristal líquido, o un visualizador de ordenador equivalente.
En la primera realización, el dispositivo informático personal 10 es un asistente personal digital en el que el dispositivo de visualización gráfico 15 y la interfaz de entrada del equipo 17 están combinados en forma de una pantalla sensible al tacto 14 que sirve tanto como visualizador gráfico 15 como de interfaz de entrada receptiva a la generación de señales de coordenadas de posición en respuesta al contacto desde dispositivos de señalización tales como un lápiz o un estilete. Será apreciado por aquellos expertos en la técnica que el dispositivo informático personal 10 está representado en la siguiente descripción como un asistente personal digital, sólo con fines ilustrativos, y que la invención se puede llevar a la práctica con otros dispositivos informáticos personales incluyendo dispositivos que se pueden sostener en la mano, ordenadores personales y otros dispositivos electrónicos basados en microprocesadores, teléfonos portátiles, equipos de Internet y dispositivos incrustados, provistos de un visualizador gráfico adecuado y una interfaz de entrada receptiva a las entradas del usuario a través de un lápiz, estilete, el dedo, un ratón o un dispositivo de señalización equivalente que permita al usuario seleccionar una opción de entre varias. Otros tipos de dispositivos informáticos equivalentes a los cuales son aplicables las características y los aspectos de la presente invención, a título de ejemplo, un equipo de Internet controlado a través de un control remoto (por ejemplo, un servicio de Internet que corra a través de un televisor mediante un aparato que integra el convertidor y el descodificador y un control remoto). En otras realizaciones, la interfaz de entrada del equipo 17 puede ser un tablero digitalizador, una superficie de entrada sensible a la presión o una superficie de entrada sensible a la proximidad. También se apreciará que el dispositivo informático personal 10 puede estar alimentado por una fuente de alimentación de energía interna (18) o externa.
Como se representa en la figura 2, el sistema de introducción de datos 26 incluye instrucciones que pueden ser leídas por el ordenador para un teclado digital 28, un sistema de predicción de candidatas 32, un diccionario 20 y una lista de búsqueda interactiva 30. El teclado digital 28 proporciona una interfaz para que el usuario introduzca texto y datos dentro del dispositivo informático personal 10 (figura 1). Cuando el usuario introduce caracteres a través del teclado digital 28 para construir una palabra, una frase o una secuencia de caracteres, los caracteres introducidos por el usuario son almacenados en una cadena de búsqueda como una introducción de texto parcial. La cadena de búsqueda es utilizada por el sistema de predicción de candidatas 32 para buscar en el diccionario 20 candidatas de compleción que empiecen por la introducción de texto parcial actual que esta siendo almacenada en la cadena de búsqueda. La lista de búsqueda interactiva 30 se utiliza para visualizar, para la selección del usuario, la lista de candidatas de compleción recuperadas por el sistema de predicción de candidatas 32. En la primera realización, el sistema de introducción de datos 26 soporta una entrada basada en el gesto del usuario para la selección de las candidatas de compleción de la lista de búsqueda interactiva 30 como se describirá con mayor detalle más adelante.
Teclado digital
Como se ilustra en la figura 3, una imagen del teclado digital 28 se visualiza en una interfaz gráfica del usuario 34 dentro del área de la pantalla en la pantalla sensible al tacto 14 una vez que el sistema de introducción de datos 26 se inicializa y está preparado para recibir entradas del usuario. El teclado digital 28 contiene una pluralidad de teclas cada una de las cuales está asociada con por lo menos un carácter de un conjunto de caracteres. Por ejemplo, cuando se utiliza el alfabeto inglés o un conjunto de caracteres conteniendo el alfabeto inglés, cada tecla del teclado digital 28 puede contener una o más letras del alfabeto inglés. Debe indicarse que la referencia al alfabeto inglés se hace sólo a título de ejemplo y que el teclado digital 28 se puede configurar para contener y visualizar cualquier conjunto de caracteres los cuales pueden ser seleccionados entonces por el usuario y utilizarlos para introducir texto dentro del dispositivo informático personal 10. Los términos "conjunto de carácter" y "conjunto de caracteres" se refieren en esta memoria a un conjunto que contiene una pluralidad de letras, números y otros símbolos tipográficos. Ejemplos de conjuntos de caracteres incluyen, pero no están limitados a ellos, uno o más alfabetos de un idioma escrito (por ejemplo, inglés, francés, alemán, español, chino o japonés) y conjuntos de caracteres en códigos binarios tales como ASCII (American Standard Code for Information Interchange - Código general americano de intercambio de información), EBCDIC (Extended Binary Coded Decimal Interexchange Code - Código de intercambio decimal codificado en binaria extendido) y BCD (Binary Coded Decimal - Decimal codificado en binario).
En la primera realización, el teclado digital 28 visualiza teclas digitales que contienen caracteres del alfabeto inglés junto con caracteres especiales seleccionados del conjunto de caracteres ASCII. Palabras, frases y secuencias de caracteres se pueden teclear en un documento electrónico o en un texto electrónico simplemente utilizando el dispositivo de señalización para teclear o seleccionar en secuencia cada tecla para la palabra, frase o secuencia de caracteres deseada. Como se describirá adicionalmente más adelante, el usuario puede utilizar también el teclado digital 28 para iniciar una búsqueda automática para candidatas de compleción para introducir más rápida y flexiblemente palabras, frases y secuencias de caracteres de una manera automática. Como también se describirá más adelante en esta memoria, se pueden implantar diversas mejoras al teclado digital 28 para mejorar adicionalmente la capacidad del usuario de introducir rápida, eficaz y flexiblemente texto utilizando un dispositivo de señalización.
Diccionario
La figura 4 muestra un ejemplo de estructura de datos para el diccionario 20. Preferiblemente, como en la primera realización, el diccionario 20 contiene candidatas de compleción con valores de ponderación para la clasificación de las candidatas de compleción unas con relación a otras. El diccionario 20 contiene una pluralidad de entradas, con cada una de las entradas disponiendo de un campo 22 de las candidatas de compleción para almacenar una candidata de compleción y un campo de peso 24 para almacenar un valor numérico asociado con la candidata de compleción almacenada en el correspondiente campo de la candidata de compleción 22. Cada candidata de compleción almacenada en el diccionario 20 representa una palabra, frase o secuencia de caracteres de acuerdo con un idioma particular. Las secuencias de caracteres pueden incluir, pero no están limitadas a ellas, continuaciones de palabras. Continuaciones de palabras representan una parte de encabezamiento de una palabra, pero no una palabra entera. En la primera realización en la que el diccionario se basa en inglés americano, las continuaciones de palabras pueden incluir, a título de ejemplo, prefijos de palabras tan comunes como "com", "con", "dis", "expl", "inter", "mis", "para", "pre", "syn", "tele", "trans" y "univers". Obteniendo una lista de candidatas de compleción la cual pueda incluir prefijos comunes de palabras reduce el esfuerzo del usuario en términos del número de pasos requeridos para generar una introducción de texto deseado. Además, ciertas combinaciones de caracteres tales como prefijos de palabras son compartidas por múltiples candidatas de compleción lo que puede acelerar el aprendizaje de las localizaciones de las candidatas de compleción dentro de subniveles de la lista de búsqueda interactiva 30 cuando está disponible una búsqueda de múltiples niveles (esto es, una búsqueda iterativa).
Cada campo de peso 24 almacena un valor de ponderación para la clasificación de la correspondiente candidata de compleción almacenada en el correspondiente campo de candidatas de compleción 22 con otras candidatas de compleción en el diccionario 20. El valor de ponderación almacenado en un campo de peso 24 se puede basar en una de muchas métricas. A título de ejemplo, cada campo de peso 24 puede contener un valor que represente un grado de utilización común de la candidata de compleción almacenada en el correspondiente campo de candidatas de compleción 22 con relación a las otras candidatas de compleción en el diccionario 20. Como otro ejemplo, los campos de peso 24 pueden contener valores numéricos basados en las palabras o frases que anteceden a la candidata de compleción almacenada en la correspondiente candidata de compleción a partir de un análisis de un gran cuerpo de texto. Cada campo de peso 24 también puede estar complementado con uno o más campos relacionados.
Sistema de predicción de candidatas
Con referencia a la figura 2, el sistema de predicción de candidatas 32 está programado para buscar dinámicamente en el diccionario 20 candidatas de compleción que empiecen con la introducción de texto parcial introducida por el usuario. El sistema de predicción de candidatas 32 recupera las candidatas de compleción del diccionario 20 determinando qué entradas del diccionario son más probables de ser las que el usuario está intentado teclear. En la primera realización, las candidatas de compleción se obtienen del diccionario 20 sobre la base de los valores de la frecuencia almacenados en el campo de peso 24 para cada entrada. En la primera realización, se recuperan las candidatas de compleción provistas de los valores de ponderación más elevados. Los valores de la frecuencia representan la frecuencia de utilización de las entradas unas con relación a las otras. Estos valores de la frecuencia se pueden determinar previamente sobre la base de un análisis de un gran cuerpo de texto o se pueden generar o modificar dinámicamente sobre la base de la utilización específica del usuario de las palabras, frases y secuencias de caracteres a través del sistema de introducción de datos 26. También se pueden emplear otras medidas estadísticas para mejorar el sistema de predicción de candidatas 32, tales como información de la clasificación o identificación de la frecuencia con la cual una entrada en el diccionario 20 sigue a cualquier otra entrada en el diccionario 20.
Preferiblemente, el sistema de predicción de candidatas 32 recupera todas las candidatas de compleción posibles por una o más métricas previamente determinadas. En la primera realización, el número total de candidatas de compleción recuperadas está limitado por un número máximo previamente determinado de candidatas de compleción que se pueden visualizar. El número máximo de candidatas de compleción recuperadas por el sistema de predicción de candidatas 32 es preferiblemente un número pequeño pero lo suficientemente significativo como para proporcionar al usuario tantas candidatas potenciales como sea posible sin saturar excesivamente al usuario con un número excesivo de candidatas y sin retrasar excesivamente la capacidad del usuario de revisar rápidamente y de seleccionar entre las candidatas seleccionadas. El número máximo de candidatas de compleción preferiblemente es también suficientemente grande como para proporcionar una variedad de candidatas de compleción (si están disponibles) para que el usuario escoja de forma que evite una cantidad excesiva de búsquedas de múltiples niveles para completar una introducción de texto parcial. En el caso de la primera realización, el número máximo de candidatas de compleción que se pueden visualizar se ha establecido en cinco. El sistema de introducción de datos 26 puede ser configurado por el usuario para presentar un número mayor o menor de candidatas de compleción. Preferiblemente, las candidatas de compleción se pueden visualizar en una configuración que también puede ser seleccionada por el usuario. Haciendo que el número de candidatas de compleción que pueden ser visualizadas sea una característica que pueda ser configurada por el usuario, se proporcionan capacidades mejoradas para la generación y la introducción de texto asistido por ordenador con el sistema de introducción de datos 26.
Lista de búsqueda interactiva
La lista de búsqueda interactiva 30 recibe las candidatas de compleción recuperadas del diccionario 20 mediante el sistema de predicción de candidatas 32 y presenta al usuario la lista de estas candidatas de compleción. La lista de búsqueda interactiva 30 puede ser visualizada al usuario en cualquiera de diferentes modos dependiendo de las opciones en las cuales ha sido programado el sistema de introducción de datos 26 y de cuáles son aquellas opciones que han sido seleccionadas por el usuario, como se describirá más adelante en esta memoria. En la primera realización, la lista de búsqueda interactiva 30 es visualizada en la pantalla sensible al tacto 14 como una lista vertical interactiva de candidatas de compleción. Como se describe adicionalmente más abajo, la lista de búsqueda interactiva 30 está programada para soportar búsquedas de múltiples niveles de forma que el usuario pueda rápidamente utilizar una candidata de compleción de un nivel de resultados de la búsqueda para ahondar más profundamente en el diccionario 20 para un conjunto más estrecho de candidatas de compleción.
En la primera realización, el teclado digital 28 y la lista de búsqueda interactiva 30 se visualizan también de forma intercambiable en la interfaz gráfica del usuario 34, como se ilustra adicionalmente en la figura 5. Cuando el teclado digital 28 y la lista de búsqueda interactiva 30 son intercambiables, el usuario puede fácil y rápidamente cambiar entre introducir caracteres o modificar de lo contrario la introducción de texto parcial desde el teclado digital 28 y utilizando la lista de búsqueda interactiva 30 para rápida y flexiblemente completar la introducción de palabras, frases y secuencias de caracteres. Cuando el teclado digital 28 y la lista de búsqueda interactiva son intercambiables la imagen del teclado digital 28 y la imagen de la lista de búsqueda interactiva 30 comparten substancialmente la misma área de visualización en la interfaz gráfica del usuario 34. El sistema de introducción de datos 26 para la primera realización está preferiblemente programado para cambiar automáticamente entre el teclado digital 28 y la lista de búsqueda interactiva 30 dependiendo de la entrada proporcionada por el usuario desde el dispositivo de señalización. Esta última característica hace mínima la interrupción de la atención del usuario al proceso de introducción de datos puesto que la atención del usuario permanece centrada en la misma zona de la interfaz gráfica del usuario 34 para ambos, el teclado digital 28 y la lista de búsqueda interactiva 30. Intercambiando la visualización del teclado digital 28 y la lista de búsqueda interactiva 30 dentro de la interfaz gráfica del usuario 34 proporciona una distribución en planta de rendimiento del espacio para la utilización del sistema de introducción de datos 26 en la pantalla sensible al tacto 14. La intercambiabilidad del teclado digital 28 y la lista de búsqueda interactiva 30 también puede hacer mínimo el movimiento de la mano cuando el usuario cambia entre utilizar el teclado digital 28 y la lista de búsqueda interactiva 30 sin tener que desplazar el dispositivo de señalización a otra parte de la pantalla sensible al tacto 14 (o, más globalmente, sin tener que desplazar el dispositivo de señalización a otra parte de la interfaz de entrada del equipo). Esta disposición puede ser particularmente útil para dispositivos informáticos personales menores, tales como PDA o bien otros dispositivos que se pueden sostener en la mano similares, o cuando la cantidad de espacio en la interfaz gráfica del usuario 34 utilizada por el sistema de introducción de datos 26 se tiene que hacer mínima.
La lista de búsqueda interactiva 30 permite al usuario completar más rápida y flexiblemente la introducción de palabras, frases y secuencias de caracteres de lo que se requeriría de lo contrario si el usuario debiera simplemente teclear cada carácter individual de la introducción deseada.
Resumen de la metodología
Se describirá ahora la metodología básica de introducción de datos de la presente invención como se aplica al dispositivo informático personal 10 de la primera realización. En lo que sigue a continuación se hace referencia a las figuras 1 a 5.
En la primera realización, el usuario forma interfaz con el dispositivo informático personal 10 a través de una pantalla sensible al tacto 14 utilizando un lápiz como dispositivo de señalización. Sin embargo, se debe indicar que la siguiente metodología puede ser utilizada con diversos otros dispositivos de señalización, tales como por ejemplo un estilete, el dedo, una bola de seguimiento, o un ratón. Si se utiliza un ratón o un dispositivo de señalización equivalente en lugar del lápiz, el estilete, o el dedo, entonces para la primera realización el acto de presionar el botón de un ratón debe ser considerado equivalente a tocar la pantalla sensible al tacto 14 o tocar una almohadilla con un estilete, un lápiz o el dedo, y de forma similar, al liberar el botón presionado del ratón se debe considerar equivalente a elevar el estilete, lápiz, dedo o bien otro dispositivo de señalización de la pantalla sensible al tacto 14 (o de una almohadilla de tacto o una almohadilla sensible a la presión).
Con el sistema de introducción de datos 26 de la primera realización están disponibles para el usuario dos modos de introducción principales: un modo de teclado y un modo de búsqueda. En el modo de teclado, el usuario puede introducir texto con un carácter (o una pulsación de tecla) cada vez simplemente señalando y seleccionando las teclas del teclado digital 28 con el dispositivo de señalización. Con cada selección de una tecla en el teclado digital 28, uno o más caracteres que están asociados a esa tecla son transmitidos a la aplicación 27 para introducir texto en, por ejemplo, un documento o un campo de introducción de datos. En el modo de búsqueda, el usuario puede buscar y seleccionar entre las sugerencias de las candidatas de compleción para completar una palabra, frase o secuencia de caracteres como se describe adicionalmente más adelante.
En la primera realización, cuando el usuario empieza a introducir una palabra, frase o secuencia de caracteres utilizando el teclado digital 28, el sistema de predicción de candidatas 32 automáticamente empieza a buscar en el diccionario 20 palabras, frases y secuencias de caracteres candidatas que el usuario puede estar intentando introducir. La búsqueda del diccionario 20 llevada a cabo por el sistema de predicción de candidatas 32 empieza automáticamente en respuesta a una secuencia de caracteres emergente introducida por el usuario. Esto se hace buscando en el diccionario 20 las candidatas de compleción que empiezan con el carácter o los caracteres de encabezamiento que ha introducido el usuario (es decir, la introducción de texto parcial). Los caracteres de encabezamiento introducidos manualmente por el usuario con el dispositivo de señalización se almacenan temporalmente como una cadena de búsqueda. La cadena de búsqueda es utilizada por el sistema de predicción de candidatas 32 para buscar en el diccionario 20 candidatas de compleción potenciales. El sistema de predicción de candidatas 32 recupera las candidatas de compleción sobre la base de las entradas del diccionario 20 que es más probable de que contengan la candidata de compleción que el usuario está intentando teclear sobre la base de la introducción de texto parcial actualmente introducida como se indica mediante los campos de peso en el diccionario.
Las candidatas de compleción recuperadas del diccionario 20 por el sistema de predicción de candidatas 32 se proporcionan a la lógica de la lista de búsqueda interactiva lo que causa que sea producida la lista de búsqueda interactiva 30. Cuando es producida cada nueva lista de candidatas de compleción por el sistema de predicción de candidatas 32, la lógica de la lista de búsqueda interactiva produce una lista revisada de candidatas de compleción a medida que el usuario añade o borra caracteres de la introducción de texto parcial con el teclado digital 28. El que se visualice la lista de búsqueda interactiva 30 en la interfaz gráfica del usuario 34, sin embargo, depende de si ha sido activada o no la lista de búsqueda interactiva 30. En la primera realización, el usuario puede activar la lista de búsqueda interactiva 30 realizando una pausa durante un período de retraso L1 previamente determinado con el dispositivo de señalización en una selección realizada tocando una tecla en el teclado digital 28 que contiene uno o más caracteres. La cantidad de tiempo que el usuario debe dedicar a la pausa con la tecla seleccionada es una opción configurable por el usuario. Generalmente, el retraso escogido será inferior a un segundo, aunque el retraso se puede configurar para cualquier período de tiempo que desee el usuario. En cuanto el usuario realiza la pausa en una tecla seleccionada durante el período de retraso L1, la lista de búsqueda interactiva 30 se convierte en activa. Cuando la lista de búsqueda interactiva 30 se activa, el modo de introducción del sistema de introducción de datos 26 cambia del modo de teclado al modo de búsqueda. Además, cuando la lista de búsqueda interactiva 30 se activa en la primera realización, la imagen del teclado digital 28 se borra de la interfaz gráfica del usuario 34 y es reemplazada por una imagen de la lista de búsqueda interactiva 30.
Aunque la lista de búsqueda interactiva 30 se actualiza continuamente en la primera realización, en una configuración alternativa la lista de búsqueda interactiva 30 se puede generar una vez el usuario activa la lista de búsqueda interactiva 30 haciendo una pausa en una tecla seleccionada en el teclado digital 28. En esta configuración alternativa, la lista de búsqueda interactiva 30 se revisa cada vez que el usuario hace surgir una lista de búsqueda interactiva nueva o modificada 30.
Una vez el usuario ha activado la visualización de la lista de búsqueda interactiva 30 que contiene una lista de candidatas de compleción, el sistema de introducción de datos 26 proporciona al usuario la flexibilidad de proceder con una de las diversas operaciones utilizando el dispositivo de señalización. Con la lista de búsqueda interactiva 30 visualizada y activa, el usuario puede hacer cualquiera de las siguientes cosas:
(1) el usuario puede desactivar la lista de búsqueda interactiva 30 y volver a modificar la introducción de texto parcial y otro texto; o
(2) el usuario puede seleccionar una de las candidatas de compleción en la lista de búsqueda interactiva 30 y utilizar la candidata de compleción seleccionada para reemplazar la introducción de texto parcial que está actualmente introduciendo el usuario; o
(3) el usuario puede usar una de las candidatas de compleción en la lista de búsqueda interactiva 30 para iniciar una búsqueda automática adicional para obtener dinámicamente una lista más refinada de candidatas de compleción del diccionario 20; o
(4) el usuario puede moverse automáticamente en la pantalla o iterar a través de la lista de candidatas de compleción en la lista de búsqueda interactiva 30 seleccionando y no seleccionando una candidata de compleción cada vez que el usuario decide cuál de las candidatas de compleción (si existe) será utilizada para completar la introducción de texto parcial actual o para iniciar una búsqueda adicional; o
(5) el usuario puede realizar un gesto o una pausa en una "zona muerta" dentro de la interfaz gráfica del usuario 34 durante cualquier período de tiempo sin iniciar cualquier acción adicional mediante el sistema de introducción de datos 26 de forma que realice una pausa para considerar si se continúa utilizando la lista de búsqueda interactiva 30 visualizada o si se ejecuta una de las otras operaciones relacionadas antes.
La acción del usuario con el dispositivo de señalización genera señales de entrada del usuario las cuales son supervisadas y analizadas por el sistema de introducción de datos 26 para determinar el tipo de selección o acción por parte del usuario que se va a realizar. La operación que es ejecutada por el sistema de introducción de datos 26, una vez que la lista de búsqueda interactiva 30 está activa, depende de la acción que realice el usuario con el dispositivo de señalización.
Si el usuario no quiere seleccionar cualquiera de las candidatas de compleción presentadas en la lista de búsqueda interactiva 30 y desea continuar introduciendo caracteres adicionales o modificar, de lo contrario, la introducción de texto parcial desde el teclado digital 28, entonces con la lista de búsqueda interactiva 30 activa y visualizada en la interfaz gráfica del usuario 34, el usuario puede levantar el dispositivo de señalización sin un movimiento significativo o puede levantar el dispositivo de señalización después de arrastrarlo o devolverlo a la zona muerta. Cualquiera de estas acciones causa que la interfaz de entrada del equipo 17 genere una señal de entrada del usuario la cual sirve como indicación al sistema de introducción de datos 26 de que el usuario desea desactivar la lista de búsqueda interactiva 30 y volver a modificar la introducción de texto parcial actual manualmente con el teclado digital 28. En la primera realización, cuando la lista de búsqueda interactiva 30 se desactiva, la imagen de la lista de búsqueda interactiva 30 se borra de la interfaz gráfica del usuario 34 y se reemplaza con la imagen del teclado digital 28 el cual está habilitado para ser adicionalmente utilizado por el usuario. Esto permite al usuario volver suavemente a utilizar el teclado digital 28 en el modo de teclado sin tener que volver a colocar el dispositivo de señalización. Una vez en el modo de teclado, el usuario puede volver a iniciar la búsqueda con la lista de búsqueda interactiva 30 para obtener candidatas de compleción adicionales realizando una pausa otra vez en una tecla (o carácter) subsiguientemente seleccionada en el teclado digital 28 con el dispositivo de señalización.
Una candidata de compleción de la lista de búsqueda interactiva 30 es seleccionada por el usuario mediante la generación de un gesto con el dispositivo de señalización. Para los fines de esta memoria el término "gesto" se refiere a un movimiento con el dispositivo de señalización cuando el dispositivo de señalización está en estado activo. En general los movimientos que constituyan gestos pueden ser lineales o de otro tipo que pueda ser reconocido por el ordenador. Para la primera realización representada en las figuras 1 a 5 y para variantes de la misma, un gesto es un movimiento con el dispositivo de señalización en una dirección particular durante por lo menos una distancia mínima cuando el dispositivo de señalización está en estado activo. La distancia mínima es utilizada por el sistema de introducción de datos 26 en la primera realización para ignorar gestos pequeños, insignificantes con el dispositivo de señalización. Esto hace mínimas las selecciones falsas que puedan aparecer por movimientos inadvertidos con el dispositivo de señalización.
En la primera realización, el dispositivo de señalización está en estado activo cuando el dispositivo de señalización está unido a la pantalla sensible al tacto 14. En variantes alternativas del dispositivo de visualización gráfica 15 y en la interfaz de entrada del equipo 17, se pueden utilizar otras condiciones para identificar cuándo el dispositivo de señalización está en un estado activo y se consideran equivalentes. Por ejemplo, con una almohadilla sensible a la presión, el dispositivo de señalización está en estado activo cuando el dispositivo de señalización está tanto en contacto con la almohadilla sensible a la presión como cuando se presiona sobre la almohadilla sensible a la presión con por lo menos una cantidad mesurable de presión. Alternativamente, cuando el dispositivo de señalización es un ratón, está en estado activo cuando se presiona un botón del ratón.
El sistema de introducción de datos 26 supervisa los gestos realizados con el dispositivo de señalización para determinar sí, y cuándo, se ha seleccionado una candidata de compleción en la lista de búsqueda interactiva 30. En la primera realización el sistema de introducción de datos 26 hace esto supervisando las coordenadas de posición actuales del dispositivo de señalización sobre la pantalla sensible al tacto 14 con relación a un punto de origen generado cuando el dispositivo de señalización activa primero la lista de búsqueda interactiva 30. Las coordenadas de posición actuales del dispositivo de señalización se supervisan durante el tiempo en el que el dispositivo de señalización permanece en contacto con la pantalla sensible al tacto 14. Cuando se reciben las coordenadas de posición actuales, el sistema de introducción de datos 26 genera un vector que utiliza las coordenadas de posición actuales del dispositivo de señalización y el punto de origen. Este vector es utilizado por el sistema de introducción de datos 26 para determinar si, y cuándo, ha sido seleccionada una candidata de compleción particular en la lista de búsqueda interactiva 30. El sistema de introducción de datos 26 está programado para asociar ciertos tipos de vectores con ciertas entradas en la lista de búsqueda interactiva 30. Cada entrada en la lista de búsqueda interactiva 30 puede tener asociada a ella uno o más vectores previamente determinados. Cuando el vector formado por el usuario casa con un vector previamente determinado, el sistema de introducción de datos 26 reconoce que el usuario está seleccionado la candidata de compleción visualizada en la correspondiente introducción de la lista de búsqueda interactiva 30. Si el sistema de introducción de datos 26 determina que el vector que actualmente está siendo generado por el gesto del usuario está asociado con una de las candidatas de compleción en la lista de búsqueda interactiva 30, entonces la candidata de compleción asociada se selecciona de la lista de búsqueda interactiva 30. Preferiblemente, cuando una candidata de compleción se selecciona de la lista de búsqueda interactiva 30, la selección particular es indicada al usuario por el sistema de introducción de datos 26 resaltando la candidata de compleción seleccionada en la lista de búsqueda interactiva 30.
En la primera realización, el sistema de introducción de datos 26 está programado para requerir que el usuario realice un gesto con el dispositivo de señalización hacia o sobre la candidata de compleción la lista de búsqueda interactiva 30 a fin de seleccionar esa candidata de compleción. El gesto necesita ser sólo una mínima distancia. En una disposición alternativa, sin embargo, cuando un usuario realiza selecciones de la lista de búsqueda interactiva 30 utilizando gestos con el dispositivo de señalización, el movimiento llevado a cabo por el usuario es relativo. Con este modo de gesto "relativo" basado en la selección del candidato, el usuario necesita sólo realizar un gesto en la dirección asociada por el sistema de introducción de datos 26 con una candidata de compleción deseada sin desplazar el dispositivo de señalización necesariamente hacia o sobre la parte de la interfaz gráfica del usuario 34 en la que se visualiza la candidata de compleción. En este caso, los vectores previamente asociados con el sistema de introducción de datos 26 con entradas en la lista de búsqueda interactiva 30 corresponden a gestos únicos con el dispositivo de señalización pero no necesariamente gestos los cuales son hacia o sobre una entrada particular en la lista de búsqueda interactiva 30. Con este modo relativo de selección, los gestos con el dispositivo de señalización se utilizan para seleccionar entre las candidatas de compleción en la lista de búsqueda interactiva 30 incluso si el usuario no está realizando gestos con el dispositivo de señalización hacia o sobre una candidata de compleción particular dentro de la lista de búsqueda interactiva 30. En este caso, el usuario no necesita desplazar el dispositivo de señalización hacia o sobre una localización fija particular dentro de la lista de búsqueda interactiva 30 a fin de seleccionar una candidata de compleción específica. Asociando un gesto con una candidata de compleción particular en la lista de búsqueda interactiva 30 de la manera anterior se hace mínima la cantidad de movimiento requerido con el dispositivo de señalización para hacer selecciones de la lista de búsqueda interactiva 30 y proporciona al usuario la flexibilidad de seleccionar candidatas de compleción con gestos los cuales no necesariamente necesitan ser hacia o sobre la candidata de compleción.
Una vez el usuario ha seleccionado la candidata de compleción de la lista de búsqueda interactiva 30, diversas opciones están disponibles para el usuario. Si la candidata de compleción representa la introducción que el usuario desea añadir al texto, entonces el usuario puede aceptar la candidata de compleción seleccionada para la inserción en el texto levantando el dispositivo de señalización de la pantalla sensible al tacto 14 en menos de un tiempo límite previamente determinado L2 mientras mantiene seleccionada la candidata de compleción particular. Este último evento genera una señal de entrada del usuario la cual instruye al sistema de introducción de datos 26 a terminar todas las búsquedas basadas en la introducción de texto parcial y señala a la aplicación 27 que utilice la candidata de compleción seleccionada para que reemplace permanentemente la introducción parcial de texto. Cuando se utiliza la candidata de compleción seleccionada para reemplazar permanentemente la introducción parcial de texto en este punto, la lista de búsqueda interactiva 30 es borrada de la interfaz gráfica del usuario 34 y la imagen del teclado digital 28 vuelve a estar habilitada preparada para recibir la siguiente pulsación de tecla del dispositivo de señalización. Con la introducción de texto parcial completada de este modo, el sistema de introducción de datos 26 empieza a supervisar de nuevo introducciones de texto por parte del usuario.
Si el usuario desea cambiar selecciones, el usuario puede desplazarse a través de la lista de las candidatas de compleción visualizadas en la lista de búsqueda interactiva 30 realizando gestos con el dispositivo de señalización en otras candidatas de compleción en la lista de búsqueda interactiva 30. Si el usuario no está seguro de cuál de las candidatas de compleción utilizar, o desea realizar una pausa para considerar si continúa en el modo de búsqueda o vuelve al modo de teclado, el usuario puede realizar un gesto o una pausa en una "zona muerta" dentro de la interfaz gráfica del usuario 34 durante cualquier período de tiempo sin iniciar acción adicional alguna mediante el sistema de introducción de datos 26. En la primera realización, cuando la lista de búsqueda interactiva 30 se activa primero realizando una pausa en una tecla en el teclado digital 28, el sistema de introducción de datos 26 empieza a supervisar la longitud del vector que el usuario genera después de ello para determinar cuándo y si el usuario está seleccionando una candidata de compleción particular de la lista de búsqueda interactiva 30 o cuando el usuario está llevando a cabo otra operación reconocida como por ejemplo desplazar el dispositivo de señalización a una zona muerta. Si el sistema de introducción de datos 26 determina que la longitud del vector generado a partir de las coordenadas de posición actual y el punto de origen es inferior o igual a una longitud previamente determinada, entonces el dispositivo de señalización es estimado por el sistema de introducción de datos 26 que está en una zona muerta en la interfaz gráfica del usuario 34. Cuando el dispositivo de señalización está en una zona muerta, el usuario tiene la libertad de realizar una pausa sin activar ninguna operación adicional mediante el sistema de introducción de datos 26 y sin borrar la lista de búsqueda interactiva 30. Esto proporciona al usuario la opción de realizar una pausa y considerar cuál será su próxima operación. Se pueden programar otras zonas muertas en la interfaz gráfica del usuario 34 dentro del sistema de introducción de datos 26 para que el usuario se desplace con el dispositivo de señalización de forma que se mejore adicionalmente la capacidad del usuario de realizar una pausa en diferentes partes de la interfaz gráfica del usuario 34. Si el vector que está siendo generado a través de un gesto es considerado por el sistema de introducción de datos 26 que excede de una longitud previamente determinada, el sistema de introducción de datos 26 comprueba para determinar si el vector particular que está siendo generado está asociado o no con cualquiera de las candidatas de compleción en la lista de búsqueda interactiva 30 o con cualquier otra operación en la pantalla tales como por ejemplo zonas muertas adicionales o alternativas.
Si la candidata de compleción seleccionada en la lista de búsqueda interactiva 30 representa sólo parte de la introducción que el usuario desea añadir al texto, entonces el usuario puede utilizar la candidata de compleción seleccionada para iniciar dinámicamente una búsqueda adicional para una lista más refinada de candidatas de compleción del diccionario 20. La capacidad de buscar dinámicamente una lista más refinada de candidatas de compleción sobre la base de una candidata de compleción seleccionada es también referida en esta memoria como búsqueda iterativa. Esta herramienta de búsqueda iterativa está provista a través de la lista de búsqueda interactiva 30 cuando la lista de búsqueda interactiva 30 está activa y visualiza una lista de candidatas de compleción potenciales para que el usuario haga la selección. Una búsqueda iterativa es iniciada en la primera realización por el usuario continuando manteniendo seleccionada una candidata de compleción en la lista de búsqueda interactiva 30 durante más de un límite de tiempo previamente determinado L2. La capacidad automática de utilizar la lista de búsqueda interactiva 30 seleccionada para buscar adicionalmente en el diccionario 20 permite al usuario hacer buen uso de los resultados de la búsqueda que son sólo parcialmente de éxito. Cuando el usuario continua manteniendo una candidata de compleción seleccionada en la lista de búsqueda interactiva 30 durante más del tiempo límite previamente determinado L2, el sistema de introducción de datos 26 determina que la entrada del usuario corresponde a una selección del usuario para iniciar una nueva búsqueda utilizando la candidata de compleción seleccionada como la base para la nueva búsqueda. Cuando ocurre esto, el sistema de predicción de candidatas 32 obtiene dinámicamente una lista refinada de candidatas de compleción sobre la base de la candidata de compleción seleccionada. Como se ilustra en la figura 5A, la lista refinada de candidatas de compleción proporciona una lista más estrecha de candidatas de compleción sobre la base de una cadena de búsqueda más específica (es decir, la candidata de compleción seleccionada). La búsqueda iterativa permite a uno ejecutar búsquedas de múltiples niveles con la lista de búsqueda interactiva 30 de forma que el usuario puede utilizar rápidamente una candidata de compleción de un nivel de búsqueda lo que resulta en ahondar más profundamente en el diccionario 20 para un conjunto más estrecho de candidatas de compleción.
En la primera realización, la búsqueda iterativa puede ser iniciada cuando una candidata de compleción en la lista de búsqueda interactiva 30 representa sólo una primera parte (es decir, una parte de encabezamiento) de la introducción que el usuario desea añadir al texto.
Una vez el sistema de predicción de candidatas 32 ha obtenido la lista refinada de candidatas de compleción, la lista de búsqueda interactiva 30 se vuelve a visualizar con la lista refinada de candidatas de compleción. Cuando la lista de búsqueda interactiva 30 se vuelve a visualizar, el punto de las coordenadas de origen, utilizado por el sistema de introducción de datos 26 para trazar vectores generados a partir de gestos con el dispositivo de señalización, se establece en las coordenadas de la posición del dispositivo de señalización en el momento en el que la candidata de compleción es utilizada para iniciar la búsqueda iterativa. Con la lista de búsqueda interactiva 30 visualizada otra vez, el usuario puede entonces escoger una de las candidatas de compleción en la lista refinada levantando el dispositivo de señalización después de seleccionar la candidata de compleción particular a través del gesto, o el usuario puede repetir adicionalmente el proceso de búsqueda iterativa seleccionando una de las candidatas de compleción en la lista refinada y realizando una pausa con aquella candidata de compleción particular seleccionada durante el límite de tiempo previamente determinado L2. Con la lista refinada de candidatas de compleción visualizada, el usuario puede también levantar el dispositivo de señalización sin seleccionar candidata de compleción alguna obtenida de la búsqueda iterativa. Esta última acción deja la cadena de búsqueda establecida en la última candidata de compleción seleccionada por el usuario en la iteración anterior de la lista de búsqueda interactiva 30 y vuelve el sistema de introducción de datos 26 al modo de teclado. En este punto, la lista de búsqueda interactiva 30 es borrada de la interfaz gráfica del usuario 34, el teclado digital 28 se vuelve a visualizar y el sistema de introducción de datos 26 envía la candidata de compleción última seleccionada por el usuario de la lista de búsqueda interactiva 30 a la aplicación 27 para introducirla en el texto, reemplazando de ese modo los contenidos de la introducción de texto parcial actualmente bajo desarrollo por parte del usuario. Se pueden añadir entonces nuevos caracteres. Como una variante, utilizando el teclado digital 28, el usuario puede entonces, si lo desea, instruir a la aplicación 27 para que cancele la introducción de la modificación de la introducción de texto parcial en el texto seleccionando un botón de función visualizado en, o asociado con, el teclado digital 28.
Ejemplo
Las figuras 6 y 6A muestran un ejemplo 100 desde el punto de vista del usuario de la operación y la flexibilidad del sistema de introducción de datos 26 para la primera realización en las figuras 1 a 5. Para el ejemplo representado en las figuras 6 y 6A, se supone que el usuario desea introducir la palabra "endlessly" y empieza introduciendo en el bloque 102 la letra "e" en el teclado digital 28. A fin de activar la lista de búsqueda interactiva 30, el usuario realiza una pausa sobre la letra "e" durante por lo menos el límite de tiempo previamente determinado L1 lo cual inicia automáticamente en el bloque 104 el sistema de predicción de candidatas 32 para obtener una lista de candidatas de compleción las cuales se visualizan entonces al usuario en la lista de búsqueda interactiva 30. Dependiendo del contenido del diccionario 20 y del sistema de clasificación utilizado para clasificar las candidatas de compleción almacenadas en el diccionario 20, la candidata de compleción deseada "endlessly" puede no ser una de las elecciones visualizadas en la lista de búsqueda interactiva 30 inicial. Supóngase por un momento, sin embargo, que la palabra "end" es una de las candidatas de compleción visualizadas en la lista de búsqueda interactiva 30 inicial. El usuario puede seleccionar mediante un gesto en el bloque 108 la candidata de compleción "end" y utilizarla para iniciar automáticamente una búsqueda adicional en el diccionario 20 a fin de recuperar una lista de candidatas de compleción por prioridades las cuales empiezan todas por el prefijo "end". Como se ha descrito, esta técnica de búsqueda iterativa se ejecuta con el dispositivo de señalización simplemente realizando una pausa mientras se selecciona una candidata de compleción (en este caso la palabra "end") en la lista de búsqueda interactiva 30 durante el límite de tiempo previamente determinado L2 en el bloque 116, lo cual de ese modo inicia automáticamente una nueva búsqueda utilizando la candidata de compleción seleccionada como la base para una búsqueda de ese tipo. Si la candidata de compleción deseada "endlessly" aparece en la lista de búsqueda interactiva 30 actualizada, el usuario puede añadir entonces inmediatamente la palabra de compleción deseada seleccionándola (bloque 120) de la lista de búsqueda interactiva 30 y levantando el dispositivo de señalización en menos del límite de tiempo previamente determinado L2.
Si la lista de búsqueda interactiva 30 visualizada después del bloque 104 no incluye el prefijo "end" o cualquier otro prefijo que pueda conducir al usuario a introducir rápidamente la palabra deseada "endlessly" utilizando el sistema de introducción de datos 26, entonces el usuario tiene la opción de levantar el dispositivo de señalización de la pantalla sensible al tacto 14 en el bloque 106 sin seleccionar ninguna de las candidatas de compleción. Este tipo de entrada del usuario notifica al sistema de introducción de datos 26 que borre la lista de búsqueda interactiva 30 de la pantalla y vuelva a habilitar y visualizar el teclado digital 28. Debe notarse que en esta última operación la cadena de búsqueda continua conteniendo la introducción de texto parcial que ha generado el usuario con el teclado digital 28 (en este caso la cadena de búsqueda contiene sólo la letra "e").
Como una ilustración adicional de la flexibilidad del presente sistema de introducción de datos 26, si la candidata de compleción parcial "end" es utilizada para iniciar una búsqueda adicional y la nueva lista de candidatas de compleción no incluye la palabra "endlessly" en la lista de búsqueda de candidatas de compleción, entonces el usuario puede escoger continuar construyendo la candidata de compleción parcial "end" levantando el dispositivo de señalización de la pantalla sensible al tacto 14 sin seleccionar ninguna de las candidatas de compleción en la nueva lista seleccionada y proceder a continuar introduciendo caracteres desde el teclado digital 28. En este ejemplo, la candidata de compleción parcial "end" reemplaza permanentemente la introducción de texto parcial que el usuario estaba generando con el teclado digital 28 en el texto electrónico del usuario, la cadena de búsqueda se borra y cualquier nueva entrada del usuario es automáticamente tratada como parte de una nueva introducción de texto parcial.
Se apreciará del caso particular anterior que el usuario puede seguir los pasos finales de completar una candidata de compleción parcial introduciendo las letras restantes al final de la candidata de compleción parcial. Por ejemplo, si se recupera la candidata de compleción parcial "endless", entonces el usuario puede simplemente teclear en el teclado digital 28 las letras "l" e "y" seguidas de un espacio (o el botón de función fin de la introducción) a fin de notificar al sistema de introducción de datos 26 la compleción de la introducción de texto actual. Por lo tanto, incluso cuando no se encuentre en el diccionario 20 una palabra, frase o secuencia de caracteres completa, la utilización del sistema de introducción de datos 26 para recuperar una candidata de compleción parcial puede resultar en un menor gasto de tiempo y esfuerzos de los que se requerirían si el usuario tuviera simplemente que teclear cada letra de la palabra, frase o secuencia de caracteres deseada.
En una realización alternativa, el sistema de introducción de datos 26 está programado con la capacidad de volver a iniciar la búsqueda automática incluso una vez que la aplicación 27 sea instruida por el sistema de introducción de datos 26 de reemplazar permanentemente la introducción de datos parcial en el texto con una candidata de compleción parcial. En esta alternativa, la cadena de búsqueda se ajusta a la candidata de compleción parcial cuando la candidata de compleción parcial reemplaza a la introducción de texto parcial en el texto electrónico del usuario. El usuario puede entonces volver en cualquier momento a la facilidad de búsqueda automática del sistema de introducción de datos 26 realizando una pausa en una tecla en el teclado digital 28 durante el límite de tiempo previamente determinado L1. Por ejemplo, si la selección de compleción parcial "end" ha sido ya utilizada para iniciar una búsqueda adicional y el usuario levanta entonces el dispositivo de señalización sin seleccionar ninguna de las candidatas de compleción en la nueva lista de candidatas de compleción, el usuario puede entonces volver a la búsqueda automática con el sistema de introducción de datos 26 mediante, por ejemplo, tocando en la letra "l" en el teclado digital 28 durante un período de tiempo suficiente para iniciar una búsqueda sobre la base del prefijo "endl". La introducción de texto parcial "endl" será utilizada entonces por el sistema de predicción de candidatas 32 para obtener una lista de candidatas de compleción que son entonces visualizadas en la lista de búsqueda interactiva 30. Si la candidata de compleción deseada "endlessly" aparece en la nueva lista de candidatas de compleción, el usuario puede entonces escoger la candidata y añadirla al texto seleccionando esa candidata y levantando el dispositivo de señalización antes de que se alcance el límite de tiempo L2. Si la candidata de compleción deseada no aparece en la lista de búsqueda interactiva 30, el usuario puede simplemente levantar el dispositivo de señalización sin seleccionar ninguna de las candidatas de compleción y continuar construyendo la introducción de texto parcial "endl" introduciendo caracteres adicionales a través del teclado digital 28. Una vez que se haya completado la palabra deseada, a fin de borrar la cadena de búsqueda e instruir al sistema de introducción de datos 26 a que trate cualquier nueva entrada del usuario como parte de una nueva introducción de texto parcial en esta alternativa, el usuario selecciona una tecla o función del teclado digital 28 programada para indicar que la introducción de la entrada de texto parcial original ha terminado, como se describe adicionalmente en la sección que sigue más adelante.
Forzar el final de una introducción de texto parcial
Como se puede ver a partir del ejemplo anterior, habrá veces en las que el usuario esté introduciendo una palabra, frase o secuencia de caracteres que no aparecerá en el diccionario 20. En este caso, si el usuario ha activado la lista de búsqueda interactiva 30, se vaciará una vez el usuario haya introducido suficientes caracteres para que el sistema de predicción de candidatas 32 determine que el diccionario 20 no tiene palabras, frases o secuencias de caracteres algunas que puedan ser candidatas de compleción para la introducción de texto parcial que está siendo introducida actualmente por el usuario. Cuando es éste el caso, o cuando el usuario está completando la introducción de una palabra, frase o secuencia de caracteres mediante la introducción en el teclado digital 28, el sistema de introducción de datos 26 necesita saber cuándo la introducción de texto parcial que está siendo generada por el usuario ha sido completada y cuándo ha empezado otra introducción de texto parcial. Si el usuario ha seleccionado y ha aceptado una candidata de compleción de la lista de búsqueda interactiva 30 en la primera realización, entonces el sistema de introducción de datos 26 está programado para reconocer que el usuario ha completado la introducción de texto parcial actual y automáticamente se prepara de forma que el siguiente carácter seleccionado del teclado digital 28 será tratado como carácter de encabezamiento para una nueva introducción de texto parcial. Sin embargo, si el usuario está completando una introducción de texto parcial que no se encuentra en el diccionario 20 y completa la introducción de texto parcial mediante la introducción simplemente de los caracteres del teclado digital 28, entonces el sistema de introducción de datos 26 puede no saber cuándo la introducción de texto parcial actual está completada y cuándo ha empezado la siguiente introducción de texto parcial. A fin de ayudar a la identificación de cuándo un usuario ha completado una introducción de una palabra, frase o secuencia de caracteres, el sistema de introducción de datos 26 puede estar programado para supervisar una señal de "fin de la búsqueda" del usuario a través del teclado digital 28. En la primera realización, una señal de fin de la búsqueda es recibida por el sistema de introducción de datos 26 cuando se selecciona una tecla o botón de función programado para indicar una instrucción expresa de "fin de la búsqueda" en el teclado digital 28. Alternativamente, el sistema de introducción de datos 26 puede estar programado para reconocer una instrucción implícita de fin de la búsqueda tal como, por ejemplo, cuando se selecciona la tecla de espacio en el teclado digital 28. También se pueden utilizar otros caracteres no alfabéticos para proporcionar una instrucción implícita de fin de la búsqueda.
Flujo del sistema
En la descripción que sigue, el proceso llevado a cabo por el sistema de introducción de datos 26 que corre en la unidad de proceso 12 se describe con detalles adicionales. Para esta descripción se hace referencia a las figuras 7 a 9 las cuales son diagramas de flujo lógicos que ilustran el flujo de funcionamiento del sistema de introducción de datos 26. La descripción del proceso implantado en el ordenador ilustrado en las figuras 7 a 9 se realizará con referencia al dispositivo informático personal 10 y al sistema de introducción de datos 26 representado en las figuras 1 a 5.
En sistema de introducción de datos 26 se prepara en el bloque 202. Esto incluye la preparación de variables e indicadores utilizados en el sistema de introducción de datos 26 para seguir el estado de la entrada, proceso y salida del usuario. Esto también implica preparar la interfaz del usuario para el sistema de introducción de datos 26 que incluye la carga y el establecimiento del teclado digital 28 para la visualización, seleccionar el diccionario 20 que va a ser utilizado por el sistema de introducción de datos 26, identificar el tipo de dispositivo de señalización que será utilizado para la introducción de texto y el establecimiento de cualquier configuración definida por el usuario para la visualización y la utilización del teclado digital 28 y la lista de búsqueda interactiva 30. Una vez el sistema de introducción de datos 26 que incluye el teclado digital 28 se ha preparado, la interfaz del usuario para el sistema de introducción de datos 26 es entonces visualizada en la pantalla sensible al tacto 14 en el bloque 204. En su forma más básica, la interfaz del usuario inicialmente visualizada comprende el teclado digital 28. La interfaz del usuario puede también incluir una o más barras de herramientas o cajas de visualización para la visualización del valor actual de la cadena de búsqueda y los contenidos actuales de la lista de búsqueda interactiva 30. Con la interfaz iniciada y visualizada en la pantalla sensible al tacto 14, el sistema de introducción de datos 26 espera la entrada del usuario desde el dispositivo de señalización en el bloque 206. Una vez la entrada del usuario es recibida en el bloque 206, el sistema de introducción de datos 26 determina en el bloque 208 si la entrada del usuario recibida por el sistema de introducción de datos 26 en el bloque 206 corresponde a cualquiera de los caracteres visualizados en el teclado digital 28, entonces el carácter es añadido a la cadena de búsqueda en el bloque 210. Como se ha indicado anteriormente, la cadena de búsqueda es utilizada por el sistema de predicción de candidatas 32 para buscar en el diccionario 20 candidatas de compleción potenciales. En la primera realización, el sistema de predicción de candidatas 32 recupera continuamente una lista de candidatas de compleción del diccionario 20 como contenido del cambio de la cadena de búsqueda. Cuando el usuario modifica la introducción de texto parcial actual bajo construcción, los contenidos de la cadena de búsqueda son modificados y utilizados por el sistema de predicción de candidatas 32 en el bloque 212 para obtener una nueva lista de candidatas de compleción del diccionario 20.
El funcionamiento del sistema de predicción de candidatas 32 para la primera realización se ilustra adicionalmente en la figura 9. Como se ilustra en la figura 9 para la primera realización, el sistema de predicción de candidatas 32 recupera la primera y la última entrada del diccionario 20 que empiezan con el contenido de la cadena de búsqueda. La primera y la última entrada recuperadas son utilizadas entonces para definir un tramo de búsqueda. Si el tramo de búsqueda es mayor que el número de candidatas de compleción para el cual el sistema de introducción de datos 26 está programado que puede visualizar, entonces las candidatas de compleción dentro del tramo de búsqueda provistas de los valores de ponderación correspondientes más altos (por ejemplo, valores de la frecuencia) se recuperan hasta el número máximo de candidatas de compleción permisibles las cuales pueden ser visualizadas en la lista de búsqueda interactiva 30. Las candidatas de compleción recuperadas por el sistema de predicción de candidatas 32 de esta manera son entonces compiladas en una lista de candidatas de compleción la cual es utilizada para visualizar la lista de búsqueda interactiva 30. En el caso de la primera realización, esto implica muy poco proceso ya que la lista de candidatas de compleción se actualiza siempre que la introducción de texto parcial actualmente bajo desarrollo por el usuario sea modificada. Como se ha indicado anteriormente, sin embargo, en una realización alternativa, la lista de búsqueda interactiva 30 que contiene una lista de candidatas de compleción puede ser generada una vez que el usuario invoque la activación de la lista de búsqueda interactiva 30 realizando una pausa en una tecla en el teclado digital 28 (esto es, el bloque siguiente 214).
Una vez ha sido añadido un carácter a la cadena de búsqueda en el bloque 210, el sistema de introducción de datos 26 determina en el bloque 214 si el dispositivo de señalización ha sido o no liberado de la pantalla sensible al tacto 14 dentro del límite de tiempo previamente determinado L1. Si el sistema de introducción de datos 26 encuentra que el dispositivo de señalización ha sido liberado dentro del límite de tiempo L1, el proceso vuelve al bloque 206 en donde el sistema de introducción de datos 26 espera entradas adicionales del usuario. Esto permite al usuario utilizar el teclado digital 28 para teclear una parte o toda la introducción de texto deseado tecleando brevemente sobre las teclas en el teclado digital 28, con una pulsación de tecla cada vez. Por otra parte, si el sistema de introducción de datos 26 determina en el bloque 214 que el dispositivo de señalización no ha sido liberado dentro del límite de tiempo L1, el sistema de introducción de datos 26 determina en el bloque 216 si está vacía o no la lista de candidatas de compleción (también referida y representada en los dibujos como una lista de candidatas). Si en el bloque 216 se encuentra que la lista de candidatas está vacía, entonces el sistema de predicción de candidatas 32 no ha encontrado candidatas de compleción en el diccionario 20 las cuales podrían potencialmente completar la introducción de texto parcial bajo desarrollo por el usuario. En este caso, el proceso vuelve al bloque 206. Desde la perspectiva del usuario, sin haberse recuperado candidatas posibles del diccionario 20, el usuario puede completar la introducción de texto deseada continuado tecleando los caracteres restante desde el teclado digital 28 o puede modificar de lo contrario la introducción de texto parcial bajo desarrollo utilizando otras teclas de función disponibles en la interfaz del usuario (tales como cancelar la introducción de texto parcial actual o retrocediendo uno o más caracteres en la introducción de texto parcial). Si, por otra parte, la lista de candidatas de compleción se encuentra que no está vacía en el bloque 216, entonces el teclado digital 28 se inhabilita en el bloque 218 y la lista de búsqueda interactiva 30 que contiene la lista de candidatas obtenida en el bloque 212 se visualiza dentro de la lista de búsqueda interactiva 30 en la pantalla sensible al tacto 14 en el bloque 222 y el sistema de introducción de datos 26 espera una entrada adicional del usuario en el bloque 224.
Se debe recordar que una vez que el usuario haya activado la visualización de la lista de búsqueda interactiva 30 que contiene una lista de candidatas de compleción, el usuario puede utilizar el sistema de introducción de datos 26 para adoptar una de diversas acciones. El usuario puede desactivar la lista de búsqueda interactiva 30 y volver a modificar o a editar la introducción de texto parcial actual levantando el dispositivo de señalización de la pantalla sensible al tacto 14 sin ningún movimiento significativo. Si esta acción se detecta en el bloque 226 entonces la lista de candidatas es borrada y los contenidos de la cadena de búsqueda se conservan en el bloque 262. El proceso vuelve entonces al bloque 204 en donde el usuario puede continuar modificando la introducción de texto parcial actual utilizando el teclado digital 28.
Si, por otra parte, la entrada del usuario recibida en el bloque 224 se identifica en el bloque 226 que es un gesto, entonces el gesto se analiza en el bloque 228 para determinar si está asociado a una candidata de compleción visualizada en la lista de búsqueda interactiva 30. Si el gesto se encuentra que está asociado a una candidata de compleción en la lista de búsqueda interactiva 30, entonces esa candidata de compleción se selecciona de la lista de búsqueda interactiva 30 en el bloque 230. Preferiblemente, cuando se selecciona una candidata de compleción en la lista de búsqueda interactiva 30 en el bloque 230, la candidata de compleción seleccionada se resalta o se enfatiza de otro modo al usuario.
Cuando se selecciona una candidata de compleción en el bloque 230, se arranca un temporizador T2. El temporizador T2 es utilizado en la primera realización para supervisar cuánto tiempo la candidata de compleción seleccionada permanece seleccionada por el usuario. Como se recordará, el usuario puede seleccionar una de las candidatas de compleción en la lista de búsqueda interactiva 30 y utilizar la candidata de compleción tanto para reemplazar la introducción de texto parcial que el usuario está actualmente introduciendo, como para utilizar la candidata de compleción seleccionada para iniciar una búsqueda automática adicional para obtener una lista más refinada de candidatas de compleción del diccionario 20. En la primera realización, el temporizador T2 es utilizado para distinguir entre estos dos últimos tipos de operaciones las cuales puede iniciar el usuario con el dispositivo de señalización utilizando la candidata de compleción seleccionada. Debe notarse que si el gesto analizado en el bloque 228 no se encuentra asociado con la candidata de compleción, entonces el proceso vuelve al bloque 224 en donde el sistema de introducción de datos 26 espera una entrada adicional del usuario desde el dispositivo de señalización para analizarla en el bloque 226.
Una vez se ha seleccionado una candidata de compleción de la lista de búsqueda interactiva 30 en el bloque 230, el sistema de introducción de datos 26 supervisa el temporizador T2 en el bloque 232 y supervisa una entrada adicional del usuario. Si el sistema de introducción de datos 26 detecta una entrada adicional del usuario desde el dispositivo de señalización en el bloque 236, el temporizador no ha excedido el límite de tiempo previamente determinado L2 y la entrada del usuario es analizada en el bloque 238 para determinar si el usuario ha iniciado un gesto o elevación con el dispositivo de señalización. Si se detecta una elevación en el bloque 238, entonces este acontecimiento sirve como una indicación al sistema de introducción de datos 26 de que la candidata seleccionada en la lista de búsqueda interactiva 30 ha sido aceptada por el usuario, en cuyo caso la candidata de compleción es añadida al texto en lugar de la introducción de texto potencial y la cadena de búsqueda se borra en el bloque 240. Una vez una candidata de compleción ha sido añadida al texto en el bloque 240, el sistema de introducción de datos 26 vuelve al bloque 204 en donde la interfaz del usuario preparada es visualizada en la pantalla sensible al tacto 14 y el sistema de introducción de datos 26 espera una entrada adicional del usuario en el bloque 206. Cualquier nuevo carácter recibido por el sistema de introducción de datos 26 es entonces tratado como siendo parte de una nueva introducción de texto parcial.
Si, por otra parte, se detecta un gesto en el bloque 238, entonces el gesto es analizado para determinar si está asociado con una candidata de compleción diferente en la lista de búsqueda interactiva 30 en el bloque 242 y si la respuesta al análisis del bloque 242 es "SÍ", entonces el sistema de introducción de datos 26 cambia la selección de la candidata de compleción de la lista de búsqueda interactiva 30 y pone en marcha el temporizador T2 en el bloque 244. El sistema de introducción de datos 26 continúa entonces supervisando el temporizador T2 en el bloque 232 y la entrada del usuario en el bloque 234. Desde la perspectiva del usuario, una candidata de compleción diferente se resalta de la lista de candidatas de compleción. Si se detecta un gesto en el bloque 238, pero el gesto se encuentra que no está asociado a una candidata diferente en el bloque 242, entonces el sistema de introducción de datos 26 determina en el bloque 246 si el gesto está asociado a una zona muerta en la interfaz del usuario. Como se ha descrito, las zonas muertas son utilizadas para permitir al usuario dejar de seleccionar una candidata de compleción seleccionada y realizar una pausa para considerar qué acción adicional puede desear adoptar el usuario. Las zonas muertas son particularmente útiles cuando un temporizador como por ejemplo el temporizador T2 es utilizado como el mecanismo de iniciación para determinar cuándo una candidata de compleción seleccionada va a ser utilizada para iniciar una búsqueda automática adicional del diccionario 20. Si se encuentra un gesto asociado con una zona muerta en el bloque 246, la candidata de compleción actualmente seleccionada de la lista de búsqueda interactiva 30 se deja de seleccionar en el bloque 248, el temporizador T2 se inhabilita y el sistema de introducción de datos 26 espera una entrada adicional del usuario en el bloque 256. De lo contrario, el proceso vuelve al bloque 232.
Si el temporizador T2 se encuentra en cualquier momento en el bloque 232 que ha excedido el límite de tiempo previamente determinado L2, entonces este acontecimiento sirve como una indicación al sistema de introducción de datos 26 de que la candidata seleccionada va a ser utilizada para iniciar una búsqueda automática adicional, en cuyo caso el proceso procede al bloque 250 en donde la cadena de búsqueda se establece igual a la candidata de compleción seleccionada y una nueva lista de candidatas de compleción se obtiene del diccionario 20 en el bloque 252. Esta nueva lista de candidatas de compleción es entonces visualizada en la lista de búsqueda interactiva 30 en el bloque 254 y el sistema de introducción de datos 26 espera entonces una entrada adicional del usuario en el bloque 256. La entrada del usuario recibida en el bloque 256 es analizada en el bloque 258 y si en el bloque 258 el sistema de introducción de datos 26 determina que la entrada del usuario corresponde a un gesto con el dispositivo de señalización, el gesto es analizado en el bloque 260 para determinar si el gesto generado por el dispositivo de señalización está asociado con cualquiera de las candidatas de compleción de la nueva lista de candidatas de compleción visualizada en la lista de búsqueda interactiva 30. Si el gesto no está asociado a una candidata de compleción, entonces la introducción de datos vuelve al bloque 256 y espera una entrada adicional del usuario desde el dispositivo de señalización. Si, por otra parte, el gesto está asociado con una candidata de compleción en la lista de búsqueda interactiva 30, entonces el sistema de introducción de datos 26 vuelve al bloque 230 en donde la candidata de compleción asociada es seleccionada, el temporizador T2 se pone en marcha y el sistema de introducción de datos 26 supervisa entonces para ver, como antes, si el usuario quiere utilizar o no la candidata de compleción seleccionada, tanto para reemplazar la introducción de texto parcial como para iniciar una búsqueda automática adicional. Debe notarse que cuando la nueva lista de candidatas de compleción es visualizada en la lista de búsqueda interactiva 30 en el bloque 254 y el sistema de introducción de datos 26 espera una entrada del usuario en el bloque 256, el dispositivo de señalización permanece en contacto con la pantalla sensible al tacto 14. Esta situación es similar a la de los bloques 222 y 224 excepto en que la lista de búsqueda interactiva 30 ha sido actualizada para contener una nueva lista de candidatas de compleción para que el usuario haga la selección en ella.
Características del sistema de introducción de datos
El sistema de introducción de datos 26 puede incluir una variedad de características y aspectos para mejorar adicionalmente la funcionalidad y la flexibilidad de la introducción de texto por el usuario cuando se utiliza un único dispositivo de señalización. Además, cada una de las características y los aspectos siguientes individualmente proporcionan una mejora beneficiosa y es una realización de la presente invención. Estas características y estos aspectos adicionales de la presente invención se describirán ahora más adelante. Muchas de las características y los aspectos descritos más adelante también pueden ser aplicadas en combinación con diversos tipos de listas de búsqueda que contengan candidatas de compleción, incluyendo listas de búsqueda únicas o de múltiples niveles.
Como antes, las características y los aspectos siguientes pueden ser aplicados a muchos tipos de dispositivos informáticos personales y pueden ser almacenados como instrucciones que pueden ser leídas por el ordenador en uno o más tipos de medios que pueden ser leídos por el ordenador.
Notificación del modo de introducción activo
En una realización alternativa, el sistema de introducción de datos 26 está programado para notificar al usuario el modo de introducción activo. En esta variante, el sistema de introducción de datos 26 está programado para visualizar en la interfaz gráfica del usuario 34 una indicación expresa del modo de introducción actualmente activo (como se ilustra en los bloques 218 y 240 de las figuras 23 y 24). En esta variante, con el sistema de introducción de datos 26 se siguen dos modos de introducción: (1) un modo de teclado para indicar que el teclado digital 28 está activo y (2) un modo de búsqueda para indicar que la búsqueda automática está activa con la lista de búsqueda interactiva 30. Visualizando en la interfaz gráfica del usuario 34 de una indicación expresa del modo de introducción actual para el sistema de introducción de datos 26 se consigue visualizando una señal de un color diferente (o conjunto de señales) en la interfaz gráfica del usuario 34 dependiendo de cuál sea el modo de introducción que está actualmente activo. Alternativamente, se pueden asignar iconos específicos a cada modo de introducción y ser visualizados en la interfaz gráfica del usuario 34 cuando esté activo el correspondiente modo de introducción. Notificando al usuario el modo de introducción con uno o más indicadores expresos en la interfaz gráfica del usuario 34 se hace mínimo el riesgo de que el usuario pierda la pista de si el usuario está en el modo de teclado o en el modo de búsqueda y mejora la facilidad de uso del sistema de introducción de datos 26. Esto puede ser particularmente útil cuando ambos, tanto el teclado digital 28 como la lista de búsqueda interactiva 30, se visualizan simultáneamente en la interfaz gráfica del usuario 34.
Notificación de candidatas de compleción
Si la lista de búsqueda interactiva 30 tiene menos del número máximo previamente determinado de candidatas de compleción que se pueden visualizar, entonces esto servirá como una indicación al usuario de que la lista de búsqueda interactiva 30 actualmente visualizada contiene todas las candidatas de compleción en el diccionario 20 que empiezan con la introducción parcial de texto que el usuario ha introducido. Si, sin embargo, la lista de búsqueda interactiva 30 está llena cuando es activada por el usuario, no quedará claro al mirar la lista de búsqueda interactiva 30 si pueden haber en el diccionario 20 otras candidatas de compleción potenciales para la introducción de texto parcial actual. A fin de eliminar esta ambigüedad e indicar expresamente si hay más candidatas de compleción potenciales y, si es así, cuántas, en otro aspecto el sistema de introducción de datos 26 está programado para visualizar en la interfaz gráfica del usuario 34 el número de candidatas de compleción potenciales en el diccionario 20 que tienen caracteres de encabezamiento que coinciden con la introducción de texto parcial actual. El número de candidatas de compleción potenciales es visualizado y actualizado por el sistema de introducción de datos 26 cuando el teclado digital 28 está en uso y siempre que la lista de búsqueda interactiva 30 está activada o se actualice con nuevas candidatas de compleción (como se ilustra por ejemplo en los bloques 213A y 254 de las figuras 21 y 22). Alternativamente, el sistema de introducción de datos 26 puede estar programado para visualizar en la interfaz gráfica del usuario 34 una indicación gráfica de si hay candidatas de compleción adicionales provistas de caracteres de encabezamiento que coinciden con la introducción de texto parcial actual están o no en el diccionario 20, además de aquellas candidatas de compleción visualizadas en la lista de búsqueda interactiva 30. Aquí otra vez, la indicación gráfica es visualizada y actualizada por el sistema de introducción de datos 26 cuando el teclado digital 28 está en uso y siempre que la lista de búsqueda interactiva 30 esté activada o se actualice con nuevas candidatas de compleción. Esta característica de notificación mejora la capacidad del usuario de saber, incluso antes de intentar utilizar la lista de búsqueda interactiva 30, cuándo la búsqueda automática puede recuperar una lista de posibles candidatas de compleción (o una lista refinada). Con esta característica de notificación avanzada, el usuario puede decidir mejor cuándo continuar añadiendo caracteres adicionales a la introducción de texto parcial con el teclado digital 28 y cuándo activar y utilizar la lista de búsqueda interactiva 30.
Características del teclado digital
Una variedad de características pueden ser implantadas con el teclado digital 28 a fin de mejorar adicionalmente la capacidad del usuario de introducir texto con el sistema de introducción de datos 26. En una variante, el teclado digital 28 puede estar programado para ser visualizado en una distribución en planta distribuida por frecuencia. La distribución en planta distribuida por frecuencia tiene la ventaja del principio muy conocido de que ciertos caracteres en un conjunto de caracteres son utilizados más frecuentemente que otros caracteres dentro del mismo conjunto de caracteres. Por ejemplo, el teclado digital puede contener las letras del alfabeto inglés visualizadas en una distribución en planta distribuida por frecuencia sobre la base de un análisis de un gran cuerpo de texto. Se apreciará, por supuesto, que los caracteres o los símbolos en un conjunto particular de caracteres pueden tener frecuencias relativas diferentes dependiendo de la población de la muestra de datos utilizada para clasificar tales caracteres unos con respecto a los otros dentro de un conjunto particular de caracteres. Se apreciará que cuando se emplea el sistema de introducción de datos 26, la frecuencia de caracteres introducidos puede ser diferente de aquella de los sistemas tradicionales que introducen el texto con un carácter cada vez. Estos principios generales son utilizados para generar una distribución en planta distribuida por frecuencia para el teclado digital.
En una realización del teclado digital provista de una distribución en planta distribuida por frecuencia, el teclado digital está programado para incluir una pluralidad de caracteres asignados a localizaciones previamente determinadas dentro de la distribución en planta para el teclado digital de acuerdo con una distribución de frecuencia previamente determinada asociada con la pluralidad de caracteres. La pluralidad de caracteres visualizados en el teclado digital incluye los caracteres menos comúnmente utilizados y los caracteres más comúnmente utilizados sobre la base de una distribución de frecuencia previamente determinada. En esta realización, el teclado digital se visualiza en una interfaz gráfica del usuario con los caracteres menos comúnmente utilizados substancialmente más alejados del centro del teclado digital que los caracteres más comúnmente utilizados. Un ejemplo de este tipo de teclado digital se ilustra globalmente en la figura 3 excepto la tecla de "espacio" que ha sido colocada en el anillo exterior en lugar de más cerca del centro del teclado digital 28. Un ejemplo del teclado digital 28 provisto de una distribución en planta distribuida por frecuencia con la tecla de espacio cerca del centro se representa en la figura 10.
Con la distribución en planta distribuida por frecuencia, es preferible que la imagen del teclado digital 28, cuando sea substancialmente circular o elíptico, tenga un primer grupo de los caracteres más frecuentemente utilizados (esto es los caracteres más comúnmente utilizados) colocados substancialmente cerca del centro del teclado digital 28 con por lo menos un grupo de los caracteres menos frecuentemente utilizados (con relación al primer grupo) visualizados a una distancia más alejada del centro del teclado que los caracteres del primer grupo. Como se ilustra en la figura 3, el teclado digital 28 está preferiblemente configurado para ser visualizado en una distribución en planta distribuida por frecuencia que comprende una pluralidad de caracteres dispuestos en anillos. Cuando los caracteres en el teclado digital 28 están dispuestos en anillos, entonces los caracteres en un anillo particular se pueden disponer de forma que cada uno esté aproximadamente a la misma distancia del centro del teclado digital 28 proporcionando una cierta uniformidad a los movimientos requeridos para introducir el texto. Esto también puede ser útil para ciertas disposiciones incluyendo, por ejemplo, cuando el teclado digital 28 está programado para que se pueda reposicionar dinámicamente como se describe adicionalmente más adelante.
En las distribuciones en planta de los teclados representados en las figuras 3 y 10, por lo menos el carácter más comúnmente utilizado de un conjunto o subconjunto de caracteres preseleccionado (tal como por ejemplo un subconjunto o el conjunto de caracteres ASCII) está colocado substancialmente en o cerca del centro del teclado digital 28. Como también se representa, los caracteres más comúnmente utilizados siguientes están colocados dentro de un anillo intermedio y los caracteres menos comúnmente utilizados del conjunto de caracteres están distribuidos en una anillo exterior del teclado digital 28. Cuando los caracteres más comúnmente utilizados están colocados en o cerca del centro del teclado digital 28, el grado de movimiento requerido con un dispositivo de señalización para seleccionar caracteres visualizados dentro de los anillos intermedio o interior del teclado digital 28 se hace mínimo. Además, disponiendo los caracteres en el teclado digital 28 en anillos concéntricos de acuerdo con su frecuencia de utilización proporciona un mecanismo fácil y eficaz de recuperación de caracteres y de introducción de datos utilizando un dispositivo de señalización.
Cuando los anillos son utilizados con el teclado digital 28, se apreciará que las disposiciones de los caracteres dentro de cada anillo no están limitadas en modo alguno a las distribuciones en planta representadas en las figuras 3 o 10. Por ejemplo, los caracteres dentro de un anillo particular pueden estar organizados alfabéticamente en el orden del sentido de las agujas del reloj (o del sentido contrario a las agujas del reloj). Un desafío de muchos diseños de teclados es que requieren un tiempo de aprendizaje. La organización ordenada anterior incrementa la oportunidad de aprender rápidamente y de recordar la localización de los caracteres visualizados en el teclado digital 28, puesto que el usuario ya está familiarizado con esta distribución en el sentido de las agujas del reloj. En otra variante, los caracteres en una mitad del anillo (por ejemplo, la mitad superior) pueden estar ordenados alfabéticamente en un sentido (por ejemplo, en el sentido de las agujas del reloj) y todos los caracteres en la otra mitad del mismo anillo (por ejemplo, la mitad inferior) pueden estar ordenados alfabéticamente en el otro sentido (en el sentido contrario a las agujas del reloj). Estos tipos de organizaciones dentro de los anillos pueden también permitir al usuario aprender más rápidamente a localizar un carácter deseado visualizado en el teclado digital 28.
Muchas otras características del teclado digital 28 pueden variar también. En general, el tipo de caracteres visualizados y disponibles, el tipo de caracteres visualizados en teclas particulares del teclado digital 28, el tamaño de fuente de cada carácter visualizado y el valor que se va a procesar cuando se entra en contacto con una tecla particular (o seleccionada) puede variar de un teclado a otro teclado. Así mismo, para hacer mínima la confusión, el teclado digital 28 se puede visualizar sin los gráficos de contorno de las teclas en el teclado digital 28. Para distribuciones en plantas circulares o en forma de anillo de los teclados, muchas otras características pueden variar también, incluyendo el número de anillos que forman la distribución en planta del teclado, el número de teclas visualizadas en cada anillo y en el teclado como un conjunto y el grosor o la anchura de cada anillo.
En otra variante, la distribución en planta del teclado digital 28 puede ser reemplazada dinámicamente por el usuario con otra distribución en planta del teclado. Esta característica puede ser particularmente ventajosa cuando es deseable permitir al usuario cambiar entre diversas distribuciones en planta (por ejemplo, entre las distribuciones en planta de los teclados en las figuras 10, 11 y 12), como en el caso en el que la pantalla sensible al tacto 14 es relativamente pequeña o el número de caracteres requeridos para introducir datos excede del espacio disponible para visualizar el teclado digital 28 dentro de una localización en la pantalla sensible al tacto 14. Permitiendo al usuario cambiar entre múltiples distribuciones en planta del teclado se proporciona al usuario un grado significativo de flexibilidad cuando se introducen caracteres con el sistema de introducción de datos 26. Además, cuando están disponibles múltiples distribuciones en planta de teclados, se pueden organizar de acuerdo con las diversas subclases de caracteres. Por ejemplo, una distribución en planta de un teclado por defecto puede contener caracteres alfabéticos. Una segunda distribución en planta del teclado puede contener caracteres numéricos. Una tercera distribución en planta del teclado puede contener caracteres especiales. Agrupando un conjunto de caracteres en subgrupos lógicos y organizando estos subgrupos en múltiples distribuciones en planta del teclado proporciona al usuario la capacidad de navegar lógicamente entre diferentes tipos de distribuciones en planta de los teclados cuando lo desee. Preferiblemente, el usuario puede activar una distribución en planta del teclado particular utilizando una o más teclas de ayuda asociada cada una de ellas con por lo menos una de las distribuciones en planta del teclado disponibles. Una tecla de ayuda puede ser cualquier tecla o función asociada con el teclado digital 28 que inicia la visualización de una distribución en planta alternativa del teclado. Cuando una tecla de ayuda asociada con una distribución en planta particular del teclado es seleccionada por el usuario desde el teclado digital 28, la distribución en planta del teclado actualmente visualizada es reemplazada por la distribución en planta del teclado asociada con la tecla de ayuda seleccionada.
En otra variante, una serie de símbolos o caracteres relacionados diferentes pueden ser accedidos a través de una tecla en el teclado digital 28. Por ejemplo, cuando el usuario toca una tecla de puntuación, una serie de diferentes marcas de puntuación pueden ser visualizadas y entonces el usuario puede seleccionar una de estas elecciones haciendo un gesto para seleccionar el símbolo o el carácter seleccionado.
Características del diccionario
En otro aspecto de la presente invención, se pueden almacenar múltiples diccionarios en el medio que puede ser leído por el ordenador 16 (figura 1), con cada diccionario conteniendo las candidatas de compleción con los valores de ponderación asociados para la clasificación de las candidatas de compleción cada una con relación a las otras. Por ejemplo, los valores de ponderación pueden representar los valores de la frecuencia de utilización ponderada de acuerdo con la utilización en un idioma particular o en un campo particular de utilización (por ejemplo, en ingeniería, negocios en general, legislación, contabilidad) o una utilización particular del usuario. Con múltiples diccionarios, un usuario puede rápidamente pasar de uno a otro entre conjuntos de idiomas o subconjuntos de idiomas o diccionarios para una aplicación particular.
En una variante, el sistema de introducción de datos 26 (por ejemplo en las figuras 1 a 5) puede contener múltiples diccionarios simultáneamente accesibles que el usuario puede habilitar e inhabilitar individualmente. Por ejemplo, el sistema de introducción de datos 26 puede tener un primer diccionario que contenga candidatas de compleción de acuerdo con el inglés de Oxford y un segundo diccionario que contenga candidatas de compleción basadas en un inglés americano, ambos activos al mismo tiempo y ambos accedidos y utilizados por el sistema de predicción de candidatas 32 cuando se vaya a obtener una lista de candidatas de compleción. Como otro ejemplo, el sistema de introducción de datos 26 puede tener un diccionario legal, un diccionario de ingeniería civil y un diccionario de inglés americano normal, todos simultáneamente activos. Esta característica permite al usuario obtener una lista de candidatas de compleción simultáneamente conteniendo variaciones de palabras, frases o secuencias de caracteres particulares relativas a áreas específicas de prácticas o particulares de tipos específicos de diccionarios.
Con múltiples diccionarios, simultáneamente accesibles, el sistema de predicción de candidatas 32 puede estar programado para recuperar candidatas de compleción de dos o más diccionarios, cada uno teniendo su propia función de ponderación para las candidatas de compleción (como se ilustra en los bloques 212 y 252 de las figuras 25 y 26). Cuando se hace esto, el sistema de predicción de candidatas 32 puede generar una lista final de candidatas de compleción sobre la base de una función de combinación que tenga en cuenta los valores de ponderación asociados con las candidatas de compleción recuperadas de los múltiples diccionarios y que también dé prioridades las candidatas de compleción sobre la base del diccionario fuente a partir del cual se recupera una candidata de compleción particular. A título de ejemplo, el sistema de predicción de candidatas 32 puede estar programado para incluir en la lista final las N candidatas de compleción superiores (en donde N \geq 1) de cada lista de candidatas compleción recuperadas de los múltiples diccionarios.
Un diccionario previamente definido puede también ser modificado o generado a base de la utilización de un usuario particular de palabras, frases o secuencias de caracteres particulares en el transcurso de la utilización del sistema de introducción de datos 26. Un diccionario "personalizado" de este tipo también puede ser utilizado para producir listas de las candidatas de compleción más comúnmente utilizadas por un usuario. Por ejemplo, la utilización real de candidatas de compleción de un diccionario puede ser seguida por el sistema de introducción de datos 26. Un diccionario personalizado también puede ser utilizado en combinación con otros diccionarios. Por ejemplo, utilizando un diccionario normalizado y un diccionario personalizado el sistema de predicción de candidatas 32 puede ser programado para proporcionar prioridad primero a las candidatas de compleción (hasta un límite previamente determinado) empezando por el contenido de la cadena de búsqueda y grabándolas en el diccionario personalizado que tengan los valores de ponderación más altos y, entonces, si queda espacio en la lista de búsqueda interactiva 30, completarla con candidatas que tengan los valores de ponderación más altos en el diccionario normalizado y que empiecen con el contenido de la cadena de búsqueda. Como otro ejemplo, se puede generar un nuevo diccionario sobre la base de candidatas de compleción seleccionadas por el usuario a través del sistema de introducción de datos 26 a lo largo del tiempo. El usuario puede activar el nuevo diccionario en cualquier momento de forma que tenga prioridad sobre cualquier diccionario o diccionarios previamente existentes si las candidatas de compleción que empiecen con la cadena de búsqueda están colocadas en el nuevo diccionario.
En otra variante del diccionario 20 y de la utilización del diccionario 20 a través del sistema de introducción de datos 26 de la presente invención, el sistema de introducción de datos 26 puede estar programado para supervisar un modelo específico del usuario de utilización de candidatas de compleción de la lista de búsqueda interactiva 30. Por ejemplo, cuando las candidatas de compleción son seleccionadas por el usuario e introducidas dentro del texto utilizando el sistema de introducción de datos 26, un campo adicional de peso en cada entrada del diccionario 20 puede ser utilizado por el sistema de introducción de datos 26 para seguir la frecuencia real del usuario de la utilización de la candidata de compleción. En esta variante orientada al usuario el sistema de predicción de candidatas 32 puede estar configurado para encontrar las candidatas de compleción más comunes en el diccionario 20 que empiecen con una cadena de búsqueda basada, en primer lugar, en el grado de la utilización real del usuario seguida en los campos de utilización adicional del diccionario 20, asociados con las candidatas de compleción en él y, en segundo lugar, basada en los campos de ponderación previamente definidos 24, si los campos de utilización adicionales son nulos o son menores que un valor umbral previamente determinado que define un nivel de porcentaje mínimo de utilización para la evaluación, o si la lista de candidatas de compleción recuperada utilizando los resultados de los campos de utilización adicionales en una serie de candidatas de compleción inferiores al número máximo que pueden ser visualizadas con la lista de búsqueda interactiva 30. En una variante orientada al usuario de este tipo, el sistema de predicción de candidatas 32 sigue el número total de las selecciones realizadas a partir del diccionario 20 (por ejemplo, en un campo TOTAL_USAGE (UTILIZACIÓN_TOTAL) en el sistema de predicción de candidatas 32) a lo largo del tiempo, así como el número total de ocasiones en las cuales una candidata de compleción particular en el diccionario 20 es realmente utilizada por el usuario para reemplazar una introducción de texto parcial (por ejemplo, en un campo COMPLETION_CANDIDATE_USAGE (UTILIZACIÓN_CANDIDATA_COMPLECIÓN) en el sistema de predicción de candidatas 32). Para determinar si un campo de utilización adicional de una candidata de compleción particular en el diccionario es inferior o no a un valor umbral previamente determinado para la utilización y la evaluación aceptable, el sistema de introducción de datos 26 compara el valor COMPLETION_CANDIDATE_USAGE/TOTAL USAGE (UTILIZACIÓN_CANDIDATA_COMPLECIÓN/UTILIZACIÓN TOTAL) con el valor umbral previamente determinado. En una variante de este tipo las candidatas de compleción finales más comúnmente utilizadas recuperadas para ser visualizadas pueden estar configuradas sobre la base principalmente en la utilización del usuario de la candidata de compleción real en oposición a una distribución de frecuencia previamente definida programada en campos 24 del diccionario 20.
Se apreciará adicionalmente, a partir de la lectura de esta memoria, que incluyendo prefijos comunes de palabras en listas de candidatas de compleción se puede reducir el esfuerzo del usuario en llegar a la candidata de compleción final deseada. La inclusión de prefijos proporciona una trayectoria de introducción común de todas las palabras que empiezan con ese prefijo. Comparado con la utilización de una lista de candidatas inicial la cual, por ejemplo, simplemente relaciona todas las palabras que empiezan con ciertos caracteres, este procedimiento alternativo puede a su vez acortar el número de búsquedas, o iteraciones de búsqueda, requeridas para encontrar la candidata de compleción final. Esto resulta así porque el campo del peso para la candidata de compleción del prefijo puede hacer la suma de campos de peso para todas las entradas que empiezan con el prefijo, lo cual a su vez significa que el prefijo es más probable que aparezca en una etapa más temprana de una secuencia de búsqueda iterativa.
Un ejemplo de esto es el caso de que una candidata final deseada sea la palabra "telescopio". Sin la utilización de prefijos, el usuario debe introducir la "t" pero puede no encontrar palabra alguna que empiece por "tele" en la lista de candidatas de compleción. Esto requerirá entonces que el usuario introduzca la letra siguiente "e", sin embargo telescopio puede todavía no tener un peso suficientemente elevado como para aparecer en la siguiente lista de candidatas de compleción y por lo tanto el proceso deberá continuar. La utilización de prefijos como candidatas de compleción puede acortar este proceso puesto que el peso combinado de todas las candidatas de compleción que empiezan con "tele" causarán que este prefijo aparezca antes en el proceso de búsqueda, posiblemente tan pronto como se introduzca la "t", lo cual permitirá entonces al usuario estrechar inmediatamente la búsqueda a sólo aquellas palabras que empiecen con los caracteres "tele". Puesto que la candidata deseada se encuentra después de unas pocas búsquedas o iteraciones de búsqueda se reduce la carga de la memoria del usuario lo cual a su vez puede hacer fácil el aprendizaje de la secuencia de operaciones necesarias que el usuario debe ejecutar para introducir palabras que empiecen con esos prefijos.
Teclado que se puede reposicionar
En otro aspecto de la presente invención, el teclado digital 28 está programado para que se pueda reposicionar automáticamente de forma que siga al dispositivo de señalización. Cuando el teclado digital 28 está programado para que se pueda reposicionar automáticamente, su imagen sigue el movimiento del dispositivo de señalización en la pantalla sensible al tacto 14 de forma que la imagen del teclado permanece generalmente centrada por debajo del dispositivo de señalización después de cada selección del teclado. En este aspecto, siempre que el sistema de introducción de datos 26 está en el modo de teclado, el teclado digital 28 está programado para volverse a centrar automáticamente él mismo en una localización en la interfaz gráfica del usuario 34 asociada con el conjunto de coordenadas de posición último conocido para el dispositivo de señalización. Por ejemplo, si se selecciona el carácter "u" con el dispositivo de señalización desde el teclado digital 28 en la figura 3, el teclado digital 28 se vuelve a centrar él mismo substancialmente sobre las coordenadas de posición las cuales son utilizadas por el dispositivo de señalización para seleccionar el carácter "u". Volviendo a centrar substancialmente el teclado digital 28 sobre el conjunto de coordenadas de posición último conocido para el dispositivo de señalización, la posición y la distancia de las teclas en el teclado digital 28 con relación al dispositivo de señalización del usuario se mantienen substancialmente constantes. Esto proporciona un mecanismo uniforme para seleccionar coherentemente la misma tecla en el teclado digital 28 utilizando substancialmente el mismo movimiento con el dispositivo de señalización. Además, cuando el teclado digital 28 se puede reposicionar dinámicamente el grado y la frecuencia con las cuales se requiere al usuario que vuelva a colocar el dispositivo de señalización, después de seleccionar los caracteres en el teclado, se hacen mínimas. Si esta característica de poder ser vuelto a colocar se combina con un teclado distribuido por frecuencia provisto de los caracteres más comunes cerca del centro, el dispositivo de señalización permanecerá generalmente siempre en el centro de los caracteres más comunes. Si el teclado distribuido por frecuencia está compuesto por anillos, entonces cada uno de los caracteres en un anillo particular será equidistante del dispositivo de señalización cuando el dispositivo de señalización esté descansando en el centro del teclado, dando como resultado una uniformidad de movimiento para la introducción de caracteres.
Cuando el teclado digital 28 está programado para que se pueda reposicionar dinámicamente, también puede estar programado para la reposición en una localización substancialmente central en el interior de la interfaz gráfica del usuario 34 (o en otra posición definible por el usuario) cuando el teclado digital 28 se aproxima dentro de una distancia previamente determinada de algunos de los límites de la interfaz gráfica del usuario 34. Recolocando el teclado digital 28 de esta manera se proporciona un mecanismo de ajuste para las circunstancias en las que el teclado digital 28 se desplace demasiado cerca de un límite de la pantalla sensible al tacto 14. En un mecanismo de reposición alternativo, una tecla de ayuda puede ser utilizada para volver a centrar automáticamente el teclado digital 28. En todavía otra alternativa, el teclado digital 28 que se puede reposicionar dinámicamente puede estar programado para volverse a centrar alrededor de las coordenadas de posición para el dispositivo de señalización cuando las coordenadas de posición corresponden a una parte de la interfaz gráfica del usuario 34 (o pantalla) que no esté actualmente ocupada por el teclado digital 28. Por ejemplo, si el teclado digital 28 se aproxima al borde de la interfaz gráfica del usuario 34 el usuario puede simplemente tocar en el centro de la interfaz gráfica del usuario 34 y el teclado digital 28 se recolocará en ese punto.
Cuando el teclado digital 28 se puede reposicionar dinámicamente, es preferible en general que la cantidad de movimiento del teclado, o desplazamiento, sea mínima. Esto se puede conseguir disponiendo la distribución en planta del teclado de forma que los caracteres del teclado estén distribuidos alrededor del teclado digital 28 en una configuración que reduzca la cantidad de desplazamiento experimentada cuando se pueda reposicionar dinámicamente. Un modo de conseguir esto es configurando el teclado digital 28 de forma que el total de la frecuencia de los valores de utilización para caracteres colocados dentro de una parte particular (o sector) del teclado digital 28 sea substancialmente el mismo que otras partes (o sectores) de formas similares del teclado digital 28. Se recordará que para la disposición distribuida por frecuencia de los caracteres del teclado descrita anteriormente, cada carácter del teclado tiene una frecuencia previamente determinada de valor de utilización asignado a él (o asociado con él). A fin de hacer mínimo el desplazamiento, el teclado digital 28 puede ser dividido en sectores nocionales substancialmente de formas iguales, y los caracteres del teclado pueden ser asignados a localizaciones dentro del teclado digital 28 de tal forma que el total de los valores de frecuencia combinados para los caracteres dentro de un sector particular del teclado digital 28 sea substancialmente igual al total de los valores de la frecuencia combinados para caracteres dentro de cualquiera de los otros sectores del teclado digital 28. De este modo, la probabilidad de seleccionar un carácter de cualquier otro de los sectores previamente determinados del teclado digital 28 es substancialmente la misma. Por lo tanto, si se desea hacer mínimo el desplazamiento en el caso de la distribución en planta del tipo circular del teclado digital 28 de la figura 3, es preferible que los caracteres del teclado estén distribuidos de tal manera que cuando el teclado digital 28 está nocionalmente dividido en sectores substancialmente en forma trapezoidal igualmente divididos, cada sector del teclado tiene substancialmente el mismo "peso" total de los caracteres, de acuerdo con su frecuencia de utilización, como cada uno de los otros sectores.
Otra forma de hacer mínimo el desplazamiento es configurar el teclado digital 28 en una distribución en planta substancialmente simétrica de los caracteres con pares de caracteres opuestamente visualizados en el teclado digital 28 que tengan frecuencias de uso substancialmente similares. Con esta configuración, la frecuencia de utilización de un carácter en un par de caracteres opuestos está tan cerca como es posible de aquella del otro carácter en el mismo par. Un ejemplo de esta configuración se representa en la figura 13 la cual muestra las frecuencias (f(X_{1}) y (X_{2})) de los caracteres X_{1} y X_{2} siendo substancialmente las mismas una que la otra y las frecuencias (f(X_{3}) y (X_{4})) de los caracteres X_{3} y X_{4} siendo substancialmente las mismas una que la otra. Las frecuencias de utilización de los caracteres visualizados en el teclado digital 28 se pueden calcular utilizando las técnicas muy conocidas de análisis en un gran cuerpo de texto.
El teclado digital que se puede reposicionar dinámicamente 28 hace mínima la necesidad de reposicionar el dispositivo de señalización y en cambio funciona sobre la base de la reposición del teclado digital 28 con relación al dispositivo de señalización. Haciendo el teclado digital 28 que se pueda reposicionar dinámicamente, también proporciona un movimiento uniforme para un carácter particular que resulte en un teclado más intuitivo y un mecanismo de introducción de datos más intuitivo. Cuando está combinado en una única realización, los aspectos de la distribución de la frecuencia de los caracteres y de que el teclado digital 28 se pueda reposicionar dinámicamente reduce adicionalmente el movimiento requerido para el dispositivo de señalización cuando los caracteres van a ser seleccionados desde el teclado digital 28.
Selección de candidatas
En la primera realización descrita antes más arriba, las candidatas de compleción son seleccionadas a partir de la lista de búsqueda interactiva 30 por medio de gestos. Alternativamente, se pueden ejecutar otras formas de selección de candidatas con dispositivos de señalización. Por ejemplo, si la selección a partir de gestos no se desea para una implantación particular, las candidatas pueden ser seleccionadas sobre la base de su colocación en la lista de búsqueda interactiva 30. Como otro ejemplo, cuando el sistema de introducción de datos 26 está programado para recibir entradas desde un ratón provisto de dos o más botones, el sistema de introducción de datos 26 puede estar programado para utilizar entradas de un botón del ratón para bascular entre la activación y la desactivación de la lista de búsqueda interactiva 30 y utilizar una entrada desde un segundo botón del ratón para insertar una candidata de compleción de la lista de búsqueda interactiva 30 dentro del texto cuando la lista de búsqueda interactiva 30 está activa y el ratón ha sido utilizado para resaltar esa candidata de compleción. En este último caso, el sistema de introducción de datos 26 puede también estar programado para utilizar la entrada desde el segundo botón del ratón como un disparo para seleccionar una tecla desde el teclado digital 28 si la posición del cursor del ratón (es decir, las coordenadas de posición del ratón) en la interfaz gráfica del usuario 34 está asociada con una tecla en el teclado digital 28 en el momento en el que se recibe la entrada desde el segundo botón del ratón.
En otro aspecto, la selección de candidatas utilizando la lista de búsqueda interactiva 30 se puede modificar para reemplazar la técnica basada en el retraso en el tiempo para iniciar la activación de la lista de búsqueda interactiva 30 o para iniciar la búsqueda iterativa, con otras formas de indicadores de entrada desde el dispositivo de señalización. Por ejemplo, con un ratón, una señal de entrada desde un botón del ratón cuando la posición del ratón está colocada sobre un botón de función particular o localización en la interfaz gráfica del usuario 34 o cuando una doble señal de tecleo desde el botón del ratón es recibida por el sistema de introducción de datos 26.
Distribución en planta de la lista de búsqueda interactiva
Aunque la lista de búsqueda interactiva 30 está visualizada en la primera realización (figuras 1 a 5) como una lista vertical de candidatas de compleción, la lista de búsqueda interactiva 30 puede ser visualizada de diversos modos diferentes dependiendo de con cuáles opciones ha sido programado el sistema de introducción de datos 26 y cuáles de esas opciones han sido seleccionadas por el usuario. Existen cuatro consideraciones principales para la visualización de la lista de búsqueda interactiva 30. La primera es cuando la lista de búsqueda interactiva 30 va a ser colocada dentro de la interfaz gráfica del usuario 34. La segunda es cuando la lista de búsqueda interactiva 30 está o no está continuamente visible. La tercera consideración es el tipo de lista de búsqueda interactiva, más específicamente, cómo están visualmente dispuestas las candidatas de compleción en la lista de búsqueda interactiva 30 dentro de la interfaz gráfica del usuario 34. La cuarta consideración es si la lista de búsqueda interactiva 30 reemplaza el teclado digital 28 o si la lista de búsqueda interactiva 30, cuando está activa, aparece temporalmente remota o superpuesta sobre una parte del teclado digital 28.
En una alternativa, al cambiar la visualización de la lista de búsqueda interactiva 30 con el teclado digital 28, la lista de búsqueda interactiva 30 se puede visualizar en una localización fija dentro de la interfaz gráfica del usuario 34. En otra variante, la lista de búsqueda interactiva 30 puede estar acoplada con el teclado digital 28, cuando se puede reposicionar, y estar visualizada continuamente. Tanto con la lista de búsqueda interactiva 30 acoplada como en una localización fija, los resultados de la búsqueda automática son visualizados continuamente dentro de la lista de búsqueda interactiva 30 a medida que el usuario introduce caracteres con el teclado digital 28 o utiliza la propia lista de búsqueda interactiva 30 (como se ilustra mediante los bloques 213B y 254 de las figuras 23 y 24). La activación de una lista de búsqueda interactiva 30 acoplada o de localización fija se puede conseguir realizando una pausa con el dispositivo de señalización en un carácter del teclado seleccionado dentro del teclado digital 28. En cuanto ha expirado el límite de tiempo previamente determinado L1, la lista de búsqueda interactiva 30 se convierte en activa. En este punto, si el usuario lo desea, el usuario puede seleccionar una de las candidatas de compleción (si existe) dentro de la lista de búsqueda interactiva 30 o el usuario puede volver al modo de teclado y continuar añadiendo o modificando de otro modo la introducción de texto parcial actual desde el teclado digital 28. En una variante adicional, la lista de búsqueda interactiva 30 cuando está dispuesta en una localización fija o acoplada, se puede actualizar continuamente con candidatas de compleción potenciales sobre la base de los contenidos actuales de la cadena de búsqueda construida por el usuario a través del teclado digital 28. En esta variante, el usuario puede simplemente continuar añadiendo caracteres al final de la introducción de texto parcial actual, un carácter cada vez, a través del teclado digital 28 de forma que continúe construyendo la palabra, frase o secuencia de caracteres deseados hasta el momento en el que la candidata de compleción deseada o la candidata de compleción parcial de los mismos aparezca en la lista de búsqueda interactiva 30. En una alternativa adicional, la lista de búsqueda interactiva 30, cuando está activada, puede estar representada superpuesta sobre una parte del teclado digital 28.
El teclado digital 28 puede ser instruido para que se haga él mismo visible o invisible para ver la interfaz gráfica del usuario 34. Por ejemplo, en la primera realización de las figuras 1 a 5 el teclado digital 28 puede estar programado para ser visualizado en la interfaz gráfica del usuario 34 en respuesta a una selección del usuario en el dispositivo informático personal y esconderlo (o borrarlo) de la vista en respuesta a otra selección del usuario. Esta característica también proporciona, por ejemplo, la opción para que la aplicación 27 instruya al teclado digital 28 cuándo debe ser visible y cuándo debe ser invisible. Preferiblemente, la aplicación 27 está programada para decidir cuándo y dónde se va a visualizar el teclado digital 28. Esta característica puede ser aplicada a muchos tipos de dispositivos informáticos personales incluyendo, por ejemplo, cuando se utiliza una pantalla sensible al tacto, o cuando se visualiza un teclado digital 28 en un dispositivo de visualización que está separado de la interfaz de entrada del equipo 17 tal como un tablero de datos, una superficie de entrada sensible a la proximidad o una interfaz de entrada equivalente. Por ejemplo, la interfaz de entrada del equipo puede estar localizada en un dispositivo de control remoto utilizado para controlar cuándo el teclado digital 28 es visualizado en un televisor o un visualizador del ordenador remotamente localizado. Con una superficie de entrada sensible a la proximidad, el teclado digital puede ser visualizado cuando se detecte el dispositivo de señalización dentro de una distancia establecida previamente determinada de una superficie de entrada sensible a la proximidad y el teclado digital se puede esconder cuando el dispositivo de señalización no se detecte dentro de la distancia establecida previamente determinada de la superficie de entrada sensible a la proximidad. Como otro ejemplo, si se utiliza una superficie de entrada sensible a la proximidad capaz de detectar la posición, entonces cuando un estilete o similar se levanta una distancia establecida previamente determinada de la superficie de entrada sensible a la proximidad, la aplicación 27 puede instruir al teclado digital 28 para que se haga invisible de forma que cambie al modo de texto completo. Cuando el estilete o similar es llevado de vuelta dentro de la distancia establecida previamente determinada de la superficie de entrada sensible a la proximidad, la aplicación 27 reactiva la visualización del teclado digital 28 sobre las coordenadas de posición asociadas con la posición del dispositivo de señalización sobre la superficie de entrada sensible a la proximidad o en área alejada del dispositivo de señalización. Variantes en la manipulación de la introducción de texto con la superficie de entrada sensible a la proximidad se describen adicionalmente más adelante.
El API para el sistema de introducción de datos 26 también permite a la aplicación 27 cambiar mediante programación la introducción de texto parcial lo cual es utilizado para la búsqueda. Por ejemplo, el usuario de un editor de texto puede colocar el cursor después de una palabra o secuencia de caracteres y la aplicación 27 puede entonces decir al sistema de introducción de datos 26 que utilice esa palabra o secuencia de caracteres como una introducción de texto parcial para una búsqueda adicional.
Tipos de distribuciones en planta de la lista de búsqueda interactiva
Diversas distribuciones en planta alternativas para la lista de búsqueda interactiva 30 pueden ser utilizadas por el sistema de introducción de datos 26. En la primera realización, se utiliza una lista de candidatas de compleción vertical, como se ilustra adicionalmente en la figura 14. En otras distribuciones en planta, las candidatas de compleción dentro de la lista de búsqueda interactiva 30 se pueden visualizar en una configuración en X (figura 15), en una configuración rectangular (figura 16), en una configuración en cruz (figura 17), en una configuración en T (figura 18), o en una configuración horizontal. Con la configuración en X, una candidata de compleción se coloca preferiblemente ligeramente desplazada en el eje x o en el eje y de la localización central dentro de la configuración en X y rodeada por cuatro o más candidatas de compleción colocadas dentro de las direcciones norte-oeste, norte-este, sur-oeste y sur-este (con relación a la candidata de compleción central visualizada). Con una configuración en X de la lista de búsqueda (como la de antes) una única dirección está provista para cada una de las cinco candidatas de compleción visualizadas en la lista, de forma que se haga mínimo el movimiento del lápiz. Para una configuración en cruz, una candidata de compleción visualizada substancialmente centralmente dentro de la lista de búsqueda interactiva 30 está rodeada por hasta cuatro candidatas de compleción en las direcciones norte, este, sur y oeste (con relación a la candidata de compleción central visualizada.
Configuración de la lista de búsqueda interactiva
Cuando el teclado digital 28 está programado para compartir el mismo espacio de visualización en la interfaz gráfica del usuario 34 que la lista de búsqueda interactiva 30, es preferible que el sistema de introducción de datos 26 también esté programado para visualizar todas las candidatas de compleción cerca de las últimas coordenadas de posición conocidas del dispositivo de señalización de forma que estén ligeramente desplazadas del eje x o del eje y de las últimas coordenadas de posición conocidas de forma que se haga mínimo el grado al cual tales candidatas de compleción en la lista de búsqueda interactiva 30 queden ocultas a la vista del usuario por el dispositivo de señalización. Esta característica puede ser particularmente útil cuando el dispositivo de señalización es un lápiz o el dedo y el usuario forma interfaz con una pantalla sensible al tacto 14. De esta manera la lista de búsqueda interactiva puede ser visualizada en una localización que la haga fácilmente visible y accesible al usuario.
En otra variante, cuando el teclado digital 28 y la lista de búsqueda interactiva 30 se visualizan de forma intercambiable, la lista de candidatas de compleción dentro de la lista de búsqueda interactiva 30 se puede visualizar de tal forma que las candidatas de compleción más comunes se visualicen cerca de las últimas coordenadas de posición conocidas del dispositivo de señalización mientras las otras candidatas de compleción en la lista de búsqueda interactiva 30 son visualizadas alejadas de las últimas coordenadas de posición conocidas del dispositivo de señalización con relación a las candidatas de compleción más comunes. Esta variante resulta en una lista de búsqueda interactiva 30 distribuida por frecuencia la cual puede ayudar en hacer mínimo adicionalmente la cantidad de movimiento requerido con el dispositivo de señalización para utilizar y seleccionar de la lista de búsqueda interactiva 30.
Como se ilustra en la figura 19, en otra variante, ambos, el teclado digital 28 y la lista de búsqueda interactiva 30 pueden ser visualizados continuamente dentro de localizaciones separadas fijas en la interfaz gráfica del usuario 34, junto con una ventana de la cadena de búsqueda 40 utilizada para visualizar el contenido actual de la cadena de búsqueda. Una barra de herramientas 42 también puede ser visualizada para identificar funciones y mandatos previamente definidos que pueden ser seleccionados por el usuario mientras utiliza el sistema de introducción de datos 26. Cuando la barra de herramientas 42 está incluida en la configuración que se puede reposicionar dinámicamente del teclado digital 28, la barra de herramientas 42 se puede reposicionar dinámicamente junto con el teclado digital 28, o la barra de herramientas 42 se puede colocar y permanecer en una localización fija dentro de la interfaz gráfica del usuario 34. Como se ilustra en la figura 20, siempre que se visualice el teclado digital 28 con o sin la lista de búsqueda interactiva 30, una barra de herramientas 42 y distribuciones en planta adicionales de los caracteres 44 pueden ser utilizadas para mejorar la funcionalidad para el usuario mientras utiliza el teclado digital 28.
En otro aspecto de la presente invención, una palabra o secuencia de caracteres comúnmente utilizada puede aparecer en la misma posición cada vez que tal palabra o secuencia de caracteres es visualizada en una lista de búsqueda. Esto ayuda al usuario a familiarizarse con la localización de tal palabra o secuencia de caracteres dentro de la lista de búsqueda y de ese modo ayuda al usuario a acceder a tal palabra o secuencia de caracteres más rápidamente.
En otra realización alternativa, cuando el usuario empieza a combinar la posición de palabras comunes dentro de una lista de búsqueda, el usuario puede empezar a conocer qué gesto se requiere para introducir cierta palabra incluso antes de que haya expirado el período de retraso previamente determinado L1 y se visualice la lista de búsqueda. En este caso, el sistema de introducción de datos 26 puede estar programado para reconocer gestos de este tipo incluso antes de que haya expirado el período de retraso previamente determinado L1 y la lista de búsqueda interactiva 30 sea visualizada.
En otra realización alternativa, la lista de búsqueda interactiva puede visualizar candidatas de compleción con la parte de cada candidata de compleción que coincide con la cadena de búsqueda visualizada de una manera diferente (por ejemplo un color, una fuente, o intensidad diferente) que las partes restantes de las candidatas de compleción. Por ejemplo, si las partes restantes fueran significativamente más intensas que la parte de la candidata de compleción que coincide con la cadena de búsqueda, el ojo del usuario podrá ser orientado a esas partes que distinguen las candidatas de compleción en la lista de búsqueda interactiva unas de otras, facilitando de ese modo la selección de la candidata de compleción deseada.
Seguimiento del movimiento del dispositivo de señalización
En otra variante, cuando un estilete (o lápiz, dedo o similar) se utiliza con una superficie de entrada sensible al tacto o sensible a la presión (por ejemplo, una pantalla sensible al tacto, un tablero de datos o una almohadilla de entrada), el sistema de introducción de datos 26 puede estar programado para determinar si la posición de un cursor visualizado en la interfaz gráfica del usuario 34 sigue o no sigue con precisión la posición del estilete o si se desplaza con relación al movimiento del estilete. En el primer caso, si la posición del cursor sigue con precisión la posición del estilete, entonces el estilete y el cursor funcionan como un ratón y el cursor en una interfaz del usuario convencional y la posición del cursor sigue con precisión la posición de la punta del estilete en la superficie de entrada del equipo (esto es, las últimas coordenadas de posición conocidas del estilete).
En el segundo caso, el cursor visualizado en la interfaz gráfica del usuario 34 se desplaza una distancia proporcional al movimiento del estilete. Este último comportamiento puede entrar en efecto cuando la lista de búsqueda interactiva 30 es visualizada. Por ejemplo, cuando se avanza en una lista vertical de candidatas de compleción, el cursor puede avanzar más rápido que el movimiento físico real del estilete.
En ambos casos, el estilete (o bien otro dispositivo de señalización) puede ser utilizado localmente en el dispositivo de visualización si es una pantalla sensible al tacto, o remotamente tal como por ejemplo con un tablero de datos, una interfaz de entrada sensible a la proximidad, o con un espacio de entrada de caracteres en un Palm Pilot^{TM} o bien otro dispositivo informático personal.
Utilizar el cursor para seguir las coordenadas de posición del dispositivo de señalización puede ayudar al usuario a mantener su atención en el teclado digital 28 o en la lista de búsqueda interactiva 30 visualizada en el dispositivo de visualización 15 sin tenerse que distraer mirando la posición física del dispositivo de señalización (véase, por ejemplo, el cursor 48 como se ilustra en la figura 27) Esto puede ser útil cuando, por ejemplo, se utiliza un tablero de datos o una alfombrilla de entrada y está localizado remoto del área de visualización del dispositivo de visualización gráfica 15 en donde esta visualizado el teclado digital 28 o la lista de búsqueda interactiva 30 (o ambos). También utilizando el cursor para seguir remotamente el movimiento del estilete, lápiz o dedo se proporciona un mecanismo para utilizar el teclado digital 28 y la lista de búsqueda interactiva 30 sin ocultarlos a la vista del usuario con el estilete, lápiz o dedo.
Cuando el sistema de introducción de datos 26 está programado para utilizar el cursor para seguir remotamente el movimiento del estilete, lápiz o dedo, el cursor puede ser visualizado sobre el teclado digital 28 cuando el sistema de introducción de datos 26 está en el modo de teclado y el cursor puede estar programado para recolocarse en el centro del teclado digital 28 siempre que se seleccione un carácter del teclado o una candidata de compleción de la lista de búsqueda interactiva 30. Una vez el cursor está centrado en el teclado digital 28, pueden ser utilizados movimientos adicionales con el dispositivo de señalización para hacer selecciones del teclado digital 28 como si el dispositivo de señalización estuviera físicamente centrado alrededor del centro del teclado digital 28. En esta variante, el teclado digital 28 está visualizado en una localización remota fija en la interfaz gráfica del usuario 34. Con esta variante, el usuario no es visualmente distraído por el movimiento del teclado digital 28, mientras disfruta de muchas de las ventajas del teclado digital que se puede reposicionar dinámicamente 28. Por ejemplo, cuando el cursor se recoloca en el centro del teclado digital 28 cuando el teclado está activo y esperando una entrada del usuario, un carácter particular en el teclado digital 28 se mantiene a la misma distancia y dirección del dispositivo de señalización sin tener en cuenta de cuál fue la última entrada realizada con el dispositivo de señalización. Esta característica del cursor habilita al usuario a incorporar aprendizaje inconsciente y por lo tanto rendimiento de lo aprendido. Cuando se utiliza una distribución en planta del teclado distribuida por frecuencia con los caracteres más frecuentemente utilizados colocados cerca de una localización central, recolocando el cursor en el centro del teclado digital 28 habilita un rápido acceso a los caracteres que más probablemente van a ser escogidos a continuación, reduciendo de ese modo el movimiento de los dedos y aumentando el rendimiento.
En una variante, el movimiento del cursor no debe ser necesariamente directamente proporcional al movimiento del dispositivo de señalización. En esta variante, el sistema de introducción de datos 26 está programado de tal forma que desplazando el dispositivo de señalización una pequeña distancia equivale a desplazar el cursor una distancia mayor en el teclado digital 28 o en la lista de búsqueda interactiva 30. Esta variante utiliza el escalado para hacer mínimo el movimiento requerido para distinguir y seleccionar con precisión caracteres del teclado digital 28 y las candidatas de compleción de la lista de búsqueda interactiva 30. En otra variante, la distancia del movimiento del cursor puede estar relacionada mediante el sistema de introducción de datos 26 con la velocidad con la que se desplaza el dispositivo de señalización, de forma que cuanto más rápido sea el movimiento con el dispositivo de señalización, mayor será la distancia recorrida por el cursor y cuanto más lento sea el movimiento del dispositivo de señalización, menor será la distancia recorrida por el cursor en la interfaz gráfica del usuario 34.
Se apreciará, como se ha indicado antes, que cuando el dispositivo de señalización se utiliza en un teclado digital que está visualizado en una localización remota del dispositivo de señalización, tal como por ejemplo cuando el dispositivo de señalización es un ratón, el dedo en una paleta sensible al tacto, o un estilete. En tales casos el teclado digital no se visualiza debajo del dispositivo de señalización, sino que se ve en un dispositivo de visualización y el movimiento de señalización se ve como movimientos relativos de un cursor visualizado en el teclado digital. En estos casos los caracteres en el teclado digital no se ocultan.
Obtención de candidatas de compleción de un tipo específico o de una longitud mínima
En otro aspecto de la presente invención, un área de visualización especial conteniendo una serie de números son visualizados como parte o en asociación con el teclado digital 28 para habilitar al usuario a instruir rápidamente al sistema de introducción de datos 26 para obtener y visualizar en la lista de búsqueda interactiva 30 candidatas de compleción provistas de por lo menos un número mínimo de caracteres. En este aspecto, cuando un usuario selecciona uno de los caracteres en el teclado digital 28 seguido por uno de los números en el área de visualización especial, el sistema de introducción de datos 26 está programado para hacer que el sistema de predicción de candidatas 32 obtenga del diccionario 20 candidatas de compleción que empiecen con el carácter seleccionado y provistas de por lo menos tantos caracteres como el número que fue seleccionado por el usuario del área de visualización especial. Alternativamente, el usuario puede teclear un número del área de visualización especial, seguido por el mantenimiento de la presión en uno de los caracteres en el teclado digital 28 para instruir al sistema de introducción de datos 26 que haga que el sistema de predicción de candidatas 32 obtenga del diccionario 20 las candidatas de compleción que empiecen con el carácter seleccionado y por lo menos tantos caracteres como el número que ha sido seleccionado por el usuario en el área de visualización especial. En otra variante, el sistema de introducción de datos 26 puede estar programado de tal manera que cuando el usuario toca un número de un área especial de visualización y levanta el dispositivo de señalización, el sistema de introducción de datos 26 recupera una lista de candidatas de compleción provistas de un número de caracteres igual al número seleccionado tocado en el área de visualización especial. En todavía otra variante, el sistema de introducción de datos 26 puede estar programado para obtener candidatas de compleción de por lo menos una longitud previamente determinada cuando el usuario selecciona un número del área de visualización especial con el dispositivo de señalización, realiza un gesto de una distancia significativa en una dirección previamente determinada (por ejemplo, hacia la derecha), levanta el dispositivo de señalización, toca un carácter en el teclado digital 28 y realiza entonces una pausa en ese carácter. En todavía una variante adicional, otra área de visualización especial puede estar incluida con el teclado digital 28 a partir del cual se puede estrechar la categoría de candidatas de compleción. En esta área de visualización especial adicional, por ejemplo, el sistema de introducción de datos 26 puede estar programado para visualizar identificadores generales para nombres, verbos, adjetivos, etc. Si un identificador general es seleccionado por el usuario antes de que se active la lista de búsqueda interactiva 30, el sistema de introducción de datos 26 en esta variante está programado para que el sistema de predicción de candidatas 32 obtenga candidatas de compleción que estén identificadas en el diccionario 20 porque caen dentro de la categoría asociada con el identificador seleccionado (por ejemplo, sólo nombres, o sólo verbos). Esta variante puede estar combinada con los otros aspectos aquí indicados para ayudar al usuario a obtener candidatas de compleción de una o más categorías específicas identificadas en el diccionario 20.
En otro aspecto, un botón o interruptor físico colocado en el dispositivo informático personal, o en el dispositivo de señalización y dentro de un fácil alcance, por parte del dedo o de la mano del usuario, puede ser utilizado para activar fácilmente ciertas características del sistema de introducción de datos 26. Como un ejemplo, cuando se presiona el botón en el dispositivo informático personal, el sistema de introducción de datos 26 puede estar programado para hacer, con cada presión, invisible o visible el teclado digital 28. Alternativamente, el sistema de introducción de datos 26 puede estar programado para reconocer que si el botón o el interruptor está presionado, la lista de búsqueda interactiva 30, cuando esté visualizada, visualice sólo ciertos tipos de candidatas de compleción disponibles en el diccionario. Como otro ejemplo, cuando se presiona el botón, el sistema de introducción de datos 26 puede estar programado para activar la lista de búsqueda interactiva 30. Como otro ejemplo, cuando se presiona el botón en el dispositivo informático personal, el sistema de introducción de datos 26 puede estar programado para requerir que la lista de búsqueda interactiva 30 visualice las candidatas de compleción de una cierta longitud mínima de caracteres.
Visualización iniciada por proximidad del teclado digital
En otra variante, un estilete (o lápiz o dedo o dispositivo de señalización sostenido con la mano similar) se utiliza con una superficie de entrada sensible a la proximidad. Las superficies de entrada sensibles a la proximidad pueden detectar la proximidad de un dispositivo de señalización en la superficie de entrada así como la localización del dispositivo de señalización sobre la superficie de entrada sensible a la proximidad. Las superficies de entrada sensibles a la proximidad pueden también detectar la distancia y el ángulo al que el dispositivo de señalización está siendo sostenido con relación a la superficie de entrada. Cuando se utiliza una superficie de entrada sensible a la proximidad, el sistema de introducción de datos 26 puede estar programado de forma que visualice el teclado digital 28 (o bien otro teclado digital) con el cursor visualizado sobre él cuando el estilete se acerque dentro de una distancia establecida previamente determinada de la superficie de entrada sensible a la proximidad. La superficie de entrada sensible a la proximidad detecta la posición del estilete sobre la superficie de entrada sensible a la proximidad cuando el estilete está dentro de la distancia establecida previamente determinada. Cuando el usuario desplaza el dispositivo de señalización sobre la superficie de entrada sensible a la proximidad, el cursor se desplaza correspondientemente. El teclado digital 28 puede ser visualizado directamente por debajo del estilete en algunas realizaciones o, para otras realizaciones, remotamente del estilete. Cuando el estilete es desplazado alejándolo de la superficie de entrada sensible a la proximidad más lejos que la distancia establecida previamente determinada, el sistema de introducción de datos 26 está programado para esconder (o borrar) el teclado digital 28 de la interfaz gráfica del usuario 34. Esta variante permite utilizar la pantalla entera para visualizar el texto mientras el teclado digital 28 está oculto. Esta variante también evita la confusión en la pantalla al visualizar el teclado digital 28 sólo cuando el estilete se encuentre que está dentro de una distancia establecida previamente determinada de la superficie de entrada sensible a la proximidad. Al mismo tiempo, el usuario puede volver rápida e intuitivamente a añadir o borrar texto utilizando el teclado digital 28 llevando el estilete dentro de la distancia establecida previamente determinada de la superficie de entrada sensible a la proximidad. De este modo, el teclado digital 28 es visualizado cuando la mano del usuario que controla el estilete (la "mano que teclea") está colocada en una posición natural para continuar con la introducción de texto y de datos. La localización en la cual se visualiza el teclado digital 28 en la interfaz gráfica del usuario 34 puede ser cerca y posiblemente seguir la línea de texto bajo construcción por parte del usuario, de forma que se facilite a la vista el seguimiento del teclado digital 28 y la introducción de texto simultáneamente. En otra variante, el teclado digital 28 puede estar visualizado en la misma localización que el estilete. En otra variante, el teclado digital 28 está programado para ser visualizado justo por debajo o por encima de la línea de texto que el usuario está creando o editando en un dispositivo informático personal. Estas variaciones también permiten al usuario ver el teclado digital 28 y el texto simultáneamente.
Como una alternativa a la variante anterior, si el usuario desea utilizar el estilete (o el lápiz o el dedo) para volver a colocar el cursor dentro del texto anteriormente tecleado, el sistema de introducción de datos 26 puede estar programado para permitir al cursor que vuelva a ser colocado dentro del texto anteriormente tecleado con el estilete, mientras el estilete está dentro de la distancia mínima, con tal de que se detecte que el estilete se aproxima a la superficie de introducción sensible a la proximidad desde un lado particular de la superficie de entrada (por ejemplo, el lado derecho de la superficie de entrada sensible a la proximidad). Una vez el cursor se haya vuelto a colocar, el usuario puede entonces aproximarse a la superficie de entrada sensible a la proximidad desde otra dirección (por ejemplo, desde arriba) para iniciar la visualización del teclado digital 28 para ayudar en la introducción o modificación de texto adicional.
En la primera realización, el sistema de introducción de datos 26 es una aplicación independiente y se comunica con las aplicaciones a través de un API. En una realización alternativa, el sistema de introducción de datos 26 puede estar incrustado en una aplicación.
Se apreciará que muchos de los aspectos de la presente invención se pueden aplicar a diversos tipos de teclados digitales y las distribuciones en planta de los teclados, incluyendo las distribuciones en planta de los teclados tradicionales y distribuciones en planta de los teclados rectangulares. También se apreciará que el teclado digital puede contener otros símbolos que pueden codificar el lenguaje. Un ejemplo de esto sería un teclado digital que contuviera zonas que representaran trazos utilizados en la escritura de una lengua oriental. El usuario seleccionaría los trazos señalando sobre los mismos y los caracteres se construirían a partir de los trazos.

Claims (212)

1. Procedimiento para soportar la introducción de texto en un dispositivo informático personal (10) con un teclado digital (28) y una lista de búsqueda (30) que son visualizados en una interfaz del usuario (34), en el que el dispositivo informático personal (10) es receptivo a entradas desde un dispositivo de señalización y supervisa una señal de entrada del usuario, el procedimiento caracterizado porque visualiza el teclado digital (28) en la interfaz del usuario (34) cuando un usuario está introduciendo texto con una pulsación de la tecla cada vez;
si la señal de entrada del usuario corresponde a la activación de una búsqueda automática para obtener una lista de candidatas de compleción sobre la base de una introducción de texto parcial recibida por el dispositivo informático personal (10), reemplazando el teclado digital (28) con la lista de búsqueda (30) que contiene la lista de candidatas de compleción y esperando una entrada adicional del usuario; y
si la señal de entrada del usuario corresponde a la finalización de una búsqueda automática, reemplazando la lista de búsqueda (30) con el teclado digital (28) y esperando una entrada adicional del usuario.
2. El procedimiento de la reivindicación 1 en el que la señal de entrada del usuario corresponde a la activación de la búsqueda automática para obtener la lista de candidatas de compleción sobre la base de una introducción de texto parcial recibida por el dispositivo informático personal (10) cuando un carácter en el teclado digital (28) se mantiene seleccionado por el dispositivo de señalización durante un límite de tiempo previamente determinado.
3. El procedimiento de la reivindicación 1 en el que la señal de entrada del usuario corresponde a la finalización de una búsqueda automática cuando un dispositivo de señalización es levantado de una superficie sensible de entrada (14) del dispositivo informático personal (10) sin un movimiento significativo una vez que lista de búsqueda (30) es visualizada.
4. El procedimiento de cualquiera de las reivindicaciones 1 a 3 en el que la señal de entrada del usuario corresponde a la terminación de la búsqueda automática cuando se selecciona un botón en un ratón.
5. El procedimiento de cualquiera de las reivindicaciones 1 a 4 en el que la señal de entrada del usuario corresponde a la terminación de la búsqueda automática cuando se realiza un gesto con el dispositivo de señalización hacia una candidata de compleción en la lista de búsqueda (30) para seleccionar la candidata de compleción y se recibe otra señal de entrada del usuario indicando la aceptación por el usuario de la candidata de compleción.
6. El procedimiento de cualquiera de las reivindicaciones 1 a 4 en el que la señal de entrada del usuario corresponde a la terminación de la búsqueda automática cuando se realiza un gesto con el dispositivo de señalización en una dirección asociada con una candidata de compleción deseada y se hace una acción adicional con el dispositivo de señalización que indica la terminación de la búsqueda automática.
7. El procedimiento de cualquiera de las reivindicaciones 1 a 6 adicionalmente caracterizado porque se prepara para recibir una nueva introducción de texto parcial una vez que la introducción de texto parcial es reemplazada con una candidata de compleción de la lista de búsqueda (30).
8. El procedimiento de cualquiera de las reivindicaciones 1 a 6 adicionalmente caracterizado porque recibe una señal de fin de la introducción y se prepara para recibir una nueva introducción de texto parcial una vez que se recibe la señal de fin de la introducción.
9. El procedimiento de cualquiera de las reivindicaciones 1 a 6 adicionalmente caracterizado porque se prepara para recibir una nueva introducción de texto parcial después de que la introducción de texto parcial es reemplazada con una candidata de compleción de la lista de búsqueda (30) y una vez se recibe otra señal de entrada del usuario que corresponde a una selección expresa del usuario de terminar la búsqueda basada en la introducción de texto parcial.
10. El procedimiento de cualquiera de las reivindicaciones 1 a 9 adicionalmente caracterizado porque simultáneamente visualiza ambos, el teclado digital (28) y la lista de búsqueda (30), mientras el teclado digital (28) es utilizado y reemplaza el teclado digital (28) con la lista de búsqueda (30) cuando la lista de búsqueda (30) es activada para recuperar una lista refinada de candidatas de compleción.
11. El procedimiento de cualquiera de las reivindicaciones 1 a 10 en el que la lista de candidatas de compleción es recuperada por:
(a) ejecución de una búsqueda de un conjunto de candidatas de compleción para localizar una pluralidad de posibles candidatas de compleción para completar la cadena de entrada en respuesta a una candidata de compleción posible localizada antes o un carácter que puede ser seleccionado por el usuario; y
(b) la visualización de por lo menos una de:
(i) la pluralidad de candidatas de compleción posibles; y
(ii) caracteres que pueden ser seleccionados por el usuario.
12. El procedimiento de la reivindicación 11 adicionalmente caracterizado porque visualiza en la interfaz del usuario (34) una indicación del modo de introducción actualmente activo seleccionado de por lo menos un modo de teclado y un modo de búsqueda.
13. El procedimiento de la reivindicación 11 adicionalmente caracterizado porque:
(a) configura el teclado digital (28) para incluir una pluralidad de caracteres asignados a localizaciones previamente determinadas dentro de una distribución en planta para el teclado digital (28) de acuerdo con una distribución de frecuencia previamente determinada asociada con la pluralidad de caracteres, la pluralidad de caracteres incluyendo los caracteres menos comúnmente utilizados y los caracteres más comúnmente utilizados sobre la base de la distribución de frecuencia previamente determinada; y
(b) visualiza el teclado digital (28) en la interfaz del usuario (34) con los caracteres menos comúnmente utilizados visualizados substancialmente más lejos del centro del teclado digital (28) que los caracteres más comúnmente utilizados.
14. El procedimiento de cualquiera de las reivindicaciones 1 a 13 adicionalmente caracterizado porque recupera candidatas de compleción desde múltiples diccionarios cada uno de ellos provistos de sus propios valores de ponderación para las candidatas de compleción y que genera una lista final de candidatas de compleción para visualizar en la lista de búsqueda (30) sobre la base de los valores de ponderación asociados con las candidatas de compleción recuperadas de múltiples diccionarios.
15. El procedimiento de cualquiera de las reivindicaciones 1 a 13 adicionalmente caracterizado porque recupera candidatas de compleción desde múltiples diccionarios cada uno de ellos provistos su propia función de ponderación para las candidatas de compleción y que genera una lista final de candidatas de compleción para visualizar en la lista de búsqueda (30) sobre la base de los valores de ponderación asociados con las candidatas de compleción recuperadas de múltiples diccionarios y sobre la base de los cuales son recuperadas de los diccionarios cada una de las candidatas de compleción particulares.
16. El procedimiento de cualquiera de las reivindicaciones 1 a 15 en el que una señal de entrada del usuario adicional es recibida por el dispositivo informático personal (10) y en el que:
(a) si la señal de entrada corresponde a rechazar todas las candidatas de compleción visualizadas en la lista de búsqueda (30), terminación de la búsqueda automática con la lista de búsqueda (30) sin consecuencias en el texto que está siendo introducido dentro del dispositivo informático personal (10);
(b) si la señal de entrada corresponde a aceptar una candidata de compleción de la lista de búsqueda (30) para reemplazar la introducción de texto parcial y terminar la búsqueda automática, terminación de la búsqueda automática con la lista de búsqueda (30) y modificación de la introducción de texto parcial para que se convierta en la candidata de compleción aceptada; y
(c) si la señal de entrada corresponde a la selección de una candidata de compleción de la lista de búsqueda (30) para iniciar una búsqueda adicional, obtener una nueva lista de candidatas de compleción sobre la base de la candidata de compleción seleccionada y visualización de la nueva lista de candidatas de compleción en la lista de búsqueda (30) para una selección adicional.
17. Medio que puede ser leído por el ordenador provisto de instrucciones de almacenamiento para utilizarlas en la ejecución del procedimiento de cualquiera de las reivindicaciones 1 a 16.
18. Sistema para soportar la introducción de texto en un dispositivo informático personal (10) con un teclado digital (28) y una lista de búsqueda (30) que son visualizados en una interfaz del usuario (34), el dispositivo informático personal (10) siendo receptivo a entradas desde un dispositivo de señalización, el sistema estando provisto de medios para supervisar una señal de entrada del usuario, el sistema caracterizado por
(a) medios para visualizar el teclado digital (28) en la interfaz del usuario (34) cuando un usuario está introduciendo texto con una pulsación de la tecla cada vez;
(b) medios para reemplazar el teclado digital (28) con la lista de búsqueda (30) que contiene una lista de candidatas de compleción y esperar una entrada adicional del usuario, si la señal de entrada del usuario corresponde a la activación de una búsqueda automática para obtener una lista de candidatas de compleción sobre la base de una introducción de texto parcial recibida por el dispositivo informático personal (10); y
(c) medios para reemplazar la lista de búsqueda (30) con el teclado digital (28) y esperar una entrada adicional del usuario, si la señal de entrada del usuario corresponde a la finalización de una búsqueda automática.
19. El sistema de la reivindicación 18 adicionalmente caracterizado por medios de preparación para recibir una nueva introducción de texto parcial una vez que la introducción de texto parcial es reemplazada con una candidata de compleción de la lista de búsqueda (30).
20. El sistema de cualquiera de las reivindicaciones 18 y 19 adicionalmente caracterizado porque visualiza simultáneamente ambos, el teclado digital (28) y la lista de búsqueda (30) mientras el teclado digital (28) está en uso y reemplaza el teclado digital (28) con la lista de búsqueda (30) cuando la lista de búsqueda (30) es activada para recuperar una lista refinada de candidatas de compleción.
21. El sistema de cualquiera de las reivindicaciones 18 a 20 adicionalmente caracterizado por:
(a) medios para ejecutar una búsqueda de un conjunto de candidatas de compleción para localizar una pluralidad de posibles candidatas de compleción para completar la cadena de entrada en respuesta a una candidata de compleción posible localizada antes o un carácter que puede ser seleccionado por el usuario; y
(b) medios para la visualización de por lo menos una de:
(i) la pluralidad de candidatas de compleción posibles; y
(ii) caracteres que pueden ser seleccionados por el usuario.
22. El sistema de la reivindicación 21 adicionalmente caracterizado por medios para visualizar en la interfaz del usuario (34) una indicación de un modo de introducción actualmente activo seleccionado de por lo menos un modo de teclado y un modo de búsqueda.
23. El sistema de la reivindicación 24 adicionalmente caracterizado por:
(a) medios para configura el teclado digital (28) para incluir una pluralidad de caracteres asignados a localizaciones previamente determinadas dentro de una distribución en planta del teclado digital (28) de acuerdo con una distribución de frecuencia previamente determinada asociada con la pluralidad de caracteres, la pluralidad de caracteres incluyendo los caracteres menos comúnmente utilizados y los caracteres más comúnmente utilizados sobre la base de la distribución de frecuencia previamente determinada; y
(b) medios para visualizar el teclado digital (28) en la interfaz del usuario (34) con los caracteres menos comúnmente utilizados visualizados substancialmente más lejos del centro del teclado digital (28) que los caracteres más comúnmente utilizados.
24. El sistema de cualquiera de las reivindicaciones 18 a 23 adicionalmente caracterizado por medios para obtener dinámicamente una lista refinada de candidatas de compleción sobre la base de una de las candidatas de compleción de la lista de búsqueda (30) y para la visualización de la lista refinada de candidatas de compleción en la lista de búsqueda (30) para una selección adicional del usuario.
25. El sistema de cualquiera de las reivindicaciones 18 a 24 adicionalmente caracterizado por medios para recuperar candidatas de compleción desde múltiples diccionarios cada uno de ellos provistos sus propios valores de ponderación para las candidatas de compleción y que genera una lista final de candidatas de compleción para visualizar en la lista de búsqueda (30) sobre la base de los valores de ponderación asociados con las candidatas de compleción recuperadas de múltiples diccionarios.
26. El sistema de cualquiera de las reivindicaciones 19 a 24 adicionalmente caracterizado por medios para recuperar candidatas de compleción desde múltiples diccionarios cada uno de ellos provistos su propia función de ponderación para las candidatas de compleción y que genera una lista final de candidatas de compleción para visualizar en la lista de búsqueda (30) sobre la base de los valores de ponderación asociados con las candidatas de compleción recuperadas de múltiples diccionarios y sobre la base de los cuales son recuperadas de los diccionarios cada una de las candidatas de compleción particulares.
27. El sistema de cualquiera de las reivindicaciones 18 a 26 adicionalmente caracterizado por medios para realizar una pausa sin un proceso adicional alguno de la introducción de texto parcial o de la lista de búsqueda hasta que se reciba una nueva señal de entrada que identifica otro tipo de selección del usuario.
\newpage
Leyenda de las figuras
Figura 1
1.
Fuente de alimentación
2.
Unidad de proceso
3.
Circuito de visualización de vídeo
4.
Dispositivo de visualización
5.
Interfaz de entrada H/W
6.
Medio que puede ser leído por el ordenador
7.
Sistema de introducción de datos
8.
Aplicación
9.
Datos
10.
Otros
Figura 2
1.
Sistema de introducción de datos
2.
Sistema de teclado digital
3.
Sistema de predicción de candidatas
4.
Diccionario
5.
Lógica para la lista de búsqueda interactiva
Figura 4
1.
Estructura de datos del diccionario
2.
Introducción
3.
Tramo de [i hasta i+1]
4.
Campo de la candidata de compleción
5.
Campo del peso
Figura 3
1.
Barra de espacio
Figura 5
1.
Teclado digital
2.
Lista de búsqueda interactiva
Figura 5A
1.
Candidatas de compleción potenciales en el diccionario para una introducción de texto parcial constituida por un único carácter
2.
Parte del diccionario
3.
Candidata potencial
\newpage
4.
Candidatas de compleción potenciales en el diccionario cuando la introducción de texto parcial es igual a 5 candidatas potenciales
5.
Visualizadas en la lista de búsqueda interactiva
6.
Introducción de texto parcial establecida a 5 candidatas potenciales
7.
Lista de candidatas de compleción obtenidas por el sistema de predicción de candidatas a partir de las 18 candidatas potenciales de antes en el diccionario
8.
Lista de candidatas de compleción obtenidas por el sistema de predicción de candidatas a partir de las 7 candidatas potenciales de antes en el diccionario
Figura 6
1.
Modo de introducción de datos
2.
Teclado digital
3.
El teclado digital está visualizado
4.
Cadena de búsqueda = vacía
5.
Cadena de búsqueda = "e"
6.
Lista de búsqueda interactiva
7.
"end"
8.
Lista de búsqueda interactiva con lista refinada de candidatas
9.
Cadena de búsqueda = "end"
10.
120: si el usuario realiza un gesto hacia una candidata en la lista refinada de candidatas, esa candidata es seleccionada y el usuario puede utilizar la lista refinada de la misma manera que la lista de candidatas anterior (en 112 antes)
11.
124: el usuario puede:
continuar construyendo o modificando la introducción de texto parcial, o
iniciar una búsqueda adicional en la introducción de texto parcial, o
cancelar la cadena de búsqueda, o
volver a la última lista de candidatas, o
volver a la última cadena de búsqueda, o
ejecutar otra operación
12.
Ejemplo 100
Figura 6A
1.
Ejemplo 100
2.
102: el usuario selecciona la tecla que contiene "e" en el teclado. La selección forma parte de la introducción de texto parcial y es añadida a la cadena de búsqueda
3.
104: si el usuario no libera la selección del teclado en menos del límite de tiempo L1, el sistema de predicción de candidatas obtiene una lista de candidatas sobre la base de la selección del teclado por el usuario. La lista de candidatas es visualizada en la lista de búsqueda interactiva
4.
106: si el dispositivo de señalización es levantado sin un movimiento significativo, la lista de búsqueda interactiva es borrada y se habilita el teclado
\newpage
5.
110: si el usuario realiza un gesto a una zona muerta, la candidata seleccionada se deja de seleccionar y la lista de candidatas se mantiene visualizada
6.
Supervisión del dispositivo de señalización
7.
118: con una candidata seleccionada, si el usuario realiza un gesto hacia otra candidata, la selección cambia
8.
108: si el usuario realiza un gesto hacia una candidata (sin elevación), esa candidata es resaltada y se convierte en la selección
9.
114: si el usuario levanta el dispositivo de señalización en menos del tiempo límite definido L2 con una candidata seleccionada, la candidata seleccionada se añade al texto en lugar de la introducción de texto parcial, la lista es borrada y se habilita el teclado
10.
116: si el usuario continúa manteniendo una candidata seleccionada durante más del tiempo límite definido L2, se obtiene una lista refinada de candidatas utilizando la candidata seleccionada y visualizándola en la lista de búsqueda interactiva
11.
120: si el usuario realiza un gesto hacia una candidata en la lista refinada de candidatas, esa candidata es seleccionada y el usuario puede utilizar la lista refinada de la misma manera que la lista de candidatas anterior
12.
122: si el dispositivo de señalización es levantado sin un movimiento significativo, la lista de búsqueda interactiva es borrada, se habilita el teclado, la búsqueda se termina y la candidata más recientemente seleccionada es añadida al texto en lugar de la introducción de texto parcial
13. 124: el usuario puede:
continuar construyendo o modificando la introducción de texto parcial, o
iniciar una búsqueda adicional en la introducción de texto parcial, o
cancelar la cadena de búsqueda, o
volver a la última lista de candidatas, o
volver a la última cadena de búsqueda, o
ejecutar otra operación
Figura 7
1.
Inicio
2.
Preparación del sistema de introducción de datos
3.
Visualizar la interfaz del usuario iniciada
4.
Esperar una entrada del usuario
5.
¿Terminar la introducción de datos?
6.
7.
Fin
8.
¿Es la entrada del usuario una selección de carácter?
9.
Ejecutar la operación correspondiente a la entrada del usuario (por ejemplo, terminar la búsqueda actual)
10.
Añadir el carácter a la cadena de búsqueda
11.
Obtener la lista de candidatas
12.
¿Ha sido liberado el dispositivo de señalización dentro del límite de tiempo L1?
13.
¿Está vacía la lista de candidatas?
14.
Inhabilitar el teclado
Figura 8
1.
Visualizar la lista de búsqueda interactiva que contiene la lista de candidatas
2.
Esperar una entrada del usuario
3.
Borrar la lista de candidatas pero conservar la cadena de búsqueda
4.
¿La entrada del usuario es un gesto o es una elevación?
5.
Gesto
6.
Elevación
7.
¿Está el gesto asociado a una candidata?
8.
9.
Seleccionar la candidata. Arrancar el temporizador T2
10.
Dejar de seleccionar la candidata actualmente seleccionada en la lista. Inhabilitar el temporizador T2
11.
¿Está asociado el gesto con una zona muerta?
12.
¿Es T2 > límite L2?
13.
Supervisar la entrada del usuario
14.
Cambiar la selección de candidata de la lista. Reiniciar el temporizador T2
15.
Parar el temporizador T2. Establecer la cadena de búsqueda = candidata seleccionada
16.
¿Recibida la entrada del usuario?
17.
¿Está asociado el gesto con una candidata diferente?
18.
Obtener la lista de candidatas
19.
Aceptar la candidata y añadirla al texto. Borrar la cadena de búsqueda
Figura 9
1.
Recuperar la referencia a la primera introducción en el diccionario que empiece con la cadena de búsqueda y colocarla en la primera introducción en el tramo de la búsqueda
2.
Recuperar la referencia a la primera introducción en el diccionario que empiece con la cadena de búsqueda y colocarla en la última introducción en el tramo de la búsqueda
3.
¿El tramo de la búsqueda \leq número máximo previamente determinado?
4.
Búsqueda a través de la gama de entradas definidas por el tramo de la búsqueda para las entradas más comunes sobre la base del valor de ponderación asignado a cada entrada
5.
Recuperar todas las entradas dentro del tramo de la búsqueda del diccionario y compilarlas en una lista de candidatas de compleción
6.
Ajustar la lista de candidatas de compleción a las entradas del diccionario recuperadas provistas de los valores de ponderación más elevados, hasta el número máximo previamente determinado
7.
Figuras 10, 12, 20 y 27
1.
Barra de espacio
Figuras 14, 15, 16, 17, 18
1.
Candidata
Figura 19
1.
Caja de cadena de búsqueda 40
2.
Teclado digital 28
3.
Área de visualización para la lista de búsqueda interactiva 30
4.
Barra de herramientas 42
Figura 21
1.
Inicio
2.
Preparación del sistema de introducción de datos
3.
Visualizar la interfaz del usuario iniciada
4.
¿Terminar la introducción de datos?
5.
6.
Fin
7.
Esperar una entrada del usuario
8.
¿Es la entrada del usuario un carácter?
9.
Ejecutar la operación correspondiente a la entrada del usuario (por ejemplo, terminar la búsqueda actual)
10.
Añadir el carácter a la cadena de búsqueda
11.
Obtener la lista de candidatas
12.
Visualizar el indicador del tamaño de la lista de candidatas. Visualizar el indicador de candidatas potenciales totales asociadas con la cadena de búsqueda
13.
¿Ha sido liberado el dispositivo de señalización dentro del límite de tiempo L1?
14.
¿Está vacía la lista de candidatas?
15.
Inhabilitar el teclado
Figura 22
1.
Visualizar la lista de búsqueda interactiva
2.
Esperar una entrada del usuario
3.
Borrar la lista de candidatas pero conservar la cadena de búsqueda
4.
Visualizar la lista de búsqueda interactiva que contiene la lista de candidatas. Visualizar el indicador de candidatas potenciales totales asociadas con la cadena de búsqueda
5.
¿La entrada del usuario es un gesto o es una elevación?
6.
Gesto
7.
Elevación
8.
¿Está el gesto asociado a una candidata?
9.
10.
Seleccionar la candidata. Arrancar el temporizador T2
11.
Dejar de seleccionar la candidata actualmente seleccionada en la lista. Inhabilitar el temporizador T2
12.
¿Está asociado el gesto con una zona muerta?
13.
¿Es T2 > límite L2?
14.
Supervisar la entrada del usuario
15.
Cambiar la selección de candidata de la lista. Reiniciar el temporizador T2
16.
Parar el temporizador T2. Establecer la cadena de búsqueda = candidata seleccionada
17.
¿Recibida la entrada del usuario?
18.
¿Está asociado el gesto con una candidata diferente?
19.
Obtener la lista de candidatas
20.
Aceptar la candidata y añadirla al texto. Borrar la cadena de búsqueda
Figura 23
1.
Inicio
2.
Preparación del sistema de introducción de datos
3.
Visualizar la interfaz del usuario iniciada
4.
¿Terminar la introducción de datos?
5.
6.
Fin
7.
Esperar una entrada del usuario
8.
¿Es la entrada del usuario un carácter?
9.
Ejecutar la operación correspondiente a la entrada del usuario (por ejemplo, terminar la búsqueda actual)
10.
Añadir el carácter a la cadena de búsqueda
11.
Obtener la lista de candidatas
12.
Visualizar la lista de búsqueda interactiva
13.
¿Ha sido liberado el dispositivo de señalización dentro del límite de tiempo L1?
14.
¿Está vacía la lista de candidatas?
15.
Inhabilitar el teclado y visualizar el indicador del modo de búsqueda
Figura 24
1.
Esperar una entrada del usuario
2.
Borrar la lista de candidatas pero conservar la cadena de búsqueda
3.
Visualizar la lista de búsqueda interactiva que contiene la lista de candidatas
4.
¿La entrada del usuario es un gesto o es una elevación?
5.
Gesto
6.
Elevación
7.
¿Está el gesto asociado a una candidata?
8.
9.
Seleccionar la candidata. Arrancar el temporizador T2
10.
Dejar de seleccionar la candidata actualmente seleccionada en la lista. Inhabilitar el temporizador T2
11.
¿Está asociado el gesto con una zona muerta?
12.
¿Es T2 > límite L2?
13.
Supervisar la entrada del usuario
14.
Cambiar la selección de candidata de la lista. Reiniciar el temporizador T2
15.
Parar el temporizador T2. Establecer la cadena de búsqueda = candidata seleccionada
16.
¿Recibida la entrada del usuario?
17.
¿Está asociado el gesto con una candidata diferente?
18.
Obtener la lista de candidatas
19.
Aceptar la candidata y añadirla al texto. Borrar la cadena de búsqueda. Visualizar el indicador del modo de teclado
Figura 25
1.
Inicio
2.
Preparación del sistema de introducción de datos
3. Visualizar la interfaz del usuario iniciada
4.
¿Terminar la introducción de datos?
5.
6.
Fin
7.
Esperar una entrada del usuario
8.
¿Es la entrada del usuario un carácter?
9.
Ejecutar la operación correspondiente a la entrada del usuario (por ejemplo, terminar la búsqueda actual)
10.
Añadir el carácter a la cadena de búsqueda
11.
Obtener la lista de candidatas de múltiples diccionarios
12.
Visualizar el indicador del tamaño de la lista de candidatas
13.
¿Ha sido liberado el dispositivo de señalización dentro del límite de tiempo L1?
14.
¿Está vacía la lista de candidatas?
15.
Inhabilitar el teclado
Figura 26
1.
Esperar una entrada del usuario
2.
Borrar la lista de candidatas pero conservar la cadena de búsqueda
3.
Visualizar la lista de búsqueda interactiva que contiene la lista de candidatas
4.
¿La entrada del usuario es un gesto o es una elevación?
5.
Gesto
6.
Elevación
7.
¿Está el gesto asociado a una candidata?
8.
9.
Seleccionar la candidata. Arrancar el temporizador T2
10.
Dejar de seleccionar la candidata actualmente seleccionada en la lista. Inhabilitar el temporizador T2
11.
¿Está asociado el gesto con una zona muerta?
12.
¿Es T2 > límite L2?
13.
Supervisar la entrada del usuario
14.
Cambiar la selección de candidata de la lista. Reiniciar el temporizador T2
15.
Parar el temporizador T2. Establecer la cadena de búsqueda = candidata seleccionada
16.
¿Recibida la entrada del usuario?
17.
¿Está asociado el gesto con una candidata diferente?
18.
Obtener la lista de candidatas de múltiples diccionarios
19.
Aceptar la candidata y añadirla al texto. Borrar la cadena de búsqueda
ES00910460T 1999-03-18 2000-03-15 Entrada de datos para dispositivos informaticos personales. Expired - Lifetime ES2202070T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US27270099A 1999-03-18 1999-03-18
US272700 1999-03-18

Publications (1)

Publication Number Publication Date
ES2202070T3 true ES2202070T3 (es) 2004-04-01

Family

ID=23040914

Family Applications (1)

Application Number Title Priority Date Filing Date
ES00910460T Expired - Lifetime ES2202070T3 (es) 1999-03-18 2000-03-15 Entrada de datos para dispositivos informaticos personales.

Country Status (8)

Country Link
US (1) US7681124B2 (es)
EP (1) EP1171813B1 (es)
AT (1) ATE242506T1 (es)
AU (1) AU3267700A (es)
DE (1) DE60003177T2 (es)
ES (1) ES2202070T3 (es)
PT (1) PT1171813E (es)
WO (1) WO2000057265A1 (es)

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7293231B1 (en) 1999-03-18 2007-11-06 British Columbia Ltd. Data entry for personal computing devices
US6646572B1 (en) 2000-02-18 2003-11-11 Mitsubish Electric Research Laboratories, Inc. Method for designing optimal single pointer predictive keyboards and apparatus therefore
ATE381053T1 (de) * 2000-10-18 2007-12-15 British Columbia Ltd 602531 Dateneingabeverfahren und -system für personalcomputer, sowie entsprechendes computerlesbares medium
EP1887451A3 (en) * 2000-10-18 2009-06-24 602531 British Columbia Ltd. Data entry method and system for personal computer, and corresponding computer readable medium
US6657560B1 (en) * 2001-10-19 2003-12-02 Richard Jung Rounded keypad
ES2328921T3 (es) * 2002-05-21 2009-11-19 Koninklijke Philips Electronics N.V. Entrada de objeto en un dispositivo electronico.
GB0406451D0 (en) 2004-03-23 2004-04-28 Patel Sanjay Keyboards
US7836044B2 (en) 2004-06-22 2010-11-16 Google Inc. Anticipated query generation and processing in a search engine
US7487145B1 (en) 2004-06-22 2009-02-03 Google Inc. Method and system for autocompletion using ranked results
US7895218B2 (en) 2004-11-09 2011-02-22 Veveo, Inc. Method and system for performing searches for television content using reduced text input
WO2006053011A2 (en) * 2004-11-09 2006-05-18 Veveo, Inc. Method and system for secure sharing, gifting, and purchasing of content on television and mobile devices
US20060106769A1 (en) 2004-11-12 2006-05-18 Gibbs Kevin A Method and system for autocompletion for languages having ideographs and phonetic characters
US7561145B2 (en) 2005-03-18 2009-07-14 Microsoft Corporation Systems, methods, and computer-readable media for invoking an electronic ink or handwriting interface
GB0505942D0 (en) * 2005-03-23 2005-04-27 Patel Sanjay Human to mobile interfaces
GB0505941D0 (en) 2005-03-23 2005-04-27 Patel Sanjay Human-to-mobile interfaces
US9606634B2 (en) 2005-05-18 2017-03-28 Nokia Technologies Oy Device incorporating improved text input mechanism
EP1727024A1 (en) * 2005-05-27 2006-11-29 Sony Ericsson Mobile Communications AB Automatic language selection for text input in messaging context
WO2006125660A2 (en) * 2005-05-27 2006-11-30 Sony Ericcson Mobile Communications Ab Automatic language selection for text input in messaging context
US8122034B2 (en) 2005-06-30 2012-02-21 Veveo, Inc. Method and system for incremental search with reduced text entry where the relevance of results is a dynamically computed function of user input search string character count
US8140560B2 (en) 2005-08-12 2012-03-20 Kannuu Pty Ltd. Process and apparatus for selecting an item from a database
US7788266B2 (en) 2005-08-26 2010-08-31 Veveo, Inc. Method and system for processing ambiguous, multi-term search queries
US7779011B2 (en) 2005-08-26 2010-08-17 Veveo, Inc. Method and system for dynamically processing ambiguous, reduced text search queries and highlighting results thereof
US7644054B2 (en) 2005-11-23 2010-01-05 Veveo, Inc. System and method for finding desired results by incremental search using an ambiguous keypad with the input containing orthographic and typographic errors
WO2007089663A2 (en) * 2006-01-27 2007-08-09 Veveo, Inc. System and method for incremental user query on handheld device
US7792815B2 (en) 2006-03-06 2010-09-07 Veveo, Inc. Methods and systems for selecting and presenting content based on context sensitive user preferences
US8073860B2 (en) 2006-03-30 2011-12-06 Veveo, Inc. Method and system for incrementally selecting and providing relevant search engines in response to a user query
WO2007124436A2 (en) 2006-04-20 2007-11-01 Veveo, Inc. User interface methods and systems for selecting and presenting content based on relationships between the user and other members of an organization
US20080141125A1 (en) * 2006-06-23 2008-06-12 Firooz Ghassabian Combined data entry systems
EP2062171A4 (en) 2006-09-14 2010-10-06 Veveo Inc METHOD AND SYSTEMS FOR THE DYNAMIC REORGANIZATION OF SEARCH RESULTS IN HIERARCHICALLY ORGANIZED CLAUSE CLUSTERS
US7925986B2 (en) 2006-10-06 2011-04-12 Veveo, Inc. Methods and systems for a linear character selection display interface for ambiguous text input
US8354997B2 (en) * 2006-10-31 2013-01-15 Navisense Touchless user interface for a mobile device
WO2008063987A2 (en) 2006-11-13 2008-05-29 Veveo, Inc. Method of and system for selecting and presenting content based on user identification
US7720826B2 (en) * 2006-12-29 2010-05-18 Sap Ag Performing a query for a rule in a database
CA2717265A1 (en) * 2007-03-07 2008-09-12 Kannuu Pty Ltd Method system and apparatus for entering text on a computing device
US8060841B2 (en) * 2007-03-19 2011-11-15 Navisense Method and device for touchless media searching
US20080284726A1 (en) * 2007-05-17 2008-11-20 Marc Boillot System and Method for Sensory Based Media Control
WO2008148009A1 (en) 2007-05-25 2008-12-04 Veveo, Inc. Method and system for unified searching across and within multiple documents
US8549424B2 (en) 2007-05-25 2013-10-01 Veveo, Inc. System and method for text disambiguation and context designation in incremental search
JP5035677B2 (ja) * 2007-07-09 2012-09-26 ブラザー工業株式会社 文書編集装置、文書印刷用文字変換処理方法、及び文書印刷用文字変換処理プログラム
US8146003B2 (en) * 2007-08-17 2012-03-27 Microsoft Corporation Efficient text input for game controllers and handheld devices
US8296681B2 (en) * 2007-08-24 2012-10-23 Nokia Corporation Searching a list based upon user input
US10126942B2 (en) * 2007-09-19 2018-11-13 Apple Inc. Systems and methods for detecting a press on a touch-sensitive surface
US10203873B2 (en) 2007-09-19 2019-02-12 Apple Inc. Systems and methods for adaptively presenting a keyboard on a touch-sensitive display
KR100864749B1 (ko) 2007-11-22 2008-10-22 김연수 문자입력방법
US8756527B2 (en) * 2008-01-18 2014-06-17 Rpx Corporation Method, apparatus and computer program product for providing a word input mechanism
EP2394208A1 (en) * 2009-02-04 2011-12-14 Systems Ltd. Keyless Data entry system
GB201016385D0 (en) * 2010-09-29 2010-11-10 Touchtype Ltd System and method for inputting text into electronic devices
US20100275126A1 (en) * 2009-04-27 2010-10-28 Scott David Lincke Automatic On-Screen Keyboard
CN102483752A (zh) 2009-06-03 2012-05-30 谷歌公司 用于部分输入的查询的自动完成
US9166714B2 (en) 2009-09-11 2015-10-20 Veveo, Inc. Method of and system for presenting enriched video viewing analytics
US8326333B2 (en) 2009-11-11 2012-12-04 Sony Ericsson Mobile Communications Ab Electronic device and method of controlling the electronic device
US20110191330A1 (en) 2010-02-04 2011-08-04 Veveo, Inc. Method of and System for Enhanced Content Discovery Based on Network and Device Access Behavior
CN102193641B (zh) * 2010-03-09 2014-06-18 阿里巴巴集团控股有限公司 字符输入过程中的待选字符显示方法及装置
JP5437899B2 (ja) * 2010-04-28 2014-03-12 株式会社ジャストシステム 入力装置、入力方法および入力プログラム
US9697042B2 (en) * 2010-07-30 2017-07-04 Sap Se Extensibility of business process and application logic
US8577915B2 (en) 2010-09-10 2013-11-05 Veveo, Inc. Method of and system for conducting personalized federated search and presentation of results therefrom
GB201200643D0 (en) 2012-01-16 2012-02-29 Touchtype Ltd System and method for inputting text
US8875213B2 (en) 2011-04-05 2014-10-28 Harris Technology Llc Video player and portable computer with detection
US9633109B2 (en) 2011-05-17 2017-04-25 Etsy, Inc. Systems and methods for guided construction of a search query in an electronic commerce environment
US8850310B2 (en) * 2011-10-11 2014-09-30 Microsoft Corporation Data entry suggestion lists for designated document data entry areas based on data from other document data entry areas
WO2013137311A1 (ja) * 2012-03-13 2013-09-19 株式会社エヌ・ティ・ティ・ドコモ 文字入力装置および文字入力方法
US8972323B2 (en) * 2012-06-14 2015-03-03 Microsoft Technology Licensing, Llc String prediction
CN103577510A (zh) * 2012-07-23 2014-02-12 阿里巴巴集团控股有限公司 搜索结果数据的展现方法,搜索服务器及移动终端
IN2013CH00469A (es) 2013-01-21 2015-07-31 Keypoint Technologies India Pvt Ltd
EP2946272A4 (en) 2013-01-21 2016-11-02 Keypoint Technologies India Pvt Ltd TEXT ENTRY SYSTEM AND METHOD
KR102086799B1 (ko) * 2013-02-21 2020-03-09 삼성전자주식회사 가상 키 패드를 디스플레이하기 위한 방법 및 그 전자 장치
USD778293S1 (en) * 2013-07-02 2017-02-07 Microsoft Corporation Display screen with graphical user interface
US10289302B1 (en) 2013-09-09 2019-05-14 Apple Inc. Virtual keyboard animation
US9891794B2 (en) 2014-04-25 2018-02-13 Dropbox, Inc. Browsing and selecting content items based on user gestures
US10089346B2 (en) 2014-04-25 2018-10-02 Dropbox, Inc. Techniques for collapsing views of content items in a graphical user interface
US9729556B2 (en) * 2014-09-12 2017-08-08 Salesforce.Com, Inc. Digital badging for facilitating virtual recognition of an achievement
CN105988704B (zh) * 2015-03-03 2020-10-02 上海触乐信息科技有限公司 高效的触摸屏文本输入系统及方法
CN106909603A (zh) 2016-08-31 2017-06-30 阿里巴巴集团控股有限公司 搜索信息处理方法及装置
US10747756B2 (en) * 2017-09-28 2020-08-18 Oracle International Corporation Recommending fields for a query based on prior queries

Family Cites Families (143)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3644898A (en) 1970-04-30 1972-02-22 United Aircraft Corp Information association through logical functions derived from language
US4211497A (en) * 1974-03-01 1980-07-08 Montgomery Edward B Data input system
US4330845A (en) 1979-12-31 1982-05-18 International Business Machines Corporation Guess-ahead feature for a keyboard-display terminal data input system
JPS56143044A (en) * 1980-04-08 1981-11-07 Sony Corp Input device of english typewriter
US4471459A (en) 1981-09-30 1984-09-11 System Development Corp. Digital data processing method and means for word classification by pattern analysis
US4499553A (en) 1981-09-30 1985-02-12 Dickinson Robert V Locating digital coded words which are both acceptable misspellings and acceptable inflections of digital coded query words
US4689768A (en) 1982-06-30 1987-08-25 International Business Machines Corporation Spelling verification system with immediate operator alerts to non-matches between inputted words and words stored in plural dictionary memories
US4891786A (en) * 1983-02-22 1990-01-02 Goldwasser Eric P Stroke typing system
US4559598A (en) * 1983-02-22 1985-12-17 Eric Goldwasser Method of creating text using a computer
USRE32773E (en) * 1983-02-22 1988-10-25 Method of creating text using a computer
US4648044A (en) 1984-06-06 1987-03-03 Teknowledge, Inc. Basic expert system tool
JPS619753A (ja) * 1984-06-26 1986-01-17 Hitachi Ltd 文書処理装置における頻発熟語の自動登録方法
CA1270063A (en) * 1985-05-14 1990-06-05 Kouji Miyao Translating apparatus
US4969097A (en) * 1985-09-18 1990-11-06 Levin Leonid D Method of rapid entering of text into computer equipment
EP0352377A1 (en) 1988-07-26 1990-01-31 Leonid D. Levin Word processing apparatus and method
US4730252A (en) * 1985-09-24 1988-03-08 International Business Machines Corp. Document composition from parts inventory
US5060277A (en) 1985-10-10 1991-10-22 Palantir Corporation Pattern classification means using feature vector regions preconstructed from reference data
US5096423A (en) * 1985-12-11 1992-03-17 Goldwasser Eric P Computer system for teaching abbreviations for text and data processing functions
US4783761A (en) 1985-12-26 1988-11-08 Smith Corona Corporation Spelling check dictionary with early error signal
US4782464A (en) 1985-12-26 1988-11-01 Smith Corona Corporation Compact spelling-check dictionary
US4807181A (en) * 1986-06-02 1989-02-21 Smith Corona Corporation Dictionary memory with visual scanning from a selectable starting point
US5220652A (en) * 1986-07-21 1993-06-15 Rowley Blair A Computer application programs data input interface for handicapped persons responsive to multiple push buttons for selecting data stored in binary tree
DE3789922T2 (de) * 1986-07-23 1995-01-05 Wacom Co Ltd Koordinateneingabesystem.
JPS6359660A (ja) 1986-08-29 1988-03-15 Brother Ind Ltd 情報処理装置
US5040113A (en) * 1987-01-28 1991-08-13 Mickunas Marshall D Data manipulation program
US4847766A (en) 1988-01-05 1989-07-11 Smith Corona Corporation Dictionary typewriter with correction of commonly confused words
US5621641A (en) * 1988-12-21 1997-04-15 Freeman; Alfred B. Computer assisted text system
CA2006163A1 (en) * 1988-12-21 1990-06-21 Alfred B. Freeman Keyboard express typing system
US5060154A (en) 1989-01-06 1991-10-22 Smith Corona Corporation Electronic typewriter or word processor with detection and/or correction of selected phrases
US5067165A (en) 1989-04-19 1991-11-19 Ricoh Company, Ltd. Character recognition method
US5327161A (en) * 1989-08-09 1994-07-05 Microtouch Systems, Inc. System and method for emulating a mouse input device with a touchpad input device
US5261112A (en) 1989-09-08 1993-11-09 Casio Computer Co., Ltd. Spelling check apparatus including simple and quick similar word retrieval operation
US5097425A (en) * 1990-06-11 1992-03-17 Semantic Compaction Systems Predictive scanning input system for rapid selection of visual indicators
US5329609A (en) 1990-07-31 1994-07-12 Fujitsu Limited Recognition apparatus with function of displaying plural recognition candidates
JPH07104765B2 (ja) 1990-08-24 1995-11-13 ゼロックス コーポレイション コンピュータ駐在ソフトウエアシステムに対するユーザインタフェースとしての電子的ドキュメント
US5459796A (en) * 1990-10-22 1995-10-17 The Watt Stopper System for entering handwritten data into computer generated forms
US5305205A (en) * 1990-10-23 1994-04-19 Weber Maria L Computer-assisted transcription apparatus
US5347295A (en) * 1990-10-31 1994-09-13 Go Corporation Control of a computer through a position-sensed stylus
US5203704A (en) * 1990-12-21 1993-04-20 Mccloud Seth R Method of communication using pointing vector gestures and mnemonic devices to assist in learning point vector gestures
DE69129364T2 (de) * 1991-02-01 1998-10-22 Philips Electronics Nv Vorrichtung zur interaktiven Behandlung von Objekten
US5220649A (en) * 1991-03-20 1993-06-15 Forcier Mitchell D Script/binary-encoded-character processing method and system with moving space insertion mode
US5953735A (en) 1991-03-20 1999-09-14 Forcier; Mitchell D. Script character processing method and system with bit-mapped document editing
US5258748A (en) * 1991-08-28 1993-11-02 Hewlett-Packard Company Accessing and selecting multiple key functions with minimum keystrokes
US5963671A (en) * 1991-11-27 1999-10-05 International Business Machines Corporation Enhancement of soft keyboard operations using trigram prediction
US5392447A (en) 1992-01-10 1995-02-21 Eastman Kodak Compay Image-based electronic pocket organizer with integral scanning unit
GB2266797B (en) * 1992-05-09 1995-06-14 Nokia Mobile Phones Uk Data storage apparatus
US6097392A (en) * 1992-09-10 2000-08-01 Microsoft Corporation Method and system of altering an attribute of a graphic object in a pen environment
US5666139A (en) 1992-10-15 1997-09-09 Advanced Pen Technologies, Inc. Pen-based computer copy editing apparatus and method for manuscripts
US5559942A (en) * 1993-05-10 1996-09-24 Apple Computer, Inc. Method and apparatus for providing a note for an application program
US5367453A (en) 1993-08-02 1994-11-22 Apple Computer, Inc. Method and apparatus for correcting words
ES2176213T3 (es) 1993-08-31 2002-12-01 Mitsuhiro Aida Metodo de introduccion de texto.
US5854084A (en) * 1996-07-12 1998-12-29 Biotraces, Inc. Enhanced chromatography using multiphoton detection
US5548703A (en) 1993-11-30 1996-08-20 International Business Machines Corporation Navigation within a compound graphical object in a graphical user interface
JP3546337B2 (ja) * 1993-12-21 2004-07-28 ゼロックス コーポレイション 計算システム用ユーザ・インタフェース装置及びグラフィック・キーボード使用方法
US5734749A (en) 1993-12-27 1998-03-31 Nec Corporation Character string input system for completing an input character string with an incomplete input indicative sign
US5500935A (en) * 1993-12-30 1996-03-19 Xerox Corporation Apparatus and method for translating graphic objects and commands with direct touch input in a touch based input system
US5596699A (en) * 1994-02-02 1997-01-21 Driskell; Stanley W. Linear-viewing/radial-selection graphic for menu display
US6154758A (en) 1994-05-13 2000-11-28 Apple Computer, Inc. Text conversion method for computer systems
US5574482A (en) * 1994-05-17 1996-11-12 Niemeier; Charles J. Method for data input on a touch-sensitive screen
US5704029A (en) * 1994-05-23 1997-12-30 Wright Strategies, Inc. System and method for completing an electronic form
US6008799A (en) * 1994-05-24 1999-12-28 Microsoft Corporation Method and system for entering data using an improved on-screen keyboard
JPH07334625A (ja) 1994-06-06 1995-12-22 Nec Corp 文字列入力装置
US5812697A (en) 1994-06-10 1998-09-22 Nippon Steel Corporation Method and apparatus for recognizing hand-written characters using a weighting dictionary
US6978421B1 (en) 1994-06-19 2005-12-20 Mitsuhiro Aida Handwriting text input system
US6262719B1 (en) * 1994-09-02 2001-07-17 Packard Bell Nec, Inc. Mouse emulation with a passive pen
US5974558A (en) 1994-09-02 1999-10-26 Packard Bell Nec Resume on pen contact
WO1996009579A1 (en) * 1994-09-22 1996-03-28 Izak Van Cruyningen Popup menus with directional gestures
JP2741575B2 (ja) 1994-09-22 1998-04-22 日本アイ・ビー・エム株式会社 文字認識文字補完方法及びコンピュータ・システム
US5606674A (en) * 1995-01-03 1997-02-25 Intel Corporation Graphical user interface for transferring data between applications that support different metaphors
US5805911A (en) * 1995-02-01 1998-09-08 Microsoft Corporation Word prediction system
US5838302A (en) 1995-02-24 1998-11-17 Casio Computer Co., Ltd. Data inputting devices for inputting typed and handwritten data in a mixed manner
US6295372B1 (en) * 1995-03-03 2001-09-25 Palm, Inc. Method and apparatus for handwriting input on a pen based palmtop computing device
US5623406A (en) * 1995-03-06 1997-04-22 Jean D. Ichbiah Method and system for entering text in computer equipment
US5487616A (en) * 1995-06-01 1996-01-30 Jean D. Ichbiah Method for designing an ergonomic one-finger keyboard and apparatus therefor
US5689667A (en) * 1995-06-06 1997-11-18 Silicon Graphics, Inc. Methods and system of controlling menus with radial and linear portions
US5797098A (en) 1995-07-19 1998-08-18 Pacific Communication Sciences, Inc. User interface for cellular telephone
US6005549A (en) * 1995-07-24 1999-12-21 Forest; Donald K. User interface method and apparatus
US5818437A (en) * 1995-07-26 1998-10-06 Tegic Communications, Inc. Reduced keyboard disambiguating computer
WO1997005541A1 (en) * 1995-07-26 1997-02-13 King Martin T Reduced keyboard disambiguating system
US5963666A (en) * 1995-08-18 1999-10-05 International Business Machines Corporation Confusion matrix mediated word prediction
US5790115A (en) 1995-09-19 1998-08-04 Microsoft Corporation System for character entry on a display screen
US5911485A (en) 1995-12-11 1999-06-15 Unwired Planet, Inc. Predictive data entry method for a keypad
US6473006B1 (en) * 1995-12-11 2002-10-29 Openwave Systems Inc. Method and apparatus for zoomed display of characters entered from a telephone keypad
JP3980679B2 (ja) 1996-02-16 2007-09-26 角田 達雄 文字・文字列入力処理装置
US5914708A (en) * 1996-04-04 1999-06-22 Cirque Corporation Computer input stylus method and apparatus
AU739256B2 (en) * 1996-04-08 2001-10-04 Glaxo Group Limited Mass-based encoding and qualitative analysis of combinatorial libraries
TW490643B (en) 1996-05-21 2002-06-11 Hitachi Ltd Estimated recognition device for input character string
US5845300A (en) 1996-06-05 1998-12-01 Microsoft Corporation Method and apparatus for suggesting completions for a partially entered data item based on previously-entered, associated data items
US5821512A (en) 1996-06-26 1998-10-13 Telxon Corporation Shopping cart mounted portable data collection device with tethered dataform reader
US5805159A (en) 1996-08-22 1998-09-08 International Business Machines Corporation Mobile client computer interdependent display data fields
US5805158A (en) * 1996-08-22 1998-09-08 International Business Machines Corporation Copying predicted input between computer systems
US5864340A (en) * 1996-08-22 1999-01-26 International Business Machines Corporation Mobile client computer programmed to predict input
US5745116A (en) 1996-09-09 1998-04-28 Motorola, Inc. Intuitive gesture-based graphical user interface
US5881169A (en) 1996-09-13 1999-03-09 Ericsson Inc. Apparatus and method for presenting and gathering text entries in a pen-based input device
JPH10154144A (ja) 1996-11-25 1998-06-09 Sony Corp 文章入力装置及び方法
JP3889466B2 (ja) * 1996-11-25 2007-03-07 ソニー株式会社 文章入力装置及び方法
US5889888A (en) * 1996-12-05 1999-03-30 3Com Corporation Method and apparatus for immediate response handwriting recognition system that handles multiple character sets
US5953541A (en) 1997-01-24 1999-09-14 Tegic Communications, Inc. Disambiguating system for disambiguating ambiguous input sequences by displaying objects associated with the generated input sequences in the order of decreasing frequency of use
US6144378A (en) * 1997-02-11 2000-11-07 Microsoft Corporation Symbol entry system and methods
EP0859332A1 (en) 1997-02-12 1998-08-19 STMicroelectronics S.r.l. Word recognition device and method
US6101461A (en) 1997-02-28 2000-08-08 Justsystem Corp. Command inputting method
US6026233A (en) 1997-05-27 2000-02-15 Microsoft Corporation Method and apparatus for presenting and selecting options to modify a programming language statement
JPH10333818A (ja) * 1997-06-04 1998-12-18 Nec Corp オンライン文字入力装置
US6111985A (en) 1997-06-06 2000-08-29 Microsoft Corporation Method and mechanism for providing partial results in full context handwriting recognition
JPH1115914A (ja) 1997-06-09 1999-01-22 Internatl Business Mach Corp <Ibm> 文字データ入力装置およびその方法
US6098086A (en) 1997-08-11 2000-08-01 Webtv Networks, Inc. Japanese text input method using a limited roman character set
US6084576A (en) * 1997-09-27 2000-07-04 Leu; Neng-Chyang User friendly keyboard
US5982351A (en) 1997-09-30 1999-11-09 Motorola, Inc. Method and apparatus for supplementing a keyboard and for helping a user operate an electronic device
US6377965B1 (en) * 1997-11-07 2002-04-23 Microsoft Corporation Automatic word completion system for partially entered data
JP4079387B2 (ja) * 1997-11-12 2008-04-23 アルパイン株式会社 名称入力方法
US5896321A (en) * 1997-11-14 1999-04-20 Microsoft Corporation Text completion system for a miniature computer
JPH11167569A (ja) 1997-12-02 1999-06-22 Sony Corp 文章入力装置及び方法並びに記録媒体
GB2333386B (en) 1998-01-14 2002-06-12 Nokia Mobile Phones Ltd Method and apparatus for inputting information
US6037942A (en) 1998-03-10 2000-03-14 Magellan Dis, Inc. Navigation system character input device
KR100327209B1 (ko) * 1998-05-12 2002-04-17 윤종용 첨펜의자취를이용한소프트웨어키보드시스템및그에따른키코드인식방법
US6167411A (en) 1998-06-22 2000-12-26 Lucent Technologies Inc. User interface for entering and editing data in data entry fields
KR20010034920A (ko) 1998-06-26 2001-04-25 매클린토크 샤운 엘 엠펙-4 비디오 프로그램을 작성하고 표현하기 위한 단말기
US6167412A (en) 1998-07-14 2000-12-26 Agilent Technologies, Inc. Handheld medical calculator and medical reference device
US6088649A (en) 1998-08-05 2000-07-11 Visteon Technologies, Llc Methods and apparatus for selecting a destination in a vehicle navigation system
US6266048B1 (en) 1998-08-27 2001-07-24 Hewlett-Packard Company Method and apparatus for a virtual display/keyboard for a PDA
JP2000146629A (ja) * 1998-09-23 2000-05-26 Agilent Technol Inc 測定装置用ヘルプ画面情報表示装置
US7293231B1 (en) 1999-03-18 2007-11-06 British Columbia Ltd. Data entry for personal computing devices
AU5299700A (en) * 1999-05-27 2000-12-18 America Online, Inc. Keyboard system with automatic correction
JP4151158B2 (ja) 1999-06-14 2008-09-17 ソニー株式会社 シーン記述生成装置及び方法
US6934906B1 (en) 1999-07-08 2005-08-23 At&T Corp. Methods and apparatus for integrating external applications into an MPEG-4 scene
US6539421B1 (en) * 1999-09-24 2003-03-25 America Online, Inc. Messaging application user interface
US6654733B1 (en) * 2000-01-18 2003-11-25 Microsoft Corporation Fuzzy keyboard
US6661920B1 (en) * 2000-01-19 2003-12-09 Palm Inc. Method and apparatus for multiple simultaneously active data entry mechanisms on a computer system
US6922810B1 (en) 2000-03-07 2005-07-26 Microsoft Corporation Grammar-based automatic data completion and suggestion for user input
US20010027468A1 (en) 2000-03-09 2001-10-04 Sanyo Electric Co., Ltd. Transmission system, reception system, and transmission and reception system capable of displaying a scene with high quality
US6751603B1 (en) 2000-05-16 2004-06-15 Sun Microsystems, Inc. Autocomplete method and apparatus for data file selection
WO2004095414A1 (en) * 2003-04-18 2004-11-04 Keyless Systems Ltd Systems to enhance data entry in mobile and fixed environment
US6970513B1 (en) 2001-06-05 2005-11-29 At&T Corp. System for content adaptive video decoding
KR100413692B1 (ko) 2002-01-21 2004-01-03 삼성전자주식회사 채널명 자동 완성 기능을 이용한 채널 선국 방법 및텔레비전 수상기
US6888141B2 (en) 2002-12-02 2005-05-03 Multispectral Imaging, Inc. Radiation sensor with photo-thermal gain
CA2488584C (en) * 2003-01-30 2011-10-11 Applera Corporation Methods, mixtures, kits and compositions pertaining to analyte determination
GB0305448D0 (en) * 2003-03-10 2003-04-16 Tcp Innovations Ltd Immunoassay
AU2003234038B2 (en) * 2003-05-28 2008-02-21 Ge Healthcare Uk Limited Differential analysis of cell surface proteins on closed membrane structures by labelling with dyes in the presence of an internal standard
US7105806B2 (en) * 2003-11-26 2006-09-12 Applera Corporation Method and apparatus for de-convoluting a convoluted spectrum
JP4838725B2 (ja) * 2003-11-26 2011-12-14 ディーエイチ テクノロジーズ デベロップメント プライベート リミテッド クワイエットゾーン中の質量スペクトルデータの分析
US7747690B2 (en) 2003-12-29 2010-06-29 International Business Machines Corporation Method for extracting and managing message addresses
EP1711833A2 (en) * 2004-02-06 2006-10-18 Applera Corporation Preparation of biologically derived fluids for biomarker determination by mass spectrometry
US20070054345A1 (en) * 2004-05-19 2007-03-08 Hunter Christie L Expression quantification using mass spectrometry

Also Published As

Publication number Publication date
AU3267700A (en) 2000-10-09
EP1171813A1 (en) 2002-01-16
WO2000057265A1 (en) 2000-09-28
DE60003177D1 (de) 2003-07-10
EP1171813B1 (en) 2003-06-04
US7681124B2 (en) 2010-03-16
ATE242506T1 (de) 2003-06-15
US20050210020A1 (en) 2005-09-22
PT1171813E (pt) 2003-10-31
DE60003177T2 (de) 2004-05-06

Similar Documents

Publication Publication Date Title
ES2202070T3 (es) Entrada de datos para dispositivos informaticos personales.
US7293231B1 (en) Data entry for personal computing devices
US8576167B2 (en) Directional input system with automatic correction
JP5468665B2 (ja) 多言語環境を有するデバイスのための入力方法
RU2277719C2 (ru) Способ работы системы скоростного письма и устройство скоростного письма
KR101718881B1 (ko) 다단계 메뉴 선택을 위한 방법 및 그 방법을 수행하는 전자 기기
JP2012517061A (ja) データ入力システム
WO2013189290A1 (zh) 一种触摸屏键盘及其输入方法
JP2015143989A (ja) 多国語キー入力装置及びその方法
Arif et al. A survey of text entry techniques for smartwatches
US10635305B2 (en) Touchscreen user interface with multi-language support
CN107608533A (zh) 一种轻量型的嵌入式输入法
Akita et al. SliT: character input system using slide-in and tap for smartwatches
JP2005275635A (ja) 仮名文字入力方法および仮名文字入力プログラム
JP2012048585A (ja) 電子文書処理装置
US11455094B2 (en) Interactive virtual keyboard configured for gesture based word selection and having a plurality of keys arranged approximately radially about at least one center point
US20180260110A1 (en) Virtual keyboard system and method of operation for the same
Lai et al. Donuts: A chinese input technique using pressure-sensitive marking menus
CN115917469A (zh) 用于将语标输入电子设备的装置和方法
JPH0652150A (ja) ペン入力情報処理装置
JPH05265652A (ja) 情報処理装置
JP2007234053A (ja) キーボードシステム、電子機器、キーボードシート、キーボードシートの設定方法
JPS61138385A (ja) 文字図形入出力装置