ОБРАБОТКА БЕСКОНТАКТНОГО ВВОДА ДЛЯ СЕНСОРНЫХ ЭКРАНОВ
TOUCH SCREENS HOVER INPUT HANDLING

Область техники
Настоящее изобретение относится к обработке ввода, выполняемого на сенсорных экранах с обнаружением бесконтактного ввода.
Предпосылки создания изобретения
В таких устройствах как мобильные телефоны, смартфоны и планшетные компьютеры часто имеется сенсорный дисплей, или экран, при помощи которого пользователь может взаимодействовать с программным обеспечением, исполняемым на процессоре этого устройства. Сенсорные экраны все чаще применяются в портативных и настольных компьютерах.
Сенсорные экраны нового поколения, помимо ввода касанием, способны обнаруживать бесконтактный ввод (hover inputs) и определять место бесконтактного ввода в плоскости сенсорного экрана (координаты x, y). Бесконтактный ввод - это ввод, при котором палец пользователя (как правило, указательный) расположен вблизи сенсорного экрана, но не касается его. Такие сенсорные экраны дают новые возможности при проектировании пользовательских интерфейсов, а более совершенные интерфейсы позволяют пользователям более эффективно управлять своими устройствами с целью выполнения требуемых операций и задач.
Сущность изобретения
В первом аспекте настоящего изобретения предложен способ, включающий:
в нормальном режиме, обеспечение отображения множества дискретных элементов на сенсорном экране;
в ответ на обнаружение, в нормальном режиме, пальца пользователя, который находится в некотором месте над сенсорным экраном, но не касается его, при отображении множества дискретных элементов в нормальном режиме, переход в режим масштабирования и панорамирования;
в ответ на переход в режим масштабирования и панорамирования, обеспечение масштабирования множества отображаемых дискретных элементов;
в режиме масштабирования и панорамирования, в ответ на обнаружение перемещения пальца пользователя в другое место бесконтактного ввода над сенсорным экраном, обеспечение панорамирования множества дискретных элементов, отображаемых на сенсорном экране;
в режиме масштабирования и панорамирования, в ответ на обнаружение ввода касанием, переход в режим указания;
в режиме указания, предотвращение панорамирования множества отображаемых дискретных элементов при смещении места ввода касанием в пределах заранее заданных критериев; и
в режиме указания, обеспечение перемещения курсора, указателя или маркера при изменении места ввода касанием.
Упомянутые дискретные элементы могут представлять собой текстовые символы. В данном случае способ может включать размещение курсора в месте ввода касанием в ответ на обнаружение прекращения ввода касанием в режиме указания.
Упомянутые дискретные элементы могут представлять собой значки («иконки»). В данном случае способ может включать выбор значка, находящегося в месте ввода касанием, в ответ на обнаружение прекращения ввода касанием в режиме указания.
Способ может включать, в ответ на обнаружение прекращения ввода касанием при нахождении в режиме указания, возвращение в нормальный режим и обеспечение уменьшения масштаба отображения упомянутого множества дискретных элементов.
Способ может включать, в ответ на обнаружение прекращения ввода касанием при нахождении в режиме указания, возвращение в нормальный режим и обеспечение уменьшения масштаба отображения упомянутого множества дискретных элементов до уровня масштабирования, который имел место во время перехода в режим масштабирования и панорамирования.
Способ может включать, в ответ на обнаружение прекращения ввода касанием при нахождении в режиме масштабирования и панорамирования, возвращение в нормальный режим и обеспечение уменьшения масштаба отображения упомянутого множества дискретных элементов.
Способ может включать, в ответ на обнаружение прекращения ввода касанием при нахождении в режиме масштабирования и панорамирования, возвращение в нормальный режим и обеспечение уменьшения масштаба отображения упомянутого множества дискретных элементов до уровня масштабирования, который имел место во время перехода в режим масштабирования и панорамирования.
В настоящем изобретении предложена также компьютерная программа, включающая инструкции, которые при исполнении вычислительным устройством управляют им для выполнения описанного выше способа.
Во втором аспекте настоящего изобретения предложено устройство, включающее:
средства, обеспечивающие при нахождении устройства в нормальном режиме отображение множества дискретных элементов на сенсорном экране;
средства, обеспечивающие переход в режим масштабирования и панорамирования в ответ на обнаружение, при нахождении устройства в нормальном режиме, пальца пользователя, который находится в некотором месте над сенсорным экраном, но не касается его, при отображении множества дискретных элементов в нормальном режиме;
средства обеспечивающие, в ответ на переход в режим масштабирования и панорамирования, масштабирование множества отображаемых дискретных элементов;
средства обеспечивающие, в режиме масштабирования и панорамирования в ответ на обнаружение перемещения пальца пользователя в другое место бесконтактного ввода над сенсорным экраном, панорамирование множества дискретных элементов, отображаемых на сенсорном экране;
средства, обеспечивающие, в режиме масштабирования и панорамирования в ответ на обнаружение ввода касанием, переход в режим указания;
средства, обеспечивающие, в режиме указания, предотвращение панорамирования множества отображаемых дискретных элементов при смещении места ввода касанием в пределах заранее заданных критериев; и
средства, обеспечивающие, в режиме указания, перемещение курсора, указателя или маркера при изменении места ввода касанием.
Упомянутые дискретные элементы могут представлять собой текстовые символы. В таком случае устройство может включать средства для размещения курсора в месте ввода касанием в ответ на обнаружение прекращения ввода касанием в режиме указания.
Упомянутые дискретные элементы могут представлять собой значки. В таком случае устройство может включать средства для выбора значка, находящегося в месте ввода касанием, в ответ на обнаружение прекращения ввода касанием в режиме указания.
Устройство может включать средства, обеспечивающие, в ответ на обнаружение прекращения ввода касанием при нахождении в режиме указания, возвращение в нормальный режим и уменьшение масштаба отображения упомянутого множества дискретных элементов.
Устройство может включать средства, обеспечивающие, в ответ на обнаружение прекращения ввода касанием при нахождении в режиме указания, возвращение в нормальный режим и уменьшение масштаба отображения упомянутого множества дискретных элементов до уровня масштабирования, который имел место во время перехода в режим масштабирования и панорамирования.
Устройство может включать средства, обеспечивающие, в ответ на обнаружение прекращения ввода касанием при нахождении в режиме масштабирования и панорамирования, возвращение в нормальный режим и уменьшение масштаба отображения упомянутого множества дискретных элементов.
Устройство может включать средства, обеспечивающие, в ответ на обнаружение прекращения ввода касанием при нахождении в режиме масштабирования и панорамирования, возвращение в нормальный режим и уменьшение масштаба отображения упомянутого множества дискретных элементов до уровня масштабирования, который имел место во время перехода в режим масштабирования и панорамирования.
Упомянутое устройство может представлять собой вычислительное устройство, например, мобильный телефон, портативный компьютер или стационарный компьютер.
В третьем аспекте настоящего изобретения предложено устройство, имеющее по меньшей мере один процессор и по меньшей мере одну память, имеющую хранящийся в ней машиночитаемый код, который при исполнении управляет упомянутым по меньшей мере одним процессором для:
в нормальном режиме, обеспечения отображения множества дискретных элементов на сенсорном экране;
в ответ на обнаружение, в нормальном режиме, пальца пользователя, который находится в некотором месте над сенсорным экраном, но не касается его, при отображении дискретных элементов в нормальном режиме, перехода в режим масштабирования и панорамирования;
в ответ на переход в режим масштабирования и панорамирования, обеспечения масштабирования множества отображаемых дискретных элементов;
в режиме масштабирования и панорамирования, в ответ на обнаружение перемещения пальца пользователя в другое место бесконтактного ввода над сенсорным экраном, обеспечения панорамирования множества дискретных элементов, отображаемых на сенсорном экране;
в режиме масштабирования и панорамирования, в ответ на обнаружение ввода касанием, перехода в режим указания;
в режиме указания, предотвращения панорамирования множества отображаемых дискретных элементов при смещении места ввода касанием в пределах заранее заданных критериев; и
в режиме указания, обеспечения перемещения курсора, указателя или маркера при изменении места ввода касанием.
Упомянутые дискретные элементы могут представлять собой текстовые символы. В таком случае упомянутый машиночитаемый код при исполнении может управлять упомянутым по меньшей мере одним процессором для размещения курсора в месте ввода касанием в ответ на обнаружение прекращения ввода касанием в режиме указания.
Упомянутые дискретные элементы могут представлять собой значки. В таком случае упомянутый машиночитаемый код при исполнении может управлять упомянутым по меньшей мере одним процессором для выбора значка, находящегося в месте ввода касанием, в ответ на обнаружение прекращения ввода касанием в режиме указания.
Упомянутый машиночитаемый код при исполнении может управлять упомянутым по меньшей мере одним процессором для обеспечения, в ответ на обнаружение прекращения ввода касанием при нахождении в режиме указания, возвращения в нормальный режим и уменьшения масштаба отображения упомянутого множества дискретных элементов.
Упомянутый машиночитаемый код при исполнении может управлять упомянутым по меньшей мере одним процессором для обеспечения, в ответ на обнаружение прекращения ввода касанием при нахождении в режиме указания, возвращения в нормальный режим и обеспечения уменьшения масштаба отображения упомянутого множества дискретных элементов до уровня масштабирования, который имел место во время перехода в режим масштабирования и панорамирования.
Упомянутый машиночитаемый код при исполнении может управлять упомянутым по меньшей мере одним процессором для обеспечения, в ответ на обнаружение прекращения ввода касанием при нахождении в режиме масштабирования и панорамирования, возвращения в нормальный режим и обеспечения уменьшения масштаба отображения упомянутого множества дискретных элементов.
Упомянутый машиночитаемый код при исполнении может управлять упомянутым по меньшей мере одним процессором для обеспечения, в ответ на обнаружение прекращения ввода касанием при нахождении в режиме масштабирования и панорамирования, возвращения в нормальный режим и обеспечения уменьшения масштаба отображения упомянутого множества дискретных элементов до уровня масштабирования, который имел место во время перехода в режим масштабирования и панорамирования.
В четвертом аспекте настоящего изобретения предложен машиночитаемый носитель для хранения данных, имеющий хранящийся на нем машиночитаемый код, который при исполнении вычислительным устройством обеспечивает выполнение этим вычислительным устройством способа, включающего:
в нормальном режиме, обеспечение отображения множества дискретных элементов на сенсорном экране;
в ответ на обнаружение, в нормальном режиме, пальца пользователя, который находится в некотором месте над сенсорным экраном, но не касается его, при отображении дискретных элементов в нормальном режиме, переход в режим масштабирования и панорамирования;
в ответ на переход в режим масштабирования и панорамирования, обеспечение масштабирования множества отображаемых дискретных элементов;
в режиме масштабирования и панорамирования, в ответ на обнаружение перемещения пальца пользователя в другое место бесконтактного ввода над сенсорным экраном, обеспечение панорамирования множества дискретных элементов, отображаемых на сенсорном экране;
в режиме масштабирования и панорамирования, в ответ на обнаружение ввода касанием, переход в режим указания;
в режиме указания, предотвращение панорамирования множества отображаемых дискретных элементов при смещении места ввода касанием в пределах заранее заданных критериев; и
в режиме указания, обеспечение перемещения курсора, указателя или маркера при изменении места ввода касанием.
В пятом аспекте настоящего изобретения предложен способ, осуществляемый компьютером и включающий:
в нормальном режиме, обеспечение отображения множества дискретных элементов на сенсорном экране;
в ответ на обнаружение, в нормальном режиме, пальца пользователя, который находится в некотором месте над сенсорным экраном, но не касается его, при отображении дискретных элементов в нормальном режиме, переход в режим масштабирования и панорамирования;
в ответ на переход в режим масштабирования и панорамирования, обеспечение масштабирования множества отображаемых дискретных элементов;
в режиме масштабирования и панорамирования, в ответ на обнаружение перемещения пальца пользователя в другое место бесконтактного ввода над сенсорным экраном, обеспечение панорамирования множества дискретных элементов, отображаемых на сенсорном экране;
в режиме масштабирования и панорамирования, в ответ на обнаружение ввода касанием, переход в режим указания;
в режиме указания, предотвращение панорамирования множества отображаемых дискретных элементов при смещении места ввода касанием в пределах заранее заданных критериев; и
в режиме указания, обеспечение перемещения курсора, указателя или маркера при изменении места ввода касанием.
Краткое описание чертежей
Далее варианты осуществления настоящего изобретения будут описаны с помощью примеров со ссылками на приложенные чертежи, где:
Фиг. 1 представляет собой вид в перспективе мобильного терминала, в котором реализованы аспекты настоящего изобретения;
Фиг. 2 представляет собой эскизную блок-схему, иллюстрирующую компоненты мобильного терминала, показанного на фиг. 1, и их взаимосвязи;
Фиг. 3 представляет собой блок-схему алгоритма, иллюстрирующую функционирование мобильных устройств, показанных на фиг. 1 и 2, в соответствии с первой группой вариантов осуществления настоящего изобретения;
Фиг. 4 представляет собой диаграмму состояний, в которых может находиться мобильное устройство, соответствующее фиг. 1 и 2, и возможные переходы между этими состояниями;
Фиг. 5-9 представляют собой снимки экрана, иллюстрирующие отображение на мобильном устройстве, показанном на фиг. 1, в различных состояниях при функционировании в соответствии с первой группой вариантов осуществления настоящего изобретения;
Фиг. 10 представляет собой блок-схему алгоритма, иллюстрирующую функционирование мобильных устройств, показанных на фиг. 1 и 2, в соответствии со второй группой вариантов осуществления настоящего изобретения;
Фиг. 11-15 представляют собой снимки экрана, иллюстрирующие изображение на мобильном устройстве, показанном на фиг. 1, в различных состояниях при функционировании в соответствии со второй группой вариантов осуществления настоящего изобретения.
Описание вариантов осуществления изобретения
Описанные в данном документе варианты осуществления настоящего изобретения относятся к устройству, сконфигурированному для обеспечения двухэтапного размещения курсора или двухэтапного выбора, при которых на первом этапе обеспечивается масштабирование, с возможностью панорамирования, в ответ на бесконтактный ввод, а на втором этапе обеспечивается точное размещение курсора или выбор при фиксации масштабированного изображения.
Рассмотрим сначала фиг. 1, на которой проиллюстрирован терминал 100. На внешней поверхности терминала 100 расположен сенсорный дисплей или экран 102, обладающий возможностью обнаружения бесконтактного ввода. Терминал 100 имеет также аппаратные клавиши 104. Также терминал имеет громкоговоритель 118. Терминал 100 имеет в своем составе разъем 120 наушников. Имеются также и другие элементы, но они, в целях ясности и краткости, опущены в настоящем описании.
На фиг. 2 показана эскизная блок-схема компонентов терминала 100. Терминал 100 имеет в своем составе контроллер 106, сенсорный дисплей 102, состоящий из дисплейной части 108 и части тактильного/бесконтактного интерфейса 110, аппаратные клавиши 104, память 112, RAM 114, громкоговоритель 118, разъем 120 наушников, модуль 122 беспроводной связи, антенну 124 и аккумулятор 116. Контроллер 106 имеет соединение со всеми остальными компонентами (кроме аккумулятора 116), что позволяет ему осуществлять управление их работой.
Память 112 может представлять собой энергонезависимую память, например, память «только для чтения» (read only memory, ROM), привод жесткого диска (hard disk drive, HDD) или твердотельный привод (solid state drive, SSD). В памяти 112, помимо прочего, хранится операционная система 126 и могут также храниться программные приложения 128. Оперативная память, RAM 114, используется контроллером 106 для временного хранения данных. Операционная система 126 может содержать код, который при исполнении контроллером 106 во взаимодействии с RAM 114 обеспечивает управление функционированием каждого из аппаратных компонентов терминала.
Контроллер 160 может принимать любую подходящую форму, например, он может представлять собой микроконтроллер, несколько микроконтроллеров, процессор или несколько процессоров.
Терминал 100 может представлять собой мобильный телефон или смартфон, карманный персональный компьютер (КПК), портативный медиаплеер (portable media player, PMP), портативный компьютер или любое другое устройство, способное исполнять программные приложения. В некоторых вариантах осуществления настоящего изобретения терминал 100 может осуществлять сотовую связь с использованием модуля 122 беспроводной связи и антенны 124. Модуль 122 беспроводной связи может быть сконфигурирован для связи по нескольким протоколам, например, GSM, CDMA, UMTS, Bluetooth и IEEE 802.11 (Wi-Fi).
Дисплейная часть 108 сенсорного дисплея 102 предназначена для отображения пользователю терминала изображений и текста. Часть тактильного/бесконтактного интерфейса 110 предназначена для приема от пользователя ввода касанием и бесконтактного ввода.
Сенсорный экран 102, обладающий способностью обнаружения бесконтактного ввода может принимать любую подходящую форму. В подсистемах тактильного/бесконтактного интерфейса 110, связанных с обнаружением касания и бесконтактного ввода, в большинстве случаев задействуются одни и те же компоненты, но альтернативно, они могут представлять собой независимые подсистемы, не использующие совместно никаких компонентов или использующие совместно только некоторые компоненты. Выходные данные тактильного/бесконтактного интерфейса 110 могут принимать любую подходящую форму. Они могут принимать форму координат x, y, z, где x и y - направления в плоскости сенсорного экрана, а z - направление, перпендикулярное сенсорному экрану 102 и обозначающее расстояние бесконтактного ввода. Альтернативно, выходные данные по направлению z в интерфейсе 110 касания/бесконтактного ввода могут обозначать силу или размер другого скалярного параметра ввода. Эти выходные данные могут также включать параметр размера или силы, относящийся к вводу касанием с координатами x, y. Тактильный/бесконтактный интерфейс 110, предпочтительно, представляет собой устройство с функцией «мультитач», способное предоставлять выходные координаты x, y для каждого из множества касаний.
Помимо операционной системы 126 и программных приложений 128 в памяти 112 могут также храниться мультимедийные файлы, например, музыкальные и видеофайлы. На терминал может быть установлено множество различных программных приложений 128, включая веб-браузеры, приложения электронной почты и другие приложения для обмена сообщениями, например, приложения для обмена сообщениями службы SMS, MMS, приложения для обмена мгновенными сообщениями, приложения для работы с социальными сетями, приложения для прослушивания радио и музыки, игровые и служебные приложения. Некоторые или все из этих программных приложений, хранимых в терминале, могут обеспечивать звуковой вывод. Аудиоданные, предоставляемые приложениями, могут быть преобразованы в звук при помощи громкоговорителя (или громкоговорителей 118) терминала или наушников, или, если к разъему наушников были подключены наушники или громкоговорители, то при помощи наушников или громкоговорителей, подключенных к разъему 120 наушников.
В некоторых вариантах осуществления настоящего изобретения терминал 100 может быть связан с внешними программными приложениями, не хранящимися в этом терминале. Такие приложения могут храниться на удаленном сервере, при этом они могут исполняться частично или полностью на удаленном серверном устройстве. Эти приложения называют приложениями с облачным размещением. Терминал 100 может осуществлять связь с удаленным серверным устройством в целях использования хранимых на нем программных приложений. Это может включать прием аудиовывода, предоставляемого внешним программным приложением.
В некоторых из вариантов осуществления настоящего изобретения аппаратные клавиши 104 представляют собой специальные клавиши или переключатели для управления звуком. Такие аппаратные клавиши могут, например, включать две смежные клавиши, кулисный переключатель или вращающийся регулятор. В некоторых из вариантов осуществления настоящего изобретения аппаратные клавиши 104 расположены на боковой стороне терминала 100.
В дальнейшем описании подразумевается, что выполнение рассматриваемых операций осуществляется под управлением контроллера 106 или непосредственно контроллером 106, на основе инструкций, входящих в состав программного обеспечения, включающего одно или более программных приложений 128 или операционную систему 126, или комбинацию операционной системы 126 и одного или более программных приложений 128.
Ниже на примере блок-схемы алгоритма фиг. 3 будет рассмотрена работа терминала 100 в соответствии с первой группой вариантов осуществления настоящего изобретения.
Последовательность операций начинается с шага S1, на котором терминал 100 находится в нормальном режиме. На шаге S2 осуществляется отображение текста с заданным по умолчанию уровнем масштабирования. Это проиллюстрировано на фиг. 5.
На шаге S3 выполняется проверка, не были ли изменен уровень масштабирования. Уровень масштабирования может измениться по причине пользовательского ввода, например с помощью жеста масштабирования («щипка»), с использованием аппаратной клавиши или каким-либо иным способом. Если на шаге S3 определено, что уровень масштабирования был изменен, на шаге S4 выполняется изменение уровня масштабирования. Если на шаге S3 определено, что уровень масштабирования не был изменен, на шаге S4 выполняется отображение текста с заданным уровнем масштабирования. Если уровень масштабирования не был изменен, то заданным уровнем масштабирования является уровень масштабирования, заданный по умолчанию. То есть, на фиг. 5 также проиллюстрировано отображение после шага S5 в случае отсутствия изменений в уровне масштабирования. На фиг. 5 показано текстовое окно, отображаемое терминалом 100. Тест в этом текстовом окне переносится циклически, т.е. текст в каждой строке является продолжением текста строки, расположенной непосредственно над ней. В текстовом окне, проиллюстрированном на фиг. 5, показана вся ширина текстового окна.
На шаге S6 определяют, не обнаружен ли бесконтактный ввод. Бесконтактный ввод, или hover, может обнаруживаться любым подходящим способом. Бесконтактный ввод может обнаруживаться как реакция на определение того, что палец пользователя (как правило, указательный) находится в пределах чувствительности тактильного/бесконтактного интерфейса 110. Альтернативно, бесконтактный ввод может обнаруживаться как реакция на определение того, что палец пользователя находился в некотором месте в пределах чувствительности тактильного/бесконтактного интерфейса 110 более заранее заданного периода времени, который может составлять порядка нескольких сотен миллисекунд. Альтернативно, бесконтактный ввод может обнаруживаться как реакция на определение того, что палец пользователя находится в пределах некоторого расстояния, например, 30 мм, от сенсорного экрана 102.
Если бесконтактный ввод не обнаружен, алгоритм возвращается к шагу S3. Если определено, что бесконтактный ввод обнаружен, то на шаге S7 терминал 100 выходит из нормального режима и переходит в режим масштабирования и панорамирования. Переход от шага S6 к шагу S7 обозначен на фиг. 4 как переход Т1.
На фиг. 4 показаны три состояния, или режима, терминала 100.
Первый режим 41 представляет собой нормальный режим, или режим масштабирования. Выше этот режим назывался «нормальным», но если на шаге S4 уровень масштабирования был изменен, то это режим может также называться «режимом масштабирования». Нормальный режим, или режим масштабирования, представляет собой режим, в котором текст на шаге S5 отображается с заданным уровнем масштабирования, который может быть уровнем масштабирования по умолчанию. Реакция на бесконтактный ввод или ввод касанием в нормальном режиме (режиме масштабирования) выходит за рамки настоящего описания.
Второй режим 42 представляет собой режим масштабирования и панорамирования. В режиме масштабирования и панорамирования выполняется масштабирование и панорамирование отображения, что может обеспечиваться при помощи смещения места бесконтактного ввода.
Третий режим 42 представляет собой режим указания. В режиме указания уровень масштабирования сохраняется неизменным, а смещение ввода касанием вызывает перемещение курсора, указателя или маркера без панорамирования, за исключением определенных условий.
В соответствии с иллюстрацией, терминал 100 может переходить между нормальным режимом (режимом масштабирования) и режимом 42 масштабирования и панорамирования с помощью перехода T1. Терминал 100 может переходить между этими двумя режимами в обратном направлении с помощью перехода T2. Терминал 100 может переходить из режима 42 масштабирования и панорамирования в режим 42 указания с помощью перехода T3. Наконец, терминал 100 может переходить из режима 43 указания в нормальный режим 41 (режим масштабирования) с помощью перехода T4.
После этого на шаге S8 увеличивается уровень масштабирования. В данном случае масштабирование центрировано вокруг места бесконтактного ввода. То есть, обеспечивается увеличение области дисплея, отображаемой на шаге S5, которая расположена вокруг места бесконтактного ввода. Это проиллюстрировано на фиг. 6. В данном случае, текст, расположенный в левой части изображения на фиг. 5, показан на фиг. 6 как увеличенный. Части изображения, которые не расположены вблизи места бесконтактного ввода, более не отображаются. Они включают правую часть изображения на фиг. 5.
На шаге S9 определяют, не изменилось ли место бесконтактного ввода. Если на шаге S9 определено, что место бесконтактного ввода изменилось, то на шаге S10 отображение панорамируется в соответствии с перемещением места бесконтактного ввода. В данном случае отображение панорамируется таким образом, что обеспечивается его визуальное увеличение, следующее за местом бесконтактного ввода. Сначала увеличивается левая часть текста и затем, в соответствии с иллюстрацией фиг. 6, с перемещением места бесконтактного ввода вправо, обеспечивается прокрутка текста, отображаемого на дисплее, влево, таким образом, что отображается текст правой части изображения на фиг. 5. Это проиллюстрировано на фиг. 7.
Аналогично, если место бесконтактного ввода смещается вверх, отображаемый текст прокручивается вниз, т.е. в этом случае раскрывается и отображается текст, который на шаге S5 был отображен в верхней части дисплея (фиг. 5). Панорамирование в соответствии с перемещением бесконтактного ввода на шаге S10 осуществляется с учетом границ текстового окна. Панорамирование ограничено таким образом, что отображаемый текст не выходит за границы текстового окна. Это относится к обоим горизонтальным направлениям (влево и вправо) и к обоим вертикальным направлениям (вверх и вниз).
После шага S10 алгоритм возвращается к шагу S9, на котором определяют, не изменилось ли место бесконтактного ввода. Если на шаге S9 определено, что изменения места бесконтактного ввода не обнаружено, то на шаге S11 определяют, не был ли прекращен бесконтактный ввод. Если на шаге S11 определено, что бесконтактный ввод был прекращен, пока терминал 100 находился в режиме масштабирования и панорамирования, то выполняется выход из режима масштабирования и панорамирования, и терминал 100 возвращается в нормальный режим (режим масштабирования). А именно, алгоритм снова возвращается к шагу S5. Это обозначено на фиг. 4 как переход T2.
Если на шаге S11 определено, что бесконтактный ввод не прекращен, то терминал 100 остается в режиме масштабирования и панорамирования, а алгоритм переходит к шагу S12. На нем определяется, не был ли обнаружен ввод касанием. Если на шаге S12 не был обнаружен ввод касанием, то алгоритм возвращается к шагу S9. Если на шаге S12 определено, что был обнаружен ввод касанием, то алгоритм переходит к шагу S13.
Результат выполнения шагов S9, S11 и S12 заключается в том, что терминал 100 остается в режиме масштабирования и панорамирования, при этом выполняется панорамирование отображения с перемещением места бесконтактного ввода либо до прекращения бесконтактного ввода, либо до обнаружения ввода касанием. Если бесконтактный ввод прекращен, то терминал 100 переходит (T2) из режима 42 масштабирования и панорамирования в нормальный режим (режим масштабирования). Если обнаружен ввод касанием, то терминал 100 переходит (T3) из режима 42 масштабирования и панорамирования в режим 43 указания. Переход в режим указания выполняется на шаге S13.
На шаге S14 выполняется фиксация изображения. На данном шаге выполняется запрет дальнейшего панорамирования изображения, за исключением некоторых условий, которые описаны ниже.
После фиксации изображения на шаге S14 на шаге S15 выполняется сброс и запуск таймера. Затем, на шаге S16, в месте ввода касанием размещается курсор. Результирующее изображение показано на фиг. 8.
На шаге S17 определяют, не был ли прекращен ввод касанием. Если на шаге S17 определено, что ввод касанием был прекращен, то на шаге S18 курсор остается в месте ввода касанием. После шага S18 алгоритм возвращается к шагу S5. Это означает переход (T4) из режима 43 указания в нормальный режим 41 (режим масштабирования). После шага S18 текстовое окно отображается с уровнем масштабирования, соответствующим последнему отображению на шаге S5. Однако в данном случае есть отличие, заключающееся в том, что позиция курсора в тексте соответствует местоположению ввода касанием, обнаруженному на шаге S12, в результате которого было выполнено размещение курсора на шаге S16.
Если на шаге S17 не определено, что ввод касанием был прекращен, то на шаге S19 определяют, не сместилось ли место ввода касанием. Если определено, что место ввода касанием не сместилось, на шаге S20 определяют, не истек ли таймер, который был запущен на шаге S15. Если таймер не истек, алгоритм возвращается к шагу S17. То есть, алгоритм повторяет шаги S17, S19 и S20 до тех пор, пока не будет определено, что ввод касанием прекращен, в случае чего терминал переходит (T4) в нормальный режим 41 (режим масштабирования), или не будет определено, что место ввода касанием сместилось, или же что таймер истек.
Если на шаге S19 определено, что место ввода касанием сместилось, то алгоритм переходит к шагу S21. На данном шаге определяют, находится ли новое место ввода касанием на краю изображения или вблизи него. Изображение в данном случае является фиксированным (на шаге S14), т.е. соответствует масштабированному, или увеличенному, виду. Если на шаге S21 определено, что ввод касанием находится на границе изображения, то на шаге S22 выполняется панорамирование изображения. На данном шаге панорамирование изображения включает прокрутку увеличенного текста в направлении, противоположном краю изображения, у которого расположен ввод касанием. Например, если ввод касанием расположен на правом краю увеличенного изображения, или вблизи него, то текст прокручивается влево. Прокрутка продолжается до тех пор, пока край текстового окна не будет расположен на краю масштабированного изображения. Скорость прокрутки может быть фиксированной, в том смысле, что скорость прокрутки остается неизменной в течение всей операции панорамирования. Альтернативно, скорость прокрутки может зависеть от времени, прошедшего с начала операции панорамирования. Например, скорость прокрутки может увеличиваться с увеличением времени, прошедшего с начала операции панорамирования. Альтернативно или в дополнение, скорость прокрутки при операции панорамирования может зависеть от места ввода касанием. Например, при вводе касанием на самом краю изображения может обеспечиваться более быстрое панорамирование, чем при вводе касанием вблизи края дисплея, но на некотором удалении от него.
Панорамирование влево, в горизонтальном направлении, осуществляется аналогично. Панорамирование в вертикальном направлении, вверх или вниз, также осуществляется аналогично.
Нужно понимать, что выполнение операций, проиллюстрированных на фиг. 3, имеет результатом панорамирование изображения при осуществлении ввода касанием на краю дисплея или вблизи него, при этом панорамирование изображения прекращается в двух ситуациях. Первая - когда изображение панорамируется таким образом, что граница отображаемого текста в направлении панорамирования совпадает с границей текстового окна. Вторая - когда место ввода касанием смещается от фая дисплея к его центральной области. После смещения пальца пользователя от края дисплея в более центральное положение, панорамирование изображения прекращается, а место курсора продолжает следователь за местом ввода касанием.
После панорамирования изображения на шаге S22 или после определения того, что ввод касанием не расположен на краю дисплея, на шаге S21, алгоритм возвращается к шагу S15. Затем, на шаге S16, в месте ввода касанием размещается курсор. Результирующее изображение показано на фиг. 9.
Сброс и перезапуск таймера на шаге S15 после перемещения места ввода касанием дает возможность использовать этот таймер для обнаружения ввода касанием, не изменяющего своего места и длящегося более, чем период таймера. Другими словами, применение таймера позволяет обнаруживать в терминале 100 прием статического ввода касанием определенной длительности.
Вместо сброса таймера на шаге S15, если на шаге S21 обнаружено смещение ввода касанием, таймер может сбрасываться, только если определено, что с момента сброса и перезапуска таймера имело место перемещение, количественно превышающее некоторое пороговое значение. Эта степень смещения может вычисляться в плоскости x, y, или в одном из направлений, x или y. Координаты x, y или x, или y, или упомянутый порог, могут принимать любые подходящие значения. Например, это значение может соответствовать 2 мм или нескольким миллиметрам. Это допускает небольшие перемещения пользовательского ввода касанием без сброса таймера.
Если на шаге S20 определено, что время таймера истекло, на шаге S23 запускается выделение. После шага S23, на шаге S24 размещается курсор начала. Курсор начала размещается в месте ввода касанием, которое представляет собой последнее место ввода касанием, если он перемещался в промежутке между запуском таймера и истечением времени таймера. Курсор начала отмечает начало секции текста, которая будет выбрана в течение операции выбора текста.
После размещения курсора начала на шаге S25 размещается курсор конца. Курсор конца отмечает конец секции текста, которая будет выбрана в течение операции выбора текста. Курсор конца размещается в месте ввода касанием, которое исходно совпадает с местом курсора начала. На шаге S26 определяют, не был ли прекращен ввод касанием. Если определено, что ввод касанием не был прекращен, то на шаге S27 определяют, не сместилось ли место ввода касанием. Если определено, что место ввода касанием не сместилось, то алгоритм переходит к шагу S26. Алгоритм поочередно выполняет шаги S26 и S27 до тех пор, пока либо не сместится место ввода касанием, либо ввод касанием не будет прекращен.
Если на шаге S27 определено, что ввод касанием сместился, то на шаге S28 определяют, не располагается ли ввод касанием на краю дисплея. В случае положительного результата определения, на шаге S29 выполняется панорамирование изображения. Оно аналогично панорамированию изображения на шаге S22, описанном выше. Однако на шаге S29 курсор начала остается в том месте, в котором он был размещен на шаге S24.
После панорамирования изображения на шаге S29 или после определения того, что ввод касанием не расположен на краю дисплея, на шаге S28, алгоритм возвращается к шагу S30. Курсор начала не смещается; со смещением ввода касанием перемещается только курсор конца.
Нужно понимать, что панорамирование изображения на шаге S29, происходящее в результате того, что на шаге S28 определено расположение ввода касанием на краю дисплея или вблизи края дисплея, обеспечивает перемещение курсора конца при прокрутке текста на масштабируемом изображении, в то время как ввод касанием остается по существу в том же самом месте.
После шага S30 алгоритм возвращается к шагу S26. То есть, после определения, на шаге S27, что ввод касанием сместился, алгоритм циклически выполняет шаги S26-S30 до тех пор, пока на шаге S26 не будет определено, что ввод касанием был прекращен.
После того, как на шаге S26 будет определено, что ввод касанием прекращен, выполняется выделение текста между курсором начала и курсором конца. Визуально текст может выделяться (или окрашиваться) при перемещении курсора на шаге S30. Однако только на шаге S31 курсоры начала и конца фиксируются.
После шага S31 алгоритм возвращается к шагу S5. На этом шаге терминал 100 переходит (T4) из режима 43 указания в нормальный режим 41 (режим масштабирования). Теперь, однако, имеется выделение текста между курсорами начала и конца, если в интервале между размещением курсора на шаге S24 и определением прекращения ввода касанием на шаге S26 не было смещения ввода касанием. Если курсор конца не был перемещен, то после шага S31 терминал 100 остается нормальном режиме (режим масштабирования), причем курсор находится в месте курсора начала, которое также являлось бы и местом курсора конца, в случае его присутствия.
Описанные выше шаги реализуют двухэтапную процедуру размещения курсора. На первом этапе в результате бесконтактного ввода выполняется масштабирование в отображаемом текстовом окне. На первом этапе пользователь может выполнять панорамирование в текстовом окне без размещения курсора. На втором этапе ввод касанием прекращает панорамирование в масштабированном текстовом окне и обеспечивает перемещение курсора. Поскольку на втором этапе текстовое окно масштабировано, или увеличено, пользователю проще разместить курсор в требуемом месте, чем до масштабирования.
Кроме того, размещение курсора на втором этапе может выполняться как часть того же самого движения, в результате которого было выполнено масштабирование. Это отличается от систем на существующем уровне техники, в которых масштабирование может быть выполнено только с помощью жеста «защипывания» или с помощью отдельного элемента управления масштабированием. Можно сказать, что такая двухэтапная процедура, с применением в начале бесконтактного ввода для масштабирования и затем ввода касанием для точного размещения курсора, дает результат, превосходящий просто сумму своих составных частей, поскольку эти два этапа выполняются как часть одного движения пальца пользователя. Следует отметить, что в режиме указания перемещение пальца уже не влияет на (масштабированное или увеличенное) содержимое изображения. Содержимое изображения остается тем же, что и до обнаружения ввода касанием. Другими словами, палец пользователя больше не вызывает имитацию увеличительного стекла с центром в месте его расположения; напротив, увеличенное изображение фиксируется. Увеличенное изображение частично разблокируется, если палец пользователя смещается на край сенсорного экрана, или в область вблизи края, но только в том случае, когда ввод касанием остается на краю дисплея или вблизи края дисплея, а отображаемый текст не достигает границы текстового окна в соответствующем направлении.
Также описанные выше на примере фиг. 3 операции позволяют выполнить выбор области текста. Также обеспечивается выделение этого текста с обеспечением возможности размещения курсоров начала и конца при нахождении в масштабированном, или увеличенном, состоянии. Также обеспечение возможности панорамирования изображения после размещения курсора начала и до размещения курсора конца позволяет выделять текст, даже если места начала и конца не могут быть одновременно отображены на дисплее с увеличенным, или масштабированным, изображением. При выполнении операций, описанных выше на примере фиг. 3, это достигается просто продолжением пользователем ввода касанием и перемещением его пальца на край дисплея в требуемом направлении панорамирования. Это может выполняться в вертикальном или в горизонтальном направлении, или одновременно в горизонтальном и вертикальном направлениях. Ограниченный курсорами текст после завершения ввода касанием становится выбранным.
Использование выбранного, или выделенного, текста не является предметом рассмотрения настоящей заявки. Однако предполагается, что пользователь может выбирать текст с целью выполнения дальнейших действий при помощи длительного нажатия на текст или, возможно, на любую область дисплея, или при помощи нажатия на аппаратную клавишу «опции» (options).
Аналогично, действия, выполняемые после размещения курсора, не являются предметом рассмотрения настоящей заявки. Однако предполагается, что пользователь может вводить текст в месте расположения курсора с использованием клавиатуры, например, виртуальной клавиатуры, или может удалять текст из места расположения курсора с помощью клавиши «возврата позиции» (backspace), например, являющейся частью виртуальной клавиатуры.
Размещение курсора относительно места ввода касанием может принимать любую подходящую форму. Например, курсор может быть размещен непосредственно в месте ввода касанием, т.е. под пальцем пользователя. Альтернативно, курсора может быть размещен немного выше места ввода касанием, т.е. выше места расположения пальца пользователя на сенсорном экране 102. Последняя альтернатива может быть более предпочтительной, поскольку пользователю лучше видно отображаемый курсор и его положение в тексте.
Несмотря на то, что выше при рассмотрении фиг. 3 указано, что курсор не размещается в тексте до перехода терминала 100 в режим 43 указания, альтернативно, в соответствии с первой группой вариантов осуществления настоящего изобретения, курсор может уже присутствовать в тексте. В некоторых из таких вариантов осуществления настоящего изобретения курсор может оставаться в исходном месте, пока терминал 100 находится в режиме 42 масштабирования и панорамирования.
Альтернативно, при нахождении терминала в режиме масштабирования и панорамирования курсор может быть скрыт.В любом случае, после перехода терминала 100 в режим 43 указания, курсор размещается в месте ввода касанием, инициирующего переход из режима масштабирования и панорамирования в режим 43 указания. В других подобных вариантах осуществления настоящего изобретения секция текста, которая уже выделена с помощью курсоров начала и конца в режиме масштабирования и панорамирования, может быть изменена в режиме указания. Например, терминал 100 может реагировать на вход в режим указания из режима масштабирования и панорамирования, в котором ввод касанием располагался вблизи места курсора начала или конца, привязыванием этого курсора к вводу касанием. В данном случае пользователь может изменять положение курсора, перемещая ввод касанием в режиме указания, при этом точное размещение курсора обеспечивается благодаря масштабированию, выполняемому в режиме указания. Положение второго курсора, начала или конца, может быть изменено пользователем с помощью аналогичного действия, но на этот раз с выполнением ввода касанием вблизи этого второго курсора. В таких вариантах осуществления настоящего изобретения места расположения курсоров могут устанавливаться пользователем при нахождении терминала в режиме указания, или могут устанавливаться иным образом, например, путем помещения ввода касанием на одно из слов текста, когда терминал 100 находится в нормальном режиме (режиме масштабирования).
Предполагается, что пользователь обычно знает требуемое место расположения курсора перед выполнением пользовательского ввода. После совершения бесконтактного ввода терминал 100 переходит в режим 42 масштабирования и панорамирования и обеспечивает увеличение изображения в области приема бесконтактного ввода. После совершения ввода касанием пользователь может выполнить точную настройку размещения курсора, сделав корректировку в горизонтальном и/или вертикальном направлении, в результате чего курсор размещается в требуемом месте. Если место бесконтактного ввода не слишком удалено от требуемого места размещения курсора, панорамирование изображения при размещении курсора в большинстве случаев не требуется. С большей вероятностью панорамирование потребуется в случае, когда пользователю нужно выделить секцию текста с помощью курсоров начала и конца.
Из предшествующего рассмотрения фиг. 3 следует, что вход в режим масштабирования и панорамирования осуществляется только после определения того, что был обнаружен бесконтактный ввод. Конфигурирование терминала 100 таким образом, чтобы пользователь мог знать заранее, когда терминал переходит в режим масштабирования и панорамирования, дает ему уверенность в том, что изображение будет увеличено для размещения курсора, когда это необходимо. Другим преимуществом перехода в режим масштабирования и панорамирования только после обнаружения бесконтактного ввода является то, что предоставление режима масштабирования и панорамирования и указания не будет влиять на работу терминала 100 в случае, когда масштабирование не требуется. Например, в случае, когда пользователь выполняет ввод скольжением или смахиванием для прокрутки текста, это может достигаться выполнением пользователем жеста скольжения или смахивания без предоставления перед этим бесконтактного ввода. Поскольку на шаге S6 бесконтактный ввод не обнаружен, переход в режим масштабирования и панорамирования не выполняется, и пользовательский ввод обрабатывается иным образом.
Специалистами в данной области техники могут быть найдены и другие варианты осуществления настоящего изобретения.
Например, несмотря на то, что выше описано обеспечение размещения курсора при помощи панорамирования изображения на шаге S22, в то время как ввод касанием по-прежнему сохраняется, а именно, располагается на краю дисплея, могут быть предложены альтернативные варианты. Например, терминал 100 может быть сконфигурирован для обратного масштабирования (уменьшения уровня масштабирования) после размещения курсора начала и при расположении ввода касанием на краю дисплея или вблизи края дисплея. Обратное масштабирование в этом случае позволяет отобразить большую часть текстового окна, в которой находится курсор начала, что позволяет выполнить размещение курсора конца, не прекращая ввод касанием. Однако недостаток данного варианта заключается в том, что размещение курсора конца в требуемом месте может быть затруднено для пользователя по причине меньшего уровня масштабирования.
В еще одном из альтернативных вариантов осуществления настоящего изобретения терминал 100 сконфигурирован таким образом, чтобы реагировать на определение прекращения ввода касанием, после выделения части текста, обратным масштабированием и дальнейшим предоставлением пользователю возможности выбора альтернативной части текстового окна для масштабирования с целью размещения курсора конца. В данном варианте осуществления изобретения терминал 100 может реагировать на обнаружение того, что пользовательский ввод остается в позиции бесконтактного ввода между двумя последовательными вводами касанием. В таком альтернативном варианте осуществления изобретения в терминале 100 может отображаться текстовое окно с исходным уровнем масштабирования (присутствующем на шаге S5), пока присутствует бесконтактный ввод, и затем может выполняться масштабирование до другого уровня (присутствующего на шаге S8) после обнаружения второго ввода касанием. Альтернативно, терминал 100 может реагировать на необнаружение бесконтактного ввода, после первого ввода касанием, возвращением к исходному уровню масштабирования, и реагировать на последующее обнаружение бесконтактного ввода масштабированием с отображением части текстового окна, в котором расположен бесконтактный ввод, при этом размещение курсора обеспечивается после следующего за этим получения ввода касанием.
Описанные выше на примере фиг. 3 операции решают проблему точности указания, присутствующую в некоторых пользовательских интерфейсах с функцией «увеличительного стекла». В некоторых из таких интерфейсов место ввода касанием становится центром «увеличительного стекла» или области «рыбьего глаза», в которой выполняется увеличение. Однако области изображения вне «увеличительного стекла» или области «рыбьего глаза» остаются неизменными. В таких интерфейсах пользователю обеспечивается лучший обзор ввода, выполняемого им на сенсорном экране. Однако они не упрощают ему размещение ввода в требуемом месте. Данная проблема решается с помощью описанных выше операций, комбинацией масштабирования в режиме масштабирования и панорамирования и фиксацией изображения в режиме указания.
Далее будет рассмотрена работа терминала 100 в соответствии со второй группой вариантов осуществления настоящего изобретения, со ссылками на блок-схему фиг. 10 и диаграмму состояний фиг. 4. Если не указано обратное, и при отсутствии функциональных противоречий, элементы второй группы вариантов осуществления настоящего изобретения являются идентичными элементам первой группы вариантов осуществления настоящего изобретения. Реакция терминала 100 на ввод касанием без предварительно обнаруженного бесконтактного ввода не является предметом рассмотрения настоящей заявки и не проиллюстрирована на фиг. 10.
Функционирование начинается на шаге S1, на котором терминал 100 находится в нормальном режиме. На шаге S2, ряд значков отображается в исходном размере. Это проиллюстрировано на фиг. 11, где показан терминал 100, предоставляющий ряд значков, расположенных в виде сетки. Значки занимают большую часть области изображения на сенсорном экране 102. Значки расположены в виде регулярной квадратной сетки, но, альтернативно, могут использоваться другие формы ряда значков. Значки могут иметь как квадратную форму, так и любую другую форму. В данном случае значки представляют собой квадраты со стороной 5 мм, однако, альтернативно, они могут быть квадратами со стороной 3 мм, 4 мм, 6 мм, 7 мм, или любого другого размера.
Между каждым из значков и соседним с ним значком имеется небольшой промежуток. Может быть предоставлено фоновое изображение, которое видимо в промежутках между значками. Использование фонового изображения и промежутков между значками обеспечивает более благоприятное визуальное впечатление и удобство восприятия для пользователя.
На фиг. 11 значки изображены в размере, который может быть назван исходным размером. В данном примере все значки имеют одинаковый размера, однако, альтернативно, некоторые из значков могут иметь отличающийся размер.
В нормальном режиме 41 и в режиме 43 указания (см. описание ниже) терминал 100 реагирует на ввод пользователя в месте, соответствующем одному из значков, выполнением действия, связанного с выбором этого значка. Например, если значки представляют собой эскизы (уменьшенные изображения) фотографий, таким действием может быть открытие соответствующей фотографии, то есть, отображение этой фотографии в полном размере. В случае, когда значки представляют собой закладки, обнаружение пользовательского ввода в месте значка может обеспечивать переход терминала 100 к веб-странице, на которую ссылается эта закладка. Очевидно, это лишь некоторые из примеров. В примере, когда значки представляют собой эскизы видеофайлов, обнаружение пользовательского ввода в месте расположения значка обеспечивает открытие терминалом 100 этого видеофайла в приложении медиапроигрывателя или начало воспроизведения видеофайла. В примере, когда значки представляют собой текст или графику, обозначающую электронные книги или текстовые документы, обнаружение пользовательского ввода в месте расположения значка 100 может обеспечивать открытие терминалом 100 электронной книги или текстового документа. В примере, когда значок представляет собой ярлык приложения, обнаружение пользовательского ввода в месте расположения значка обеспечивает открытие терминалом 100 этого приложения. В примере, когда значок является значком контакта, обнаружение пользовательского ввода в месте расположения этого значка может обеспечивать открытие терминалом 100 соответствующего контакта в приложении книги контактов или выполнение заранее заданного действия, связанного с этим контактом, например, совершение вызова этого контакта или открытие нового сообщения, адресованного этому контакту.
Области дисплея 102, в которых терминал 100 реагирует на пользовательский ввод, могут быть названы целевыми областями. В каждом значке может присутствовать одна целевая область, при этом ввод в целевой области соответствует выбору соответствующего значка. Целевая область может полностью совпадать со значком, т.е. целевая область может иметь размер и форму, совпадающую со значком, и располагаться в одном месте со значком. В данном случае промежутки между значками не являются частью никакой целевой области. Тогда обнаружение пользовательского ввода на сенсорном экране 102 в одном из промежутков не приводит к выбору ни одного из значков. Альтернативно, целевые области могут быть несколько больше, чем значки. В таких вариантах осуществления изобретения промежутки между смежными целевыми областями могут и не существовать.
В общем случае, пользовательский ввод в целевую область может регистрироваться в момент удаления пальца с сенсорного экрана 102, т.е. в момент прекращения ввода касанием. Если место ввода касанием перемещается между началом и концом ввода касанием, то, как правило, место конца ввода касанием считается за место ввода. В таком случае выполняемая операция зависит от целевой области, в которой находился палец пользователя в момент удаления пальца пользователя с сенсорного экрана 102. Пользовательский ввод может принимать любую из множества подходящих форм. Например, одной из таких форм может быть кратковременный ввод, называемый «нажатием». Еще одной формой является «длительное нажатие», которое представляет собой ввод касанием в некотором месте, выполняемый в течение периода времени, превосходящего пороговое значение. Это пороговое значение может составлять, например, между 0,5 и 1,5 секунд, чаще всего около одной секунды.
На шаге S3 выполняется проверка, не был ли изменен уровень масштабирования. Уровень масштабирования может измениться по причине пользовательского ввода, например с помощью жеста масштабирования («щипка»), с использованием аппаратной клавиши или каким-либо иным способом. Если на шаге S3 определено, что уровень масштабирования был изменен, на шаге S4 выполняется изменение уровня масштабирования. Если на шаге S3 определено, что уровень масштабирования не был изменен, то на шаге S5 выполняется отображение текста с заданным уровнем масштабирования. Если уровень масштабирования не был изменен, то заданным уровнем масштабирования является уровень масштабирования, заданный по умолчанию. То есть, на фиг. 11 также проиллюстрировано изображение после шага S5 в случае отсутствия изменений в уровне масштабирования. На фиг. 11 показан ряд значков, отображаемых терминалом 100. Значки переносятся циклически, т.е. значки в каждой строке является продолжением последовательности значков в строке, расположенной непосредственно над ней. В окне, проиллюстрированном на фиг. 11, показана вся ширина ряда значков. В данном примере последовательность значков помечена буквами алфавита.
На шаге S6 определяют, не обнаружен ли бесконтактный ввод. Бесконтактный ввод, или hover, может обнаруживаться любым подходящим способом. Бесконтактный ввод может обнаруживаться как реакция на определение того, что палец пользователя (как правило, указательный) находится в пределах чувствительности тактильного/бесконтактного интерфейса 110. Альтернативно, бесконтактный ввод может обнаруживаться как реакция на определение того, что палец пользователя находился в некотором месте в пределах чувствительности тактильного/бесконтактного интерфейса 110 более заранее заданного периода времени, который может составлять порядка нескольких сотен миллисекунд. Альтернативно, бесконтактный ввод может обнаруживаться как реакция на определение того, что палец пользователя находится в пределах некоторого расстояния, например, 30 мм, от сенсорного экрана 102.
Если бесконтактный ввод не обнаружен, алгоритм возвращается к шагу S3. Если определено, что бесконтактный ввод обнаружен, то на шаге S7 терминал 100 выходит из нормального режима и переходит в режим масштабирования и панорамирования. Переход от шага S6 к шагу S7 обозначен на фиг. 4 как переход Т1
После этого, на шаге S8, выполняется увеличение уровня масштабирования. В данном случае масштабирование центрировано вокруг места бесконтактного ввода. То есть, обеспечивается увеличение области дисплея, отображаемой на шаге S5, которая расположена вокруг места бесконтактного ввода. Это проиллюстрировано на фиг. 12. В данном случае, значки, расположенные в левой части изображения на фиг. 5, показаны на фиг. 12 как увеличенные. Части изображения, которые не расположены вблизи места бесконтактного ввода, более не отображаются. Они включают правую часть изображения на фиг. 11. Место бесконтактного ввода обозначено кружком.
На шаге S9 выполняется проверка, не изменилось ли место бесконтактного ввода. Если на шаге S9 определено, что место бесконтактного ввода изменилось, то на шаге S10 изображение панорамируется в соответствии с перемещением места бесконтактного ввода. В данном случае изображение панорамируется таким образом, что значки отображают увеличенными, следуя за местом бесконтактного ввода. Начиная с увеличения левой части ряда значков, в соответствии с иллюстрацией фиг. 12, с перемещением бесконтактного ввода вправо обеспечивается прокрутка значков, отображаемых на дисплее, влево, таким образом, что отображаются значки правой части изображения на фиг. 4. Это проиллюстрировано на фиг. 13. Снова место бесконтактного ввода обозначено кружком.
Аналогично, если место бесконтактного ввода смещается вверх, отображаемые значки прокручиваются вниз, т.е. в этом случае раскрываются и отображаются значки, отображаемые на шаге S5 в верхней части дисплея (фиг. 5). Панорамирование в соответствии с перемещением бесконтактного ввода на шаге S10 осуществляется с учетом границ ряда значков. Панорамирование ограничено таким образом, что отображаемый текст не выходит за границы ряда значков. Это относится к обоим горизонтальным направлениям (влево и вправо) и к обоим вертикальным направлениям (вверх и вниз).
После шага S10 алгоритм возвращается к шагу S9, на котором определяют, не изменилось ли место бесконтактного ввода.
Если на шаге S9 определено, что изменения места бесконтактного ввода не обнаружено, то на шаге S11 определяют, не был ли прекращен бесконтактный ввод. Если на шаге S11 определено, что бесконтактный ввод был прекращен, пока терминал 100 находился в режиме масштабирования и панорамирования, то выполняется выход из режима масштабирования и панорамирования, и терминал 100 возвращается в нормальный режим (режим масштабирования). А именно, алгоритм снова возвращается к шагу S5. Это обозначено на фиг. 4 как переход T2.
Если на шаге S11 определено, что бесконтактный ввод не прекращен, то терминал 100 остается в режиме масштабирования и панорамирования, а алгоритм переходит к шагу S12. На нем определяется, не был ли обнаружен ввод касанием. Если на шаге S12 не был обнаружен ввод касанием, то алгоритм возвращается к шагу S9. Если на шаге S12 определено, что был обнаружен ввод касанием, то алгоритм переходит к шагу S13.
Результат выполнения шагов S9, S11 и S12 заключается в том, что терминал 100 остается в режиме масштабирования и панорамирования, при этом выполняется панорамирование изображения с перемещением места бесконтактного ввода либо до прекращения бесконтактного ввода, либо до обнаружения ввода касанием. Если бесконтактный ввод прекращен, то терминал 100 переходит (T2) из режима 42 масштабирования и панорамирования в нормальный режим 41 (режим масштабирования). Если обнаружен ввод касанием, то терминал 100 переходит (T3) из режима 42 масштабирования и панорамирования в режим 43 указания. Переход в режим указания выполняется на шаге S13.
На шаге S14 выполняется блокировка изображения. Данный шаг не разрешает дальнейшее панорамирование изображения, за исключением некоторых условий, которые описаны ниже.
На шаге S14 в месте ввода касанием обеспечивается указатель или маркер. Результирующее изображение показано на фиг. 14. Место ввода касанием обозначено кружком с крестиком внутри. Упомянутый указатель или маркер может принимать любую подходящую форму. Например, он может принимать форму стрелки, острие которой определяет место маркера. Альтернативно, указатель может иметь некоторую другую форму или вид. Основное требование к указателю заключается в том, чтобы пользователь был способен определять место, на которое указывает данный указатель. Маркер - это вид указателя, который может не включать значок указателя или графики указателя. Вместо этого маркер может обозначать место при помощи изменения вида заданного места по сравнению с другими местами. Например, маркер может указывать на место при помощи обеспечения «ряби» или другого динамического визуального эффекта, центрированного в определенном месте. Альтернативно, маркер может изменять внешний вид элементов, уже имеющихся в данном месте. В случае ряда значков маркированным может быть значок, имеющий визуальные характеристики, отличающиеся от других значков. Например, маркированный значок может иметь отличающуюся расцветку или отличающуюся визуальную текстуру. Маркер может иметь отличающуюся яркость или границы, отличающиеся по сравнению с другими значками. Маркер может быть динамическим, т.е. может изменять свой внешний вид. Например, маркированный значок может мерцать или иметь пульсирующий цвет, яркость, контраст, или любую их комбинацию. Вместо этого, маркер может принимать любую подходящую форму. Если место ввода касанием не совпадает с целевой областью значка, то маркер или указатель не обеспечиваются. Альтернативно, указатель может предоставляться таким образом, чтобы пользователю было очевидно, что указатель указывает не на значок. На фиг. 14 значок, совпадающий с местом ввода касанием, показан как имеющий рамку отличающейся толщины (в данном случае более толстую), по сравнению с другими значками.
После шага S14 на шаге S15 определяют, не был ли смещен ввод касанием. Если на шаге S15 определено, что место ввода касанием сместилось, то алгоритм переходит к шагу S16. На этом шаге место указателя или маркера перемещается в соответствии с новым местом ввода касанием. Перемещение может осуществляться влево, вправо, вверх или вниз, или с любой комбинацией вертикальных и горизонтальных перемещений. После перемещения ввода касанием может выполняться маркирование или указание на другой значок. Это проиллюстрировано на фиг. 15, где маркирован другой значок. Снова место ввода касанием обозначено кружком с крестиком внутри.
После того, как на шаге S15 было определено, что ввод касанием не сместился, или после перемещения указателя на шаге S16, на шаге S17 определяют, не был ли прекращен ввод касанием. Если на шаге S17 определено, что ввод касанием не был прекращен, то алгоритм переходит к шагу S15. Если на шаге S17 определено, что ввод касанием был прекращен, то алгоритм переходит к шагу S18.
Таким образом, алгоритм повторяет шаги S15, S16 и S17 до тех пор, пока не будет определено, что прекращен ввод касанием, в случае чего терминал 100 выходит из режима 43 указания, а алгоритм переходит к шагу S18. Тем не менее на этом этапе терминал 100 не может переходить в нормальный режим (режим масштабирования).
На шаге S18 выбирается значок, целевая область которого находилась в месте ввода касанием в момент прекращения ввода касанием. Если место ввода касанием не совпадало с целевой областью ни одного из значков в момент прекращения ввода касанием, то на шаге S18 не будет выбран ни один из значков. В результате выбора значка может выполняться операция, которая может зависеть от того, на что ссылается этот значок, и от настроек терминала 100. Выше приведены несколько примеров таких действий. После шага S18 алгоритм завершается на шаге S19.
Перемещение указателя на шаге S16 может включать панорамирование масштабированной части ряда значков, аналогично масштабированию, описанному на примере шага S22 фиг. 3.
Описанные выше со ссылками на фиг. 10 шаги реализуют двухэтапную процедуру выбора значка. На первом этапе в результате бесконтактного ввода выполняется масштабирование отображаемого ряда значков. На этом первом этапе пользователь может выполнять панорамирование по ряду значков без выбора конкретного значка. На втором этапе ввод касанием прекращает панорамирование ряда значков и обеспечивает перемещение указателя или маркера. Поскольку на втором этапе ряд значков масштабирован, или увеличен, пользователю проще выбрать требуемый значок, чем до масштабирования. Также, в случае, когда значки являются «эскизами» и имеют отличающуюся форму, которая означает, что они являются визуальным представлением соответствующих объектов, на которые они ссылаются, обеспечение режима масштабирования и панорамирования может упрощать пользователю поиск нужного значка.
При этом выбор значка на втором этапе может обеспечиваться как часть того же самого движения, в результате которого было выполнено масштабирование. Это отличается от систем на существующем уровне техники, в которых масштабирование может быть выполнено только с помощью жеста «щипка» или с помощью отдельного элемента управления масштабированием. Можно сказать, что такая двухэтапная процедура, с применением в начале бесконтактного ввода для масштабирования и затем ввода касанием для выбора значка, дает результат, превосходящий просто сумму своих составных частей, поскольку эти два этапа выполняются как часть одного движения пальца пользователя.
Следует отметить, что в режиме указания перемещение пальца уже не влияет на (масштабированное, или увеличенное) содержимое изображения. Содержимое изображения остается тем же, что и до обнаружения ввода касанием. Другими словами, палец пользователя больше не вызывает имитацию увеличительного стекла на месте бесконтактного ввода; напротив, увеличенное изображение фиксируется. Увеличенное изображение может быть частично разблокировано, если палец пользователя смещается на край сенсорного экрана или приближается к краю сенсорного экрана.
Использование выбранного значка не является предметом рассмотрения настоящей заявки.
Размещение указателя или маркера относительно места ввода касанием может принимать любую подходящую форму. Например, указатель или маркер может быть размещен непосредственно в месте ввода касанием, т.е. под пальцем пользователя. Альтернативно, указатель или маркер может быть размещен немного выше места ввода касанием, т.е. выше места расположения пальца пользователя на сенсорном экране 102. Последняя альтернатива может быть более предпочтительной, поскольку пользователю лучше видно отображаемый указатель или маркер и его положение среди ряда значков.
Предполагается, что пользователь обычно знает, какой значок ему нужно выбрать, перед выполнением пользовательского ввода. После выполнения бесконтактного ввода терминал 100 переходит в режим 42 масштабирования и панорамирования и обеспечивает увеличение изображения в области бесконтактного ввода. После совершения ввода касанием пользователь может выполнить точную настройку размещения указателя или маркера, сделав корректировку в горизонтальном и/или вертикальном направлении, в результате чего указатель или маркер размещается в требуемом месте. Если место бесконтактного ввода не слишком удалено от значка, который пользователь желает выбрать, панорамирование изображения при выборе значка в большинстве случаев не требуется. С большей вероятностью панорамирование потребуется в случае, когда пользователю нужно просмотреть значки, чтобы найти нужный значок.
Из предшествующего рассмотрения фиг. 10 следует, что вход в режим масштабирования и панорамирования осуществляется только после определения того, что был обнаружен бесконтактный ввод. Конфигурирование терминала 100 таким образом, чтобы пользователь мог знать заранее, когда терминал переходит в режим масштабирования и панорамирования, дает ему уверенность в том, что изображение будет увеличено для выбора значка, когда это необходимо. Другим преимуществом перехода в режим масштабирования и панорамирования только после обнаружения бесконтактного ввода является то, что предоставление режима масштабирования и панорамирования и указания не будет влиять на работу терминала 100 в случае, когда масштабирование не требуется. Например, в случае, когда пользователь выполняет ввод скольжением или смахиванием для прокрутки по ряду значков, это может достигаться выполнением пользователем жеста скольжения или смахивания без предоставления перед этим бесконтактного ввода. Поскольку на шаге S6 бесконтактный ввод не обнаружен, переход в режим масштабирования и панорамирования не выполняется, и пользовательский ввод обрабатывается иным образом.
Описанные выше на примере фиг. 10 операции решают проблему точности указания, присутствующую в некоторых пользовательских интерфейсах с «увеличительным стеклом». В некоторых из таких интерфейсов место ввода касанием становится центром «увеличительного стекла» или области «рыбьего глаза», в которой выполняется увеличение. Однако области изображения вне «увеличительного стекла» или «рыбьего глаза» остаются неизменными. В таких интерфейсах пользователю обеспечивается лучший обзор ввода, выполняемого им на сенсорном экране. Однако они не упрощают ему размещение ввода в требуемом месте. Данная проблема решается с помощью описанных выше операций, комбинацией масштабирования в режиме масштабирования и панорамирования и фиксацией изображения в режиме указания.
Специалистами в данной области техники могут быть предложены и другие варианты осуществления настоящего изобретения. Также могут быть введены различные дополнительные элементы.
Например, уровень масштабирования в режиме масштабирования и панорамирования может некоторым образом зависеть от расстояния z бесконтактного ввода. Например, уровень масштабирования может увеличиваться с приближением пальца пользователя к сенсорному экрану 102 и достигать максимального уровня в момент совершения ввода касанием, после чего в режиме указания уровень масштабирования остается постоянным. Увеличение уровня масштабирования может быть непрерывным в том смысле, что уровень масштабирования может постепенно увеличиваться с уменьшением расстояния z. Альтернативно, он может быть ступенчатым, в том смысле, что уровень масштабирования может принимать одно значение для каждого расстояния z из некоторого диапазона расстояний z, и другое значение для расстояния z, меньшего, чем минимальное значение для этого диапазона. Количество ступеней изменения уровня масштабирования между нормальным режимом (режимом масштабирования) и уровнем масштабирования в режиме указания может принимать любое подходящее значение, например, 3, 4 или 5.
При этом описание в настоящей заявке следует понимать как охватывающее любые новые элементы или любые новые комбинации элементов, которые явно или косвенным образом описаны в настоящем документе, или любые обобщения на их основе, при этом при ведении дел по настоящей заявке или заявке, основанной на настоящей заявке, могут быть сформулированы новые пункты формулы изобретения, охватывающие все подобные элементы и/или комбинации подобных элементов.