RU2675152C2 - Quick tasks for on-screen keyboards - Google Patents
Quick tasks for on-screen keyboards Download PDFInfo
- Publication number
- RU2675152C2 RU2675152C2 RU2016110577A RU2016110577A RU2675152C2 RU 2675152 C2 RU2675152 C2 RU 2675152C2 RU 2016110577 A RU2016110577 A RU 2016110577A RU 2016110577 A RU2016110577 A RU 2016110577A RU 2675152 C2 RU2675152 C2 RU 2675152C2
- Authority
- RU
- Russia
- Prior art keywords
- quick
- text
- key
- task
- quick task
- Prior art date
Links
- 230000003993 interaction Effects 0.000 claims abstract description 47
- 238000000034 method Methods 0.000 claims abstract description 45
- 230000008859 change Effects 0.000 claims abstract description 19
- 238000012544 monitoring process Methods 0.000 claims abstract description 4
- 230000000694 effects Effects 0.000 claims abstract description 3
- 230000006870 function Effects 0.000 claims description 31
- 238000013519 translation Methods 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 21
- 238000012905 input function Methods 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 17
- 125000004122 cyclic group Chemical group 0.000 claims 1
- 230000001351 cycling effect Effects 0.000 claims 1
- 238000000547 structure data Methods 0.000 claims 1
- 238000012360 testing method Methods 0.000 claims 1
- 239000000126 substance Substances 0.000 abstract 1
- 238000012986 modification Methods 0.000 description 25
- 230000004048 modification Effects 0.000 description 25
- 230000014616 translation Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 11
- 230000009471 action Effects 0.000 description 8
- WUBBRNOQWQTFEX-UHFFFAOYSA-N 4-aminosalicylic acid Chemical compound NC1=CC=C(C(O)=O)C(O)=C1 WUBBRNOQWQTFEX-UHFFFAOYSA-N 0.000 description 4
- 238000003780 insertion Methods 0.000 description 4
- 230000037431 insertion Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 241001522296 Erithacus rubecula Species 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0489—Interaction 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 dedicated keyboard keys or combinations thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements 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/0233—Character input methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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/04886—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Input From Keyboards Or The Like (AREA)
- User Interface Of Digital Computer (AREA)
- Document Processing Apparatus (AREA)
- Machine Translation (AREA)
Abstract
Description
УРОВЕНЬ ТЕХНИКИBACKGROUND
[0001] Вычислительные устройства, как, например, мобильные телефоны, портативные и планшетные компьютеры, развлекательные устройства, ручные устройства навигации и тому подобное, в общем осуществляют с экранными клавиатурами (например, функциональные клавиатуры), которые могут быть использованы для ввода текста и/или другой взаимосвязи с вычислительными устройствами. Когда пользователь вводит или редактирует текстовые символы в текстовом поле или иным образом взаимодействует с текстом с использованием экранной клавиатуры, редактирование вводимого текста может быть затруднительным на некоторых устройствах. Например, форматирование текста, вставка пропущенных символов и/или изменение/перевод вводимой текстовой строки на мобильном телефоне может быть затруднительным вследствие ограниченного размера устройства и экранной клавиатуры. Хотя можно обеспечить предсказанные версии текста для неправильно напечатанного слова, предсказывание текста, как правило, не решает такие проблемы, как пропущенная пунктуация, вставка символов, языковые переводы и так далее. Таким образом, эти задачи редактирования текста требуют их разрешения с использованием традиционных экранных клавиатур.[0001] Computing devices, such as mobile phones, laptops and tablets, entertainment devices, handheld navigation devices, and the like, are generally implemented with on-screen keyboards (eg, functional keyboards) that can be used to enter text and / or other interconnection with computing devices. When a user enters or edits text characters in a text field or otherwise interacts with text using an on-screen keyboard, editing the input text can be difficult on some devices. For example, formatting text, inserting missing characters, and / or changing / translating an input text string on a mobile phone can be difficult due to the limited size of the device and on-screen keyboard. Although it is possible to provide predicted versions of text for a misspelled word, text prediction, as a rule, does not solve problems such as missed punctuation, character insertion, language translations, and so on. Thus, these text editing tasks require their resolution using traditional on-screen keyboards.
СУЩНОСТЬ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION
[0002] В настоящей заявке описаны быстрые задачи для экранных клавиатур. В одном или нескольких осуществлениях, экранная клавиатура может поддерживать множество быстрых задач, выполненных с возможностью редактировать выбранный текст определенным образом. Функции быстрых задач могут быть назначены клавишам экранной клавиатуры в дополнение к действиям по умолчанию или «нормальным» функциям ввода символа клавиш. Во время ввода текста (например, когда курсор активен), клавиши работают в общем случае для выполнения функции, относящейся ко вводу символов, чтобы вводить соответствующие текстовые символы. Когда текст выбран или при нахождении в других предназначенных сценариях взаимодействия, работа клавиши, связанной с быстрой задачей, может автоматически запускать быструю задачу для изменения выбранного текста соответствующим образом. Таким образом, одна и та же клавиша экранной клавиатуры может быть использована для инициирования функции, относящейся ко вводу символов, или применения быстрой задачи к тексту в зависимости от сценария взаимодействия.[0002] This application describes quick tasks for on-screen keyboards. In one or more implementations, the on-screen keyboard can support many quick tasks performed with the ability to edit selected text in a specific way. Shortcut functions can be assigned to on-screen keyboard keys in addition to the default actions or “normal” key character input functions. During text input (for example, when the cursor is active), the keys generally work to perform a function related to character input in order to enter the corresponding text characters. When text is selected, or while in other intended interaction scenarios, the operation of a key associated with a quick task can automatically launch a quick task to modify the selected text accordingly. Thus, the same on-screen keyboard key can be used to initiate a function related to character input, or to apply a quick task to the text depending on the interaction scenario.
[0003] Это описание сущности изобретения обеспечено для ознакомления в упрощенной форме с выбранными идеями, которые дополнительно будут описаны ниже в подробном описании осуществления изобретения. Это описание сущности изобретения не предназначено для выявления ключевых признаков или основных признаков заявленного изобретения, а также не предназначено для использования в качестве помощи в определении объема заявленного изобретения.[0003] This summary is provided in a simplified form for familiarizing yourself with selected ideas, which will be further described below in the detailed description of an embodiment of the invention. This description of the invention is not intended to identify key features or main features of the claimed invention, nor is it intended to be used as an aid in determining the scope of the claimed invention.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS
[0004] Подробное описание описано со ссылкой на сопровождающие чертежи. На чертежах, крайняя левая цифра(ы) ссылочного номера указывает фигуру, на которой впервые появляется ссылочный номер. Использование одинаковых ссылочных номеров в различных случаях в описании и на фигурах может указывать схожие или идентичные объекты.[0004] A detailed description is described with reference to the accompanying drawings. In the drawings, the leftmost digit (s) of the reference number indicates the figure in which the reference number first appears. The use of the same reference numbers in various cases in the description and in the figures may indicate similar or identical objects.
[0005] Фиг. 1 изображает пример рабочей среды, в которой могут быть осуществлены аспекты быстрой задачи для экранных клавиатур.[0005] FIG. 1 depicts an example work environment in which aspects of the fast task for on-screen keyboards can be implemented.
[0006] Фиг. 2 изображает пример процедуры, в которой быстрая задача применена в соответствии с одним или несколькими осуществлениями.[0006] FIG. 2 depicts an example procedure in which a fast task is applied in accordance with one or more implementations.
[0007] Фиг. 3 изображает пример процедуры, которая представляет собой логику для определения того, когда надо применять быстрые задачи в соответствии с одним или несколькими осуществлениями.[0007] FIG. 3 depicts an example of a procedure that is logic for determining when to apply fast tasks in accordance with one or more implementations.
[0008] Фиг. 4 изображает пример сценария быстрой задачи в соответствии с одним или несколькими осуществлениями.[0008] FIG. 4 depicts an example quick task scenario in accordance with one or more embodiments.
[0009] Фиг. 5 изображает различные примеры быстрых задач в соответствии с одним или несколькими осуществлениями.[0009] FIG. 5 depicts various examples of quick tasks in accordance with one or more embodiments.
[0010] Фиг. 6 изображает пример процедуры, в которой множество модификаций, связанных с быстрой задачей, представлены для выбранного текста в соответствии с одним или несколькими осуществлениями.[0010] FIG. 6 depicts an example procedure in which many modifications associated with a quick task are presented for selected text in accordance with one or more implementations.
[0011] Фиг. 7 изображает различные примеры быстрых задач, связанных со множеством модификаций, в соответствии с одним или несколькими осуществлениями.[0011] FIG. 7 depicts various examples of quick tasks associated with a variety of modifications in accordance with one or more implementations.
[0012] Фиг. 8 изображает примеры систем и устройств, которые могут быть использованы в одном или нескольких осуществлениях моделей адаптивного языка для предсказания текста.[0012] FIG. 8 depicts examples of systems and devices that can be used in one or more implementations of adaptive language models for text prediction.
ПОДРОБНОЕ ОПИСАНИЕ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯDETAILED DESCRIPTION OF THE EMBODIMENTS
ОбзорOverview
[0013] Когда пользователь вводит текстовые символы в текстовом поле с использованием экранной клавиатуры, редактирование вводимого текста может быть затруднено на некоторых устройствах малого форм-фактора. Например, форматирование текста, вставка пропущенных символов и/или изменение/перевод вводимой текстовой строки на мобильном телефоне может быть затруднительным вследствие ограниченного размера устройства и экранной клавиатуры.[0013] When a user enters text characters in a text field using an on-screen keyboard, editing the input text may be difficult on some small form factor devices. For example, formatting text, inserting missing characters, and / or changing / translating an input text string on a mobile phone can be difficult due to the limited size of the device and on-screen keyboard.
[0014] В настоящей заявке описаны быстрые задачи для экранных клавиатур. В соответствии с описанными способами, экранная клавиатура может поддерживать множество быстрых задач, выполненных с возможностью редактировать выбранный текст определенным образом. Функции быстрых задач могут быть назначены клавишам экранной клавиатуры в дополнение к действиям по умолчанию или «нормальным» функциям ввода символа клавиш. Во время ввода текста (например, когда курсор активен), клавиши работают в общем случае для выполнения функции, относящейся ко вводу символов, чтобы вводить соответствующие текстовые символы. Когда текст выбран или находится в других предназначенных сценариях взаимодействия, работа клавиши, связанной с быстрой задачей, может автоматически запускать быструю задачу для изменения выбранного текста соответствующим образом. Таким образом, одна и та же клавиша экранной клавиатуры может быть использована для инициирования функции, относящейся ко вводу символов, или применения быстрой задачи к тексту, в зависимости от сценария взаимодействия.[0014] This application describes quick tasks for on-screen keyboards. In accordance with the described methods, the on-screen keyboard can support many quick tasks performed with the ability to edit the selected text in a specific way. Shortcut functions can be assigned to on-screen keyboard keys in addition to the default actions or “normal” key character input functions. During text input (for example, when the cursor is active), the keys generally work to perform a function related to character input in order to enter the corresponding text characters. When a text is selected or in other intended interaction scenarios, the operation of a key associated with a quick task can automatically launch a quick task to change the selected text accordingly. Thus, the same on-screen keyboard key can be used to initiate a function related to character input, or to apply a quick task to a text, depending on the interaction scenario.
[0015] В последующем описании, раздел “Рабочая среда” описывает пример среды, которая может быть использована в соответствии с одним или несколькими осуществлениями быстрых задач для экранных клавиатур. Далее, раздел под названием “Детали быстрых задач” описывает детали и процедуры быстрых задач в соответствии с одним или несколькими осуществлениями. Наконец, обеспечен раздел под названием “Пример системы”, который описывает примеры систем и устройств, которые могут быть использованы для одного или нескольких осуществлений быстрых задач для экранных клавиатур.[0015] In the following description, the “Work Environment” section describes an example environment that can be used in accordance with one or more implementations of quick tasks for on-screen keyboards. Next, a section entitled “Quick Task Details” describes the details and procedures of quick tasks in accordance with one or more embodiments. Finally, a section entitled “System Example” is provided that describes examples of systems and devices that can be used for one or more quick task implementations for on-screen keyboards.
Рабочая средаWorking environment
[0016] Фиг. 1 изображает пример системы 100, в которой могут быть реализованы осуществления быстрой задачи для экранных клавиатур. Пример системы 100 включает в себя вычислительное устройство 102, которое может быть одним из или комбинацией фиксированного или мобильного устройства, в любой форме устройства потребительского, компьютерного, связи, портативного, навигации, медиа воспроизведения, развлечения, игрового, планшетного и/или электронного. Например, вычислительное устройство 102 может быть осуществлено в качестве телевизионного клиентского устройства 104, компьютера 106 и/или игровой системы 108, которая соединена с устройством 110 отображения для отображения медиа контента. Альтернативно, вычислительное устройство может быть любым типом портативного компьютера, мобильного телефона или портативного устройства 112, которое включает в себя интегрированный дисплей 114. Любое из вычислительных устройств может быть осуществлено с помощью различных компонентов, как, например, одно или более устройств обработки и запоминающих устройств, а также с помощью любой комбинации различных компонентов, как дополнительно описано со ссылкой на пример устройства на Фиг. 8.[0016] FIG. 1 shows an example of a
[0017] Интегрированный дисплей 114 вычислительного устройства 112, или устройство 110 отображения, может быть дисплеем с сенсорным экраном, который осуществлен для считывания сенсорных вводов и жестов, как, например, инициированный пользователем символ, клавиша, напечатанный или выбранный ввод в пользовательском интерфейсе, который отображен на дисплее с сенсорным экраном. Альтернативно или дополнительно, примеры вычислительных устройств могут включать в себя другие варианты механизмов и устройств ввода, как, например, клавиатура, мышь, экранная клавиатура, удаленное устройство управления, игровое устройство управления или любой другой тип устройства с инициированным пользователем и/или выбираемым пользователем вводом.[0017] The integrated
[0018] В осуществлениях, вычислительное устройство 102 может включать в себя модуль 116 ввода, который обнаруживает и/или распознает данные 118 сенсорного ввода, относящиеся к различным типам ввода, как, например, вводы символов с экранной клавиатуры, сенсорные вводы и жесты, жесты на основе камеры, вводы устройства управления и другие инициированные пользователем вводы. Модуль 116 ввода представляет собой пример функциональности для идентификации сенсорного ввода и/или жестов и запуска операций, которые подлежат выполнению, соответствующих сенсорному вводу и/или жестам. Модуль 116 ввода, например, может быть выполнен с возможностью распознавать жест, обнаруженный посредством взаимодействия с дисплеем с сенсорным экраном (например, с использованием функциональности сенсорного экрана) руки пользователя. Дополнительно или альтернативно, модуль 116 ввода может быть выполнен с возможностью распознавать жест, обнаруженный камерой, как, например, взмах руки пользователя, жест захвата, положение руки или другой определенный жест. Таким образом, сенсорные вводы, жесты или другой ввод также может быть распознан посредством данных 118 сенсорного ввода как включающий в себя атрибуты (например, движение, точка выбора, положения, скорость, ориентация и так далее), которые используют для различий между различными вводами, распознаваемыми модулем 116 ввода. Это различение может затем служить в качестве основы для идентификации жеста из вводов и, следовательно, операции, которая подлежит выполнению, на основании идентификации жеста.[0018] In implementations, the computing device 102 may include an input module 116 that detects and / or recognizes touch input data 118 related to various types of input, such as, for example, character inputs from the on-screen keyboard, touch inputs and gestures, gestures camera-based inputs of the control device and other user-initiated inputs. Input module 116 is an example of functionality for identifying touch input and / or gestures and triggering operations to be performed corresponding to touch input and / or gestures. The input module 116, for example, may be configured to recognize a gesture detected by interacting with a touch screen display (for example, using touch screen functionality) of a user's hand. Additionally or alternatively, input module 116 may be configured to recognize a gesture detected by the camera, such as, for example, a wave of a user's hand, a capture gesture, hand position, or other specific gesture. Thus, touch inputs, gestures, or another input can also be recognized by touch input data 118 as including attributes (e.g., movement, selection point, position, speed, orientation, and so on) that are used to distinguish between different inputs, recognizable input module 116. This distinction can then serve as a basis for identifying a gesture from the inputs and, therefore, the operation to be performed based on the identification of the gesture.
[0019] Вычислительное устройство включает в себя модуль 120 клавиатурного ввода, который может быть осуществлен в качестве выполняемых компьютером команд, как, например, программные приложения или модуль, который выполняется одним или несколькими устройствами обработки для реализации различных осуществлений, описанных в настоящей заявке. Модуль 120 клавиатурного ввода представляет собой функциональность для обеспечения и управления экранной клавиатурой для взаимодействий клавиатуры с вычислительным устройством 102. Модуль 120 клавиатурного ввода может быть выполнен с возможностью запускать выборочное представление в различные моменты времени представлений экранной клавиатуры, как, например, при активации поля текстового ввода, управления поиском или другого управления текстового ввода. Экранная клавиатура может быть обеспечена для отображения на внешнем дисплее, как, например, устройство 110 отображения, или на интегрированном дисплее, как, например, интегрированный дисплей 114. Дополнительно, необходимо отметить, что Аппаратно-реализуемое устройство клавиатуры/ввода также может осуществлять адаптируемую “экранную” клавиатуру, имеющую, по меньшей мере, несколько функциональных клавиш, подходящих для способов, описанных в настоящей заявке. Например, Аппаратно-реализуемая клавиатура, обеспеченная в качестве внешнего устройства или интегрированная с вычислительным устройством 102, может включать в себя устройство отображения, сенсорные клавиши и/или сенсорный экран, которые могут быть использованы для осуществления быстрых задач, как описано в настоящей заявке. В данном случае, модуль 120 клавиатурного ввода может быть обеспечен в качестве компонента драйвера устройства для Аппаратно-реализуемого устройства клавиатуры/ввода.[0019] The computing device includes a keyboard input module 120, which may be implemented as computer-executable instructions, such as software applications, or a module that is executed by one or more processing devices to implement the various implementations described herein. The keyboard input module 120 is a functionality for providing and controlling the on-screen keyboard for keyboard interactions with the computing device 102. The keyboard input module 120 may be configured to trigger a selective presentation of the on-screen keyboard representations at various points in time, such as when activating a text input field , search control or other text input control. An on-screen keyboard may be provided for display on an external display, such as a
[0020] Модуль 120 клавиатурного ввода может включать в себя или иначе использовать механизм 122 предсказания текста, который представляет собой функциональность для обработки и интерпретирования вводов 124 символов для формирования и предложения предсказаний подходящих слов, соответствующих вводам 124 символов. Например, экранная клавиатура может быть выборочно представлена в различных сценариях взаимодействия для ввода текста в поле текстового ввода, поле ввода пароля, управления поиском, формирования данных, цепочки сообщений или другого управления вводом текста пользовательского интерфейса 126, как, например, форма, страница HTML, приложение UI или документ, чтобы способствовать пользовательскому вводу символов 124 ввода (например, буквы, числа и/или другие буквенно-числовые символы).[0020] The keyboard input module 120 may include or otherwise utilize a text prediction engine 122, which is a functionality for processing and interpreting symbol inputs 124 to generate and suggest predictions of suitable words corresponding to 124 symbol inputs. For example, an on-screen keyboard may be selectively presented in various interaction scenarios for entering text in a text input field, a password input field, search controls, generating data, a message thread, or other user interface
[0021] В общем, механизм 122 предсказания текста устанавливает один или более возможных кандидатов, которые наиболее совпадают с введенными вводами 124 символов. Следовательно, механизм 122 предсказания текста может способствовать вводу текста путем обеспечения одного или нескольких предсказанных слов, которые установлены в ответ на вводы 124 символов, введенные пользователем. Например, слова, предсказанные механизмом 122 предсказания текста, могут быть использованы для выполнения авто-коррекции вводимого текста, представления одного или нескольких слов в качестве кандидатов на выбор пользователю для завершения, изменения или коррекции вводимого текста, автоматического изменения сенсорных областей для клавиш экранной клавиатуры, которые соответствуют предсказанным словам, и так далее.[0021] In general, the text prediction engine 122 determines one or more possible candidates that are most consistent with the input characters 124. Therefore, the text prediction engine 122 may facilitate text input by providing one or more predicted words that are set in response to user input 124 of characters. For example, words predicted by text prediction engine 122 can be used to perform auto-correction of input text, present one or more words as candidates for selection by a user to complete, change or correct input text, automatically change touch areas for on-screen keyboard keys, which match the predicted words, and so on.
[0022] В соответствии со способами, описанными в настоящей заявке, модуль 120 клавиатурного ввода может быть выполнен с возможностью включать в себя или использовать модуль 128 быстрых задач, как описано выше и далее. В общем, модуль 128 быстрых задач представляет собой функциональность для поддержки множества быстрых задач 130 для экранной клавиатуры. Быстрые задачи 130 выполнены с возможностью способствовать операциям редактирования, которые обычно сложно выполнить с использованием экранной клавиатуры. Типы операций редактирования, для которых могут быть доступны соответствующие быстрые задачи, включают в себя, но не ограничены, форматирование, расстановку знаков препинания, вставку символов, переводы и их комбинации. Различные неограничивающие примеры быстрых задач описаны по отношению к следующим фигурам. Набор быстрых задач 130, каждая из которых предназначена для выполнения отдельной операции редактирования, может быть назначен клавишам экранной клавиатуры дополнительно к функциям ввода символа или действий для клавиш. Модуль 128 быстрых задач может функционировать для управления назначением быстрых задач 130 клавишам, активации и деактивации быстрых задач, создания индивидуализированных быстрых задач и так далее. Модуль 128 быстрых задач также может работать для распознавания сценариев взаимодействия, связанных с быстрыми задачами (например, выборы текста, положение курсора, контекст и так далее), и применять подходящие быстрые задачи для изменения выбранного текста при запуске быстрой задачи. Модуль 128 быстрых задач может также осуществлять логику для определения того, следует ли выполнять функцию по умолчанию (например, вставить текстовый символ) или выполнять быструю задачу, назначенную клавише, ответственной за операцию клавиши. Дополнительные детали по отношению к этим и другим аспектам быстрых задач для экранных клавиатур могут быть найдены на последующих фигурах.[0022] In accordance with the methods described in this application, the keyboard input module 120 may be configured to include or use the quick task module 128, as described above and below. In general, the quick task module 128 is a functionality for supporting a plurality of
[0023] Описав пример рабочей среды для быстрых задач, теперь рассмотрим примеры способов и детали, которые могут быть использованы в одним или нескольких осуществлениях, описанных в настоящей заявке.[0023] Having described an example work environment for fast tasks, now consider examples of methods and details that can be used in one or more of the implementations described in this application.
Детали быстрых задачQuick Tasks Details
[0024] Данный раздел описывает детали способов, которые применяют быстрые задачи, со ссылкой на примеры процедур на Фиг. 2, 3 и 6 и примеры представлений на Фиг. 4, 5 и 7. В части следующего описания ссылка может быть сделана на пример рабочей среды на Фиг. 1, в которой могут быть осуществлены различные аспекты. Аспекты каждой из процедур, описанные ниже, могут быть осуществлены в аппаратных средствах, программно-аппаратных средствах или программном обеспечении, или их комбинации. Процедуры изображены в качестве группы этапов, которые определяют операции, выполняемые одним или несколькими устройствами и не обязательно ограничены порядком, изображенным для выполнения операций соответствующими этапами. По меньшей мере, в одном осуществлении процедуры могут быть выполнены подходяще выполненным вычислительным устройством, как, например, пример вычислительного устройства 102 на Фиг. 1, которое включает в себя или использует модуль 128 быстрых задач или сравнимую функциональность.[0024] This section describes details of methods that apply quick tasks, with reference to examples of procedures in FIG. 2, 3 and 6 and examples of representations in FIG. 4, 5 and 7. In part of the following description, reference may be made to an example of the operating environment in FIG. 1, in which various aspects may be implemented. Aspects of each of the procedures described below may be implemented in hardware, firmware, or software, or a combination thereof. The procedures are depicted as a group of steps that define the operations performed by one or more devices and are not necessarily limited to the order depicted for the operations by the respective steps. In at least one embodiment, the procedures may be performed by a suitably executed computing device, such as, for example, the computing device 102 of FIG. 1, which includes or uses a module 128 quick tasks or comparable functionality.
[0025] Фиг. 2 изображает процедуру 200, в которой быстрая задача применяется в соответствии с одним или несколькими осуществлениями. Мониторинг ввода текста осуществляют во время взаимодействия с устройством посредством экранной клавиатуры (этап 202). Например, текст может быть введен с помощью экранной клавиатуры мобильного устройства. Хотя в данной заявке описаны аспекты по отношению к экранной клавиатуре, необходимо понимать, что сравнимые способы применения быстрых задач могут быть осуществлены с использованием Аппаратно-реализуемой клавиатуры, имеющей сенсорную клавиатуру, голосовые команды или другой механизм ввода. Мобильный телефон или другое вычислительное устройство 102 может быть выполнено с возможностью обнаруживать и обрабатывать ввод для представления введенного текста внутри вывода пользовательского интерфейса на устройстве. Дополнительно, вычислительное устройство 102 может использовать модуль 128 быстрых задач для запуска быстрых задач в подходящих обстоятельствах. Чтобы сделать это, модуль 128 быстрых задач может быть выполнен с возможностью осуществлять мониторинг ввода текста и нажатия клавиш и делать определения по отношению к тому, когда инициировать быстрые задачи в зависимости от сценария взаимодействия.[0025] FIG. 2 depicts a
[0026] Более конкретно, распознают сценарий ввода, который выполнен с возможностью запускать быструю задачу, назначенную клавише экранной клавиатуры, связанной с функцией ввода символа (этап 204). Затем быстрая задача применяется для изменения текста, выбранного по отношению к сценарию взаимодействия, вместо выполнения функции ввода символа, связанной с этой клавишей (этап 206). Как указано, клавиши экранной клавиатуры могут быть связаны с функциями ввода символа, а также функциями быстрых задач. В ответ на операцию конкретной клавиши, модуль 128 быстрых задач выполнен с возможностью определять, следует ли выполнять “нормальные” функции ввода символа или быструю задачу, соответствующую конкретной клавише. Это определение может быть основано, по меньшей мере, частично, на распознавании текущего сценария взаимодействия. Сценарий взаимодействия, как использовано в настоящей заявке, отражает конкретное нажатие клавиши (или последовательность нажатий клавиш) и состояние или контекст взаимодействия. Сценарий взаимодействия может быть распознан в связи с операцией конкретной клавиши. Например, нажатие клавиши «Т» экранной клавиатуры, когда курсор (например, знак вставки) активен, может привести к тому, что соответствующий символ «t» будет введен в местоположение курсора. С другой стороны, если выбрана текстовая строка и затем нажата клавиша «Т», то этот конкретный сценарий взаимодействия может быть связан с функцией быстрой задачи, как, например, быстрая задача перевода для перевода выбранного текста автоматически на различные языки. Соответственно, модуль 128 быстрых задач распознает сценарий взаимодействия как связанный с быстрой задачей и инициирует функцию быстрой задачи, связанную с клавишей «Т», для изменения выбранной текстовой строки (например, с помощью перевода) вместо вставки символа «t». Таким образом, одним способом распознавания сценариев взаимодействия, которые запускают быстрые задачи, является определение того, активен ли курсор или выбрана ли текстовая строка, по отношению к операции клавиши. Другими словами, модуль 128 быстрых задач может различать между различными состояниями для ввода текста, включая, по меньшей мере, состояние активного курсора, соответствующее функциям ввода символа, и состояние, в котором выбрана текстовая строка, связанное с быстрыми задачами.[0026] More specifically, an input script is recognized that is configured to start a quick task assigned to an on-screen keyboard key associated with a character input function (step 204). Then, the quick task is used to change the text selected in relation to the interaction scenario, instead of performing the character input function associated with this key (step 206). As indicated, on-screen keyboard keys can be associated with character input functions as well as quick task functions. In response to the operation of a particular key, the quick task module 128 is configured to determine whether to perform “normal” character input functions or a quick task corresponding to a particular key. This definition may be based, at least in part, on recognition of the current interaction scenario. The interaction scenario, as used in this application, reflects the specific keystroke (or sequence of keystrokes) and the state or context of the interaction. The interaction scenario may be recognized in connection with the operation of a particular key. For example, pressing the “T” key of the on-screen keyboard when the cursor (for example, an insertion character) is active can cause the corresponding “t” character to be entered at the cursor location. On the other hand, if a text string is selected and then the T key is pressed, this particular interaction scenario may be associated with a quick task function, such as a quick translation task to translate a selected text automatically into different languages. Accordingly, the quick task module 128 recognizes the interaction scenario as associated with the fast task and initiates the quick task function associated with the “T” key to change the selected text string (for example, using translation) instead of inserting the “t” character. Thus, one way of recognizing interaction scenarios that trigger quick tasks is to determine whether the cursor is active or whether a text string is selected with respect to the key operation. In other words, the quick task module 128 can distinguish between different states for entering text, including at least the state of the active cursor corresponding to the character input functions and the state in which the text string associated with the quick tasks is selected.
[0027] В осуществлении, модуль 128 быстрых задач может также быть выполнен с возможностью выполнять семантическую обработку текста, который вводят и/или выбирают, для информирования о решении по отношению к тому, применять ли быструю задачу или выполнять ли функцию ввода символа. Здесь, модуль 128 быстрых задач может проводить синтаксический анализ вводимого текста для заключения о предполагаемом значении на основании комбинаций/вероятностей слов, библиотеки/истории типичного использования слов, пользовательского лексикона и так далее. Если быстрая задача, назначенная текущему нажатию клавиши, соответствует предполагаемому значению, извлеченному из семантической обработки, то модуль 130 быстрых задач распознает это как состояние, в котором применять быструю задачу. Таким образом, распознавание сценария взаимодействия в качестве запуска быстрой задачи может дополнительно быть основано на всей или части семантической обработки текста, который вводят во время взаимодействия с устройством.[0027] In an implementation, quick task module 128 may also be configured to perform semantic processing of text that is entered and / or selected to inform a decision regarding whether to apply a quick task or whether to perform a character input function. Here, quick task module 128 may parse input text to conclude the intended value based on word combinations / probabilities, a library / history of typical word usage, a user vocabulary, and so on. If the quick task assigned to the current keystroke corresponds to the expected value extracted from the semantic processing, then the
[0028] Необходимо отметить, что модуль 128 быстрых задач выполнен с возможностью применять, по меньшей мере, некоторые быстрые задачи на основании операции одной клавиши (например, единственная операция), в противоположность комбинации клавиш. Модуль 128 быстрых задач автоматически решает, когда клавиша работает, какую из множества функций, назначенных клавише, выполнить в зависимости от сценария взаимодействия. Каждая функция может быть инициирована единственной операцией клавиши (например, одним нажатием клавиши). Таким образом, быстрые задачи могут быть осуществлены и применены без использования комбинаций нажатия клавиш и/или комбинаций клавиш-модификаторов (например, alt+A, ctrl+B и так далее), используемых для некоторых традиционных быстрых клавиш клавиатуры. Так как полезная площадь экрана может быть ограничена для экранных клавиатур мобильных устройств и комбинации клавиш могут быть затруднительны для выполнения на маленьком экране, то подход на основании одной операции клавиши, используемой для быстрых задач, делает редактирование задач легким для выполнения пользователем и улучшает общий опыт пользователя. Более того, экранная клавиатура может поддерживать множество быстрых задач, назначенных различным клавишам, и может позволять пользователю изменять назначения и делать определенные пользователем назначения заранее заданных быстрых задач выбранным клавишам. Система может быть дополнительно выполнена с возможностью способствовать созданию и назначению индивидуализированных быстрых задач пользователями.[0028] It should be noted that the quick task module 128 is configured to apply at least some quick tasks based on a single key operation (eg, a single operation), as opposed to a key combination. Module 128 quick tasks automatically solves when the key is working, which of the many functions assigned to the key to perform depending on the interaction scenario. Each function can be triggered by a single key operation (for example, with a single keystroke). In this way, quick tasks can be implemented and applied without using keyboard shortcuts and / or modifier key combinations (for example, alt + A, ctrl + B and so on) used for some traditional keyboard shortcuts. Since the useful screen area may be limited for on-screen keyboards of mobile devices and key combinations may be difficult to execute on a small screen, the approach based on a single key operation used for quick tasks makes editing tasks easy for the user to perform and improves the overall user experience . Moreover, the on-screen keyboard can support a variety of quick tasks assigned to various keys, and can allow a user to change assignments and make user-defined assignments of predefined quick tasks to selected keys. The system may be further configured to facilitate the creation and assignment of individualized quick tasks to users.
[0029] Фиг. 3 изображает процедуру 300, которая представляет собой логику для определения того, когда применять быстрые задачи, в соответствии с одним или несколькими осуществлениями. Обнаруживают операцию клавиши, включенной в экранную клавиатуру (этап 302). Это может произойти на основании мониторинга ввода текста, как описано по отношению к Фиг. 2. В одном подходе, модуль 128 быстрых задач может осуществлять логику для мониторинга каждого нажатия клавиши и управления тем, следует ли выполнять обычный ввод действий/символа или быстрые задачи, назначенные клавишам, на основании сценария взаимодействия. Для примера, предположим, что быстрая задача, выполненная с возможностью форматировать выбранную текстовую строку путем подчеркивания текста, назначена клавише «U». Модуль 128 быстрых задач может обнаружить, когда клавиша «U» отпущена или иначе функционирует во время взаимодействия ввода текста, и решить, следует ли применять быструю задачу подчеркивания или вставить буквенно-числовой символ для клавиши «U».[0029] FIG. 3 depicts a routine 300, which is logic for determining when to apply fast tasks, in accordance with one or more implementations. An operation of a key included in the on-screen keyboard is detected (step 302). This may occur based on monitoring text input, as described with respect to FIG. 2. In one approach, the quick task module 128 may implement logic to monitor each keystroke and control whether to perform normal action / symbol input or quick tasks assigned to the keys based on an interaction scenario. For example, suppose that a quick task, configured to format a selected text string by underlining text, is assigned to the “U” key. The quick task module 128 can detect when the "U" key is released or otherwise functions during a text input interaction, and decide whether to use the quick underline task or insert an alphanumeric character for the "U" key.
[0030] Более конкретно, определение делают в зависимости от того, назначена ли быстрая задача клавише (этап 304). Например, модуль 128 быстрых задач может ссылаться на таблицу или другую подходящую структуру данных, которая ассоциирует быстрые задачи с клавишами. В вышеприведенном примере, модуль 128 быстрых задач распознает, что быстрая задача подчеркивания назначена клавише «U». Для некоторых клавиш, модуль 128 быстрых задач может определять, что быстрая задача не назначена и/или отключена для клавиш.[0030] More specifically, the determination is made depending on whether a quick task is assigned to the key (step 304). For example, quick task module 128 may refer to a table or other suitable data structure that associates quick tasks with keys. In the above example, the quick task module 128 recognizes that the quick underline task is assigned to the “U” key. For some keys, quick task module 128 may determine that a fast task is not assigned and / or disabled for keys.
[0031] Если быстрая задача назначена клавише на этапе 304, то сценарий взаимодействия затем анализируют для определения того, выполнен ли сценарий взаимодействия с возможностью запускать быструю задачу (этап 306). Когда сценарий взаимодействия запускает быструю задачу, инициируются операции редактирования текста, соответствующие быстрой задаче, назначенной клавише (этап 308). С другой стороны, модуль 128 быстрых задач может запустить операции для предназначенной функции ввода символа клавиши (этап 310) в ответ на определение того, что быстрая задача не назначена клавише на этапе 304 и/или определение того, что сценарий взаимодействия не запустил быструю задачу на этапе 306.[0031] If a quick task is assigned to the key in
[0032] Например, быстрая задача может быть выборочно запущена на основании текущего состояния взаимодействия. Это может быть основано на том, активен или неактивен курсор для ввода текста или, альтернативно, сделан ли выбор текста пользователем. Контекстуальная информация в отношении ввода текста может также быть использована для определения того, как отвечать на операцию нажатия клавиши. В случаях, когда курсор активен, операция клавиши может приводить к функции ввода предназначенного символа обычным образом. С другой стороны, когда текст выбран (например, выделен), могут быть разрешены быстрые задачи, соответствующие клавишам, и операция клавиши затем может приводить к соответствующей быстрой задаче вместо функции ввода символа. В вышеуказанном примере, операция клавиши «U» может приводить к подчеркиванию выбранного текста, когда текст выбран до операции клавиши. С другой стороны, в режиме обычного ввода текста с активным курсором, операция клавиши «U» может запускать операции для вставки соответствующего буквенно-числового символа (например, u или U в данном примере).[0032] For example, a quick task may be selectively started based on the current state of interaction. This can be based on whether the cursor is active or inactive for entering text or, alternatively, whether the user has selected the text. Contextual information regarding text input can also be used to determine how to respond to a keypress operation. In cases where the cursor is active, the key operation may lead to the input function of the intended character in the usual way. On the other hand, when the text is selected (for example, highlighted), quick tasks corresponding to the keys can be solved, and the key operation can then lead to the corresponding quick task instead of the character input function. In the above example, the operation of the “U” key may result in underlining the selected text when the text is selected before the key operation. On the other hand, in the normal text input mode with the active cursor, the operation of the “U” key can trigger operations to insert the corresponding alphanumeric character (for example, u or U in this example).
[0033] Фиг. 4 изображает выполнение быстрой задачи в соответствии с примером сценария взаимодействия, в общем на 400. Более конкретно, изображен пользовательский интерфейс 126, выполненный с возможностью взаимодействия с приложением/сервисом текстовых сообщений, который имеет экранную клавиатуру 402 для устройства мобильного телефона. Интерфейс включает в себя управление 404 вводом текста в форме поля ввода текстового сообщения. В изображенном примере, пользователь взаимодействует с управлением 404 вводом текста для ввода текстовых символов “Que pasa, amigo” [испан., «Как дела, друг»]. Дополнительно, пользователь взаимодействует, чтобы сделать выбор 406 текстовых символов и, соответственно, фраза “Que pasa, amigo” представлена как выделенная. В данном сценарии, выбор 406 может быть эффективным для активации быстрых задач в соответствии со способами, описанными в настоящей заявке.[0033] FIG. 4 depicts a quick task in accordance with an example interaction scenario, generally 400. More specifically, a
[0034] Как представлено в примере на Фиг. 4, нажатие 408 клавиши для выбора клавиши “?” может привести к выполнению назначенной быстрой задачи 130, которая вставляет символы для вопросов испанского языка до и после выбранной фразы. Таким образом, модификация 410 фразы “Que pasa, amigo” сделана в ответ на нажатие 408 клавиши для изменения фразы “¿Que pasa, amigo?” [«Как дела, друг?»]. Без быстрой задачи, вставка символов до и после фразы может быть достаточно затруднительной и неэффективной с использованием экранной клавиатуры мобильного устройства. Также предполагаются вставки символов других иностранных языков для пунктуации сравнимым образом. Дополнительно, разнообразные типы быстрых задач и индивидуальных быстрых задач могут поддерживаться экранной клавиатурой, некоторые иллюстративные примеры которых изображены и описаны по отношению к Фиг. 5.[0034] As shown in the example of FIG. 4, pressing 408 keys to select the “?” Key can lead to the execution of the assigned
[0035] Фиг. 5 изображает различные примеры быстрых задач, которые могут быть назначены экранной клавиатуре в общем на 500. Например, изображена быстрая задача 502 пунктуации для автоматической модификации пунктуации выбранной фразы или строки. Здесь, быстрая задача 502 пунктуации соответствует примеру на Фиг. 4, за исключением того, что быстрая задача представлена как назначенная клавише “Q”, а не клавише “?”. Следовательно, данный пример изображает, что, по меньшей мере, некоторые быстрые задачи могут быть назначены различным клавишам, и, в некоторых случаях, пользователь может быть в состоянии устанавливать и изменять привязку быстрых задач к клавишам. В общем, быстрая задача 130 может быть выполнена с возможностью выполнения операций пунктуации для вставки символов до и после выбранной текстовой фразы, одним примером которой является вставка символов знака вопроса. Другие быстрые задачи пунктуации могут быть выполнены с возможностью способствовать заключению фразы в круглые скобки с использованием клавиши “)” или “(“, заключению фразы в скобки с использованием клавиши “[“,”]”, “{“ или “}”, метке html с использованием клавиши “>” или “<”, вставке открывающих и закрывающих восклицательных знаков с использованием клавиши “!” и так далее. Необходимо отметить, что быстрые задачи могут быть назначены множеству клавиш. Например, нажатие клавиш либо открывающих круглых скобок “(“, либо закрывающих круглых скобок “)” может запускать соответствующую быструю задачу для заключения выбранного текста в круглые скобки.[0035] FIG. 5 depicts various examples of quick tasks that can be assigned to a total of 500 on-screen keyboards. For example, a
[0036] Дополнительные быстрые задачи могут быть осуществлены для выполнения различных типов форматирования выбранного текста. Быстрые задачи форматирования могут быть выполнены с возможностью выполнять вставку специальных символов (например, время, валюта и форматирование социальных сетей), переключение регистра слова или предложения, переключение прописного написания текста, переключение между шрифтами, настройку текстовых эффектов, как, например, курсов или полужирный, и так далее.[0036] Additional quick tasks can be implemented to perform various types of formatting of the selected text. Quick formatting tasks can be performed with the ability to insert special characters (for example, time, currency and formatting social networks), switch the case of a word or sentence, switch the spelling of the text, switch between fonts, configure text effects, such as courses or bold , and so on.
[0037] Например, быстрая задача 504 форматирования времени для форматирования подходящих чисел в текстовой строке в качестве величин времени, также изображена на Фиг. 5. В изображенном примере, быстрая задача 504 форматирования времени назначена клавише “:”. Альтернативно, быстрая задача 504 форматирования времени может быть связана с и/или назначена пользователем другой клавише, как, например, клавиша “t”, закрепленная функциональная клавиша часов или другая выбранная клавиша. Когда это применимо, быстрая задача 504 форматирования времени может вставлять символы для форматирования времени в соответствующих положениях внутри текстовой строки. Например, фраза “Игра в 500” изображена как преобразованная в “Игра в 5:00” в ответ на применение быстрой задачи 504 форматирования времени. Необходимо отметить, что в данном примере, первоначальная фраза не выбрана или не выделена, как в предшествующем примере. Предполагается, что это представляет ситуацию, в которой модуль 128 быстрых задач может распознавать и использовать семантический контекст сценария взаимодействия и автоматически применять быструю задачу. Таким образом, пользователь может и не делать явного выбора текста для использования некоторых быстрых задач. Здесь, например, модуль 128 быстрых задач может предполагать, что пользователь имел в виду «в 500» как указание времени. Соответственно, когда клавиша “:” функционирует, быстрая задача 504 форматирования времени автоматически применяется вместо вставки “:” в изображенном местоположении курсора.[0037] For example, a quick
[0038] Быстрая задача 506 курсива изображена в качестве другого примера быстрой задачи форматирования, которая может поддерживаться. Здесь, выбор текста, за которым следует операция клавиши “i” приводит к тому, что выбранный текст переключается в шрифт курсивом. В осуществлении, операция “i” снова может приводить к тому, что выбранный текст обратно возвращается в шрифт не курсивом. В общем, быстрые задачи, как описано в настоящей заявке, позволяют пользователю проходить циклически и переключаться туда и обратно между текстом в качестве ввода (например, первоначальный текст и форматы), и одной или несколькими модификациями текста, доступными с помощью быстрых задач, путем последовательно функционирующей клавиши, которой назначена быстрая задача. Примеры в отношении быстрых задач, выполненных с возможностью циклически проходить множество различных модификаций, описаны далее по отношению к Фиг. 6 и 7.[0038] The italics
[0039] Быстрые задачи для выполнения разнообразных действий форматирования, сравнимые с только что описанными примерами, могут быть определены и назначены различным выбранным клавишам. Некоторые дополнительные примеры быстрых задач форматирования, которые могут быть назначены конкретным клавишам, включают в себя, но не ограничены “b” для полужирного текста, “c” или “shift” для переключения регистра/прописного написания слова, фразы или выбора, “f” для изменения на другой шрифт, “u” для подчеркивания и так далее.[0039] Quick tasks for performing a variety of formatting actions, comparable to the examples just described, can be defined and assigned to various selected keys. Some additional examples of quick formatting tasks that can be assigned to specific keys include, but are not limited to “b” for bold text, “c” or “shift” to switch case / lower case for a word, phrase, or choice, “f” to change to another font, “u” to underline, and so on.
[0040] Другой пример включает в себя автоматическое форматирование меток, которое может быть использовано для социальных сетей или других целей. Одним типом проставления меток является использование фразы “#” для постов в социальных сетях. Этот тип проставления меток может использоваться не только для услуги социальных сетей, но также в электронной почте, текстовых сообщениях и других типах связи. Фиг. 5 представляет собой быструю задачу 508 социального форматирования, которая может быть назначена клавише “#”. В операции, быстрая задача 508 социального форматирования функционирует для преобразования фразы в метку в предназначенном формате. В изображенном примере, введенная фраза «Аарон Роджерс MVP» преобразована быстрой задачей в “#Аарон Роджерс MVP”. Здесь указатель для метки “#” был вставлен в начале введенной фразы, а пробелы удалены. Другие типы меток, которые используют различные указатели и даже определенные пользователем операции форматирования, могут быть осуществлены с помощью быстрых задач.[0040] Another example includes automatic tag formatting, which can be used for social networks or other purposes. One type of tagging is the use of the phrase “#” for posts on social networks. This type of labeling can be used not only for social networking services, but also in email, text messaging and other types of communication. FIG. 5 is a quick
[0041] Фиг. 5 дополнительно представляет собой быструю задачу 510 перевода, которая может быть назначена клавише “t”, как изображено, клавише языковой клавиатуры или другой клавише. Быстрая задача 510 перевода может быть применена для перевода фразы или выбранного текста с одного языка на другой. Здесь, фраза «Где отель?» может автоматически быть переведена с английского на другой предназначенный язык, как, например, испанская версия “¿Donde está el hotel?” Перевод может быть сделан путем выбора текста и нажатия клавиши “t” или другой клавиши, связанной с быстрой задачей 510 перевода. Пользователь может настраивать конкретный язык для использования в переводах. Дополнительно или альтернативно, быстрая задача 510 перевода может быть выполнена с возможностью циклически проходить упорядоченный список множества языков, детали которой описаны по отношению к последующим фигурам.[0041] FIG. 5 further represents a
[0042] Фиг. 6 изображает процедуру 600, в которой может быть применено множество модификаций, связанных с быстрыми задачами. Быстрая задача, которая связана с множеством модификаций для применения выбранного текста, назначена клавише экрана (этап 602). Обнаружена операция клавиши для инициирования быстрой задачи (этап 604). Затем, множество модификаций выбранного текста представлены в ответ на последующую операцию клавиши (этап 606).[0042] FIG. 6 depicts a
[0043] Как упомянуто, экранная клавиатура, которая включает в себя или использует модуль 128 быстрых задач, может поддерживать некоторые быстрые задачи, которые осуществляют множество модификаций. При одном подходе, множество модификаций определены в соответствии со списком или структурой данных, которая указывает порядок для применения модификаций. Например, список языков для переводов может быть связан с быстрой задачей перевода, список доступных шрифтов может быть использован для быстрой задачи выбора шрифта, и быстрая задача форматирования времени может включать в себя различные доступные форматы времени. Другие быстрые задачи могут функционировать для переключения туда и обратно между неизмененным введенным текстом и конкретной модификацией текста. Когда клавиша, связанная с быстрой задачей, которая обеспечивает множество различных модификаций, выбрана множество раз, система может циклически проходить по списку модификаций одна за другой и приводить к модификации соответствующего текста для последовательного появления на пользовательском интерфейсе в ответ на последовательную операцию клавиши. Таким образом, каждый раз при нажатии клавиши, появляется отличная модификация в соответствии с прохождением списка доступных модификаций для быстрой задачи. Когда каждая модификация в списке была представлена, следующий выбор конкретной клавиши может приводить к тому, что выбранный текст обратно возвращается к немодифицированной форме.[0043] As mentioned, an on-screen keyboard that includes or uses a quick task module 128 may support some quick tasks that carry out many modifications. In one approach, a plurality of modifications are defined according to a list or data structure that indicates the order for applying the modifications. For example, a list of languages for translations can be associated with a quick translation task, a list of available fonts can be used for a quick font selection task, and a quick time formatting task can include various available time formats. Other quick tasks may function to switch back and forth between unchanged text entered and a specific text modification. When a key associated with a quick task that provides many different modifications is selected multiple times, the system can cycle through the list of modifications one after the other and modify the corresponding text to appear on the user interface in succession in response to the sequential key operation. Thus, every time you press a key, an excellent modification appears in accordance with going through the list of available modifications for a quick task. When each modification in the list has been presented, the next selection of a particular key may cause the selected text to return to its unmodified form.
[0044] Для дополнительной иллюстрации, Фиг. 7 изображает в общем на 700 некоторые примеры сценариев, в которых применены быстрые задачи, которые осуществляют множество модификаций. Например, быстрая задача 702 перевода изображена как связанная с клавишей “k”. Быстрая задача 702 перевода в данном примере связана со списком 704 языков. Список 704 языков представляет собой данные, связанные с быстрой задачей, которой достаточно для определения и/или управления множеством модификаций текстов и выявления порядка, в котором модификация применяется в отношении быстрой задачи. Здесь, список 704 языков указывает последовательные переводы на испанский, французский, немецкий и затем обратно к языку по умолчанию (в данном случае, английский). После последовательных нажатий клавиши “x”, модуль 128 быстрых задач может функционировать для циклического прохождения списка языков 704 и применения соответствующих переводов к различным языкам, как представлено на 706. Пользователь может прокрутить последовательно одну или более возможных модификаций путем нажатия клавиши повторно и может выбрать одну из модификаций для удержания явного выбора, дополнительного ввода текста и/или после истечения периода неактивности.[0044] For further illustration, FIG. 7 depicts a total of 700 examples of scenarios in which fast tasks are applied that carry out many modifications. For example, the
[0045] Сравнимый пример быстрой задачи 708 форматирования времени, которая поддерживает множество модификаций, также изображен на Фиг. 7. В данном сценарии, быстрая задача 708 форматирования времени представлена как связанная с клавишей “t”. Быстрая задача 708 форматирования времени может также быть назначена клавише “:”, как и быстрая задача 504 форматирования времени, описанная по отношению к Фиг. 5. Быстрая задача 708 форматирования времени в данном примере связана со списком 710 форматов времени. Список 710 форматов времени указывает последовательные модификации формата времени для связанного текста. После последовательных нажатий клавиши “t”, модуль 128 быстрых задач может функционировать для циклического прохождения по списку 710 форматов времени и применения соответствующих модификаций, как представлено на 712. Соответственно, часть «в 500» текста может измениться на «в 5:00», «в 17:00» и обратно «в 500» в ответ на последовательные нажатия клавиши “t”.[0045] A comparable example of the fast
[0046] В общем, назначения быстрых задач клавишам могут быть заранее определены для экранной клавиатуры. В осуществлении, назначения могут также быть выполнены пользователем, чтобы делать индивидуализированные назначения. Таким образом, пользователь может выбирать назначение быстрой задачи перевода клавише “x” и быстрой задачи формата времени клавише “t”, как изображено на Фиг. 7, а не заранее определенные назначения, как, например, использование “t” для перевода и “:” для времени, как на Фиг. 5. Модуль 128 быстрых задач, например, может представлять интерфейс, с помощью которого пользователь может взаимодействовать с привязкой, которая привязывает различные доступные быстрые задачи к клавишам. С помощью интерфейса, пользователь может изменять заранее определенные назначения и/или может разрешить или запретить быстрые задачи, в общем или на индивидуальной основе. Дополнительно, интерфейс и привязка быстрых задач могут быть выполнены с возможностью разрешать пользователям создавать индивидуализированную быструю задачу с помощью диалога создания быстрых задач. Диалог создания может способствовать выбору индивидуализированных вставок символов, форматированию и/или запуску быстрых задач с использованием подходящего синтаксиса, меню, полей и меток и так далее. Индивидуализированная быстрая задача может быть определена в соответствии с выборами пользователя, сделанными посредством диалога создания быстрых задач. Индивидуализированная быстрая задача может быть назначена клавише по выбору пользователя. Для примера, но не ограничения, пользователь может определять быструю задачу комбинации для полужирного написания, курсива и подчеркивания, которая преобразует выбранную текстовую строку в модифицированную строку с полужирным написанием, курсивом и подчеркиванием. Пользователь может делать назначение этой индивидуализированной быстрой задачи клавише, как, например, клавиша “z”. В другом примере, индивидуализированная быстрая задача может быть создана, чтобы способствовать вставке выбранных специальных символов в конкретных местоположениях внутри текстовой строки. Например, быстрая задача знака звездочки может быть определена для заключения текста внутри звездочек, как, например, изменение «Привет Робин» на «***Привет Робин***». Также предполагаются другие разнообразные виды индивидуализированных и заранее определенных быстрых задач.[0046] In general, keyboard shortcut assignments can be predefined for the on-screen keyboard. In an implementation, appointments can also be made by the user to make individual appointments. Thus, the user can select the destination of the quick translation task to the “x” key and the quick time format task to the “t” key, as shown in FIG. 7 rather than predetermined assignments, such as using “t” for translation and “:” for time, as in FIG. 5. The quick task module 128, for example, can present an interface by which a user can interact with a binding that binds the various available quick tasks to keys. Using the interface, the user can change predetermined appointments and / or can enable or disable fast tasks, in general or on an individual basis. Additionally, the interface and fast task binding can be configured to allow users to create an individualized fast task using the quick task creation dialog. The creation dialog may facilitate the selection of individualized character inserts, formatting and / or launching quick tasks using appropriate syntax, menus, fields and labels, and so on. An individualized quick task can be determined according to the user's choices made through the quick task creation dialog. An individualized quick task can be assigned to a key of your choice. For example, but not limitation, the user can define a quick combination task for bold, italics and underscores, which converts the selected text string into a modified string with bold, italics and underscores. The user can assign this individualized quick task to a key, such as the “z” key. In another example, an individualized quick task may be created to facilitate the insertion of selected special characters at specific locations within the text string. For example, the quick task of an asterisk sign can be defined to enclose text inside asterisks, such as changing “Hello Robin” to “*** Hello Robin ***”. Various other types of individualized and predefined quick tasks are also contemplated.
[0047] Описав некоторые примерные подробности и способы, относящиеся к быстрым задачам, рассмотрим теперь пример системы, которая может быть использована в одном или нескольких осуществлениях, описанных в настоящей заявке.[0047] Having described some exemplary details and methods related to quick tasks, we now consider an example of a system that can be used in one or more of the implementations described in this application.
Пример системы и устройстваSystem and device example
[0048] Фиг. 8 изображает пример системы 800, которая включает в себя пример вычислительного устройства 802, который представляет собой одну или более вычислительных систем и/или устройств, которые могут осуществлять различные способы, описанные в настоящей заявке. Вычислительное устройство 802, например, может быть сервером провайдера услуги, устройством, связанным с клиентом (например, клиентским устройством), системой на кристалле и/или любым другим подходящим вычислительным устройством или вычислительной системой.[0048] FIG. 8 depicts an
[0049] Пример вычислительного устройства 802, как изображено, включает в себя систему 804 обработки, один или более считываемых компьютером носителей 806 и один или более интерфейсов 808 I/O, которые соединены по связи друг с другом. Хотя это не изображено, вычислительное устройство 802 может дополнительно включать в себя системную шину или другие данные и систему передачи команд, которая соединяет различные компоненты друг с другом. Системная шина может включать в себя любой или комбинацию различных структур шин, как, например, шина запоминающего устройства или устройство управления запоминающим устройством, периферийная шина, универсальная последовательная шина и/или шина устройства обработки или локальная шина, которая использует любую из множества архитектур шин. Другие разнообразные примеры также предполагаются, как, например, линии управления и данных.[0049] An example computing device 802, as shown, includes a
[0050] Система 804 обработки представляет собой функциональность для выполнения одной или нескольких операций с использованием технических средств. Соответственно, система 804 обработки изображена как включающая в себя Аппаратно-реализуемые элементы 810, которые могут быть выполнены в качестве устройств обработки, функциональных блоков и так далее. Это может включать в себя осуществление в технических средствах в качестве специализированной заказной интегральной схемы или другого логического устройства, сформированного с использованием одного или нескольких полупроводников. Аппаратно-реализуемые элементы 810 не ограничены материалами, из которых они сформированы, или обрабатывающими механизмами, использованными в них. Например, устройства обработки могут состоять из полупроводника(ов) и/или транзисторов (например, электронные интегральные схемы (ИС)). В таком контексте, выполняемые устройством обработки команды могут быть электронно выполняемыми командами.[0050] The
[0051] Считываемые компьютером носители 806 изображены как включающие в себя запоминающее устройство/хранилище 812. Запоминающее устройство/хранилище 812 представляет собой емкость запоминающего устройства/хранилища, связанную с одним или несколькими считываемыми компьютером носителями. Запоминающее устройство/хранилище 812 может включать в себя энергозависимые носители (как, например, оперативное запоминающее устройство (RAM)) и/или энергонезависимые носители (как, например, постоянное запоминающее устройство (ROM), устройство флэш-памяти, оптические диски, магнитные диски и так далее). Запоминающее устройство/хранилище 812 может включать в себя фиксированные носители (например, RAM, ROM, фиксированный жесткий диск и так далее), а также съемные носители (например, устройство флэш-памяти, съемный жестки диск, оптический диск и так далее). Считываемые компьютером носители 806 могут быть выполнены многими другими способами, как дополнительно описано ниже.[0051] Computer-readable media 806 is depicted as including a storage device / storage 812. Storage device / storage 812 is the capacity of a storage device / storage associated with one or more computer-readable media. Storage device / storage 812 may include volatile media (such as random access memory (RAM)) and / or non-volatile media (such as read only memory (ROM), flash memory, optical disks, magnetic disks and so on). Storage device / storage 812 may include fixed media (e.g., RAM, ROM, fixed hard disk, and so on), as well as removable media (e.g., flash memory device, removable hard disk, optical disk, and so on). Computer-readable media 806 can be implemented in many other ways, as further described below.
[0052] Интерфейс(ы) 808 I/O представляют собой функциональность, чтобы позволить пользователю вводить команды и информацию в вычислительное устройство 802, и также позволяют представление информации пользователю и/или другим компонентам или устройствам с использованием различных устройств ввода/вывода. Примеры устройств ввода включают в себя клавиатуру, устройство управления курсором (например, мышь), микрофон для голосовых операций, сканер, сенсорную функциональность (например, емкостные или другие датчики, которые выполнены с возможностью обнаруживать физическое касание), камеру (например, которая может использовать видимые или невидимые длины волн, как, например, инфракрасные частоты для обнаружения движения, которое не вовлекает касания в качестве жестов) и так далее. Примеры устройств вывода включают в себя устройство отображения (например, монитор или проектор), колонки, принтер, устройство сенсорного ответа и так далее. Вычислительное устройство 802 может дополнительно включать в себя различные компоненты, чтобы позволить проводную и беспроводную связь, включая, например, карту сетевого интерфейса для сетевой связи и/или различные антенны для поддержки беспроводной и/или мобильной связи. Предполагается множество различных типов подходящих антенн, включая, но не ограничиваясь, одну или более Wi-Fi антенн, антенны глобальной навигационной спутниковой системы (GNSS) или глобальной системы (GPS) позиционирования, сотовые антенны, антенны связи 214 (NFC) ближнего поля, антенны Bluetooth и/или так далее. Таким образом, вычислительное устройство 802 может быть выполнено множеством способов, как дополнительно описано ниже, для поддержки взаимодействия пользователя.[0052] The I / O interface (s) 808 are functionality to allow a user to enter commands and information into computing device 802, and also allow the presentation of information to the user and / or other components or devices using various input / output devices. Examples of input devices include a keyboard, a cursor control device (e.g., a mouse), a microphone for voice operations, a scanner, touch functionality (e.g., capacitive or other sensors that are capable of detecting a physical touch), a camera (e.g., which can use visible or invisible wavelengths, such as infrared frequencies to detect movement that does not involve touching as gestures) and so on. Examples of output devices include a display device (e.g., a monitor or projector), speakers, a printer, a touch response device, and so on. Computing device 802 may further include various components to enable wired and wireless communications, including, for example, a network interface card for network communications and / or various antennas to support wireless and / or mobile communications. Many different types of suitable antennas are contemplated, including but not limited to one or more Wi-Fi antennas, global navigation satellite system (GNSS) or global positioning system (GPS) antennas, cellular antennas, near field communications antennas 214 (NFC), antennas Bluetooth and / or so on. Thus, computing device 802 can be performed in a variety of ways, as further described below, to support user interaction.
[0053] Различные способы могут быть описаны в настоящей заявке в общем контексте программного обеспечения, Аппаратно-реализуемых элементов или программных модулей. В общем, такие модули включают в себя стандартные программы, программы, объекты, элементы, компоненты, структуры данных и так далее, которые выполняют конкретные задачи или осуществляют конкретные абстрактные типы данных. Термины «модуль», «функциональность» и «компонент», как использовано в настоящей заявке, в общем представляют собой программное обеспечение, программно-аппаратные средства, технические средства или их комбинацию. Признаки способов, описанных в настоящей заявке, не зависят от платформы, что означает, что способы могут быть осуществлены на множестве коммерческих вычислительных платформ, имеющих множество устройств обработки.[0053] Various methods may be described herein in the general context of software, hardware-implemented items, or software modules. In general, such modules include standard programs, programs, objects, elements, components, data structures, and so on, that perform specific tasks or implement specific abstract data types. The terms “module”, “functionality” and “component”, as used herein, are generally software, firmware, hardware, or a combination thereof. The features of the methods described in this application are platform independent, which means that the methods can be implemented on a variety of commercial computing platforms having multiple processing devices.
[0054] Осуществление описанных модулей и способов может храниться или передаваться на некоторой форме считываемых компьютером носителей. Считываемые компьютером носители могут включать в себя разнообразные носители, к которым вычислительное устройство 802 может осуществлять доступ. Для примера, но не ограничения, считываемые компьютером носители могут включать в себя “считываемые компьютером носители данных” и “средства связи”.[0054] The implementation of the described modules and methods may be stored or transmitted on some form of computer-readable media. Computer-readable media may include a variety of media that computing device 802 can access. By way of example, but not limitation, computer-readable media may include “computer-readable media” and “communication media”.
[0055] “Считываемые компьютером носители данных” относятся к носителям и/или устройствам, которые позволяют хранить информацию, по сравнению с обычной передачей сигналов, несущими волнами или самими сигналами. Таким образом, считываемые компьютером носители данных включают в себя технические средства, как, например, энергозависимые и энергонезависимые, съемные и несъемные носители и/или устройства хранения, осуществленные способом или технологией, подходящей для хранения информации, как, например, считываемые компьютером инструкции, структуры данных, программные модули, логические элементы/схемы или другие данные. Примеры считываемых компьютером носителей данных могут включать в себя, но не ограничены, RAM, ROM, EEPROM, устройства флэш-памяти или другой технологии памяти, CD-ROM, цифровые универсальные диски (DVD) или другие оптические хранилища, жесткие диски, магнитные кассеты, магнитную ленту, хранилище на магнитном диске или другие устройства магнитного хранения, или другие устройства хранения, материальные носители или изделия, подходящие для хранения желаемой информации, и доступ к которым может быть осуществлен компьютером.[0055] “Computer-readable storage media” refers to media and / or devices that allow information to be stored, compared to conventional signal transmission, carrier waves or the signals themselves. Thus, computer-readable storage media include technical means, such as volatile and non-volatile, removable and non-removable media and / or storage devices implemented by a method or technology suitable for storing information, such as computer-readable instructions, structures data, program modules, logic elements / circuits, or other data. Examples of computer-readable storage media may include, but are not limited to, RAM, ROM, EEPROM, flash memory devices or other memory technology, CD-ROMs, digital versatile disks (DVDs) or other optical storage devices, hard drives, magnetic tapes, magnetic tape, magnetic disk storage or other magnetic storage devices, or other storage devices, tangible media or articles suitable for storing the desired information, and which can be accessed by a computer.
[0056] “Средства связи” относятся к несущим сигнал носителям, выполненным с возможностью передавать команды техническим средствам вычислительного устройства 802, как, например, по сети. Средства связи, как правило, могут воплощать считываемые компьютером инструкции, структуры данных, программные модули или другие данные в модулированном сигнале данных, как, например, несущие волны, сигналы данных или другой механизм передачи. Средства связи также включают в себя любые носители доставки информации. Термин “модулированный сигнал данных” означает сигнал, который имеет одну или более характеристик, настроенных или измененных таким образом, чтобы кодировать информацию в сигнале. Для примера, но не ограничения, средства связи включают в себя проводные носители, как, например, проводная сеть или прямое проводное соединение, и беспроводные носители, как, например, акустические, RF, инфракрасные и другие беспроводные носители.[0056] “Communication media” refers to signal carriers, configured to transmit commands to hardware of computing device 802, such as over a network. Communication media can typically embody computer-readable instructions, data structures, program modules or other data in a modulated data signal, such as carrier waves, data signals, or another transmission mechanism. Communication tools also include any information delivery media. The term “modulated data signal” means a signal that has one or more characteristics configured or changed in such a way as to encode information in the signal. By way of example, but not limitation, communication media includes wired media, such as a wired network or a direct wired connection, and wireless media, such as acoustic, RF, infrared, and other wireless media.
[0057] Как описано выше, Аппаратно-реализуемые элементы 810 и считываемые компьютером носители 806 представляют собой команды, модули, логику программируемых устройств и/или логику фиксированных устройств, осуществленные в форме технических средств, которые могут быть использованы в некоторых осуществлениях для реализации, по меньшей мере, некоторых аспектов способов, описанных в настоящей заявке. Аппаратно-реализуемые средства могут включать в себя компоненты интегральной схемы или системы на кристаллах, специализированные заказные интегральные схемы (ASIC), программируемую пользователем вентильную матрицу (FPGA), сложное устройство (CPLD) с программируемой логикой и другие осуществления в полупроводниковых или других Аппаратно-реализуемых устройствах. В данном контексте, Аппаратно-реализуемый элемент может функционировать в качестве устройства обработки, которое выполняет программные задачи, определенные командами, модулями и/или логикой, воплощенной этим Аппаратно-реализуемым элементом, а также Аппаратно-реализуемого устройства, используемого для хранения команд для выполнения, например, считываемые компьютером носители информации, описанные ранее.[0057] As described above, the hardware-implemented elements 810 and computer-readable media 806 are commands, modules, programmable device logic and / or fixed device logic implemented in the form of hardware that can be used in some implementations to implement at least some aspects of the methods described in this application. Hardware-implemented tools can include components of an integrated circuit or systems on crystals, specialized custom integrated circuits (ASICs), a user-programmable gate array (FPGA), a complex device (CPLD) with programmable logic, and other implementations in semiconductor or other hardware-implemented devices. In this context, a Hardware-implemented element may function as a processing device that performs program tasks defined by instructions, modules and / or logic embodied by this Hardware-implemented element, as well as a Hardware-implemented device used to store instructions for execution, for example, computer-readable media described previously.
[0058] Комбинации вышеописанного могут также быть использованы для осуществления различных способов и модулей, описанных в настоящей заявке. Соответственно, программное обеспечение, технические средства или программные модули, включающие механизм 122 предсказания текста, модуль 128 быстрых задач и другие программные модули, могут быть осуществлены в качестве одной или нескольких команд и/или логики, воплощенной в некоторой форме считываемых компьютером носителей информации и/или одним или несколькими Аппаратно-реализуемыми элементами 810. Вычислительное устройство 802 может быть выполнено с возможностью осуществлять конкретные команды и/или функции, соответствующие программному обеспечению и/или модулям технических средств. Соответственно, осуществление модулей в качестве модуля, который выполняется вычислительным устройством 802 в качестве программного обеспечения, может быть достигнуто, по меньшей мере, частично, с помощью технических средств, например, с помощью использования считываемых компьютером носителей информации и/или Аппаратно-реализуемых элементов 810 системы обработки. Команды и/или функции могут быть выполнены/функционировать с помощью одного или нескольких изделий (например, одного или нескольких вычислительных устройств 802 и/или систем 804 обработки) для осуществления способов, модулей и примеров, описанных в настоящей заявке.[0058] Combinations of the above can also be used to implement the various methods and modules described herein. Accordingly, software, hardware, or software modules including a text prediction engine 122, quick task module 128, and other software modules may be implemented as one or more instructions and / or logic embodied in some form of computer-readable storage media and / or one or more Hardware-implemented elements 810. Computing device 802 may be configured to implement specific commands and / or functions corresponding to software th firmware and / or hardware modules. Accordingly, the implementation of modules as a module, which is executed by computing device 802 as software, can be achieved, at least in part, by technical means, for example, by using computer-readable storage media and / or Hardware-implemented elements 810 processing systems. Commands and / or functions may be performed / operated using one or more products (eg, one or more computing devices 802 and / or processing systems 804) to implement the methods, modules, and examples described herein.
[0059] Как дополнительно изображено на Фиг. 8, пример системы 800 обеспечивает единую среду для цельного опыта пользователя при выполнении приложений на персональном компьютере (PC), телевизионном устройстве и/или мобильном устройстве. Услуги и приложения выполняются по существу одинаково во всех трех средах для одного и того же опыта пользователя, при переходе от одного устройства к следующему во время использования приложения, проигрывания видео игры, просмотра видео и так далее.[0059] As further illustrated in FIG. 8, an
[0060] В примере системы 800, множество устройств взаимосвязаны посредством центрального вычислительного устройства. Центральное вычислительное устройство может быть локальным для множества устройств или может быть расположено удаленно от множества устройств. В одном осуществлении, центральное вычислительное устройство может быть облаком одного или нескольких серверных компьютеров, которые связаны со множеством устройств по сети, интернету или другой линии связи данных.[0060] In an
[0061] В одном осуществлении, эта архитектура взаимосвязи позволяет доставить функциональность на множество устройств для обеспечения общего и цельного опыта пользователю множества устройств. Каждое из множества устройств может иметь различные физические требования и способности, и центральное вычислительное устройство использует платформу, чтобы позволить доставку опыта устройству, которое одновременно специально настроено для устройства и при этом общее для всех устройств. В одном осуществлении, создан класс целевых устройств, и опыты специально настроены для универсального класса устройств. Класс устройств может быть определен физическими признаками, типами использования или другими общими характеристиками устройств.[0061] In one implementation, this interconnection architecture allows the delivery of functionality to multiple devices to provide a common and seamless experience to the user of the multiple devices. Each of the many devices can have different physical requirements and abilities, and the central computing device uses a platform to allow the delivery of experience to a device that is also specially configured for the device while being common to all devices. In one implementation, a class of target devices is created, and experiments are specifically tuned for a universal class of devices. A class of devices can be defined by physical attributes, types of use, or other general characteristics of the devices.
[0062] В различных осуществлениях, вычислительное устройство 802 может предполагать множество различных конфигураций, как, например, для компьютерного 814, мобильного 816 и телевизионного 818 использования. Каждая из этих конфигураций включает в себя устройства, которые могут иметь в общем различную конструкцию и способности, и, таким образом, вычислительное устройство 802 может быть выполнено в соответствии с одним или несколькими из различных классов устройств. Например, вычислительное устройство 802 может быть осуществлено в качестве компьютерного 814 класса устройства, который включает в себя персональный компьютер, настольный компьютер, многоэкранный компьютер, портативный компьютер, нетбук и так далее.[0062] In various implementations, computing device 802 may assume many different configurations, such as for computer 814, mobile 816, and television 818 use. Each of these configurations includes devices that may have a generally different design and capabilities, and thus computing device 802 may be configured in accordance with one or more of various classes of devices. For example, computing device 802 may be implemented as a computer class 814 of a device that includes a personal computer, a desktop computer, a multi-screen computer, a laptop computer, a netbook, and so on.
[0063] Вычислительное устройство 802 может быть также осуществлено в качестве мобильного 816 класса устройства, который включает в себя мобильные устройства, как, например, мобильный телефон, портативный музыкальный проигрыватель, портативное игровое устройство, планшетный компьютер, многоэкранный компьютер и так далее. Вычислительное устройство 802 может также быть осуществлено в качестве телевизионного 818 класса устройства, который включает в себя устройства, имеющие или соединенные, как правило, с более большими экранами в обычных условиях просмотра. Эти устройства включают в себя телевизоры, абонентские приставки, игровые консоли и так далее.[0063] Computing device 802 may also be implemented as a mobile device class 816, which includes mobile devices such as a mobile phone, portable music player, portable gaming device, tablet computer, multi-screen computer, and so on. Computing device 802 may also be implemented as a television device class 818, which includes devices having or connected, typically with larger screens, under normal viewing conditions. These devices include televisions, set-top boxes, game consoles, and so on.
[0064] Способы, описанные в настоящей заявке, могут поддерживаться с помощью этих различных конфигураций вычислительного устройства 802 и не ограничены конкретными примерами способов, описанных в настоящей заявке. Это изображено с помощью включения модуля 128 быстрых задач в вычислительное устройство 802. Функциональность модуля 128 быстрых задач и других модулей также может быть осуществлена полностью или частично посредством использования распределенной системы, как, например, по “облаку” 820 по платформе 822, как описано ниже.[0064] The methods described herein can be supported using these various configurations of computing device 802, and are not limited to specific examples of the methods described in this application. This is illustrated by including the quick task module 128 in the computing device 802. The functionality of the quick task module 128 and other modules can also be implemented in whole or in part by using a distributed system, such as, for example, on the “cloud” 820 on the platform 822, as described below .
[0065] Облако 820 включает в себя и/или представляет собой платформу 822 для ресурсов 824. Платформа 822 абстрагирует базисную функциональность технических средств (например, серверов) и ресурсов программного обеспечения облака 820. Ресурсы 824 могут включать в себя приложения и/или данные, которые могут быть использованы, когда компьютерная обработка выполняется на серверах, удаленных от вычислительного устройства 802. Ресурсы 824 также могут включать в себя услуги, обеспеченные по интернету и/или по абонентской сети, как, например, сотовая или Wi-Fi сеть.[0065] The cloud 820 includes and / or is a platform 822 for resources 824. A platform 822 abstracts the basic functionality of hardware (eg, servers) and software resources of the cloud 820. Resources 824 may include applications and / or data, which can be used when computer processing is performed on servers remote from computing device 802. Resources 824 may also include services provided over the Internet and / or over a subscriber network, such as, for example, a cellular or Wi-Fi network .
[0066] Платформа 822 может абстрагировать ресурсы и функции для соединения вычислительного устройства 802 с другими вычислительными устройствами. Платформа 822 также может служить для абстрагирования масштабирования ресурсов, чтобы обеспечить соответствующий уровень масштаба для обнаруженного спроса на ресурсы 824, которые осуществлены по платформе 822. Соответственно, в осуществлении соединенного устройства, реализация функциональности, описанной в настоящей заявке, может быть распределена по системе 800. Например, функциональность может быть осуществлена частично на вычислительном устройстве 802, а также по платформе 822, которая абстрагирует функциональность облака 820.[0066] Platform 822 may abstract resources and functions for connecting computing device 802 to other computing devices. Platform 822 can also serve to abstract resource scaling to provide an appropriate level of scale for the detected demand for resources 824, which are implemented on platform 822. Accordingly, in the implementation of the connected device, the implementation of the functionality described herein can be distributed across
ЗаключениеConclusion
[0067] Хотя способы в вышеизложенном описании осуществления изобретения описаны языком, конкретным для структурных признаков и/или методологических действий, необходимо понимать, что изобретение в приложенной формуле изобретения необязательно ограничено конкретными описанными признаками или действиями. Напротив, конкретные признаки и действия раскрыты как примеры форм осуществления заявленного изобретения. [0067] Although the methods in the foregoing description of an embodiment of the invention are described in a language specific to structural features and / or methodological actions, it should be understood that the invention in the appended claims is not necessarily limited to the specific features or actions described. On the contrary, specific features and actions are disclosed as examples of embodiments of the claimed invention .
Claims (43)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/035,758 | 2013-09-24 | ||
US14/035,758 US10496276B2 (en) | 2013-09-24 | 2013-09-24 | Quick tasks for on-screen keyboards |
PCT/US2014/056424 WO2015047881A1 (en) | 2013-09-24 | 2014-09-19 | Quick tasks for on-screen keyboards |
Publications (3)
Publication Number | Publication Date |
---|---|
RU2016110577A RU2016110577A (en) | 2017-09-28 |
RU2016110577A3 RU2016110577A3 (en) | 2018-07-19 |
RU2675152C2 true RU2675152C2 (en) | 2018-12-17 |
Family
ID=51663495
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2016110577A RU2675152C2 (en) | 2013-09-24 | 2014-09-19 | Quick tasks for on-screen keyboards |
Country Status (11)
Country | Link |
---|---|
US (1) | US10496276B2 (en) |
EP (1) | EP3049897B1 (en) |
JP (1) | JP6450768B2 (en) |
KR (1) | KR102249054B1 (en) |
CN (1) | CN105659194B (en) |
AU (1) | AU2014327147B2 (en) |
BR (1) | BR112016004605A8 (en) |
CA (1) | CA2923738C (en) |
MX (1) | MX368935B (en) |
RU (1) | RU2675152C2 (en) |
WO (1) | WO2015047881A1 (en) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9465985B2 (en) | 2013-06-09 | 2016-10-11 | Apple Inc. | Managing real-time handwriting recognition |
DK179329B1 (en) * | 2016-06-12 | 2018-05-07 | Apple Inc | Handwriting keyboard for monitors |
JP6786272B2 (en) * | 2016-06-24 | 2020-11-18 | キヤノン株式会社 | Image processing device, its control method, and computer program |
CN106484138B (en) * | 2016-10-14 | 2019-11-19 | 北京搜狗科技发展有限公司 | A kind of input method and device |
WO2018101671A1 (en) * | 2016-11-29 | 2018-06-07 | Samsung Electronics Co., Ltd. | Apparatus and method for providing sentence based on user input |
US20190095047A1 (en) | 2017-09-25 | 2019-03-28 | International Business Machines Corporation | Safely capturing input when a dialog is presented |
CN111092971A (en) * | 2018-10-24 | 2020-05-01 | 北京搜狗科技发展有限公司 | Display method and device for displaying |
US11194467B2 (en) | 2019-06-01 | 2021-12-07 | Apple Inc. | Keyboard management user interfaces |
CN111158544A (en) * | 2019-12-25 | 2020-05-15 | 维沃移动通信有限公司 | Content adding method and electronic equipment |
CN111126301B (en) * | 2019-12-26 | 2022-01-11 | 腾讯科技(深圳)有限公司 | Image processing method and device, computer equipment and storage medium |
US11200441B2 (en) | 2020-05-01 | 2021-12-14 | UiPath, Inc. | Text detection, caret tracking, and active element detection |
US11461164B2 (en) | 2020-05-01 | 2022-10-04 | UiPath, Inc. | Screen response validation of robot execution for robotic process automation |
US11080548B1 (en) | 2020-05-01 | 2021-08-03 | UiPath, Inc. | Text detection, caret tracking, and active element detection |
KR20220086887A (en) * | 2020-12-17 | 2022-06-24 | 삼성전자주식회사 | Input device comprising touchscreen and method of operating the same |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080242353A1 (en) * | 2007-04-02 | 2008-10-02 | William Daniel Willey | Input Shortcuts for a Communications Device |
RU2392656C2 (en) * | 2004-01-07 | 2010-06-20 | Майкрософт Корпорейшн | Universal computer device |
US20120235921A1 (en) * | 2011-03-17 | 2012-09-20 | Kevin Laubach | Input Device Enhanced Interface |
RU2464648C2 (en) * | 2007-06-27 | 2012-10-20 | Майкрософт Корпорейшн | Turbo-scroll mode for rapid data item selection |
US20130082935A1 (en) * | 2011-09-30 | 2013-04-04 | Microsoft Corporation | Dynamic command presentation and key configuration for keyboards |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03260760A (en) | 1990-03-12 | 1991-11-20 | Toshiba Corp | Indirect input system for kana/kanji conversion |
JPH06203011A (en) | 1992-12-29 | 1994-07-22 | Canon Inc | Character input device |
US7213601B2 (en) * | 1993-02-22 | 2007-05-08 | Heartport, Inc | Minimally-invasive devices and methods for treatment of congestive heart failure |
US5621875A (en) | 1993-10-26 | 1997-04-15 | Microsoft Corp. | Method and system for automatic formatting of user selected text |
US5818437A (en) * | 1995-07-26 | 1998-10-06 | Tegic Communications, Inc. | Reduced keyboard disambiguating computer |
JP3071772B2 (en) | 1998-01-22 | 2000-07-31 | ミサワホーム株式会社 | Key input device |
US6957395B1 (en) | 2000-01-04 | 2005-10-18 | Apple Computer, Inc. | Computer interface having a single window mode of operation |
US7761175B2 (en) * | 2001-09-27 | 2010-07-20 | Eatoni Ergonomics, Inc. | Method and apparatus for discoverable input of symbols on a reduced keypad |
JP2004171371A (en) | 2002-11-21 | 2004-06-17 | Toshiba Corp | Information processing apparatus and method of assigning function to key |
US7167178B2 (en) | 2003-01-09 | 2007-01-23 | Research In Motion Limited | Method of fast typing twin special characters |
US20050187754A1 (en) | 2003-12-09 | 2005-08-25 | Dana Suess | Software-based keystroke eliminator for alpha-numeric keyboards and keypads |
JP4775835B2 (en) | 2003-12-22 | 2011-09-21 | 株式会社日本総合研究所 | Key assignment system and key assignment program |
EP1890222B8 (en) | 2004-07-08 | 2010-06-02 | Research In Motion Limited | Adding interrogative punctuation to an electronic message |
US8374846B2 (en) | 2005-05-18 | 2013-02-12 | Neuer Wall Treuhand Gmbh | Text input device and method |
US8032357B2 (en) | 2005-06-14 | 2011-10-04 | Microsoft Corporation | Phonetic input using a keypad |
GB2433403B (en) | 2005-12-16 | 2009-06-24 | Emil Ltd | A text editing apparatus and method |
US8299943B2 (en) * | 2007-05-22 | 2012-10-30 | Tegic Communications, Inc. | Multiple predictions in a reduced keyboard disambiguating system |
TW200910875A (en) * | 2007-08-29 | 2009-03-01 | Inventec Appliances Corp | Method and system for instantly translating text within an image |
FR2928077B1 (en) * | 2008-02-29 | 2011-03-25 | Echosens | DEVICE AND METHOD FOR MICROELASTOGRAPHY |
CA2733645A1 (en) * | 2008-08-12 | 2010-02-18 | Keyless Systems Ltd. | Data entry system |
JP5110039B2 (en) | 2009-05-27 | 2012-12-26 | オムロン株式会社 | Character input program and information processing apparatus |
EP2460104A4 (en) * | 2009-07-27 | 2016-10-05 | Ibm | Method and system for transformation of logical data objects for storage |
US8161378B2 (en) * | 2009-08-13 | 2012-04-17 | Lesly Verdier | Word processing style selector system using 2D matrix |
KR101092335B1 (en) | 2009-11-10 | 2011-12-09 | 아이프로스 아이앤씨 주식회사 | Keyboard for Computor |
WO2011091594A1 (en) * | 2010-01-29 | 2011-08-04 | Nokia Corporation | Virtual keyboard, input method, and associated storage medium |
US8462131B2 (en) * | 2010-06-23 | 2013-06-11 | John CHACHO | Electronic device having virtual keyboard with predictive key and related methods |
US8922489B2 (en) | 2011-03-24 | 2014-12-30 | Microsoft Corporation | Text input using key and gesture information |
US20130019175A1 (en) | 2011-07-14 | 2013-01-17 | Microsoft Corporation | Submenus for context based menu system |
US20130027550A1 (en) * | 2011-07-29 | 2013-01-31 | Technische Universitat Berlin | Method and device for video surveillance |
US9652448B2 (en) | 2011-11-10 | 2017-05-16 | Blackberry Limited | Methods and systems for removing or replacing on-keyboard prediction candidates |
US9223497B2 (en) * | 2012-03-16 | 2015-12-29 | Blackberry Limited | In-context word prediction and word correction |
CN102663016B (en) | 2012-03-21 | 2015-12-16 | 上海触乐信息科技有限公司 | Electronic equipment inputs system and method thereof that candidate frame carries out inputting Information expansion |
US20130275506A1 (en) * | 2012-04-12 | 2013-10-17 | J. Scott Warner | Lyric posting, live track sharing, and zip code notification of music events |
CN102866827B (en) | 2012-08-21 | 2016-03-23 | 刘炳林 | The document edit method of a kind of human-computer interaction device and device |
EP2818967B1 (en) * | 2013-06-28 | 2018-08-22 | Dialog Semiconductor GmbH | Device and method for determining an operating temperature of an electronic component |
US20150019653A1 (en) * | 2013-07-15 | 2015-01-15 | Civolution B.V. | Method and system for adding an identifier |
-
2013
- 2013-09-24 US US14/035,758 patent/US10496276B2/en active Active
-
2014
- 2014-09-19 CN CN201480052683.3A patent/CN105659194B/en active Active
- 2014-09-19 BR BR112016004605A patent/BR112016004605A8/en not_active Application Discontinuation
- 2014-09-19 WO PCT/US2014/056424 patent/WO2015047881A1/en active Application Filing
- 2014-09-19 CA CA2923738A patent/CA2923738C/en active Active
- 2014-09-19 JP JP2016544000A patent/JP6450768B2/en active Active
- 2014-09-19 AU AU2014327147A patent/AU2014327147B2/en active Active
- 2014-09-19 KR KR1020167010274A patent/KR102249054B1/en active IP Right Grant
- 2014-09-19 EP EP14781766.2A patent/EP3049897B1/en active Active
- 2014-09-19 RU RU2016110577A patent/RU2675152C2/en active
- 2014-09-19 MX MX2016003721A patent/MX368935B/en active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2392656C2 (en) * | 2004-01-07 | 2010-06-20 | Майкрософт Корпорейшн | Universal computer device |
US20080242353A1 (en) * | 2007-04-02 | 2008-10-02 | William Daniel Willey | Input Shortcuts for a Communications Device |
RU2464648C2 (en) * | 2007-06-27 | 2012-10-20 | Майкрософт Корпорейшн | Turbo-scroll mode for rapid data item selection |
US20120235921A1 (en) * | 2011-03-17 | 2012-09-20 | Kevin Laubach | Input Device Enhanced Interface |
US20130082935A1 (en) * | 2011-09-30 | 2013-04-04 | Microsoft Corporation | Dynamic command presentation and key configuration for keyboards |
Also Published As
Publication number | Publication date |
---|---|
CA2923738A1 (en) | 2015-04-02 |
RU2016110577A (en) | 2017-09-28 |
KR102249054B1 (en) | 2021-05-10 |
MX2016003721A (en) | 2016-05-31 |
RU2016110577A3 (en) | 2018-07-19 |
JP2016539435A (en) | 2016-12-15 |
JP6450768B2 (en) | 2019-01-09 |
CA2923738C (en) | 2021-04-20 |
EP3049897B1 (en) | 2021-08-18 |
EP3049897A1 (en) | 2016-08-03 |
US10496276B2 (en) | 2019-12-03 |
CN105659194A (en) | 2016-06-08 |
BR112016004605A8 (en) | 2020-02-11 |
MX368935B (en) | 2019-10-22 |
CN105659194B (en) | 2019-08-06 |
WO2015047881A1 (en) | 2015-04-02 |
US20150089428A1 (en) | 2015-03-26 |
KR20160060110A (en) | 2016-05-27 |
AU2014327147B2 (en) | 2019-05-30 |
AU2014327147A1 (en) | 2016-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2675152C2 (en) | Quick tasks for on-screen keyboards | |
TWI510965B (en) | Input method editor integration | |
CN108369580B (en) | Language and domain independent model based approach to on-screen item selection | |
US9383827B1 (en) | Multi-modal command display | |
JP5421239B2 (en) | Multiple mode input method editor | |
AU2019268092B2 (en) | Prototyping voice user interfaces for languages with non-phonetic alphabets | |
JP5634860B2 (en) | Input method editor with second language mode | |
US20160225371A1 (en) | Dynamic inference of voice command for software operation from help information | |
US20160225369A1 (en) | Dynamic inference of voice command for software operation from user manipulation of electronic device | |
US7707515B2 (en) | Digital user interface for inputting Indic scripts | |
CN103370705A (en) | Method and system for facilitating text input | |
JP2011238220A (en) | Method, device, and computer program product for providing context recognition-type help content | |
WO2022083750A1 (en) | Text display method and apparatus and electronic device | |
WO2014025841A1 (en) | Single page soft input panels for larger character sets | |
US20180356901A1 (en) | Unified input and invoke handling | |
KR102158544B1 (en) | Method and system for supporting spell checking within input interface of mobile device | |
US10534500B1 (en) | Color based search application interface and corresponding control functions | |
KR102260468B1 (en) | Method for Inputting Hangul Vowels Using Software Keypad |