Устранение неоднозначности клавиатурного ввода

Изобретение относится к вычислительной технике. Технический результат заключается в устранении неоднозначности клавиатурного ввода. Устройство включает в себя механизм управления клавиатурой, который управляет клавиатурой, которая разрешает ввод для написания с определением формы и ввод в виде радиального ввода. Модуль ввода с клавиатуры получает данные ввода от по меньшей мере одного датчика ввода клавиатуры. Механизм устранения неоднозначности намерений обеспечивает возможность одновременного использования ввода для написания с определением формы и ввода в виде радиального ввода для пользователя клавиатуры. 3 н. и 17 з.п. ф-лы, 21 ил.

 

Уровень техники

[0001] Пользователи электронных устройств все в большей степени используют мобильные устройства и планшетные компьютеры, что приводит к увеличенному использованию графических клавиатур сенсорных экранов и других сенсорных клавиатур и соответствующей потребности пользователей в эффективных технологиях ввода текста. Исследователи приспосабливают множество стратегий для того, чтобы улучшать набор на сенсорном экране, от не-QWERTY-раскладок клавиатуры до написания с определением формы всех слов в однократном росчерке и подходов, которые интенсивно мультиплексируют клавиши и разрешают неоднозначные вводы через языковые модели.

[0002] Хотя такие технологии могут обеспечивать в результате преимущества по производительности, они также зачастую могут предусматривать существенные инвестиции по приобретению навыков от пользователей до того, как могут быть реализованы выгоды по производительности. Таким образом, пользователи не могут поддерживать интерес к таким новым технологиям достаточно долго, чтобы реализовывать такие выгоды.

Сущность изобретения

[0003] Согласно одному общему аспекту, устройство включает в себя механизм управления клавиатурой, который управляет клавиатурой, которая разрешает ввод для написания с определением формы и ввод в виде радиального ввода. Модуль ввода с клавиатуры получает данные ввода из по меньшей мере одного датчика ввода клавиатуры. Механизм устранения неоднозначности намерений обеспечивает возможность одновременного использования ввода для написания с определением формы и ввода в виде радиального ввода для пользователя клавиатуры.

[0004] Согласно другому аспекту, данные ввода могут получаться с клавиатуры, которая разрешает ввод для написания с определением формы и ввод в виде радиального ввода. Разрешение на одновременное использование ввода для написания с определением формы и ввода в виде радиального ввода может предоставляться для пользователя клавиатуры посредством устранения неоднозначности данных ввода, чтобы различать между вводом для написания с определением формы и вводом в виде радиального ввода.

[0005] Согласно еще одному аспекту, компьютерный программный продукт может включать в себя машиночитаемый носитель данных, сохраняющий исполняемый код, который может инструктировать по меньшей мере одному процессору устройства получать данные ввода от клавиатуры, которая разрешает ввод для написания с определением формы и ввод в виде радиального ввода, и обеспечивать одновременное использование ввода для написания с определением формы и ввода в виде радиального ввода для пользователя клавиатуры посредством устранения неоднозначности данных ввода, чтобы различать между вводом для написания с определением формы и вводом в виде радиального ввода.

[0006] Данное краткое изложение сущности изобретения приведено для представления в упрощенной форме подборки концепций, которые дополнительно описаны ниже в подробном описании. Это краткое изложение сущности изобретения не имеет намерением ни то, чтобы идентифицировать ключевые признаки или важнейшие признаки заявленного изобретения, ни то, чтобы использоваться таким образом, что оно ограничивает объем заявленного изобретения. Подробности одной или более реализаций изложены на прилагаемых чертежах и в нижеприведенном описании. Другие признаки должны становиться очевидными из описания и чертежей и из формулы изобретения.

Краткое описание чертежей

[0007] Фиг. 1A-1B иллюстрируют примерные виртуальные клавиатуры.

[0008] Фиг. 2 иллюстрирует пример жестов в виде поперечного радиального ввода.

[0009] Фиг. 3 иллюстрирует пример жестов в виде диагонального радиального ввода.

[0010] Фиг. 4 иллюстрирует пример жеста в виде вертикального радиального ввода.

[0011] Фиг. 5A-5B иллюстрируют примерные радиальные меню.

[0012] Фиг. 6A-6B иллюстрируют примерные прогнозирования слов.

[0013] Фиг. 7A-7C иллюстрируют примерное написание с определением формы.

[0014] Фиг. 8 иллюстрирует примерное меню справки по радиальным жестам, ассоциированное с функциональностью радиальных жестов.

[0015] Фиг. 9 иллюстрирует примерное устройство с присоединенной примерной клавиатурой.

[0016] Фиг. 10A-10B иллюстрируют примерный конечный автомат, который может использоваться посредством примерного механизма устранения неоднозначности намерений.

[0017] Фиг. 11 иллюстрирует примерную логику для примерного механизма управления клавиатурой.

[0018] Фиг. 12 является блок-схемой, иллюстрирующей примерную обобщенную систему для устранения неоднозначности режимов ввода с клавиатуры.

[0019] Фиг. 13A-13C является блок-схемой последовательности операций способа, иллюстрирующей примерные операции системы по фиг. 12.

Подробное описание изобретения

I. Введение

[0020] Улучшения и новшества для программных клавиатур для ввода текста на тонких компьютерах, планшетных компьютерах, мобильных телефонах и мультисенсорных электронных досках в данный момент представляют собой активную область исследований и инноваций.

[0021] Одна технология для повышения производительности ввода текста или для размещения большего числа функций клавиш в идентичном доступном пространстве экрана заключается в том, чтобы дополнять клавиатуры сенсорных экранов жестами смахивания (swipe) с одиночным касанием или мультикасанием. Например, быстрые комбинации росчерков для таких клавиш, как клавиша Space, клавиша Backspace, клавиша Enter и клавиша Shift, могут использоваться таким способом в качестве радиальных жестов (т.е. направленных росчерков, инициированных в различных местоположениях на, рядом или между клавишами виртуальной клавиатуры; или, в некоторых реализациях, непосредственно над самим текстом) или через радиальные меню, которые могут активироваться на конкретных клавишах (например, для клавиши Shift) или почти в любой области клавиатуры (например, для клавиши Space, клавиши Backspace и клавиши Enter). В частности, этот подход также обеспечивает потенциальное удаление или опускание соответствующих клавиш, становящихся избыточной в силу жестов, за счет этого освобождая пространство на клавиатуре для дополнительных символов из потенциальных вторичных и третичных виртуальных клавиатур. В качестве примера, некоторые технологии для предоставления клавиатур с поддержкой росчерков с радиальными меню и с опущенными избыточными в силу жестов клавиши пояснены в находящейся в общей собственности предварительной заявке на патент (США) порядковый номер 61/720335 (адвокатская выписка № 336986.01), поданной 30 октября 2012 года, озаглавленной "Graphical Keyboard with Radial menus", и в заявке на патент (США) порядковый номер 13/720527 (адвокатская выписка № 336986.02), опубликованной в качестве публикации заявки на патент (США) № 2014/0123049, поданной 19 декабря 2012 года, озаглавленной "Keyboard with Gesture-Redundant Keys Removed".

[0022] Дополнительно, такие функции клавиш могут реализовываться через примерные жесты в виде росчерка или короткого росчерка. В качестве примера, некоторые технологии для предоставления таких функций клавиш пояснены в находящейся в общей собственности заявке на патент (США) порядковый номер 13/712111 (адвокатская выписка № 337229.02), поданной 12 декабря 2012 года, опубликованной в качестве публикации заявки на патент (США) № 2014/0078063, озаглавленной "Gesture-Initiated Keyboard Functions".

[0023] В соответствии с примерными технологиями, поясненными в данном документе, клавиатура может предоставлять комбинацию жестов в виде короткого линейного росчерка (например, радиальных росчерков, жестов в режиме радиального ввода или жестов через радиальные меню) с написанием с определением формы. В соответствии с примерными технологиями, поясненными в данном документе, любой из допустимых режимов ввода может использоваться в любом месте на клавиатуре, и устранение неоднозначности между режимами может выполняться прозрачно, на лету, в любом местоположении на клавиатуре, которая выполнена с возможностью принимать ввод от пользователя.

[0024] В этом контексте, "жест" может означать любое касание, плавное перемещение, удержание либо отпускание пальца или другого объекта ввода с клавиатуры (либо любую комбинацию или субкомбинацию означенного) к/от сенсорной поверхности устройства с клавиатурой. Дополнительно, "жест" может означать любые перемещения пальцев, рук или других объектов ввода с клавиатуры (либо любую комбинацию или субкомбинацию означенного), которые возникают над клавиатурой без ее касания (например, в воздушном пространстве выше клавиатуры независимо от того, представляет она собой физическую клавиатуру или программную клавиатуру, либо относительно виртуальной клавиатуры). Дополнительно, "жест" может означать любые перемещения, пальцев, рук или других объектов ввода с клавиатуры, которые начинаются на дисплее и поднимаются над дисплеем по мере того, как объект ввода перемещается (например, для чувствительного к глубине дисплея, жесты через радиальные меню могут начинаться на дисплее и перемещаться в позицию над дисплеем по мере того, как палец выполняет жест, и в силу этого могут отличаться от жеста в идентичном направлении, когда палец остается в контакте с дисплеем).

[0025] При использовании в этом контексте, "написание с определением формы" на клавиатуре может предусматривать росчерк поверх клавиатуры, чтобы писать по буквам слова без отрыва пальца. Например, написание с определением формы может интерпретироваться посредством определения различных клавиш, которые являются ближайшими к жесту, на основе формы росчерка и точек изгиба росчерка (например, определения того, какая клавиша находится достаточно близко к точке изгиба, на основе предварительно определенного порогового значения "близости", чтобы определять то, что эта "достаточно близкая" клавиша предназначена для ввода в качестве ввода). Например, такие жесты могут использоваться для ввода целого слова при написании с определением формы. Например, языковая модель может использоваться для того, чтобы согласовывать путь росчерка с намеченным словом.

[0026] Например, жесты с определением формы могут использоваться для часто используемых слов (например, "the", "of" или других слов, часто используемых конкретным пользователем) и могут преимущественно предоставлять большую скорость и эффективность при вводе текста, когда пользователь распознает жесты с определением формы. Например, жесты с определением формы также могут использоваться для нечастых слов (т.е. для любого слова, которое находится в словаре). Например, по мере того, как пользователи приобретают опыт с технологиями написания с определением формы, они могут демонстрировать тенденцию писать с определением формы все более и более нечасто возникающие слова.

[0027] При использовании в этом контексте, жест в виде "радиального росчерка" или "радиального ввода", в общем, может означать очень короткие линейные (т.е. практически прямые, практически без точек изгиба или нелинейных углов, включенных в жест) росчерки или жесты, которые выполняются посредством перемещения в конкретном направлении (например, вниз, влево, вправо и т.д., когда устройство держится в нормальной позиции для использования) после начального касания.

[0028] При использовании в этом контексте, жест в виде "радиального росчерка" или "радиального ввода" также может означать более длинные росчерки. Например, такие более длинные росчерки могут использоваться в радиальных меню (например, длинные прямые вертикальные росчерки, интерпретируемые в качестве повторяющегося жеста нажатия клавиши Backspace).

[0029] При использовании в этом контексте, жест в виде "радиального росчерка" или "радиального ввода" также может означать росчерки с одной точкой изгиба (например, чтобы обеспечивать возможность иерархических (вложенных) радиальных меню).

[0030] При использовании в этом контексте, "намерение" может означать намерение пользователя при вводе с клавиатуры. Например, пользователь может намереваться вводить слово "we" по мере того, как он непрерывно осуществляет ввод в виде жестов от клавиши "w" к клавише "e" на клавиатуре. При использовании в этом контексте, "устранение неоднозначности намерений" может означать устранение неоднозначности потенциальных намеченных представлений вводов, вводимых на клавиатуре и намеченных посредством объекта (например, пользователя), который предоставляет ввод в виде ввода с клавиатуры.

[0031] В соответствии с примерными технологиями, поясненными в данном документе, клавиатура может включать в себя интеграцию простых быстрых комбинаций росчерков для примерных клавиш (например, клавиши, которые являются избыточными в силу быстрых комбинаций росчерков и за счет этого могут исключаться из клавиатуры, которая поддерживает быстрые комбинации росчерков), и/или функций, поясненных выше, и других жестов, при одновременной поддержке технологий "написания с определением формы". Например, эта интеграция может предоставлять гибридный подход, который комбинирует простые преимущества по производительности примерных жестов в виде росчерка с долгосрочным приобретением полных навыков написания с определением формы, которые (при обеспечении более высокого максимального уровня производительности) могут предусматривать большие инвестиции в практику и обучение пользователя, с тем чтобы полностью извлекать выгоду из них.

[0032] Фиг. 1A иллюстрирует примерную графическую или печатную QWERTY-клавиатуру 100A с поддержкой быстрых прикосновений плюс жестов с опущенными клавишами Space, Backspace, Shift и Enter. Например, альтернатива фактическому полному опусканию/исключению заключается в том, чтобы иметь одну или более клавиш, значительно уменьшенных по размеру и/или комбинированных в одну клавишу, т.е. существенное опускание этих клавиш. Аналогично, она может означать стандартную клавиатуру (со всеми клавишами), доступными в качестве вкладки или пункта, и клавиатуру с некоторыми или всеми этими клавишами, опущенными, с нахождением на другой вкладке или в качестве другого пункта, согласно пользовательскому предпочтению. В этом контексте, "удалять" и его разновидности, такие как "опускать", "удаление (removal)" или "удаление (removing)" означают фактическое опускание (или существенное опускание).

[0033] Как можно видеть, через опускание, могут подставляться числовые/специальные символы, например, верхняя строка стандартной QWERTY-клавиатуры (цифры от одного до девяти и нуль, а также выбираемые по нажатию клавиши Shift символы над ними) предоставляется в пространстве, освобожденном посредством опускания избыточных клавиш. Например, клавиша 102 "7" показана как имеющая альтернативы радиального ввода "\", "and" и "/", доступные через радиальные росчерки вверх и влево, вверх и вверх и вправо, соответственно. Например, быстрое прикосновение к клавише 102 "7" предоставляет логический вывод в отношении того, что пользователь намеревается вводить "7". Тем не менее, касание на клавише 102 "7" с последующим коротким росчерком (практически линейным, очень коротким жестом) вверх и в направлении перемещения влево (вверх и влево, с точки зрения пользователя) может предоставлять логический вывод в отношении того, что пользователь намеревается вводить "\" в качестве жеста в виде радиального ввода (т.е. росчерка в виде радиального ввода). Например, эти дополнительные символы в расчете на клавишу могут быть расположены на клавише таким образом, что соответствующий жест может быть естественно интуитивным (например, ввод "\", заключающий в себе жест вверх и влево с точки зрения пользователя, и ввод "/", заключающий в себе жест вверх и вправо с точки зрения пользователя). Дополнительно, клавиша "9" и клавиши "0", соответственно, включают в себя фигурные скобки, круглые скобки и скобки, так что росчерк для того, чтобы открывать одну пару (на клавише "9"), интуитивно связан и представляет собой противоположный тип росчерка или жеста для того, чтобы закрывать пару (на клавише "0"), для интуитивной простоты при вводе в виде радиального ввода.

[0034] Как показано на фиг. 1A, в примерной клавиатуре 100A, вплоть до трех, вместо одного, вспомогательных символов (включающих в себя знаки и команды и т.д.) могут добавляться к базовым клавишам клавиатуры, приводя к четырем символам в расчете на клавишу, в качестве жестов или росчерков через радиальное меню. Таким образом, например, три направленных вверх росчерка: вверх и влево, вверх и вверх и вправо, могут использоваться для того, чтобы отличать между тем, какой из трех вспомогательных символов выбирается. Символ "вверх" (например, звездочка "*") может представлять собой символ, нормально связанный с ассоциированным первичным символом (например, в нижнем регистре, для букв) на стандартных QWERTY-клавиатурах, и отображается как позиционированный между другими двумя выбранными росчерком символами. Следовательно, общее направление направленного вверх росчерка соответствует позиции выбранного символа (причем нажатие вверх и влево выбирает выбираемый по нажатию клавиши Shift с росчерком влево символ плюс "+" для клавиши 106 "8", а росчерк вверх и вправо - выбираемый по нажатию клавиши Shift с росчерком вправо символ минус "-"). В других реализациях, может быть большее (или меньшее) число жестов в расчете на клавишу (в силу этого обеспечивая большее (или меньшее) число символов и/или команд в расчете на клавишу) и/или большее число жестов, которые могут инициироваться в любом месте на клавиатуре. Таким образом, переключение на вторичную клавиатуру, чтобы обеспечивать эти дополнительные вводы, может существенно уменьшаться (или исключаться).

[0035] Например, дополнительные символы в расчете на клавишу могут визуально отображать серым цветом (или другая визуальная помощь, чтобы отменять выделение дополнительных символов в видимости), чтобы обеспечивать более удобочитаемое восприятие для пользователя при наборе. Например, видимая клавиатура может иметь черный (или аналогично темный) цвет фона с белыми (или аналогично более светлыми) отпечатками символов на клавишах. Таким образом, дополнительные символы могут выглядеть на отображаемой клавиатуре как в меньшей степени выделенные по сравнению с "базовым" символом клавиши, с тем чтобы помогать в "разделении" видимости для пользователя.

[0036] Например, использование вспомогательных и первичных знаков добавленных клавиш (как показано) перемещает символы в первичную клавиатуру из вторичной клавиатуры. Например, другие символы, которые появляются на типичной QWERTY-клавиатуре, также могут появляться наверху и внизу справа. Посредством опускания клавиш Space, Enter, Shift и Backspace, эта клавиатура может предоставлять намного большее число символов при потреблении идентичной области сенсорной поверхности и наличии идентичного размера клавиш (или различных размеров клавиш), например, с другими клавиатурами с гораздо меньшим числом символов. Немедленный доступ к этим обычным символам, который предоставляет этот механизм, обеспечивает значительное повышение скорости ввода текста и уменьшает сложность.

[0037] Как показано на фиг. 1A, область отображения для списка 104 рекомендаций альтернатив может предоставляться для отображения альтернатив в контексте (например, альтернатив слов, альтернатив жестов и т.д.) по мере того, как пользовательский ввод осуществляется на клавиатуре 100A. Например, рекомендации (предложения) могут предоставляться по мере того, как пользователь осуществляет ввод. Например, пользователь может выбирать альтернативу из списка, которая дополнительно может включать в себя выбираемый пункт отмены последнего действия. Например, подтвержденное слово, введенное в редактор, может отображаться в качестве цветного (например, через зеленую окраску) в списке 104 рекомендаций альтернатив, чтобы визуально отличать его от других рекомендаций альтернатив. Хотя не показано, список 104 рекомендаций альтернатив может отображаться на отдельном дисплее, в дополнение или вместо клавиатуры 100A. Например, список 104 рекомендаций альтернатив может отображаться в отдельном окне, позиционированном поблизости от отображаемого (например, вводимого) текста.

[0038] Фиг. 1B иллюстрирует примерную графическую или печатную QWERTY-клавиатуру 100B, которая включает в себя клавиши для ввода Space 110, Backspace 112, Shift 114 и Enter 116. Например, цифровые клавиши типично могут предоставляться на типичных традиционных клавиатурах, но могут предоставляться в другом слое клавиатуры, что предусматривает переключение слоев клавиатуры для того, чтобы осуществлять доступ к цифровым клавишам.

[0039] Фиг. 2 иллюстрирует примерные жесты на примерной графической или печатной клавиатуре 100 с поддержкой быстрых прикосновений плюс жестов, при этом стрелки представляют некоторые примеры коротких пользовательских жестов. Специалисты в области техники вычислительных устройств должны принимать во внимание, что более тщательно продуманные жесты могут обнаруживаться и использоваться, тем не менее, жесты в форме простых росчерков показаны для простоты пояснения. Например, короткие росчерки могут быть интуитивными и простыми для запоминания пользователям после обучения. В некоторых реализациях, длина росчерка или жеста также может приниматься во внимание. Например, очень короткий росчерк может трактоваться в качестве быстрого прикосновения. В качестве другого примера, профиль силы быстрого прикосновения может использоваться для такого логического вывода. Например, касание с резким профилем начала приложения силы может логически выводиться в качестве намерения быстрого прикосновения, тогда как менее резкий профиль начала может логически выводиться как указывающий намеренные смахивающие движения (например, с использованием высокой частоты дискретизации, приблизительно 1 кГц, чтобы надежно опознавать эту кривую начала приложения давления).

[0040] Например, короткий линейный росчерк 202 влево может трактоваться в качестве клавиши Backspace, а более длинный линейный росчерк влево может трактоваться в качестве команды удаления предыдущего слова или выбора предыдущего слова. Например, короткий линейный росчерк 204 вправо может трактоваться в качестве клавиши Space. В некоторых реализациях, также могут рассматриваться скорость, ускорение и/или динамический характер росчерка или жеста.

[0041] На фиг. 2, любая клавиша, к которой выполняется быстрое прикосновение (например, контакт и отрыв), может вести себя аналогично клавишам на других сенсорных клавиатурах. Таким образом, быстрое прикосновение может предоставлять логический вывод символа или функции (например, указываемой посредством знака, представленного на отображаемой клавише) клавиши, к которой выполняется быстрое прикосновение. Таким образом, на примерной клавиатуре 100, если к клавише "a" выполняется быстрое прикосновение, "a" в нижнем регистре логически выводится в качестве намеченного клавиатурного ввода пользователя.

[0042] В соответствии с некоторыми примерными технологиями, поясненными в данном документе, жест может использоваться, например, для того, чтобы инициировать действие, причем действие удержания после инициирования используется для того, чтобы переходить в состояние управления. Например, росчерк 202 влево при отрыве может распознаваться в качестве клавиши Backspace, тогда как идентичный росчерк, но с последующим удержанием конечной позиции росчерка вместо отрыва, может инициировать автоматически повторяющуюся клавишу Backspace. Например, перемещение влево после этой точки может использоваться для того, чтобы ускорять автоповтор. Например, перемещение вправо может использоваться для того, чтобы замедлять автоповтор и потенциально менять направление автоповтора, чтобы заменять удаленные символы. Например, автоматически повторяющаяся клавиша Backspace может быть ограничена только определенными клавишами (например, может быть ограничена только цифровыми клавишами, поскольку слова типично не содержат числа в своих телах), чтобы не допускать существенной неоднозначности с другими жестами для написания с определением формы. Например, многие пользователи могут часто использовать функциональность клавиши Backspace, и такое ограничение может существенно помогать в устранении неоднозначности.

[0043] В соответствии с примерными технологиями, поясненными в данном документе, если пользователь касается практически любого места клавиатуры и выполняет росчерк вправо, символ пробела может логически выводиться, как проиллюстрировано посредством жеста 204. В соответствии с примерными технологиями, поясненными в данном документе, росчерк влево может представлять клавишу Backspace. Таким образом, например, если пользователь касается (практически) любого места клавиатуры и выполняет росчерк влево, он может указывать клавишу Backspace, что может приводить к удалению одного или более предыдущих введенных символов. Это проиллюстрировано посредством жеста 202. Например, определенные клавиши могут не реагировать на эти жесты (например, клавиши на краях экрана, такие как клавиша Ctrl, могут иметь собственные меню). Например, эти жесты могут использоваться практически в любом месте, которого пользователь естественно касается в ходе набора нормальных слов, но определенные зоны (например, около краев или на конкретных объектах управления) могут быть зарезервированы для других целей.

[0044] В соответствии с примерными технологиями, поясненными в данном документе, и как показано на фиг. 3, направленный вниз и влево росчерк 302 может предоставлять ввод клавиши Enter (или Return). Таким образом, если пользователь касается любого места клавиатуры и выполняет направленный вниз росчерк влево, клавиша Enter может логически выводиться. Например, предварительно определенные пороговые углы могут использоваться для того, чтобы различать намерение пользователя, например, различать то, является или нет более вероятным направленный влево и незначительно вниз росчерк по сравнению с росчерком для выбора клавиши Backspace или Enter. В одной реализации, для некоторых или всех жестов, пользователь может прекращать жест за пределами отображаемой клавиатуры при условии, что жест инициирован внутри клавиатуры. Как показано на фиг. 3, направленный вверх и вправо росчерк 304 может предоставлять ввод нажатия клавиши Escape. Таким образом, если пользователь касается любого места клавиатуры и выполняет направленный вверх росчерк вправо, клавиша Escape может логически выводиться.

[0045] Специалисты в области техники вычислительных устройств должны понимать, что поскольку росчерки для выбора клавиши Space, Backspace и Enter могут инициироваться в любом месте на клавиатуре, которая представляет собой крупную цель, и поскольку их направление как является простым в артикулировании, так и имеет строгое мнемоническое значение, они могут артикулироваться с использованием баллистического действия с разомкнутым контуром (например, баллистических жестов, не требующих какого-либо управления мелкой моторикой), а не внимательного нажатия клавиши с замкнутым контуром. Результат преимущественно может предоставлять простой для изучения способ значительно повышать скорости ввода текста.

[0046] На фиг. 4, жест 402 в виде линейного направленного вверх росчерка иллюстрирует то, как жест в виде направленного вверх росчерка может обрабатываться в выбираемую по нажатию клавиши Shift версию символа. Таким образом, вместо быстрого прикосновения пользователем, если пользователь выполняет направленный вверх росчерк, в результате получается выбираемая по нажатию клавиши Shift версия этого символа. В примере по фиг. 4, если с клавишей "p" контактируют с последующим направленным вверх росчерком 402 (вместо прямого отрыва пальца или стилуса), как указано посредством жеста 402, в результате получается "P" в верхнем регистре (как показано в области 102 списка альтернатив). Например, палец, выполняющий выбор клавиши Shift, может отпускаться за пределами длины клавиши, поскольку жест инициирован внутри области клавиши (например, палец может отпускаться над областью клавиши). Хотя фиг. 4 показывает "P" в верхнем регистре в области 102 списка альтернатив, также возможно то, что вводы (например, буква в верхнем регистре) могут не появляться в области 102 списка альтернатив.

[0047] В качестве другого примера, общий направленный вверх жест, из предварительно определенной начальной области на клавиатуре, может использоваться для того, чтобы активировать состояние нажатой клавиши Shift для всей клавиатуры (вместо необходимости нацеленного жеста для того, чтобы формировать выбираемый по нажатию клавиши Shift символ, для конкретного символа). Например, это может помогать с обнаружением краевых жестов, если пользователь должен осуществлять ввод в виде жестов из нижней строки клавиш (который может непреднамеренно активировать другую функциональность). В качестве другого примера, направленный вверх жест с двумя пальцами вместо одного (инициируемый в любом месте на клавиатуре) может логически выводиться в качестве клавиши Caps Lock вместо клавиши Shift. Дополнительно, направленный вниз жест с двумя пальцами вниз может восстанавливать состояние по умолчанию. В качестве другого примера, вместо двух жестов пальцами, жест одним пальцем, осуществленный в то время, когда другой палец находится в контакте с клавиатурой, может интерпретироваться как имеющий отличающийся смысл от аналогичного жеста одним пальцем.

[0048] В качестве другого примера, радиальные меню и/или радиальные росчерки могут предоставлять большее число альтернатив для различных клавиш на клавиатуре 100. Например, пользователь может выполнять быстрое прикосновение и удерживать клавишу "E" и получать выбор нескольких символов, доступных через короткие направленные росчерки или жесты. Например, как показано на фиг. 5A-5B, радиальные меню 502 и/или 504 могут предоставлять пункты через направленные короткие росчерки для клавиши "E". Например, радиальное меню 502 или 504 может предоставлять меню различных жестов, которые могут распознаваться из сенсорного ввода (либо ввода с помощью пера, либо ввода через другие объекты ввода) и функции клавиатуры, которая соответствует каждому из жестов. Таким образом, пользователь может уведомляться относительно функций клавиатуры, доступных для ввода, что может позволять жесту соответствовать различной функции клавиатуры в различных приложениях и/или при выполнении для различных клавиш, при уменьшении потенциальной путаницы пользователя. Как показано на фиг. 5A-5B радиальное меню 502 или 504 может предоставлять возможность, например, представления меню пользователю на основе конкретной клавиши, хотя радиальное меню 502 или 504, которое представляется, может представляться независимо от местоположения ввода. Например, радиальное меню 502 или 504 может отображаться как наложенное на клавиатуру и/или на другое устройство отображения, и/или на идентичный дисплей, но около клавиатуры, и т.д. Например, радиальное меню 502 или 504 может отображаться поблизости от ассоциированной клавиши на клавиатуре (например, окружать клавишу). Например, радиальное меню может пониматься пользователем и при необходимости может не отображаться в ходе клавиатурного ввода.

[0049] При использовании радиальных меню, механизм управления клавиатурой может быть выполнен с возможностью включать в себя синхронизацию до показа визуальной помощи. Например, механизм управления клавиатурой может не инициировать отображение радиального меню до тех пор, пока не пройдет предварительно определенное пороговое значение времени.

[0050] Дополнительно, механизм управления клавиатурой может быть выполнен с возможностью ожидать до тех пор, пока пользователь не "прекратит ввод", перед фиксацией результата примерной команды (поскольку пользователь по-прежнему может выбирать другую операцию). Например, если пользователь касается буквы "e" и выполняет росчерк вверх, но не прекращает жест, и решает чтобы выбирать что-то другое, пользователь может модифицировать свою траекторию и перемещаться в другом направлении перед прекращением жеста (и фиксацией).

[0051] В соответствии с примерными технологиями, поясненными в данном документе, прогнозирования слов могут быть интегрированы в примерный механизм управления клавиатурой, вместе или независимо с быстрыми комбинациями росчерков и с написанием с определением формы. Например, жесты быстрой комбинации росчерков могут предоставляться в качестве альтернатив прогнозирования в случае потенциально неоднозначных жестов для написания с определением формы. Например, как показано на фиг. 6A-6B, слово "to" может вводиться в качестве горизонтального росчерка 602 вправо, который потенциально может вызывать путаницу с примерной быстрой комбинацией росчерков для клавиши Space, в зависимости от длины жеста, нарисованного пользователем. Например, механизм прогнозирования слов может использовать словарь, чтобы определять одно или более прогнозирований слов в соответствии с наибольшей вероятностью намеченного слова. Например, механизм предсказания слов также может использовать n-граммную языковую модель, чтобы помогать интерпретировать жест для написания с определением формы. Дополнительная коррекция написания может использоваться, либо в качестве прогнозного скорректированного написания отдельно, либо в комбинации с прогнозированиями слов с наибольшей вероятностью. Дополнительно, прогнозирование слов может персонализироваться для пользователя, чтобы прогнозировать прогнозирования слов с наибольшей вероятностью для конкретной предыстории, с использованием предыстории пользовательского профиля предыдущих слов, используемых и/или выбранных. Например, словарь может использоваться для того, чтобы интерпретировать смыслы для написания с определением формы для ввода. Таким образом, дискретный ввод текста может использоваться в качестве резервного средства для того, чтобы вводить слова, которые отсутствуют в словаре, используемом посредством механизма управления клавиатурой.

[0052] В этом примере, модуль распознавания написания с определением формы может предполагать "to" в качестве намеченного слова, но механизм устранения неоднозначности также может предлагать "(клавиша Space)" в качестве альтернативы прогнозирования в списке 104 рекомендаций альтернатив (наряду с любыми другими альтернативами прогнозирования слов), чтобы обеспечивать простоту и удобства для пользователя при подтверждении жеста в качестве требуемого прогнозирования, за счет этого разрешая неоднозначность жеста. Например, пользователь может выбирать пункт "to" из списка 104. Как показано на фиг. 6B, стрелка-след 604 может указывать "след кометы", который временно иллюстрирует путь и синхронизацию жеста 602. Например, такой "след кометы" может помогать пользователю в визуализации пути жеста на клавиатуре 100, принимаемого посредством механизма управления клавиатурой в качестве ввода.

[0053] В качестве другого примера, если пользователь проводит от клавиши "w" к клавише "e" на QWERTY-клавиатуре, росчерк может неоднозначно интерпретироваться в качестве жеста быстрой комбинации росчерков для клавиши Space или в качестве росчерка для написания с определением формы для слова "we". В соответствии с примерными технологиями, поясненными в данном документе, механизм устранения неоднозначности может предоставлять альтернативы прогнозирования, которые включают в себя как "we", так и "(клавиша Space)", так что пользователь может устранять неоднозначность.

[0054] В соответствии с примерными технологиями, поясненными в данном документе, список 104 рекомендаций альтернатив может помогать в разрешении неоднозначностей жеста. Например, хотя типичный список альтернатив слов может предоставлять альтернативные слова, примерные технологии, поясненные в данном документе, также могут явно предоставлять жесты в качестве альтернатив.

[0055] Как показано на фиг. 7A-7C написание с определением формы может использоваться на примерной клавиатуре 100 для того, чтобы вводить целые слова в одном жесте. Как показано в примере по фиг. 7A, пользователь может инициировать жест 702 посредством касания клавиши "r" и горизонтального росчерка влево к клавише "e". Если касание завершено в этот момент, список 104 рекомендаций альтернатив может отображать "re" и "(клавиша Backspace)" в этот момент, поскольку короткие горизонтальные жесты или росчерки горизонтально влево могут (неоднозначно) интерпретироваться в качестве намерения пользователя вводить "клавишу Backspace" (например, как проиллюстрировано посредством короткого линейного росчерка 202 влево, поясненного выше). Как показано на фиг. 7B, жест 702 продолжает перемещение, достигает клавиши "e" и идет под углом вниз, влево, к клавише "a", через точку изгиба при вводе в виде жестов на клавише "w". Если касание завершено в этот момент, список 104 рекомендаций альтернатив может отображать "rea" и "(клавиша Enter)" в этот момент, поскольку короткие жесты или росчерки под углом по диагонали вниз и влево могут (неоднозначно) интерпретироваться в качестве намерения пользователя вводить "клавишу Enter" (например, как направленный вниз и влево росчерк 302, поясненный выше). Список 104 рекомендаций альтернатив также может отображать другие потенциальные альтернативы для текущего жеста, включающие в себя "rew", "ra", "re" и "(клавиша Backspace)" (из предыдущего логического вывода), если касание завершено в этот момент. Например, если касание завершено в этот момент, механизм устранения неоднозначности может логически выводить то, что "клавиша Backspace" не подразумевалась ранее, поскольку жест теперь выполняется под углом в другом направлении.

[0056] Как показано на фиг. 7C, жест 702 продолжает перемещение, достигает клавиши "a" и идет под углом вправо, горизонтально, к клавише "d", через точку изгиба при вводе в виде жестов на клавише "a". Как показано на фиг. 7C, список 104 рекомендаций альтернатив может отображать "read" и "(клавиша Space)" в этот момент, поскольку короткие жесты или росчерки под углом горизонтально вправо могут (неоднозначно) интерпретироваться в качестве намерения пользователя вводить "клавишу Space" (например, как проиллюстрировано посредством короткого линейного росчерка 204 вправо, поясненного выше). Список 104 рекомендаций альтернатив также может отображать другие потенциальные альтернативы для текущего жеста, включающие в себя "rad", "reading", "reader", "ready" и "ras", как показано. Например, механизм устранения неоднозначности может теперь логически выводить то, что "клавиша Enter" не подразумевалась ранее, поскольку жест теперь выполняется под углом в другом направлении.

[0057] Например, механизм устранения неоднозначности также может логически выводить намерение пользователя через поиск по словарю в словаре, ассоциированном с написанием с определением формы. Например, механизм прогнозирования слов, с использованием такого словаря, может предоставлять такие варианты, как "read", "rad", "reading", "reader" и "ready", в качестве вероятных намеченных слов для жеста для написания с определением формы, временно проходящего по клавишам для букв "r", далее "e", далее "a", далее "d".

[0058] Например, визуальные индикаторы могут предоставляться в качестве обратной связи для пользователя клавиатуры, которая может указывать различные аспекты росчерков по мере того, как они вводятся. Например, "след кометы" может отображаться в ходе выполнения росчерка (например, отображаться как наложенный на клавиатуру), чтобы визуально, графически указывать начальную точку и временной путь росчерка на клавиатуре, по мере того, как он выполняется. Например, такая обратная связь может продолжать отображаться после выполнения росчерка, чтобы позволять пользователю предоставлять дополнительный ввод (например, выбор отображаемых альтернатив или отбрасывание одной или более текущих отображаемых альтернатив, или отмену последнего ввода с помощью жестов/росчерков). Например, след кометы может казаться более толстым (и более ярким) в точках отображения на клавиатуре, касание (или "сильное нажатие") которых выполнено позднее в ходе выполнения росчерка, и может казаться более тонким (и менее ярким) в точках отображения на клавиатуре, касание которых выполнено раньше (например, предоставление графической временной предыстории росчерка по мере того, как он продолжается до завершения). Например, след от росчерка в виде стрелки может использоваться для того, чтобы предоставлять графическую временную предысторию росчерка (например, указывающую направление росчерка временно в ходе выполнения). Например, цвет также может использоваться для того, чтобы указывать то, что жест ясно интерпретирован (например, хвост кометы переключается на зеленый цвет, чтобы указывать "понятно", или на красный цвет, чтобы указывать "непонятно", как только жест завершается). Таким образом, пользователю может предоставляться графический вывод, чтобы верифицировать свое намерение при вводе с помощью росчерков/жестов, в качестве части примерной технологии устранения неоднозначности.

[0059] Дополнительно, хотя не показано явно на чертежах, цвета и оттенки могут использоваться (например, средний серый для выбираемых по нажатию клавиши Shift символов и ближе к истинному белому цвету для самих чисел), чтобы предоставлять визуальную простоту понимания текущих состояний клавиатурного ввода. Также могут использоваться другие визуальные индикаторы, например, клавиши могут отображаться как соединенные, когда клавиатура находится в режиме написания с определением формы. Специалисты в области техники вычислительных устройств должны понимать, что любой тип графической технологии может использоваться для того, чтобы предоставлять такую визуальную простоту понимания текущих состояний клавиатурного ввода. Например, тактильная обратная связь может использоваться таким образом, что пользователь может чувствовать то, в каком режиме он находится, и/или может использоваться для того, чтобы направлять палец(цы) пользователя (например, с использованием тактильной текстуры и/или другой тактильной обратной связи, когда палец или объект ввода пересекает границы клавиши при вводах для написания с определением формы, в отличие от вводов через радиальные меню). Дополнительно, аудиометки могут использоваться, с/без тактильной обратной связи.

[0060] В соответствии с примерными технологиями, поясненными в данном документе, прогнозирования слов (или других знаков), поясненные выше, могут предоставлять список альтернатив прогнозирования, которые могут включать в себя как потенциальные возможные варианты написания с определением формы, так и альтернативы короткого росчерка (или радиального ввода), которые могут явно указывать росчерки в виде радиального ввода и/или быстрые комбинации росчерков в качестве прогнозирований. Например, список может включать в себя явные текстовые имена и/или графические объекты, которые представляют альтернативы короткого росчерка (или радиального ввода) (например, текст "(клавиша Space)", перечисленный в качестве альтернативы). Например, такой список альтернатив может позволять пользователю предоставлять ввод для устранения неоднозначности в форме выбора из списка альтернатив прогнозирования. В соответствии с примерными технологиями, поясненными в данном документе, прогнозирования могут отображаться на клавиатуре (например, наверху клавиатуры) или в ассоциации с клавиатурой по мере того, как жесты вводятся. В соответствии с примерными технологиями, поясненными в данном документе, прогнозирования могут отображаться на клавиатуре, вместе с выбираемым вариантом отмены последнего действия (например, в качестве графического выбираемого знака отмены последнего действия и/или в качестве выбираемого текстового пункта).

[0061] В соответствии с примерными технологиями, поясненными в данном документе, пользователь может указывать выбор альтернативы в списке 104 рекомендаций альтернатив через росчерки в виде радиального ввода. Например, пользователь может предоставлять росчерк прямо вниз (на клавише или нет), чтобы выбирать из прогнозирований слов/жестов наверху клавиатуры (если таковые имеются). Если прогнозирования отсутствуют, это может логически выводиться в качестве пустой команды. Например, росчерк прямо вниз выбирает вариант выбора по умолчанию (первый) в списке. Например, росчерк прямо вниз с изгибом на 45 градусов вправо может логически выводиться в качестве выбора второго варианта выбора. Например, росчерк прямо вниз с изгибом на 90 градусов вправо может логически выводиться в качестве выбора третьего варианта выбора. Альтернативно, пользователь также может выполнять быстрое прикосновение к отображаемому предложению альтернативы, чтобы выбирать его.

[0062] В соответствии с примерными технологиями, поясненными в данном документе, другая примерная реализация для выбора прогнозирования с написанием с определением формы может предусматривать отображение радиального меню с выборами, как только они доступны, и пользователь замедляется с пальцем или другим объектом ввода (например, что означает то, что жест, скорее всего, завершается). Например, радиальное меню может появляться непосредственно в местоположении пальца, когда палец замедляется. Например, если пользователь затем ускоряется снова (например, поскольку он фактически не завершал свое действие для всего слова), промежуточные рекомендации в радиальном меню могут постепенно исчезать, и пользователю может предоставляться отображение другого радиального меню с рекомендациями, когда палец замедляется снова. Например, выбор вниз может быть прогнозированием по умолчанию. В этом примерном сценарии, короткий росчерк вниз может использоваться для того, чтобы выбирать прогнозирование по умолчанию.

[0063] В соответствии с примерными технологиями, поясненными в данном документе, определенные низкочастотные слова могут опускаться или удаляться из словаря слов с учетом потенциальной путаницы с обычно вводимыми быстрыми комбинациями росчерков. Например, слово "igg" имеется в английских словарях (сленговое слово: игнорировать или пренебрежительно обходиться), но в настоящее время редко используется, и в силу этого может опускаться из примерного словаря написания с определением формы, с тем чтобы игнорировать возможный конфликт с примерным жестом нажатия клавиши Enter (например, росчерком вниз и влево), который в случае артикулирования с началом около клавиши "i", может инициировать распознавание формы этого слова. Например, словарь слов может исключать низкочастотные термины, которые могут вызывать конфликт между прямолинейными росчерками через радиальные меню и (нечастым) написанием с определением формы слов. Например, в общем, может быть желательным иметь довольно полный словарь, даже для низкочастотных слов, но когда эти слова определяются как имеющие значительно большую вероятность (например, приблизительно 90%-ю вероятность или выше) представлять собой некорректно распознаваемые жесты в виде росчерка, может быть более желательным опускать их.

[0064] В соответствии с примерными технологиями, поясненными в данном документе, сенсорный ввод и ввод с помощью пера могут использоваться на клавиатуре. Например, выбор модальности касаний или пера может использоваться для того, чтобы отделять функциональность написания с определением формы от функциональности жестов в виде росчерка. В соответствии с примерной технологией, жесты в виде росчерка могут артикулироваться только посредством касания, а жесты для написания с определением формы могут артикулироваться только с пером. Альтернативно, ввод с помощью пера и сенсорный ввод может трактоваться одинаково. Дополнительно, ввод с помощью мыши может использоваться для того, чтобы отличать ввод для написания с определением формы от ввода с помощью жестов в виде росчерка. Специалисты в области техники вычислительных устройств должны принимать во внимание, что также могут использоваться другие формы ввода (с другими объектами ввода).

[0065] В соответствии с примерной технологией, режим только для касания может активироваться, чтобы явно обеспечивать возможность написания с определением формы с помощью пальца.

[0066] Фиг. 8 иллюстрирует примерное меню 802 справки по радиальным жестам, ассоциированное с функциональностью радиальных жестов. Например, пользователь может осуществлять доступ к меню 802 радиальных жестов посредством осуществления управляющего ввода, предназначенного для того, чтобы инициировать отображение меню 802 радиальных жестов. Например, меню 802 радиальных жестов может отображаться в качестве плавно выдвигающегося вверх меню из местоположения клавиатуры (например, местоположения клавиши), после того, как пользователь выполнил ввод в виде касания и удержания, по меньшей мере, в течение предварительно определенного порогового значения времени, ассоциированного с меню 802 радиальных жестов. Как показано на фиг. 8, если пользователь выполняет такой ввод в виде касания и удержания для клавиши "e", то меню 802 радиальных жестов может предоставляться в качестве плавно выдвигающегося вверх экранного меню, которое является видимым пользователю в области поверх нажатой клавиши (например, клавиши "e", как показано на фиг. 8), так что пользователь может иметь возможность просматривать пункты радиальных меню без закрывания пунктов посредством пальца пользователя (или другого объекта, используемого для клавиатурного ввода). Дополнительно, например, меню 802 радиальных жестов может отображаться и быть прозрачным, чтобы предоставлять, по меньшей мере, некоторую видимость клавиш, которые находятся под его отображением. Как показано на фиг. 8, радиальное меню может предоставлять справку касательно того, что росчерк влево может представлять клавишу Backspace, росчерк вправо может представлять клавишу Space, направленный вверх росчерк может представлять верхний регистр, а направленный влево и вниз росчерк может представлять клавишу Enter. Таким образом, например, если пользователь касается любого места клавиатуры и выполняет одно из этих росчерков, он может указывать соответствующий клавиатурный ввод, как указано в меню 802 справки по радиальным жестам.

[0067] Фиг. 9 иллюстрирует примерное устройство 902 с присоединенной клавиатурой 100, показывающее слово "hello" на дисплее 902 (который может представлять собой сенсорный дисплей или несенсорный дисплей) после того, как пользователь выбирает альтернативу "hello" из списка 104 рекомендаций альтернатив. Как показано на фиг. 9, компонент 904 ввода-вывода может быть включен в устройство, например, чтобы получать ввод из и предоставлять вывод в клавиатуру 100A. Хотя не показано, список 104 рекомендаций альтернатив может отображаться на дисплее 902, в дополнение или вместо клавиатуры 100A.

[0068] В соответствии с примерными технологиями, поясненными в данном документе, конечный автомат может использоваться в качестве части устранения неоднозначности различных жестов в виде ввода. Например, механизм устранения неоднозначности может получать данные клавиатурного ввода, указывающие ввод данных росчерков или данных жестов. Например, предварительно определенные пороговые значения могут использоваться для того, чтобы определять то, соответствуют ли данные росчерков радиальному вводу (например, быстрой комбинации росчерков) или росчерку для написания с определением формы. Например, модуль интерпретации данных ввода может определять длину росчерка, а также начальную точку и направление росчерка. Например, если пользователь (в данный момент) находится в режиме "быстрого прикосновения", а затем касается и удерживает клавишу с последующим направленным перемещением на другую клавишу, которая отделена, посредством нескольких клавиш, от клавиши, касание которой первоначально выполнено, то изменение режима ввода на режим написания с определением формы может прозрачно предоставляться.

[0069] Возможны другие критерии, например, включающие в себя профиль давления росчерка, подписи датчиков движения (трехосного акселерометра и гироскопа) для логического вывода типа, местоположения и характера касания на основе результирующего профиля движения и/или полностью мгновенную трехмерную ориентацию, извлекаемую из сбора и обработки показаний от различных датчиков (акселерометра, гироскопа и магнитометра). Специалисты в области техники вычислительных устройств должны принимать во внимание, что предусмотрено множество способов уточнять сенсорный ввод на основе таких сигналов датчиков или регулировать или улучшать обработку касаний посредством логического вывода типа касания (например, вводы с помощью большого пальца или вводы с помощью указательного пальца) из комбинированных сигналов движения и касания. Например, эти каналы могут использоваться для того, чтобы определять тип ввода, например, в качестве дополнительных признаков, которые могут использоваться в подходе на основе машинного обучения, чтобы разрешать неоднозначность вводов.

[0070] Например, модуль интерпретации данных ввода может определять то, включает или нет росчерк в себя одну или более точек изгибов и соответствующих углов, ассоциированных с изменениями направления росчерка, в каждой соответствующей определенной точке изгиба. Например, росчерк с точками изгиба может создавать такое допущение, что росчерк предполагается в качестве росчерка для написания с определением формы. В этом контексте, "точка изгиба" может означать точку, в которой росчерк включает в себя существенные изменения направления в ходе ввода росчерка. Например, точка изгиба может включать в себя точку на кривой, которая отделяет дугу, выгнутую вверх, от дуги, выгнутой вниз, и наоборот. Тем не менее, при написании с определением формы, некоторые слова могут предусматривать только однонаправленное перемещение (например, "we", "to", "all", "rip"), без точек изгиба. Оно представляет собой набор экранных точек в пройденном пути, который считается главным образом вводом для написания с определением формы обнаружения. Например, конечный автомат может использоваться для того, чтобы отслеживать текущие (и предыдущие) режимы ввода с клавиатуры в качестве состояний на схеме состояний. Например, если текущее состояние указывает режим "написания с определением формы", то может быть высокая вероятность того, что следующий клавиатурный ввод должен продолжаться в режиме "написания с определением формы". Таким образом, предыстория режимов ввода может использоваться для того, чтобы логически выводить намерение пользователя в последующих (т.е. следующих во времени) вводах.

[0071] Например, режимы могут изменяться посредством следующего ввода или могут изменяться посредством явных вводов, таких как приложение существенно большего давления к клавише, что может интерпретироваться посредством механизма управления клавиатурой в качестве намерения пользователем изменять режим ввода с клавиатуры. В качестве другого примера, очень слабое касание может интерпретироваться в качестве намерения использовать режим написания с определением формы, а касание с очень сильным надавливанием может интерпретироваться в качестве намерения использовать режимы жеста, отличные от режима написания с определением формы. Например, определения давления (например, на чувствительной к давлению клавиатуре) могут использоваться для устранения неоднозначности ввода.

[0072] Например, посредством сравнения наблюдаемой длины с предварительно определенной пороговой длиной, может быть определено то, что росчерк, выполняемый с большей длиной, с большей вероятностью предназначается в качестве росчерка для написания с определением формы.

[0073] Например, модуль интерпретации данных ввода может определять скорость и/или ускорение выполнения (например, скорость и/или ускорение ввода) росчерка. Например, посредством сравнения наблюдаемой скорости и/или ускорения с предварительно определенной пороговой скоростью и/или ускорением, может быть определено то, что росчерк, выполняемый с большей скоростью и/или ускорением (например, более быстрое, более скоростное), может указывать быструю комбинацию росчерков или жест для написания с определением формы, который пользователь может часто использовать.

[0074] Например, модуль ввода механизма управления клавиатурой может принимать ввод, соответствующий касанию на клавиатуре. Различные свойства касания могут определяться различные свойства касания, такие как местоположение на клавиатуре, площадь поверхности на клавиатуре, которая охватывается посредством касания, и т.д. Например, механизм управления клавиатурой может интерпретировать начальное касание в качестве начального ввода жеста. Например, если начальное касание представляет собой конечное действие жеста, то касание может интерпретироваться в качестве намерения пользователя "выполнять быстрое прикосновение" к этому местоположению клавиатуры, и ввод может интерпретироваться в качестве намеченного ввода клавиши, которая находится практически в местоположении касания, например, в режиме "быстрого прикосновения".

[0075] Например, механизм устранения неоднозначности намерений (например, с помощью конечного автомата, который отслеживает состояния, соответствующие режимам ввода с клавиатуры, когда пользователь осуществляет клавиатурный ввод) может отслеживать такие состояния, как режим "быстрого прикосновения" или "набора", режим "написания с определением формы" и/или ввод в виде "радиального ввода". Например, если последнее состояние перед текущим вводом представляет собой режим "быстрого прикосновения" или режим "набора", то может быть высокая вероятность того, что следующий клавиатурный ввод предполагается как выполняемый в режиме "быстрого прикосновения" или режиме "набора", если временной направленный жест не принимается, причем в этот момент режим может изменяться на другой режим ввода (например, на режим "написания с определением формы"), который затем может рассматриваться как ввод в конечный автомат, чтобы выполнять определение для того, чтобы перемещаться в другое состояние (например, в состояние "написания с определением формы"). Например, если последнее (текущее) состояние представляет собой состояние нахождения в режиме "написания с определением формы", то может быть высокая вероятность того, что следующий клавиатурный ввод должен предполагаться как нахождение в режиме "написания с определением формы". Например, текущий режим ввода может указываться пользователю клавиатуры по мере того, как он продолжает ввод с клавиатуры (например, в качестве индикатора режима ввода с клавиатуры на дисплее клавиатуры или устройства или в качестве визуальных индикаторов, таких как изменение цвета клавиатуры, различный внешний вид одной или более клавиш на клавиатуре и т.д.).

[0076] Например, если после начального касания выполняется перемещение при вводе в виде жестов на клавиатуре в местоположение на клавиатуре, которое отличается от начального местоположения касания, то механизм управления клавиатурой может интерпретировать такое перемещение в качестве намерения пользователем вводить жест. Например, если перемещение превышает предварительно определенную пороговую длину перемещения (например, 20 пикселов), то механизм управления клавиатурой может интерпретировать такое перемещение в качестве намерения пользователем вводить жест для написания с определением формы. Например, предварительно определенная пороговая длина перемещения может определяться в качестве значения, которое зависит от размера клавиатуры, размера и разрешения дисплея и/или значения, которое зависит от того, является дисплей вертикальным, наклонным или горизонтальным и т.д. Например, данные ввода, принимаемые посредством модуля ввода клавиатуры, могут сохранять данные ввода по мере того, как перемещение продолжается, так что механизм управления клавиатурой может интерпретировать ввод как временные состояния, предусмотренные во временном перемещении, ассоциированном с жестом в виде ввода.

[0077] Например, механизм управления клавиатурой может анализировать путь жеста в виде ввода от начального ввода "палец вниз" и далее через каждую стадию "перемещения пальца" до конечного ввода "палец вниз". Механизм управления клавиатурой может использовать такой путь, чтобы интерпретировать жест и определять одно или более потенциальных намерений пользователя. Например, механизм управления клавиатурой может определять потенциальные устранения неоднозначности ввода, чтобы определять то, состоит намерение пользователя в том, чтобы предоставлять ввод в виде короткого росчерка или радиальный ввод либо предоставлять ввод для написания с определением формы.

[0078] Например, механизм устранения неоднозначности намерений может использовать различные свойства ввода, чтобы характеризовать различные касания и перемещения. Например, свойства могут включать в себя длину перемещения (например, "Как далеко перемещен пользовательский ввод?", "Через сколько пикселов или клавиш перемещено перемещение?"), путь перемещения (например, "Через какие буквы или клавиши перемещен пользовательский ввод?", "Через какое направление или направления перемещено перемещение пользователя?", "Где перемещение начато, и где оно завершено (по какому пути оно следовало)?", "Какова длина пути?") и количество времени, используемое для того, чтобы завершать конкретный жест в виде ввода (например, большее используемое время может подразумевать намерение вводить жест для написания с определением формы). Дополнительно, механизм устранения неоднозначности намерений может использовать свойства, которые включают в себя динамику росчерка (например, ускорение, замедление, ускорение и т.д.).

[0079] Дополнительно, свойства могут включать в себя ускорение по скорости ввода по мере того, как жест вводится, пользовательскую предысторию времени, потраченного на просмотр меню, или пользовательскую предысторию, ассоциированную с осуществлением различных типов ввода. Например, наблюдаемые значения могут сравниваться с пороговыми значениями, чтобы помогать в устранении неоднозначности. Например, пользовательский профиль может использоваться для того, чтобы предоставлять информацию относительно предыдущего намерения пользователя в различных типах клавиатурного ввода. Дополнительно, свойства могут включать в себя определение клавиши, касание которой выполнено для того, чтобы начинать ввод с помощью жестов, поскольку жесты в виде короткого росчерка для определенной функциональности могут быть ограничены определенными клавишами (например, автоматически повторяющаяся клавиша Backspace может быть ограничена только цифровыми клавишами).

[0080] Например, если длина перемещения определяется как меньшая предварительно определенного порогового значения длины, то конкретное перемещение может интерпретироваться в качестве намерения пользователем предоставлять короткий жест, который может интерпретироваться в качестве радиального ввода или ввода через радиальное меню. В качестве другого примера, если перемещение инициируется в радиальной области клавиши, и перемещение проходит за радиальной области и продолжается в течение продолжительности, которая превышает предварительно определенное пороговое время, то может логически выводиться такое намерение, что пользователь намеревается использовать режим написания с определением формы (а не ввод в виде радиального ввода или режим быстрого прикосновения).

[0081] Фиг. 10A-10B иллюстрируют примерный конечный автомат, который может использоваться посредством примерного механизма устранения неоднозначности намерений. Как показано на фиг. 10A, схема состояний может использоваться для того, чтобы иллюстрировать состояния и переходы примерного конечного автомата.

[0082] Как показано на фиг. 10A, пользователь может начинать ввод в клавиатуру в состоянии "Начало касания" 1002, причем в этот момент клавиша может записываться на "Запись клавиши (начальной клавиши)" 1004. Пользователь может перемещать палец или другой объект ввода на "Перемещение и касание" 1006, причем в этот момент достигаемое местоположение может добавляться в путь жеста (на "Добавление местоположения в путь жеста" 1008).

[0083] На 1010, определяется то, представляет собой начальная клавиша цифровую клавишу, и то, является или нет путь "достаточно длинным" (например, превышающим предварительно заданную пороговую длину пути жеста). Если да, "повторяющаяся" клавиша выдается на 1012.

[0084] На 1014, определяется то, превышает или нет путь более чем в два раза (2x) ширину клавиши. Если да, режим написания с определением формы активируется на 1016.

[0085] "Перемещение и касание" 1006 итеративно выполняется до тех пор, пока "Завершение касания" 1018 не будет достигнуто, когда текущая активность в виде касания завершается.

[0086] Как показано на фиг. 10B (с началом на "Завершение касания" 1018 из фиг. 10A), выполнение продолжается либо в режиме написания с определением формы 1020 (например, от активации режима написания с определением формы на 1016), либо в режиме быстрого прикосновения 1022.

[0087] Если в режиме быстрого прикосновения 1022, то на 1024 выполняется определение в отношении того, имеется или нет совпадающий радиальный жест для пути. Если да, клавиша для радиального жеста выдается на 1026. Если нет совпадающего радиального жеста для пути, клавиша, к которой выполняется быстрое прикосновение, выдается на 1028. В этом контексте, "выдача" может означать вывод информации из механизма управления клавиатурой (например, отображение информации на устройстве отображения, сохранение информации на носителе хранения данных, печать информации и т.д.).

[0088] Если система находится в режиме написания с определением формы 1020, выполняется определение в отношении того, является или нет путь пустым, на 1030. Если путь является пустым на 1030, режим быстрого прикосновения активируется на 1032, и клавиша, к которой выполняется быстрое прикосновение, выдается на 1028.

[0089] Если путь не является пустым на 1030, выполняется определение в отношении того, имеется или нет соответствующее слово, на 1034. Если да, распознанное слово выдается, на 1036.

[0090] Если нет соответствующего слова на 1034, выполняется определение в отношении того, является или нет путь линейным и не слишком длинным (например, меньшим предварительно определенного порогового значения), на 1038. Если "Нет" на 1038, выполняется определение в отношении того, имеется или нет совпадающее слово по принципу "наилучшего предположения", на 1040. Если имеется совпадающее слово по принципу "наилучшего предположения" на 1040, слово предлагается на 1042. Если нет совпадающего слова по принципу "наилучшего предположения" на 1040, сбой логически выводится, на 1044. В этом контексте, "сбой" означает сбой обнаруживать намерение пользователя из предоставляемых вводов.

[0091] Если определено то, что путь является линейным и не слишком длинным, на 1038, выполняется определение в отношении того, имеется или нет совпадающий радиальный жест для пути, на 1046. Если да, клавиша для радиального жеста выдается, на 1026. Если определено то, что нет совпадающего радиального жеста для пути, на 1046, сбой логически выводится, на 1044. В этом контексте, "сбой" означает сбой обнаруживать намерение пользователя из предоставляемых вводов.

[0092] В соответствии с примерными технологиями, поясненными в данном документе, радиальное меню может запрашиваться через ввод в виде касания и удержания на конкретной клавише, чтобы предоставлять графический дисплей, окружающий клавишу, который указывает направленные короткие росчерки, которые могут вводиться для того, чтобы получать различные символы (или функции), отличающиеся от "базового" символа, которого касаются (например, верхний регистр, другой язык, знаки пунктуации и т.д., получаемый через короткий росчерк в указываемом направлении). В соответствии с примерными технологиями, поясненными в данном документе, радиальное меню может отображаться первоначально как окружающее выбранную клавишу, но затем может плавно выдвигаться вверх (например, после предварительно определенного порогового значения времени) на клавиатуре, чтобы не допускать закрывания дисплея посредством пальца пользователя (или другого объекта ввода с клавиатуры). Независимо от того, графический дисплей окружает клавишу или плавно выдвигается вверх, индикатор того, какое направление и символ выбираются в данный момент, может отображаться, так что пользователь может понимать, что можно ожидать, как только палец (или другой объект ввода) отпускается. В соответствии с примерными технологиями, поясненными в данном документе, пользователь может вводить жесты через росчерки для радиальных меню без запроса радиального меню, и технологии устранения неоднозначности могут использоваться (например, через механизм устранения неоднозначности), чтобы разрешать неоднозначность пользовательских жестов, чтобы различать между вводами с помощью радиальных жестов и жестами для написания с определением формы.

[0093] Фиг. 11 иллюстрирует пример упрощенной обобщенной логики для механизма 1102 управления клавиатурой, в качестве сегментов 1104, 1108 и 1116, которые могут представлять обобщенные сегменты отслеживания ввода в клавиатуру 100 (для простоты прочтения в данном документе), которые могут использоваться посредством механизма управления клавиатурой, чтобы интерпретировать ввод. Например, как показано на фиг. 11, начальный ввод 1106 "касания и удерживания" может определяться в качестве результата приема ввода в виде "касания и удерживания" из клавиатуры 100, с последующим перемещением с "отрывом вверх" при вводе. Конечное определение "отрыва вверх" 1107 затем может логически выводиться, причем в этот момент может логически выводиться такая интерпретация, что пользователь намеревается "выполнять быстрое прикосновение" к конкретной клавише на клавиатуре, чтобы предоставлять его в качестве ввода, соответствующего логическому сегменту 1104.

[0094] Например, начальный ввод 1110 "касания и удерживания" может определяться в качестве результата приема ввода в виде "касания и удерживания" из клавиатуры 100 с последующим однонаправленным перемещением при вводе. Логический вывод "альтернатив" 1112 затем может вводиться с последующим перемещением с "отрывом вверх" при вводе. Например, "альтернативы" 1112 могут включать в себя последовательность начальной клавиши с последующим росчерком или начальной клавиши с последующей другой клавишей. Конечное определение "отрыва вверх" 1114 затем может логически выводиться, причем в этот момент может логически выводиться такая интерпретация, что пользователь намеревается предоставлять "радиальный ввод" или ввод "для написания с определением формы", как пояснено выше и согласно сегменту 1108. Например, примерные технологии устранения неоднозначности затем могут быть использованы, как подробнее пояснено в данном документе.

[0095] Например, начальный ввод 1118 "касания и удерживания" может определяться в качестве результата приема ввода в виде "касания и удерживания" из клавиатуры 100 с последующим однонаправленным перемещением при вводе. Логический вывод "альтернатив" 1120 затем может вводиться, с последующим перемещением с "направленным изменением" при вводе. Например, "альтернативы" 1120 могут включать в себя последовательность начальной клавиши с последующим росчерком или начальной клавиши с последующей другой клавишей. При написании с определением формы, некоторые слова могут предусматривать только однонаправленное перемещение без точек изгиба. Оно представляет собой набор экранных точек в пройденном пути, который считается главным образом вводом для написания с определением формы обнаружения. Необязательно, логический вывод "точек изгиба" 1122 может вводиться с последующим отличающимся другим вводом. Например, точки изгиба могут анализироваться для того, чтобы определять углы направленного изменения перемещения жеста в виде ввода, а также скорость и/или ускорение перемещения и другие атрибуты перемещения при жесте. Перемещение с "отрывом вверх" при вводе может в конечном счете приниматься. Конечное определение "отрыва вверх" 1124 затем может вводиться, причем в этот момент может логически выводиться такая интерпретация, что пользователь намеревается предоставлять ввод "для написания с определением формы", как пояснено выше и согласно логическому сегменту 1116.

[0096] Тем не менее, росчерк для радиального меню может не предусматривать только однонаправленное перемещение. Например, для радиального меню, пользователь может выполнять росчерк вверх и затем решать перемещаться влево перед прекращением жеста, чтобы вводить клавишу Backspace вместо клавиши Shift. Дополнительно, при написании с определением формы, некоторые слова могут предусматривать только однонаправленное перемещение (например, "we", "to", "all", "rip"), без точек изгиба. Оно представляет собой набор экранных точек в пройденном пути, который считается главным образом вводом для написания с определением формы обнаружения.

[0097] В соответствии с примерными технологиями, поясненными в данном документе, жесты для написания с определением формы могут отличаться от вводов в виде радиального ввода через различные атрибуты ввода. Например, механизм устранения неоднозначности может определять различное давление, используемое пользователем для того, чтобы вводить жесты для написания с определением формы, в отличие от ввода в виде радиального ввода (например, слабое касание/наведение для написания с определением формы, более сильное касание/наведение для ввода в виде радиального ввода). Например, считывание давления касания и/или считывание над дисплеем может использоваться для того, чтобы обнаруживать такие различные давления для определения того, предполагается ввод в качестве ввода для написания с определением формы или в качестве ввода в виде радиального ввода.

[0098] Например, для клавиатур, которые поддерживают считывание пера и считывание касаний, ввод с помощью пера может указывать то, что ввод предполагается в качестве ввода для написания с определением формы, в то время как сенсорный ввод может указывать то, что ввод предполагается в качестве жеста в виде росчерка.

[0099] Например, для клавиатур, которые поддерживают считывание мультикасаний, число пальцев, используемых для ввода, может использоваться для того, чтобы отличать вводы. Например, ввод с помощью двух пальцев может интерпретироваться в качестве указания того, что ввод предполагается в качестве ввода для написания с определением формы, в то время как ввод с помощью одного пальца может интерпретироваться в качестве указания того, что ввод предполагается в качестве жеста в виде росчерка.

[0100] Например, механизм устранения неоднозначности также может различать между жестами для написания с определением формы и вводами в виде радиального ввода на основе уровня навыка пользователя (например, опытный пользователь может не предназначать жест нажатия клавиши Enter посредством перемещения объекта ввода или пальца вправо и затем вниз, тогда как новичок может предоставлять такой ввод с таким намерением).

[0101] Например, механизм устранения неоднозначности может различать между жестами для написания с определением формы и вводами в виде радиального ввода на основе предпочтительного языка пользователя.

[0102] Например, механизм устранения неоднозначности может различать между жестами для написания с определением формы и вводами в виде радиального ввода на основе динамики росчерка (например, ускорение, скорость, кривая и т.д.). Например, машинное обучение может использоваться для того, чтобы обучать механизм устранения неоднозначности в устранении неоднозначности этих типов признаков ввода.

[0103] Например, для устройств, которые могут опознавать захват пользователем устройства (например, через датчики силы захвата), механизм устранения неоднозначности может различать между жестами для написания с определением формы, и вводы в виде радиального ввода на основе захвата пользователем устройства (например, захвата корпуса тонкого компьютера и т.д.).

[0104] В соответствии с примерными технологиями, поясненными в данном документе, графический индикатор, такой как "след кометы" может отображаться, чтобы предоставлять графический индикатор для пользователя относительно временного пути жеста. Таким образом, в соответствии с примерными технологиями, поясненными в данном документе, пролистывание вправо может указывать намерение вводить клавишу Space, а более длинный росчерк вправо может указывать намерение вводить клавишу Tab. Альтернативно, пролистывания (например, вместо длинных росчерков) могут инициировать режим написания с определением формы (например, для любого направления росчерка).

[0105] В соответствии с примерными технологиями, поясненными в данном документе, медленные движения с замкнутым контуром могут логически выводиться в качестве намерения переходить в режим управления курсором или перемещения точки вставки, тогда как быстрые баллистические движения с разомкнутым контуром могут логически выводиться в качестве намерения вводить жесты, которые могут предусматривать жесты в виде линейного росчерка и/или жесты для написания с определением формы.

[0106] В соответствии с примерными технологиями, поясненными в данном документе, в режиме точного позиционирования с замкнутым контуром, могут использоваться различные функции управления размещением курсора (или точки вставки), включающие в себя, но не только:

(1) Абсолютное (но косвенное) размещение на основе перемещенного расстояния.

(2) Пропорциональное (относительное) размещение на основе коэффициента усиления, умноженного на перемещенное расстояние.

(3) Пропорциональное или абсолютное управление вплоть до фиксированного порогового значения расстояния перемещения, с различной функцией управления после этого порогового значения перемещения. Например, быстрое прикосновение и удержание с автоповтором на основе синхронизации является одной такой функцией. Например, быстрое прикосновение и удержание с чувствительным к давлению автоповтором является другой функцией. Автоповтор является функцией давления.

(4) Пропорциональное управление с передаточной функцией на основе расстояния и скорости перемещения пальца, например, способом, аналогичным баллистическому управлению, реализованному для движения указателя мыши в Windows XP.

(5) Смешивание пропорционального и абсолютного управления на основе перемещения пальца. Например, пояснение примерных реализаций такого элемента управления доступно в находящемся в общей собственности патенте (США) номер 7202857 и в патенте (США) номер 6707449, каждый из которых озаглавлен "Manual controlled scrolling". Например, основы этого подхода (в контексте сенсорных экранов) приводятся в статье авторов Hinckley и др. "New Applications for the Touchscreen in 2D and 3D Medical Imaging Workstations", In Proc. 1995 SPIE Conference on Medical Imaging: Image Display (SPIE Proceedings), издание 2431, 27 апреля 1995 года, стр. 561-570.

(6) Любое из вышеуказанного, с базированием на дискретных перемещениях точек вставки, полностью или частично связанных с физическими стопорами, предоставленными посредством нажатий клавиш, например, на экране, либо нажатий клавиш, которые могут ощущаться на чувствительной к косвенному давлению или касаниям клавиатуре (например, Microsoft Surface Touchcover).

[0107] Как пояснено в патенте (США) номер 6707449, в контексте прокрутки, поясненном в данном документе, при обнаружении перемещения на клавиатуре (или жестов, осуществленных на клавиатуре, для клавиатур с распознаванием приближения), может быть желательным игнорировать движения очень маленького пальца (или другого объекта ввода) при определенных обстоятельствах. Например, может быть желательным игнорировать непреднамеренное небольшое перемещение посредством пальца пользователя на сенсорной поверхности клавиатуры (или посредством объекта ввода в виде жеста поблизости от клавиатуры). Это может быть полезным, если, например, пользователь не может управлять своим пальцем таким образом, что он является абсолютно неподвижным, при удержании пальца на одном месте на сенсорной поверхности (или поверх клавиатуры с распознаванием приближения). Это также может предотвращать "плавание" или кажущееся незначительное перемещение документа на экране отображения, вследствие небольших варьирований показаний датчика и/или дергания пальца пользователя. Когда палец пользователя находится в контакте с поверхностью клавиатуры (или в непосредственной близости от клавиатуры с распознаванием приближения), система может логически выводить то, перемещает или нет пользователь намеренно свой палец, посредством использования комбинации различных пороговых значений перемещения. Решение касательно того, перемещает или нет пользователь намеренно палец, может использоваться в качестве компоновочного блока для нескольких других признаков и распознанных жестов, таких как жесты, которые могут замораживать прокрутку и/или начало режима автоматической прокрутки в некоторых ситуациях и/или в зависимости от данных пользователя. Например, решение также может зависеть от других параметров, таких как окружение (например, система может опознавать то, что пользователь находится в автобусе, где все трясется, и в силу этого пороговое значение может быть другим, система может опознавать то, что тонкий компьютер располагается плоско, в отличие от накладки и удержания пользователем, и т.д.).

[0108] Когда пользователь сначала касается сенсорной поверхности клавиатуры (или перемещает объект ввода в позицию в непосредственной близости от клавиатуры с распознаванием приближения), как обнаружено, может считаться, что позиция пальца пользователя не перемещается на клавиатуре. Состояние неперемещения может быть начальным условием. Состояние перемещения или неперемещения может сохраняться в качестве флага или с использованием любого другого способа для того, чтобы осуществлять состояние "перемещения" или "неперемещения". Если определено то, что перемещение пальца не превышает первое пороговое расстояние (например, расстояние от начальной точки касания) и/или скорость (и/или ускорение) в пределах необязательного первого периода тайм-аута, то палец по-прежнему считается не перемещающимся на клавиатуре, и определение первого порогового значения продолжается. С другой стороны, если движение пальца превышает первое пороговое значение в пределах первого периода тайм-аута, то считается, что палец перемещается (состояние перемещения), и флаг может задаваться соответствующим образом. Этот флаг может сохраняться. Первое пороговое значение, когда задано как расстояние, может задаваться как заданная длина (например, миллиметры или дюймы, пикселы), заданная скорость (например, миллиметры в секунду, пиксели в секунду), заданная процентная доля от длины области прокрутки либо как любая комбинация или субкомбинация означенного. Например, первое пороговое значение может задаваться равным приблизительно 1% от длины области прокрутки области клавиатурного ввода. Система продолжает считать палец перемещающимся до тех пор, пока не истечет второй тайм-аут, в течение которого полное перемещение пальца меньше второго порогового расстояния и/или скорости.

[0109] Например, первый и второй тайм-ауты могут быть идентичными либо они могут отличаться. Например, второй тайм-аут может приблизительно в два раза превышать первый тайм-аут (например, первый тайм-аут может составлять приблизительно 200 миллисекунд, а второй тайм-аут может составлять приблизительно 400 миллисекунд). Дополнительно, второе пороговое значение может составлять приблизительно 0,5% от длины устройства прокрутки. Хотя второе пороговое значение быть меньше первого порогового значения, второе пороговое значение может быть идентичным первому пороговому значению или даже превышающим первое пороговое значение. Если перемещение пальца меньше второго порогового значения, палец снова может считаться не перемещающимся (состояние "неперемещения"), и флаг может задаваться соответствующим образом. Если перемещение пальца превышает второе пороговое значение, то палец по-прежнему может считаться перемещающимся, и процесс продолжается с другой синхронизированной задержкой. Некоторые или все эти этапы могут выполняться последовательно или параллельно, могут комбинироваться в качестве одиночных этапов и/или дополнительно могут подразделяться на дополнительные подэтапы. Хотя вышеприведенное пояснение включает в себя два пороговых значения, специалисты в области техники вычислительных устройств должны понимать, что может использоваться любое число пороговых значений (например, столько пороговых значений, сколько желательно или необходимо).

[0110] Иногда, когда пользователь снимает свой палец с сенсорной поверхности клавиатуры (иначе упоминается в данном документе как "отрыв" или "отпускание"), палец пользователя может непреднамеренно затрагивать или нарушать текущую позицию. Эффекты этого могут уменьшаться посредством поддержания очереди по принципу FIFO ("первым пришел - первым вышел") недавних позиций пальца. FIFO-очередь может сохраняться посредством системы, к примеру, в устройстве хранения данных и/или в запоминающем устройстве. Когда пользователь прерывает контакт с сенсорной поверхностью клавиатуры, система может выполнять поиск в обратном направлении через очередь, чтобы искать выборку, в которой движение определенно (или практически) остановлено. Если такая выборка обнаружена, текущая позиция может регулироваться таким образом, что она задается в этой точке прерывания. Таким образом, если очевидно, что намерение пользователя состоит в том, чтобы остановиться, то позиция должна регулироваться согласно очевидному намерению пользователя.

[0111] С другой стороны, если в очереди не обнаружена такая выборка, которая указывает намеченное прерывание, либо если величина (расстояние) коррекции превышает пороговую величину (измеренную посредством расстояния и/или процентной доли от длины), то позиция может не регулироваться. Причина отклонения большой коррекции заключается в том, что она указывает то, что пользователь, вероятно, перемещает свой палец относительно быстро, когда пользователь отпускает сенсорную поверхность клавиатуры. Это является нередким явлением, поскольку сопротивление или торможение пальца предположительно может естественным образом уменьшаться в ходе процесса отрыва. Соответственно, изменение позиции при таком обстоятельстве может быть полезным, поскольку пользователь подразумевает быстрое движение, и отмена этого движения может противостоять намерению пользователя.

[0112] В контексте "прокрутки", патент (США) номер 6707449 поясняет определение скорости автоматической прокрутки, к примеру, на основе давления или площади контакта пальцев, следующим образом.

[0113] Возможно множество различных функций для преобразования скорости прокрутки в пользовательский ввод. Например, система может использовать фиксированную скорость прокрутки и/или переменную скорость прокрутки на основе различных факторов, таких как скорость перемещения пальцев, давление/площадь контакта пальцев, длительность удержания, число быстрых прикосновений и/или частота быстрых прикосновений. Если используется фиксированная скорость прокрутки, фиксированная скорость может иметь значение по умолчанию, может быть выбираемой пользователем и/или может выбираться посредством приложения, которое обрабатывает/редактирует документ. Переменная скорость прокрутки может позволять пользователю непрерывно регулировать скорость прокрутки по мере того, как он сканирует документ. Возможность непрерывно регулировать скорость прокрутки может предоставлять более управляемый и прогнозируемый интерфейс прокрутки.

[0114] Например, переменная скорость прокрутки может использоваться на основе давления пальцев на сенсорную поверхность устройства прокрутки. Давление пальцев может измеряться непосредственно и/или быть функцией от измеренной площади контакта пальцев на сенсорной поверхности устройства. В такой реализации, может использоваться алгоритм, который нормализует величину контакта пальца для текущего действия прокрутки и/или выполняет экспоненциальное преобразование площади контакта пальцев, чтобы предоставлять управляемый диапазон скоростей прокрутки между медленной и быстрой прокруткой. Например, поскольку пальцы пользователей могут иметь различные размеры, система может автоматически измерять размер пальца при касании и удерживании, когда пользователь выполняет быстрое прикосновение к дисплею. Скорость прокрутки может вычисляться в двух этапах. Например, для каждой выборки давления пальцев на сенсорную поверхность устройства, следующая переменная P может сначала вычисляться:

, (1)

где P является нормализованной оценкой давления на основе площади контакта, K3 является коэффициентом усиления, p является текущим показанием давления, и p0 является давлением, выбранным для точки минимальной скорости, описанной ниже.

[0115] Затем, результат уравнения (1) может использоваться для того, чтобы вычислять скорость прокрутки для текущего дискретизированного давления пальцев:

, (2)

где K4 является коэффициентом усиления, и dy/dt является результирующей вычисленной скоростью прокрутки (t представляет время). Таким образом, с использованием такого уравнения, скорость прокрутки документа является нелинейной функцией площади контакта и/или давления пальцев. Если dy/dt меньше нуля, то dy/dt может задаваться равным нулю. Дополнительно, если dy/dt превышает пороговое значение, dy/dt может задаваться равным этому пороговому значению. Когда скорость dy/dt прокрутки применяется к прокрутке документа, положительное значение dy/dt может использоваться для прокрутки вниз (например), а для прокрутки вверх dy/dt может умножаться на минус один.

[0116] Например, система может определять то, каких из областей устройства касаются, и различные значения коэффициентов K3 и/или K4 усиления могут использоваться для автоматической прокрутки в противоположных направлениях в зависимости от того, какой активной области касаются. Например, области автоматической прокрутки вверх и автоматической прокрутки вниз могут быть ассоциированы с различными коэффициентами K3 и/или K4 усиления. В зависимости от конкретной формы сенсорной поверхности, формы любого обрамления или другого разделителя, который может отделять область прокрутки от областей автоматической прокрутки, и того, возникает или нет автоматическая прокрутка в областях, физически отдельных от области прокрутки, могут возникать различные величины контакта между пальцем пользователя и областями автоматической прокрутки вверх относительно области автоматической прокрутки вниз. Например, палец пользователя, в ходе нормального использования полосы прокрутки, предположительно может находиться под немного отличающимся углом при контакте с активной областью для прокрутки вверх, чем при контакте с активной областью для прокрутки вниз, что приводит к тому, что величина поверхностного контакта больше, когда палец раздвигается, чем тогда, когда палец сдвигается. Соответственно, значения коэффициентов K3 и/или K4 усиления могут задаваться таким образом, чтобы компенсировать эту разность, так что автоматическая прокрутка вверх и автоматическая прокрутка вниз имеют аналогичное ощущение и реакцию по сравнению друг с другом. Коэффициент K4 усиления задается в единицах скорости прокрутки, таких как пиксели в секунду, сантиметры в секунду или текстовые строки в секунду. Значение dy/dt также может иметь единицы, идентичные единицам K4.

[0117] Выбор надлежащего значения для p0 в точке минимальной скорости пояснен ниже, поскольку способы определения значения p0 являются возможными. Например, непосредственно динамика текущего пользовательского жеста может использоваться для того, чтобы определять значение p0 в реальном времени по мере того, как пользователь пытается указывать скорость прокрутки. Например, давление пальцев на сенсорную поверхность устройства для точки минимальной скорости может быть дискретизировано после необязательной задержки после начального контакта. Задержка может быть достаточно длительной для установления пользователем плотного начального контакта с сенсорной поверхностью, к примеру, приблизительно 200 миллисекунд. В течение этой задержки, текущая величина давления пальцев может непрерывно измеряться и использоваться в качестве предварительной оценки для p0, так что пользователь может начинать прокрутку с минимальной воспринимаемой задержки.

[0118] Альтернативно или дополнительно, может налагаться максимальное пороговое значение на скорость прокрутки. Кроме того, может использоваться плавно перемещающееся окно, которое представляет диапазон ожидаемых будущих значений p давления, которые могут быть основаны на одном или более предыдущих значений p давления. Если вычисление dy/dt, как показано выше, приводит к скорости, превышающей максимальное пороговое значение, значение для p0 может повторно вычисляться посредством плавного перемещения окна вверх при таких значениях давления, что текущее значение p давления должно приводить к максимальной пороговой скорости прокрутки. С другой стороны, если давление пальцев опускается ниже нижней части окна, значение p0 может повторно вычисляться посредством плавного перемещения окна вниз. Известный диапазон значений давления, которые могут быть опознаны посредством устройства, может использоваться в качестве основы для выбора начальных минимальных и максимальных давлений по умолчанию окна. Критерии ограничений скорости и/или максимума давления, описанные ниже, могут использоваться в такой стратегии на основе плавно перемещающегося окна. Например, такая технология на основе плавно перемещающегося окна обеспечивает возможность системе автоматически самокалиброваться для различных пользователей, если некоторые имеют грубое касание или крупные пальцы по сравнению с другими пользователями, которые имеют слабое касание или менее крупные пальцы.

[0119] Например, ограничения скорости могут быть использованы для того, чтобы улучшать выбор p0 в точке минимальной скорости. Максимальная и/или минимальная скорость перемещения может налагаться для вышеприведенных уравнений таким образом, что если ограничение скорости превышается, p0 в точке минимальной скорости повторно вычисляется, чтобы удовлетворять ограничению. Это может иметь эффект адаптации опознанных давлений к жесту и типичным скоростям чтения пользователя. Кроме того, поскольку многие сенсорные панели фактически опознают площадь контакта пальцев, чтобы определять давление пальцев, зачастую имеется практическое ограничение на то, насколько сильное "давление" может прикладываться. Знание таких типичных максимальных значений давления может использоваться для того, чтобы помогать выбирать p0 в точке минимальной скорости. Например, если пользователь начинает посредством сильного нажатия на сенсорную поверхность устройства, то документ может сразу быстро прокручиваться, если система знает, что пользователь не имеет возможность дополнительно увеличивать площадь контакта.

[0120] Например, максимум давления или параметры в вышеприведенных уравнениях могут отличаться для различных активных областей, поскольку типичная площадь контакта пальца пользователя с различными областями в различных местоположениях предположительно может варьироваться. Другими словами, скорости прокрутки в различных направлениях могут отличаться в расчете на единицу давления пальцев, прикладываемого к сенсорной поверхности устройства. Регулирования параметров в зависимости от области, которой касаются на сенсорной чувствительной поверхности устройства, могут приводить к тому, что реакция по давлению кажется более согласованной.

[0121] Специалисты в области техники вычислительных устройств должны принимать во внимание, что такие технологии, как пояснено выше в контексте прокрутки, также могут применяться в других контекстах, таких как ввод в виде жестов для других целей.

[0122] Специалисты в области техники вычислительных устройств должны принимать во внимание, что множество других типов свойств ввода данных могут использоваться для устранения неоднозначности без отступления от сущности пояснения в данном документе.

[0123] Специалисты в области техники вычислительных устройств должны принимать во внимание, что может быть предусмотрено множество способов выполнять устранение неоднозначности клавиатурного ввода, поясненное в данном документе без отступления от сущности пояснения в данном документе.

II. Примерное операционное окружение

[0124] Признаки, поясненные в данном документе, предоставляются в качестве примерных вариантов осуществления, которые могут реализовываться множеством различных способов, которые могут пониматься специалистами в данной области техники вычислительных устройств без отступления от сущности пояснения в данном документе. Такие признаки должны истолковываться только в качестве признаков примерных вариантов осуществления и не имеют намерение истолковываться в качестве ограничения только этими подробными описаниями.

[0125] Как подробнее пояснено в данном документе, фиг. 12 является блок-схемой обобщенной системы 1200 для устранения неоднозначности режимов ввода с клавиатуры. Обобщенная система 1200, как показано, предназначена только для того, чтобы иллюстрировать различную примерную функциональность, которая может быть включена в примерные системы, как пояснено в данном документе, и не имеет намерение быть ограничивающей с точки зрения реализаций в различных аппаратных и/или программных конфигурациях.

[0126] Например, система 1200 может включать в себя устройство, которое включает в себя механизм 1206 управления клавиатурой, содержащий машиночитаемый носитель хранения данных, сохраняющий инструкции для выполнения посредством, по меньшей мере, одного процессора. Как показано на фиг. 12, система 1200 может включать в себя устройство 1202, которое включает в себя, по меньшей мере, один процессор 1204.

[0127] Устройство 1202 может включать в себя механизм 1206 управления клавиатурой, который может управлять клавиатурой 1208, которая разрешает ввод для написания с определением формы и ввод в виде радиального ввода. Например, хотя показана как внешняя для устройства 1202 на фиг. 12, устройство 1202 может включать в себя (например, размещать в корпусе) клавиатуру 1208. Механизм 1206 управления клавиатурой может управлять клавиатурой 1208, которая разрешает ввод для написания с определением формы и ввод в виде радиального ввода одновременно, так что пользователь может прозрачно использовать любой тип ввода (а также режим быстрого прикосновения) без необходимости специально переключаться между режимами (например, через переключение клавиш или функций). Например, механизм 1206 управления клавиатурой может поддерживать ввод с помощью радиальных жестов либо в режиме быстрого прикосновения, либо в режиме написания с определением формы.

[0128] Например, графическая или печатная клавиатура 1208 может представляться, чтобы упрощать пользовательский ввод. Например, клавиатура 1208 может занимать всю или почти всю сенсорную область (либо чувствительную к жестам область), и в силу этого ни одна из иллюстраций клавиатуры, показанных или поясненных в данном документе, не имеет намерение представлять какой-либо физический масштаб, размер или ориентацию различных компонентов, представленных на ней. Сенсорная область (или чувствительная к жестам область) может иметь любой тип, включающий в себя мультикасание и/или касание пером. Сенсорная область может представлять собой сенсорный экран либо датчик давления/емкостный датчик или другой датчик под печатной клавиатурой или клавиатурой с распознаванием приближения (физической и/или виртуальной). Дополнительно, ввод с помощью мыши может использоваться с клавиатурой 1208.

[0129] Специалисты в области техники вычислительных устройств должны понимать, что предусмотрено множество форм клавиатур без отступления от сущности пояснения в данном документе.

[0130] Согласно примерному варианту осуществления, механизм 1206 управления клавиатурой либо одна или более его частей могут включать в себя выполняемые инструкции, которые могут сохраняться на материальном машиночитаемом носителе хранения данных, как пояснено ниже. Согласно примерному варианту осуществления, машиночитаемый носитель хранения данных может включать в себя любое число устройств хранения данных и любое число типов носителей хранения данных, включающих в себя распределенные устройства.

[0131] В этом контексте, "процессор" может включать в себя один процессор или несколько процессоров, выполненных с возможностью обрабатывать инструкции, ассоциированные с системой обработки. Таким образом, процессор может включать в себя один или более процессоров, обрабатывающих инструкции параллельно и/или распределенно. Хотя процессор 1204 устройства проиллюстрирован как внешний для механизма 1206 управления клавиатурой на фиг. 12, специалисты в области техники вычислительных устройств должны принимать во внимание, что процессор 1204 устройства может реализовываться как один компонент и/или как распределенные модули, которые могут быть расположены внутренне или внешне по отношению к механизму 1206 управления клавиатурой и/или к любым из его элементов.

[0132] Например, система 1200 может включать в себя один или более процессоров 1204. Например, система 1200 может включать в себя, по меньшей мере, один материальный машиночитаемый носитель хранения данных, сохраняющий инструкции, выполняемые посредством одного или более процессоров 1204, причем выполняемые инструкции сконфигурированы с возможностью инструктировать, по меньшей мере, одному вычислительному устройству (например, вычислительному устройству) выполнять операции, ассоциированные с различными примерными компонентами, включенными в систему 1200, как пояснено в данном документе. Например, один или более процессоров 1204 могут быть включены, по меньшей мере, в одно вычислительное устройство (например, вычислительное устройство). Специалисты в области техники вычислительных устройств должны понимать, что предусмотрено множество конфигураций процессоров и вычислительных устройств, которые могут быть сконфигурированы в соответствии с пояснением в данном документе, без отступления от сущности такого пояснения.

[0133] В этом контексте, "компонент" или "механизм" может означать выполняемые инструкции или аппаратные средства, которые могут быть сконфигурированы с возможностью выполнять определенные операции с помощью аппаратных средств. Такие инструкции могут быть включены в группы компонентов инструкций или могут быть распределены более чем по одной группе. Например, некоторые инструкции, ассоциированные с операциями первого компонента, могут быть включены в группу инструкций, ассоциированных с операциями второго компонента (или дополнительных компонентов). Например, "компонент" или "механизм" в данном документе может означать тип вычислительного объекта, сконфигурированного с функциональностью, которая может реализовываться посредством выполняемых инструкций, которые могут быть расположены в одном объекте либо могут быть разнесены или распределены по нескольким объектам и могут перекрываться с инструкциями и/или аппаратными средствами, ассоциированными с другими компонентами. В этом контексте, "выполняемые" инструкции означают инструкции, которые конкретно сконфигурированы с возможностью выполнения посредством одного или более аппаратных устройств, и не означают программное обеспечение по сути.

[0134] Согласно примерному варианту осуществления, механизм 1206 управления клавиатурой может реализовываться в ассоциации с одним или более пользовательских устройств. Например, механизм 1206 управления клавиатурой может обмениваться данными с одним или более серверов, как подробнее пояснено ниже.

[0135] Например, репозиторий 1216 объектов может включать в себя одну или более баз данных и может быть доступным через компонент 1218 интерфейса баз данных. Специалисты в области техники вычислительных устройств должны принимать во внимание, что предусмотрено множество технологий для сохранения информации репозитория, поясненной в данном документе, такой как различные типы конфигураций баз данных (например, реляционные базы данных, иерархические базы данных, распределенные базы данных) и конфигурации без баз данных.

[0136] Согласно примерному варианту осуществления, механизм 1206 управления клавиатурой может включать в себя запоминающее устройство 1220, которое, например, может сохранять промежуточные данные для механизма 1206 управления клавиатурой. В этом контексте, "запоминающее устройство" может включать в себя одно запоминающее устройство или несколько запоминающих устройств, выполненных с возможностью сохранять данные и/или инструкции. Дополнительно, запоминающее устройство 1220 может охватывать несколько распределенных устройств хранения данных.

[0137] Согласно примерному варианту осуществления, компонент 1222 пользовательского интерфейса может управлять связью между пользователем 1224 и механизмом 1206 управления клавиатурой. Пользователь 1224 может быть ассоциирован с приемным устройством 1226, которое может быть ассоциировано с дисплеем 1228 и другими устройствами ввода-вывода. Например, дисплей 1228 может быть выполнен с возможностью обмениваться данными с приемным устройством 1226 через связь по внутренней шине устройства или, по меньшей мере, через одно сетевое соединение. Например, дисплей 1228 может непосредственно соединяться с приемным устройством 1226.

[0138] Согласно примерным вариантам осуществления, дисплей 1228 может реализовываться как плоскоэкранный дисплей, печатная форма дисплея, двумерный дисплей, трехмерный дисплей, статический дисплей, перемещающийся дисплей, сенсорные дисплеи, к примеру, тактильный вывод, аудиовывод и любая другая форма вывода для обмена данными с пользователем (например, пользователем 1224).

[0139] Согласно примерному варианту осуществления, механизм 1206 управления клавиатурой может включать в себя компонент 1230 сетевой связи, который может управлять сетевой связью между механизмом 1206 управления клавиатурой и другими объектами, которые могут обмениваться данными с механизмом 1206 управления клавиатурой, по меньшей мере, через одну сеть 1232. Например, сеть 1232 может включать в себя, по меньшей мере, одно из Интернета, по меньшей мере, одной беспроводной сети или, по меньшей мере, одной проводной сети. Например, сеть 1232 может включать в себя сотовую сеть, радиосеть или любой тип сети, которая может поддерживать передачу данных для механизма 1206 управления клавиатурой. Например, компонент 1230 сетевой связи может управлять сетевой связью между механизмом 1206 управления клавиатурой и приемным устройством 1226. Например, компонент 1230 сетевой связи может управлять сетевой связью между компонентом 1222 пользовательского интерфейса и приемным устройством 1226. Например, устройство 1202 может быть автономным, при этом процессоры, дисплеи, устройства хранения и т.д. включены в один аппаратный объект (например, планшетный компьютер, тонкий компьютер и т.д.). Например, устройство 1202 может представлять собой автономное устройство с сенсорным экраном.

[0140] Механизм 1206 управления клавиатурой может включать в себя модуль 1240 ввода с клавиатуры, который получает данные 1242 ввода, по меньшей мере, из одного датчика ввода клавиатуры 1208.

[0141] Механизм 1244 устранения неоднозначности намерений предоставляет разрешение на одновременное использование ввода для написания с определением формы и ввода в виде радиального ввода для пользователя клавиатуры 1208.

[0142] Например, модуль 1246 интерпретации данных ввода может анализировать данные 1242 ввода и предоставлять один или более возможных вариантов 1248 обрабатываемых значений, которые включают в себя одно или более из возможного варианта результата ввода для написания с определением формы или возможного варианта результата ввода в виде радиального ввода.

[0143] Например, механизм 1244 устранения неоднозначности намерений может предоставлять множество значений 1250 рекомендаций на основе одного или более возможных вариантов 1248 обрабатываемых значений.

[0144] Например, множество значений 1250 рекомендаций могут включать в себя возможный вариант результата ввода для написания с определением формы и возможный вариант результата ввода в виде радиального ввода, при этом механизм 1206 управления клавиатурой дополнительно может включать в себя модуль 1252 вывода клавиатуры, который предоставляет отображение значений рекомендаций, при этом отображение возможного варианта результата ввода в виде радиального ввода предоставляет графический индикатор, конкретно указывающий логический вывод ввода в виде радиального ввода, ассоциированного с возможным вариантом результата ввода в виде радиального ввода.

[0145] Например, модуль 1246 интерпретации данных ввода может анализировать данные 1242 ввода, чтобы определять возможный вариант результата ввода в виде радиального ввода посредством определения того, включают или нет данные ввода в себя клавиатурный ввод, указывающий ввод в виде короткого росчерка в радиальной области клавиатуры.

[0146] Например, словарь 1254 может опускать вводы для низкочастотных терминов, которые определяются в качестве терминов, которые возникают с низкой частотой, при этом модуль 1246 интерпретации данных ввода может анализировать данные ввода, чтобы предоставлять один или более возможных вариантов 1248 обрабатываемых значений, с использованием словаря 1254.

[0147] Например, интерпретатор 1256 написания с определением формы может анализировать данные 1242 ввода и предоставлять один или более возможных вариантов 1258 результатов написания с определением формы с использованием данных 1242 ввода.

[0148] Например, интерпретатор 1260 радиального ввода может анализировать данные 1242 ввода и предоставлять один или более возможных вариантов 1262 результатов радиального ввода с использованием данных ввода. Например, интерпретатор 1260 радиального ввода может предоставлять результаты радиального ввода и/или вложенные (например, иерархические, многоуровневые) результаты радиального ввода (например, один, или более пунктов радиального меню могут иметь подменю).

[0149] Например, конечный автомат 1264 может отслеживать режимы ввода в механизм 1206 управления клавиатурой.

[0150] Например, клавиатура 1208 может включать в себя чувствительную к давлению клавиатуру, сенсорную клавиатуру или клавиатуру с распознаванием приближения.

[0151] Например, клавиатура 1208 может включать в себя виртуальную клавиатуру.

[0152] Например, клавиатура 1208 может включать в себя механическую клавиатуру с низкой скоростью хода с сенсорными клавишами либо просто сенсорную клавиатуру.

[0153] Например, клавиатура 1208 может включать в себя клавиатуру с множеством клавиш, фактически опущенных и замененных посредством функциональности ввода в виде короткого росчерка.

[0154] Например, графическая или печатная клавиатура может предоставляться на чувствительной к давлению или сенсорной поверхности для приема ввода в виде быстрого прикосновения и ввода с помощью жестов. Например, клавиатура 1208 может быть сконфигурирована с удаленным или опущенным набором клавиш, содержащим, по меньшей мере, одну опущенную или фактически опущенную клавишу, при этом каждая клавиша из опущенного набора клавиш соответствует символу, действию или коду команды, который является вводимым через жест.

[0155] Например, клавиатура 1208 может быть полупрозрачной, чтобы предоставлять полную видимость экрана, который находится под отображением клавиатуры.

[0156] Например, клавиатура 1208 может включать в себя буквенные клавиши и цифровые клавиши в сенсорной области идентичного размера или практически идентичного размера относительно другой клавиатуры, которая включает в себя буквенные клавиши и не включает в себя цифровые клавиши, при этом клавиатура и другая клавиатура имеют буквенные клавиши идентичного размера или практически идентичного размера. Клавиатура 1208 может предоставляться посредством опускания одной или более клавиш из клавиатуры, которые становятся избыточными в силу в силу ввода с помощью жестов. Клавиатура 1208 также может включать в себя цифровые клавиши в типичной компоновке цифровой клавишной панели, размещенные справа или слева от клавиатуры; такая компоновка преимущественно может быть желательной, когда клавиатура отображается в альбомной ориентации экрана (но возможно не в книжной ориентации). Например, размер клавиатуры 1208 может быть регулируемым согласно размеру и альбомной/книжной ориентации устройства отображения.

[0157] Например, могут приниматься данные, соответствующие взаимодействию с клавишей клавиатуры 1208, в которых, по меньшей мере, одна клавиша представляет несколько символов (включающих в себя буквы, числа, специальные символы и/или команды). Если данные указывают то, что взаимодействие представляет первый жест, первое значение символа логически выводится. Если данные указывают то, что взаимодействие представляет второй жест (который отличается от первого жеста), второе значение символа логически выводится. Если данные указывают то, что взаимодействие представляет быстрое прикосновение, связанное с быстрым прикосновением значение символа, представленное посредством клавиши, может логически выводиться.

[0158] Различные примерные технологии, поясненные в данном документе, в общем, могут предусматривать сенсорные графические или печатные клавиатуры, в которых жесты могут заменять определенные клавиши на клавиатуре. Например, замененные клавиши могут становиться необязательными (или в иных отношениях избыточными) в силу жестов. Например, опускание или удаление в иных отношениях избыточных клавиш могут обеспечивать предоставление большего числа клавиш на клавиатуре в идентичной сенсорной области, предоставление более крупных клавиш в идентичной сенсорной области и/или уменьшение объема сенсорной области, занимаемой посредством клавиатуры.

[0159] В качестве примера, быстрое прикосновение к любой буквенной клавише клавиатуры 1208 может выводить символ в нижнем регистре, ассоциированный с этой клавишей, тогда как направленный вверх росчерк, инициируемый на идентичной клавише, может выводить выбираемое по нажатию клавиши Shift значение (например, верхний регистр) выводимого ассоциированного символа, в силу этого исключая необходимость в отдельном быстром прикосновении к клавише Shift. Например, росчерк вправо, инициируемый в любом месте на клавиатуре 1208, может выводить клавишу Space. Аналогично, росчерк влево, инициируемый в любом месте на клавиатуре, может выводить клавишу Backspace, тогда как один наклон вниз влево (например, инициируемый в любом месте на клавиатуре) может выводить клавишу Enter. Например, жесты в виде росчерка могут обеспечиваться в центральном кластере буквенно-цифровых символов, тогда как одна или более периферийных клавиш (например, конкретные клавиши, такие как Backspace или Ctrl, или конкретные области, такие как область цифровой клавишной панели или сенсорной панели для управления курсором (если таковые имеются) могут иметь отличающиеся или только частично перекрывающиеся жесты в виде росчерка, назначенные им, в том числе вообще без жестов, например, в случае управления курсором из начальной области сенсорной панели). Таким образом, меню росчерка могут быть пространственно мультиплексированы (например, потенциально отличаться от некоторых клавиш, или для некоторых наборов клавиш, или для всех клавиш). Кроме того, клавиши около края клавиатуры 1208, в котором жесты в определенных направлениях могут быть невозможными вследствие недостатка пространства (например, росчерк вправо от клавиши на правом краю поверхности, для клавиатуры, правая сторона которой размещена очень близко к обрамлению), в силу чего пользователь может начинать жест больше с центра, чтобы осуществлять ввод (или еще дальше от края).

[0160] Кроме того, в некоторых примерных реализациях, дополнительные модификаторы клавиш (к примеру, клавиша Ctrl, Alt, Windows (клавиша "Пуск"), клавиша вызова правого меню и т.д.) могут быть доступными посредством жестов в виде росчерка с одиночным или мультикасанием для радиального меню, ассоциированного с клавиатурой или с отдельными клавишами, в дополнение или вместо росчерков для выбора клавиши Space, Backspace, Shift и Enter, как пояснено выше.

[0161] Специалисты в области техники вычислительных устройств должны принимать во внимание, что жесты также могут использоваться для того, чтобы вводить другие несимвольные действия (не только клавишу Backspace), к примеру, команды пользовательского интерфейса в общем (например, поля "Предыдущий/Следующий" в заполнении формы, команды перехода, команды поиска и т.д.)., которые иногда имеют представления на программных клавиатурах. Дополнительно, более функциональные или более общие команды (к примеру, "вырезать/копировать/вставить") также могут вводиться посредством жестов, макросы могут активироваться посредством жестов и т.д. Как пояснено в данном документе, интуитивные жесты (например, росчерк вправо для клавиши Space) могут преимущественно предоставлять простоту в изучении и запоминании жестов.

[0162] Как пояснено в данном документе, жесты, в общем, могут быть основаны на направлениях вверх-вниз-вправо-влево (например, север-юг-запад-восток, или N-S-E-W) отображаемой клавиатуры. Тем не менее, направленная ось может вращаться на величину (в противоположных зеркалированных направлениях), в частности, для жестов с помощью большого пальца, поскольку пользователи, намеревающиеся осуществлять ввод в виде жеста вверх с помощью правого большого пальца, могут иметь тенденцию осуществлять ввод в виде жеста больше вверх и вправо (например, NE, в зависимости от текущей ориентации устройства) или вверх, вверх и вправо (например, север-северо-восток). Аналогично, левый большой палец может иметь тенденцию осуществлять ввод в виде жеста больше вверх и влево (например, NW) или вверх, вверх и влево-(например, север-северо-запад). Дополнительно, ориентация устройства также может компенсироваться. Например, если пользователь держит устройство немного боком, жест может использоваться в качестве сигнала продолжать выполнять нажатие клавиши Shift, даже если на опорной плоскости устройства жест представляет собой перемещение вверх и влево или вверх и вправо, в зависимости от ориентации устройства. Определение таких регулирований ориентации может учитывать ориентацию планшетного компьютера, определенную посредством одного или более инерциальных датчиков (например, включающих в себя акселерометры, гироскопы и/или магнитометры) и/или другие типы датчиков (например, видеодатчиков и т.д.).

[0163] В этом контексте, "графическая" клавиатура может означать клавиатуру, которая подготавливается посредством рендеринга на видимой "поверхности", например, сенсорной поверхности отображения или поверхности с распознаванием приближения, и которая в силу этого может программно изменять свой внешний вид. В этом контексте, "печатная" клавиатура может означать клавиатуру, которая ассоциирована с чувствительной к давлению или аналогичной поверхностью (например, встроена в покрытие тонкого или планшетного вычислительного устройства), которая не может программно изменять свой внешний вид, например, клавиатуру, отпечатанную, тисненую, физически наложенную в качестве шаблона или иным способом прикрепленную, либо часть чувствительной к давлению поверхности или поверхности с распознаванием приближения. Следует понимать, что клавиатуры, описанные в данном документе, в общем, могут включать в себя графические клавиатуры или печатные клавиатуры, и/или гибридные клавиатуры (например, печатные клавиатуры с одним или более дисплеев и/или сенсорных экранов на них), и/или, в общем, виртуальные клавиатуры.

[0164] В соответствии с примерными технологиями, поясненными в данном документе, дополнительные жесты могут позволять одной отображаемой клавише представлять несколько символов, например, три или четыре (или больше). В этом контексте, "символ" может означать все, что может вводиться в систему через клавишу, в том числе буквенные символы, цифровые символы, знаки, специальные символы и команды. Например, клавиша может обеспечивать ввод для одного символа для ввода в виде быстрого прикосновения и трех символов для трех дифференцированных направленных вверх жестов, к примеру, один для, в общем, направленного вверх и влево жеста, одного для, в общем, направленного прямо жеста и один для, в общем, направленного вверх и вправо жеста.

[0165] Например, радиальная область вокруг клавиши может иметь возможность предоставлять различные типы ввода, в зависимости от различных жестов, которые могут вводиться в радиальной области. В качестве примера, область, окружающая (или находящаяся в непосредственной близости) клавишу, может разделяться на геометрически размещенные секции (например, на восемь секций) таким образом, что жесты, осуществленные относительно различных секций, могут пониматься как имеющие различные дифференцированные смыслы (т.е. предоставляющие различные клавиатурные вводы). Дополнительно, область, окружающая клавишу, может быть очень большой.

[0166] Например, жест может быть идентичным другому существующему жесту, при этом два аналогичных/подобных жеста различаются, например, посредством своих начальных местоположений на клавиатуре или жестов, которые пересекают границу поверхности (обрамление).

[0167] Также могут использоваться другие жесты, помимо и/или в дополнение к одному или более жестов, поясненных в данном документе. Дополнительно, жесты могут представлять собой "воздушные" жесты, не обязательно на сенсорной поверхности, к примеру, опознаваемые посредством кинект-устройства, инфракрасных бесконтактных датчиков, бесконтактного емкостного датчика или другого аналогичного устройства. Например, такие "воздушные" жесты могут использоваться с виртуальной клавиатурой. Также могут быть предусмотрены жесты, когда пользователь начинает посредством касания дисплея и росчерка (например, в одном из направлений радиального меню) при прохождении по воздуху, что может отличаться от идентичного жеста при пребывании в контакте с дисплеем. В качестве другого примера, может использоваться ввод с помощью мыши.

[0168] В качестве другого примера, хотя ввод с помощью пальцев может быть пояснен в данном документе, механический посредник, такой как пластиковая палка/стилус или емкостное перо либо аккумуляторный или индуктивно-связанный стилус, представляет собой некоторые возможные альтернативы, которые могут использоваться. В качестве другого примера, другие объекты могут использоваться для предоставления таких "воздушных" жестов. Дополнительно, ввод может быть уточнен (например, обратная связь при наведении может приниматься для жестикуляционных команд, накладываемых на клавиши), и/или различные ограничения по длине и/или по точности могут применяться к жесту в виде росчерка в зависимости от того, известно или нет, что перо или палец выполняет взаимодействие (которое может обнаруживаться посредством площади контакта и/или посредством использования различного цифрователя для пера и для касания, и/или посредством различения пера от касания с использованием камер с эффектом глубины и/или с использованием других технологий, которые обеспечивают различение между пером и касанием). Следовательно, специалисты в области техники вычислительных устройств должны принимать во внимание, что пояснение в данном документе не ограничено конкретными вариантами осуществления, аспектами, принципами, структурами, функциональностями или примерами, описанными в данном документе. Наоборот, любые из вариантов осуществления, аспектов, принципов, структур, функциональностей или примеров, описанных в данном документе, являются неограничивающими, и настоящее изобретение, в общем, может использоваться различными способами, которые предоставляют выгоду и преимущества в компьютерах и технологиях для клавиатуры и жестов.

[0169] Специалисты в области техники вычислительных устройств должны принимать во внимание, что множество различных технологий могут использоваться для устранения неоднозначности ввода в виде жестов с использованием клавиатуры без отступления от сущности пояснения в данном документе.

III. Описание блок-схемы последовательности операций способа

[0170] Признаки, поясненные в данном документе, предоставляются в качестве примерных вариантов осуществления, которые могут реализовываться множеством различных способов, которые могут пониматься специалистами в области техники вычислительных устройств без отступления от сущности пояснения в данном документе. Такие признаки должны истолковываться только в качестве признаков примерных вариантов осуществления и не имеют намерение истолковываться в качестве ограничения только этими подробными описаниями.

[0171] Фиг. 13A-13C является блок-схемой последовательности операций способа, иллюстрирующей примерные операции системы по фиг. 12, согласно примерным вариантам осуществления. В примере по фиг. 13A, клавиатура может работать с возможностью разрешать ввод для написания с определением формы и ввод в виде радиального ввода (1302).

[0172] Данные ввода могут получаться от по меньшей мере одного датчика ввода клавиатуры (1304).

[0173] Возможность одновременного использования ввода для написания с определением формы и ввода в виде радиального ввода может обеспечиваться для пользователя клавиатуры (1306).

[0174] Например, данные ввода могут анализироваться, и могут предоставляться один или более возможных вариантов результатов ввода для написания с определением формы, с использованием данных ввода (1308) в примере по фиг. 13B.

[0175] Например, данные ввода могут анализироваться, и могут предоставляться один или более возможных вариантов результатов ввода в виде радиального ввода или вложенных результатов ввода в виде радиального ввода, с использованием данных ввода (1310).

[0176] Например, режимы ввода могут отслеживаться через конечный автомат (1312).

[0177] Например, клавиатура может включать в себя чувствительную к давлению клавиатуру (1314).

[0178] Например, клавиатура может включать в себя виртуальную клавиатуру (1316).

[0179] Например, клавиатура может включать в себя функциональность ввода в виде короткого росчерка для определенных операций ввода текста, которые соответствуют клавишам традиционной клавиатуры, опущенным из клавиатуры (1318).

[0180] Например, отображение меню радиальных жестов может инициироваться, в качестве плавно выдвигающегося вверх меню из местоположения клавиши, в ответ на ввод в виде касания и удержания (1320), в примере по фиг. 13C.

[0181] Например, данные ввода могут анализироваться, и могут предоставляться один или более возможных вариантов обрабатываемых значений, которые включают в себя одно или более из возможного варианта результата ввода для написания с определением формы или возможного варианта результата ввода в виде радиального ввода (1322).

[0182] Например, множество значений рекомендаций могут предоставляться на основе одного или более возможных вариантов обрабатываемых значений (1324).

[0183] Например, множество значений рекомендаций могут включать в себя возможный вариант результата ввода для написания с определением формы и возможный вариант результата ввода в виде радиального ввода (1326).

[0184] Например, может предоставляться отображение значений рекомендаций, при этом отображение возможного варианта результата ввода в виде радиального ввода предоставляет графический индикатор, конкретно указывающий логический вывод ввода в виде радиального ввода, ассоциированного с возможным вариантом результата ввода в виде радиального ввода (1328).

[0185] Например, данные ввода могут анализироваться для того, чтобы определять возможный вариант результата ввода в виде радиального ввода посредством определения того, включают или нет данные ввода в себя клавиатурный ввод, указывающий ввод в виде короткого росчерка в радиальной области клавиатуры (1330).

[0186] Например, данные ввода могут анализироваться для того, чтобы предоставлять один или более возможных вариантов обрабатываемых значений, с использованием словаря, который опускает вводы для низкочастотных терминов, которые определяются в качестве терминов, которые возникают с низкой частотой и которые возникают с существенной вероятностью конфликта между прямолинейными росчерками через радиальные меню и написанием с определением формы слов (1332).

[0187] Специалисты в области техники вычислительных устройств должны понимать, что может быть предусмотрено множество способов устранения неоднозначности жестов с использованием клавиатуры в виде ввода без отступления от сущности пояснения в данном документе.

IV. Аспекты конкретных вариантов осуществления

[0188] Признаки, поясненные в данном документе, предоставляются в качестве примерных вариантов осуществления, которые могут реализовываться множеством различных способов, которые могут пониматься специалистами в данной области техники вычислительных устройств без отступления от сущности пояснения в данном документе. Такие признаки должны истолковываться только в качестве признаков примерных вариантов осуществления и не имеют намерение истолковываться в качестве ограничения только этими подробными описаниями.

[0189] Например, система включает в себя устройство, которое включает в себя, по меньшей мере, один процессор устройства и механизм управления клавиатурой, который управляет клавиатурой, которая разрешает ввод для написания с определением формы и ввод в виде радиального ввода, по меньшей мере, через один, по меньшей мере, из одного процессора устройства. Механизм управления клавиатурой включает в себя модуль ввода с клавиатуры, который получает данные ввода, по меньшей мере, из одного датчика ввода клавиатуры, и механизм устранения неоднозначности намерений, который предоставляет разрешение на одновременное использование ввода для написания с определением формы и ввода в виде радиального ввода для пользователя клавиатуры.

[0190] Механизм управления клавиатурой дополнительно включает в себя модуль интерпретации данных ввода, который анализирует данные ввода и предоставляет один или более возможных вариантов обрабатываемых значений, которые включают в себя одно или более из возможного варианта результата ввода для написания с определением формы или возможного варианта результата ввода в виде радиального ввода, при этом механизм устранения неоднозначности намерений предоставляет множество значений рекомендаций на основе одного или более возможных вариантов обрабатываемых значений.

[0191] Множество значений рекомендаций включают в себя возможный вариант результата ввода для написания с определением формы и возможный вариант результата ввода в виде радиального ввода.

[0192] Механизм управления клавиатурой дополнительно включает в себя модуль вывода клавиатуры, который предоставляет отображение значений рекомендаций, при этом отображение возможного варианта результата ввода в виде радиального ввода предоставляет графический индикатор, конкретно указывающий логический вывод ввода в виде радиального ввода, ассоциированного с возможным вариантом результата ввода в виде радиального ввода.

[0193] Модуль интерпретации данных ввода анализирует данные ввода, чтобы определять возможный вариант результата ввода в виде радиального ввода посредством определения того, включают или нет данные ввода в себя клавиатурный ввод, указывающий ввод в виде короткого росчерка в радиальной области клавиатуры.

[0194] Устройство дополнительно включает в себя словарь, который опускает вводы для низкочастотных терминов, которые определяются в качестве терминов, которые возникают с низкой частотой и которые возникают с существенной вероятностью конфликта между прямолинейными росчерками через радиальные меню и написанием с определением формы слов, при этом модуль интерпретации данных ввода анализирует данные ввода, чтобы предоставлять один или более возможных вариантов обрабатываемых значений, с использованием словаря.

[0195] Механизм управления клавиатурой дополнительно включает в себя интерпретатор написания с определением формы, который анализирует данные ввода и предоставляет один или более возможных вариантов результатов ввода для написания с определением формы с использованием данных ввода.

[0196] Механизм управления клавиатурой дополнительно включает в себя интерпретатор радиального ввода, который анализирует данные ввода и предоставляет один или более возможных вариантов результатов ввода в виде радиального ввода или вложенных результатов ввода в виде радиального ввода с использованием данных ввода.

[0197] Механизм управления клавиатурой дополнительно включает в себя конечный автомат, который отслеживает режимы ввода в механизм управления клавиатурой.

[0198] Клавиатура включает в себя чувствительную к давлению клавиатуру.

[0199] Клавиатура включает в себя виртуальную клавиатуру.

[0200] Клавиатура включает в себя функциональность ввода в виде короткого росчерка для определенных операций ввода текста, которые соответствуют клавишам традиционной клавиатуры, опущенным из клавиатуры.

[0201] Получаются данные ввода из клавиатуры, которая разрешает ввод для написания с определением формы и ввод в виде радиального ввода.

[0202] Разрешение на одновременное использование ввода для написания с определением формы и ввода в виде радиального ввода предоставляется для пользователя клавиатуры, через процессор устройства, посредством устранения неоднозначности данных ввода, чтобы различать между вводом для написания с определением формы и вводом в виде радиального ввода.

[0203] Данные ввода анализируются для того, чтобы предоставлять один или более возможных вариантов обрабатываемых значений, которые включают в себя одно или более из возможного варианта результата ввода для написания с определением формы или возможного варианта результата ввода в виде радиального ввода.

[0204] Множество значений рекомендаций предоставляются на основе одного или более возможных вариантов обрабатываемых значений.

[0205] Множество значений рекомендаций включают в себя возможный вариант результата ввода для написания с определением формы и возможный вариант результата ввода в виде радиального ввода.

[0206] Отображение значений рекомендаций инициируется, при этом отображение возможного варианта результата ввода в виде радиального ввода предоставляет графический индикатор, конкретно указывающий логический вывод ввода в виде радиального ввода, ассоциированного с возможным вариантом результата ввода в виде радиального ввода.

[0207] Анализ данных ввода включает в себя анализ данных ввода, чтобы определять возможный вариант результата ввода в виде радиального ввода посредством определения того, включают или нет данные ввода в себя клавиатурный ввод, указывающий ввод в виде короткого росчерка в радиальной области клавиатуры.

[0208] Отображение меню радиальных жестов инициируется в качестве плавно выдвигающегося вверх меню из местоположения клавиши, в ответ на ввод в виде касания и удержания.

[0209] Компьютерный программный продукт включает в себя машиночитаемый носитель хранения данных, сохраняющий исполняемый код, который инструктирует, по меньшей мере, одному вычислительному устройству получать данные ввода из клавиатуры, которая разрешает ввод для написания с определением формы и ввод в виде радиального ввода, и предоставлять разрешение на одновременное использование ввода для написания с определением формы и ввода в виде радиального ввода для пользователя клавиатуры посредством устранения неоднозначности данных ввода, чтобы различать между вводом для написания с определением формы и вводом в виде радиального ввода.

[0210] Исполняемый код инструктирует, по меньшей мере, одному вычислительному устройству анализировать данные ввода, чтобы предоставлять один или более возможных вариантов обрабатываемых значений, которые включают в себя одно или более из возможного варианта результата ввода для написания с определением формы или возможного варианта результата ввода в виде радиального ввода, и предоставлять множество значений рекомендаций на основе одного или более возможных вариантов обрабатываемых значений.

[0211] Личная тайна и конфиденциальность клиентов в течение множества лет являются постоянными спорными вопросами в вычислительных окружениях. Таким образом, примерные технологии для устранения неоднозначности жестов с использованием клавиатуры в виде ввода могут использовать пользовательский ввод и/или данные, предоставленные пользователями, которым предоставлено разрешение с помощью одного или более абонентских соглашений (например, соглашения об "Условиях предоставления услуг" (TOS)) с ассоциированными приложениями или услугами, ассоциированными с такими технологиями. Например, пользователи могут предоставлять согласие передавать и сохранять свой ввод/на устройствах, хотя может явно указываться (например, через подтвержденное пользователем соглашение) то, что каждая сторона может управлять тем, как осуществляются передача и/или хранение, и какой уровень или длительность хранения может поддерживаться, при наличии. Дополнительно, идентификаторы, которые могут использоваться для того, чтобы идентифицировать устройства, используемые пользователем, могут делаться неясными, например, посредством хэширования фактической пользовательской информации. Следует понимать, что любой пользовательский ввод/данные может получаться в соответствии с нормативными правовыми актами в области защиты частной жизни любой соответствующей юрисдикции.

[0212] Реализации различных технологий, описанных в данном документе, могут реализовываться в цифровой электронной схеме или в компьютерных аппаратных средствах, микропрограммном обеспечении, программном обеспечении либо в комбинациях означенного (например, как устройство, выполненное с возможностью выполнять инструкции для того, чтобы осуществлять различную функциональность).

[0213] Реализации могут реализовываться как компьютерная программа, осуществленная в сигналах (например, как чистый сигнал, к примеру, чистый распространяемый сигнал). Такие реализации упоминаются в данном документе как реализованные через "машиночитаемую среду передачи", которая не классифицируется в данном документе в качестве "машиночитаемого носителя хранения данных" или "машиночитаемого устройства хранения данных", как пояснено ниже.

[0214] Альтернативно, реализации могут реализовываться через компьютерную программу, осуществленную в машиноприменимом или машиночитаемом устройстве хранения данных (например, в магнитном носителе или цифровом носителе, таком как устройство хранения данных по стандарту универсальной последовательной шины (USB), лента, накопитель на жестких дисках, компакт-диск, цифровой видеодиск (DVD) и т.д.)., для выполнения посредством или управления работой вычислительного устройства (например, устройства обработки данных, вычислительного устройства), например, программируемого процессора, процессора или устройства специального назначения, компьютера либо нескольких компьютеров. Такие реализации могут упоминаться в данном документе как реализованные через "машиночитаемый носитель хранения данных" или "машиночитаемое устройство хранения данных" и в силу этого отличаются от реализаций, которые представляют собой чисто сигналы, к примеру, чистые распространяемые сигналы (и которые в силу этого не классифицируются в данном документе в качестве "машиночитаемой среды передачи", как пояснено выше). Таким образом, ссылка в данном документе на "машиночитаемый носитель хранения данных" или "машиночитаемое устройство хранения данных" не означает сигнал по сути.

[0215] Компьютерная программа, к примеру, компьютерная программа(ы), описанная выше, может быть написана на любой форме языка программирования, включающего в себя компилированные, интерпретируемые или машинные языки, и может развертываться в любой форме, в том числе в качестве автономной программы либо в качестве модуля, компонента, вложенной процедуры или другого узла, подходящего для использования в вычислительном окружении. Компьютерная программа может быть материально осуществлена в качестве исполняемого кода (например, выполняемых инструкций) на машиноприменимом или машиночитаемом устройстве хранения данных (например, на машиночитаемом носителе). Компьютерная программа, которая может реализовывать технологии, поясненные выше, может развертываться для выполнения выполняться на одном компьютере либо на нескольких компьютерах на одном веб-узле или распределенных по нескольким веб-узлам и соединенных посредством сети связи.

[0216] Этапы способа могут выполняться посредством одного или более программируемых процессоров, выполняющих компьютерную программу для того, чтобы выполнять функции посредством управления данными ввода и формирования вывода. Один или более программируемых процессоров могут выполнять инструкции параллельно и/или могут размещаться в распределенной конфигурации для распределенной обработки. Примерная функциональность, поясненная в данном документе, также может выполняться посредством, и устройство может реализовываться, по меньшей мере, частично, в качестве одного или более аппаратных логических компонентов. Например, и без ограничения, иллюстративные типы аппаратных логических компонентов, которые могут быть использованы, могут включать в себя программируемые пользователем вентильные матрицы (FPGA), специализированные интегральные схемы (ASIC), специализированные микросхемы для массового производства (ASSP), внутрикристальные системы (SOC), комплексные программируемые логические устройства (CPLD) и т.д.

[0217] Процессоры, подходящие для выполнения компьютерной программы, включают в себя, в качестве примера, микропроцессоры общего и специального назначения и/или любой один или более процессоров любого типа цифрового компьютера. В общем, процессор принимает инструкции и данные из постоянного запоминающего устройства или из оперативного запоминающего устройства, или из того и из другого.

Элементы компьютера могут включать в себя, по меньшей мере, один процессор для выполнения инструкций и одно или более запоминающих устройств для сохранения инструкций и данных. В общем, компьютер также может включать в себя или функционально соединяться с возможностью принимать данные или передавать данные либо как принимать, так и передавать данные в одно или более устройств хранения данных большой емкости для сохранения данных, например, на магнитные, магнитооптические диски или оптические диски. Носители информации, подходящие для осуществления компьютерных программных инструкций и данных, включают в себя все формы энергонезависимого запоминающего устройства, включающие в себя, в качестве примера, полупроводниковые запоминающие устройства, например, EPROM, EEPROM и устройства флэш-памяти; магнитные диски, например, внутренние жесткие диски или съемные диски; магнитооптические диски; и CD-ROM- и DVD-ROM-диски. Процессор и запоминающее устройство могут дополняться или включаться в логическую схему специального назначения.

[0218] Чтобы предоставлять взаимодействие с пользователем, реализации могут реализовываться на компьютере, имеющем устройство отображения, например, монитор на электронно-лучевой трубке (CRT), жидкокристаллический дисплей (ЖК-дисплей), монитор на светоизлучающих диодах (светодиодах) или плазменный монитор, для отображения информации пользователю, а также клавиатуру и указательное устройство, например, мышь или шаровой манипулятор, посредством которого пользователь может предоставлять ввод в компьютер. Как пояснено в данном документе, планшетные компьютеры, сенсорные экраны, тонкие компьютеры и т.д. могут использоваться для ввода и отображения. Другие виды устройств также могут использоваться для того, чтобы предоставлять взаимодействие с пользователем; например, обратную связь, присланная пользователю, может представлять собой любую форму сенсорной обратной связи, например, визуальную обратную связь и/или звуковую обратную связь, и/или тактильную обратную связь. Например, вывод может предоставляться через любую форму сенсорного вывода, включающую в себя (но не только) визуальный вывод (например, визуальные жесты, видеовывод) и/или аудиовывод (например, голос, звуки устройств), и/или тактильный вывод (например, касание, перемещение устройств), и/или температуру, и/или аромат и т.д.

[0219] Дополнительно, ввод от пользователя может приниматься в любой форме, включающей в себя акустический и/или речевой, и/или тактильный ввод. Как пояснено в данном документе, ввод может приниматься из пера или другого объекта ввода. Например, ввод может приниматься от пользователя через любую форму сенсорного ввода, включающую в себя (но не только) визуальный ввод (например, жесты, видеоввод), аудиоввод (например, голос, звуки устройств), тактильный ввод (например, касание, перемещение устройств), температуру, аромат и т.д.

[0220] Дополнительно, естественный пользовательский интерфейс (NUI) может использоваться для того, чтобы взаимодействовать с пользователем. В этом контексте, NUI может означать собой любую интерфейсную технологию, которая позволяет пользователю взаимодействовать с устройством "естественным" способом без искусственных ограничений, налагаемых посредством устройств ввода, таких как мыши, клавиатуры, пульты дистанционного управления и т.п.

[0221] Примеры NUI-технологий включают в себя способы, которые основываются на распознавании речи, распознавании касаний и стилуса, распознавании жестов как на экране, так и рядом с экраном, воздушных жестах, слежении за положением головы и глаз, голосе и речи, зрении, касании, жестах и искусственном интеллекте. Примерные NUI-технологии могут включать в себя, но не только, сенсорные дисплеи, распознавание голоса и речи, системы понимания намерений и целей, обнаружение жестов движения с использованием камер с эффектом глубины (например, кинект, системы стереоскопических камер, системы камер для съемки в инфракрасном диапазоне, системы камер по стандарту RGB (красный, зеленый, синий) и комбинации означенного), обнаружение жестов движения с использованием акселерометров/гироскопов, магнитометров, распознавание лиц, трехмерные дисплеи, слежение за положением головы, глаз и взгляда, системы иммерсивной дополненной реальности и виртуальной реальности, все из которых могут предоставлять более естественный интерфейс, а также технологии для считывания мозговой активности с использованием электродов для считывания электрического поля (например, электроэнцефалографию (EEG) и связанные технологии).

[0222] Реализации могут реализовываться в вычислительной системе, которая включает в себя внутренний интерфейсный компонент, например, в качестве сервера данных, либо которая включает в себя промежуточный компонент, например, сервер приложений, либо которая включает в себя внешний интерфейсный компонент, например, клиентский компьютер, имеющий графический пользовательский интерфейс или веб-обозреватель, через который пользователь может взаимодействовать с реализацией, либо любую комбинацию таких внутренних, промежуточных или внешних интерфейсных компонентов. Компоненты могут соединяться посредством любой формы или носителя цифровой передачи данных, например, сети связи. Примеры сетей связи включают в себя локальную вычислительную сеть (LAN) и глобальную вычислительную сеть (WAN), например, Интернет.

[0223] Хотя изобретение описано на языке, характерном для структурных признаков и/или технологических этапов, следует понимать, что объем изобретения, определяемый прилагаемой формулой изобретения, не обязательно ограничен характерными признаками или этапами, описанными выше. Вместо этого, характерные признаки и этапы, описанные выше, раскрываются как примерные формы реализации формулы изобретения. Хотя конкретные признаки описанных реализаций проиллюстрированы так, как описано в данном документе, различные модификации, замены, изменения и эквиваленты должны быть очевидными специалистам в данной области техники. Следовательно, необходимо понимать, что прилагаемая формула изобретения предназначена для того, чтобы охватывать все эти модификации и изменения в пределах объема защиты вариантов осуществления.

1. Устройство для обработки ввода с клавиатуры, содержащее:

по меньшей мере один процессор устройства; и

по меньшей мере один машиночитаемый носитель информации, на котором сохранены инструкции, которые при их исполнении по меньшей мере одним процессором устройства предписывают по меньшей мере одному процессору устройства:

эксплуатировать клавиатуру, выполненную с возможностью реализации написания, с определением формы, слов и радиального ввода отдельных символов;

получать данные ввода, идентифицирующие ввод на клавиатуре, который направлен на первичный символ, причем этот ввод перемещается в конкретном направлении, используемом для выбора вспомогательного символа, связанного с первичным символом;

оценивать данные ввода для устранения неоднозначности касаемо того, является ли упомянутый ввод вводом для написания с определением формы для ввода конкретного слова или вводом в виде радиального ввода для ввода упомянутого вспомогательного символа;

в первом случае, когда в результате устранения неоднозначности установлено, что упомянутый ввод является вводом для написания с определением формы, вводить упомянутое конкретное слово, причем данное конкретное слово включает в себя первичный символ; и

во втором случае, когда в результате устранения неоднозначности установлено, что упомянутый ввод является вводом в виде радиального ввода, вводить упомянутый вспомогательный символ, связанный с первичным символом.

2. Устройство по п. 1, в котором инструкции при их исполнении по меньшей мере одним процессором устройства предписывают по меньшей мере одному процессору устройства:

анализировать данные ввода и выдавать возможные варианты обработанных значений, которые включают в себя возможный вариант результата ввода для написания с определением формы, идентифицирующий упомянутое конкретное слово, и возможный вариант результата ввода в виде радиального ввода, идентифицирующий упомянутый вспомогательный символ;

отображать множество рекомендаций в качестве реакции на данные ввода, каковое множество рекомендаций включает в себя первую рекомендацию упомянутого конкретного слова и вторую рекомендацию упомянутого вспомогательного символа;

в упомянутом первом случае, вводить упомянутое конкретное слово в качестве реакции на выбор первой рекомендации; и

в упомянутом втором случае, вводить упомянутый вспомогательный символ в качестве реакции на выбор второй рекомендации.

3. Устройство по п. 1, при этом ввод для написания с определением формы проходит через еще один символ упомянутого конкретного слова, каковой еще один символ расположен в упомянутом конкретном направлении на клавиатуре по отношению к первичному символу.

4. Устройство по п. 1, в котором инструкции при их исполнении по меньшей мере одним процессором устройства предписывают по меньшей мере одному процессору устройства: в упомянутом первом случае, устанавливать в результате устранения неоднозначности, что данные ввода соответствуют вводу для написания с определением формы, на основе, по меньшей мере, наблюдаемой длины данных ввода.

5. Устройство по п. 4, в котором инструкции при их исполнении по меньшей мере одним процессором устройства предписывают по меньшей мере одному процессору устройства: в упомянутом втором случае, устанавливать в результате устранения неоднозначности, что данные ввода соответствуют вводу в виде радиального ввода, на основе, по меньшей мере, наблюдаемой длины данных ввода.

6. Устройство по п. 1, в котором инструкции при их исполнении по меньшей мере одним процессором устройства предписывают по меньшей мере одному процессору устройства:

сравнивать наблюдаемую длину данных ввода с пороговым значением;

определять, что данные ввода соответствуют вводу для написания с определением формы, когда наблюдаемая длина данных ввода превышает пороговое значение; и

определять, что данные ввода соответствуют вводу в виде радиального ввода, когда наблюдаемая длина данных ввода ниже порогового значения.

7. Устройство по п. 1, в котором инструкции при их исполнении по меньшей мере одним процессором устройства предписывают по меньшей мере одному процессору устройства:

определять из данных ввода наблюдаемое давление ввода; и

устранять неоднозначность данных ввода на основе, по меньшей мере, наблюдаемого давления ввода.

8. Устройство по п. 7, в котором инструкции при их исполнении по меньшей мере одним процессором устройства предписывают по меньшей мере одному процессору устройства:

когда наблюдаемым давлением указывается, по существу, легкое касание клавиатуры, обозначать данные ввода как соответствующие вводу для написания с определением формы; и

когда наблюдаемым давлением указывается, по существу, сильное нажатие на клавиатуру, обозначать данные ввода как соответствующие вводу в виде радиального ввода.

9. Устройство по п. 1, в котором инструкции при их исполнении по меньшей мере одним процессором устройства предписывают по меньшей мере одному процессору устройства:

определять из данных ввода наблюдаемую скорость ввода; и

устранять неоднозначность данных ввода на основе, по меньшей мере, наблюдаемой скорости ввода.

10. Устройство по п. 9, в котором инструкции при их исполнении по меньшей мере одним процессором устройства предписывают по меньшей мере одному процессору устройства:

когда наблюдаемая скорость ниже порогового значения, обозначать данные ввода как соответствующие вводу в виде радиального ввода; и

когда наблюдаемая скорость превышает пороговое значение, обозначать данные ввода как соответствующие вводу для написания с определением формы.

11. Устройство по п. 1, в котором инструкции при их исполнении по меньшей мере одним процессором устройства предписывают по меньшей мере одному процессору устройства:

определять из данных ввода наблюдаемое ускорение при вводе; и

устранять неоднозначность данных ввода на основе, по меньшей мере, наблюдаемого ускорения при вводе.

12. Способ обработки ввода с клавиатуры, при этом способ выполняется на вычислительном устройстве и содержит этапы, на которых:

получают данные ввода с клавиатуры, которая разрешает написание с определением формы и радиальный ввод, при этом данные ввода указывают, что текущий росчерк, выполняемый на клавиатуре, перемещается в конкретном направлении;

идентифицировать ввод для написания с определением формы и ввод в виде радиального ввода, оба из которых могут вводиться на клавиатуре посредством росчерков, которые перемещаются в этом конкретном направлении;

на основе, по меньшей мере, характеристики текущего росчерка, устранять неоднозначность текущего росчерка для определения того, является ли текущий росчерк вводом для написания с определением формы или вводом в виде радиального ввода;

в первом случае, когда в результате устранения неоднозначности установлено, что текущий росчерк является вводом для написания с определением формы, вводить на вычислительном устройстве слово, которое идентифицируется вводом для написания с определением формы; и

во втором случае, когда в результате устранения неоднозначности установлено, что текущий росчерк является вводом в виде радиального ввода, вводить символ на вычислительном устройстве.

13. Способ по п. 12, в котором упомянутая характеристика представляет собой длину текущего росчерка.

14. Способ по п. 12, в котором упомянутая характеристика представляет собой скорость текущего росчерка.

15. Способ по п. 12, в котором упомянутая характеристика представляет собой давление, применяемое во время текущего росчерка.

16. Способ по п. 12, в котором упомянутая характеристика относится к тому, включает ли в себя текущий росчерк точку изгиба.

17. Способ по п. 16, дополнительно содержащий этап, на котором: в упомянутом первом случае, устанавливают в результате устранения неоднозначности, что текущий росчерк является вводом для написания с определением формы, на основе, по меньшей мере, того, что текущий росчерк включает в себя точку изгиба.

18. Способ по п. 17, дополнительно содержащий этап, на котором: в упомянутом втором случае, устанавливают в результате устранения неоднозначности, что текущий росчерк является вводом в виде радиального ввода, на основе, по меньшей мере, отсутствия точки изгиба в текущем росчерке.

19. Вычислительная система, выполненная с возможностью обработки ввода с клавиатуры, при этом вычислительная система содержит:

процессор; и

машиночитаемый носитель информации, на котором сохранен исполняемый код, который предписывает процессору:

обеспечивать клавиатуру, имеющую клавишу для ввода конкретного символа при прикосновении к этой клавише;

получать с клавиатуры данные ввода, указывающие, что текущий ввод на клавиатуре контактирует с упомянутой клавишей и перемещается в конкретном направлении от данной клавиши;

на основе, по меньшей мере, характеристики текущего ввода, определять, обрабатывать ли данные ввода как ввод для написания с определением формы;

в первом случае, когда определено не обрабатывать данные ввода как ввод для написания с определением формы, вводить вспомогательный символ, связанный с упомянутой клавишей, в качестве реакции на текущий ввод; и

во втором случае, когда определено обрабатывать данные ввода как ввод для написания с определением формы, вводить в качестве реакции на текущий ввод слово, указывающее первичный символ, связанный с упомянутой клавишей.

20. Система по п. 19, при этом упомянутый вспомогательный символ представляет собой заглавную версию упомянутого конкретного символа.



 

Похожие патенты:

Изобретение относится к графическому интерфейсу пользователя. Технический результат заключается в расширении арсенала средств того же назначения.

Изобретение относится к вычислительной технике. Технический результат заключается в обеспечении безопасности перемещения в пространстве.

Изобретение относится к области управления средствами индивидуальной защиты (PPE). Техническим результатом является создание системы PPE c удаленным пользовательским интерфейсом с возможностью управления параметрами PPE.

Группа изобретений относится к средствам визуализации. Технический результат – ускорение навигации по визуализированной древовидной структуре.

Изобретение относится к средствам формирования анимированного искажения на дисплее. Техническим результатом является обеспечение анимированных искажений на дисплее, перемещающихся к пользователю и от пользователя, просматривающего экран, формирующих визуальный волновой эффект.

Изобретение относится к области взаимодействия пользователя с электронным устройством путем ввода команд посредством отслеживаемых жестов, а именно к управлению воспроизведением видеоматериалов с использованием сенсорных жестов.

Изобретение относится к вычислительной технике. Технический результат заключается в повышении скорости ввода данных.

Изобретение относится к проведению проверки нажатия, чтобы определить, пересекает ли пользовательское действие, обнаруженное через пользовательский интерфейс, ассоциированный с приложением, заданный объект приложения.

Изобретение относится к различению отражений от глаза и отражений от очковой оптики в системе отслеживания глаза. Технический результат заключается в повышении точности обнаружения взгляда для пользователей, носящих очковую оптику.

Изобретение относится к вычислительным устройствам. Технический результат заключается в детектировании преимущественного использования пользователем одной руки на основании ввода касанием и для подавления непреднамеренного ввода касанием.
Наверх