Device, method, and graphical user interface for entering alternate characters with a physical keyboard

A device displays a text entry area with an insertion point and detects activation of a first physical key in a physical keyboard. In response to a determination that the activation of the first physical key lasts more than a first predefined time period, the device displays a character selection area; while displaying the character selection area, the device detects activation of a second physical key in the physical keyboard; in response to a determination that the activated second physical key is an arrow key, the device moves a current character focus in accordance with a direction of the arrow key; and, in response to a determination that the activated second physical key is the first physical key, the device enters in the text entry area a single instance of a character that has the current character focus, and ceases to display the character selection area.

TECHNICAL FIELD

This relates generally to electronic devices with physical keyboards, including but not limited to electronic devices with physical keyboards that input alternate characters from the characters shown on the physical keys.

BACKGROUND

Text entry is a common activity on computers and other electronics devices. Whether it be composing a document, entering identifying information, or typing a message, text entry is an inescapable part of a user's computing experience. For text input via a physical keyboard (as opposed to a soft or virtual keyboard), the physical keyboard is limited to showing a default set of characters on the physical keys for text input. Various methods have been developed to allow physical keyboards to enter alternate characters rather than the default characters shown on the physical keys.

But existing methods for entering alternate characters via physical keyboards are cumbersome and inefficient. For example, entering alternate characters that include diacritical marks is tedious and creates a significant cognitive burden on a user. In addition, existing methods take longer than necessary, thereby wasting energy. This latter consideration is particularly important in battery-operated devices.

SUMMARY

Accordingly, there is a need for electronic devices with faster, more efficient methods and interfaces for entering alternate characters using a physical keyboard. Such methods and interfaces may complement or replace conventional methods for entering alternate characters. Such methods and interfaces reduce the cognitive burden on a user and produce a more efficient human-machine interface. For battery-operated devices, such methods and interfaces conserve power and increase the time between battery charges.

In accordance with some embodiments, a method is performed at an electronic device with a display and a physical keyboard. The method includes: displaying a text entry area with an insertion point on the display; detecting activation of a first physical key in the physical keyboard; in response to a determination that the activation of the first physical key lasts less than a first predefined time period, entering a single instance of a default character that corresponds to the first physical key in the text entry area; in response to a determination that the activation of the first physical key lasts more than the first predefined time period, displaying a character selection area on the display, the character selection area including the default character and a plurality of alternate characters that correspond to the first physical key; while displaying the character selection area, detecting activation of a second physical key in the physical keyboard; in response to a determination that the activated second physical key is an arrow key, moving a current character focus in the character selection area in accordance with a direction of the arrow key; and in response to a determination that the activated second physical key is the first physical key: entering in the text entry area a single instance of a character that has the current character focus in the character selection area and ceasing to display the character selection area.

In accordance with some embodiments, an electronic device includes a display, a physical keyboard, one or more processors, memory, and one or more programs. The one or more programs are stored in the memory and configured to be executed by the one or more processors. The one or more programs include instructions for: displaying a text entry area with an insertion point on the display; detecting activation of a first physical key in the physical keyboard; in response to a determination that the activation of the first physical key lasts less than a first predefined time period, entering a single instance of a default character that corresponds to the first physical key in the text entry area; in response to a determination that the activation of the first physical key lasts more than the first predefined time period, displaying a character selection area on the display, the character selection area including the default character and a plurality of alternate characters that correspond to the first physical key; while displaying the character selection area, detecting activation of a second physical key in the physical keyboard; in response to a determination that the activated second physical key is an arrow key, moving a current character focus in the character selection area in accordance with a direction of the arrow key; and in response to a determination that the activated second physical key is the first physical key: entering in the text entry area a single instance of a character that has the current character focus in the character selection area and ceasing to display the character selection area.

In accordance with some embodiments, a computer readable storage medium has stored therein instructions which when executed by an electronic device with a display and a physical keyboard, cause the device to: display a text entry area with an insertion point on the display; detect activation of a first physical key in the physical keyboard; in response to a determination that the activation of the first physical key lasts less than a first predefined time period, enter a single instance of a default character that corresponds to the first physical key in the text entry area; in response to a determination that the activation of the first physical key lasts more than the first predefined time period, display a character selection area on the display, the character selection area including the default character and a plurality of alternate characters that correspond to the first physical key; while displaying the character selection area, detect activation of a second physical key in the physical keyboard; in response to a determination that the activated second physical key is an arrow key, move a current character focus in the character selection area in accordance with a direction of the arrow key; and in response to a determination that the activated second physical key is the first physical key: enter in the text entry area a single instance of a character that has the current character focus in the character selection area and cease to display the character selection area.

In accordance with some embodiments, a graphical user interface on an electronic device with a display, physical keyboard, a memory, and one or more processors to execute one or more programs stored in the memory includes a text entry area with an insertion point. In response to a determination that an activation of a first physical key in the physical keyboard lasts less than a first predefined time period, a single instance of a default character that corresponds to the first physical key is entered in the text entry area. In response to a determination that the activation of the first physical key lasts more than the first predefined time period, a character selection area is displayed on the display, the character selection area including the default character and a plurality of alternate characters that correspond to the first physical key. While displaying the character selection area, activation of a second physical key in the physical keyboard is detected. In response to a determination that a second physical key in the physical keyboard, activated while the character selection area is displayed, is an arrow key, a current character focus in the character selection area is moved in accordance with a direction of the arrow key. In response to a determination that the activated second physical key is the first physical key, a single instance of a character that has the current character focus in the character selection area is entered in the text entry area, and the character selection area ceases to be displayed.

In accordance with some embodiments, an electronic device includes: a display; physical keyboard; means for displaying a text entry area with an insertion point on the display; means for detecting activation of a first physical key in the physical keyboard; means for, in response to a determination that the activation of the first physical key lasts less than a first predefined time period, entering a single instance of a default character that corresponds to the first physical key in the text entry area; means for, in response to a determination that the activation of the first physical key lasts more than the first predefined time period, displaying a character selection area on the display, the character selection area including the default character and a plurality of alternate characters that correspond to the first physical key; means for, while displaying the character selection area, detecting activation of a second physical key in the physical keyboard; means for, in response to a determination that the activated second physical key is an arrow key, moving a current character focus in the character selection area in accordance with a direction of the arrow key; and in response to a determination that the activated second physical key is the first physical key: means for entering in the text entry area a single instance of a character that has the current character focus in the character selection area, and means for ceasing to display the character selection area.

In accordance with some embodiments, an information processing apparatus for use in an electronic device with a display and a physical keyboard includes: means for displaying a text entry area with an insertion point on the display; means for detecting activation of a first physical key in the physical keyboard; means for, in response to a determination that the activation of the first physical key lasts less than a first predefined time period, entering a single instance of a default character that corresponds to the first physical key in the text entry area; means for, in response to a determination that the activation of the first physical key lasts more than the first predefined time period, displaying a character selection area on the display, the character selection area including the default character and a plurality of alternate characters that correspond to the first physical key; means for, while displaying the character selection area, detecting activation of a second physical key in the physical keyboard; means for, in response to a determination that the activated second physical key is an arrow key, moving a current character focus in the character selection area in accordance with a direction of the arrow key; and in response to a determination that the activated second physical key is the first physical key: means for entering in the text entry area a single instance of a character that has the current character focus in the character selection area, and means for ceasing to display the character selection area.

In accordance with some embodiments, an electronic device includes a display unit configured to display a text entry area with an insertion point, a physical keyboard unit configured to receive activations of physical keys in the physical keyboard unit, and a processing unit coupled to the display unit and the physical keyboard unit. The processing unit is configured to: detect activation of a first physical key in the physical keyboard unit; in response to a determination that the activation of the first physical key lasts less than a first predefined time period, enter a single instance of a default character that corresponds to the first physical key in the text entry area; in response to a determination that the activation of the first physical key lasts more than the first predefined time period, enable display of a character selection area on the display unit, the character selection area including the default character and a plurality of alternate characters that correspond to the first physical key; while displaying the character selection area, detect activation of a second physical key in the physical keyboard unit; in response to a determination that the activated second physical key is an arrow key, move a current character focus in the character selection area in accordance with a direction of the arrow key; and in response to a determination that the activated second physical key is the first physical key: enter in the text entry area a single instance of a character that has the current character focus in the character selection area, and cease to display the character selection area.

Thus, electronic devices with displays and physical keyboards are provided with faster, more efficient methods and interfaces for entering alternate characters, thereby increasing the effectiveness, efficiency, and user satisfaction with such devices. Such methods and interfaces may complement or replace conventional methods for entering alternate characters.

DESCRIPTION OF EMBODIMENTS

Sometimes a user may need to enter variants of a character, such as a combination of the character with a diacritical mark. Existing methods of entering alternate characters typically require the user to remember a particular combination of physical keys (e.g., shift+option+key); enter a code (which the user has to memorize or look up) associated with the desired character; or navigate through multiple menus and options. A more efficient method of entering such character variants is described below. To enter a variant or alternate of a character, the physical key to which the character corresponds is activated for a duration longer than a predefined time period. A temporary character selection area is displayed with the default character and the alternate characters. The desired character is selected from the character selection area by any one of several complementary methods, such as highlighting the desired character and activating the physical key again, or clicking on the desired character with a mouse or touchpad.

Below,FIGS. 1,2A,2B, and5provide a description of exemplary devices.FIGS. 3A-3Pillustrate exemplary user interfaces for entering alternate characters using a physical keyboard.FIGS. 4A-4Dare flow diagrams illustrating a method of entering alternate characters using a physical keyboard. The user interfaces inFIGS. 3A-3Pare used to illustrate the processes inFIGS. 4A-4D.

Exemplary Devices

It will also be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first contact could be termed a second contact, and, similarly, a second contact could be termed a first contact, without departing from the scope of the present invention.

Embodiments of electronic devices, user interfaces for such devices, and associated processes for using such devices are described. In some embodiments, the device is a portable communications device, such as a mobile telephone with a physical keyboard, which also contains other functions, such as PDA and/or music player functions. Other portable electronic devices, such as laptops or tablet computers with physical keyboards, may also be used. It should also be understood that, in some embodiments, the device is not a portable communications device, but is a desktop computer with a physical keyboard.

In the discussion that follows, an electronic device that includes a display and a physical keyboard is described. It should be understood, however, that the electronic device may include one or more other physical user-interface devices, such as a mouse and/or a joystick.

The various applications that may be executed on the device may use at least one common physical user-interface device, such as the physical keyboard. One or more functions of the physical keyboard as well as corresponding information displayed on the device may be adjusted and/or varied from one application to the next and/or within a respective application. In this way, a common physical architecture (such as the physical keyboard) of the device may support the variety of applications with user interfaces that are intuitive and transparent to the user.

FIG. 1is a block diagram of an exemplary electronic device with a display and a physical keyboard in accordance with some embodiments. Device100need not be portable. In some embodiments, device100is a laptop computer, a desktop computer, a tablet computer, a multimedia player device, a navigation device, an educational device (such as a child's learning toy), a gaming system, a portable communications device (e.g., a mobile phone or smartphone), or a control device (e.g., a home or industrial controller). Device100typically includes one or more processing units (CPU's)102, one or more network or other communications interfaces104, memory106, and one or more communication buses108for interconnecting these components. Communication buses108may include circuitry (sometimes called a chipset) that interconnects and controls communications between system components. Device100includes input/output (I/O) interface110comprising display112, which may be a touch screen display, and a physical keyboard114. I/O interface110may also include a mouse (or other pointing device)116and/or touchpad118. Memory106includes high-speed random access memory, such as DRAM, SRAM, DDR RAM or other random access solid state memory devices; and may include non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid state storage devices. Memory106may optionally include one or more storage devices remotely located from CPU(s)102.

It should be appreciated that device100is only one example of an electronic device, and that device100may have more or fewer components than shown, may combine two or more components, or may have a different configuration or arrangement of the components. The various components shown inFIG. 1may be implemented in hardware, software, or a combination of both hardware and software, including one or more signal processing and/or application specific integrated circuits.

In some embodiments, the software components stored in memory106include operating system126, communication module (or set of instructions)128, contact/motion module (or set of instructions)130, graphics module (or set of instructions)132, text input module (or set of instructions)134, and applications (or sets of instructions)136. Furthermore, in some embodiments memory102stores device/global internal state157, as shown inFIG. 1. Device/global internal state157includes one or more of: active application state, indicating which applications, if any, are currently active; display state, indicating what applications, views or other information occupy various regions of display112; and input state, including information obtained from the device's input control devices (e.g., physical keyboard114, mouse116, and/or touchpad118).

Communication module128facilitates communication with other devices over one or more communication buses108and also includes various software components for handling data received through communication buses108. In some embodiments, communication module128facilitates communication with devices in I/O interface110, such as physical keyboard114and mouse116.

Contact/motion module130may detect contact with touchpad118and other touch sensitive devices (e.g., a touch screen). Contact/motion module130includes various software components for performing various operations related to detection of contact, such as determining if contact has occurred (e.g., detecting a finger-down event), determining if there is movement of the contact and tracking the movement across a touch-sensitive surface (e.g., detecting one or more finger-dragging events), and determining if the contact has ceased (e.g., detecting a finger-up event or a break in contact). Contact/motion module130receives contact data from the touch-sensitive surface (e.g., touchpad118). Determining movement of the point of contact, which is represented by a series of contact data, may include determining speed (magnitude), velocity (magnitude and direction), and/or an acceleration (a change in magnitude and/or direction) of the point of contact. These operations may be applied to single contacts (e.g., one finger contacts) or to multiple simultaneous contacts (e.g., “multitouch”/multiple finger contacts).

Contact/motion module130may detect a gesture input by a user. Different gestures on the touch-sensitive surface have different contact patterns. Thus, a gesture may be detected by detecting a particular contact pattern. For example, detecting a finger tap gesture includes detecting a finger-down event followed by detecting a finger-up (lift off) event at the same position (or substantially the same position) as the finger-down event (e.g., at the position of an icon). As another example, detecting a finger swipe gesture on the touch-sensitive surface includes detecting a finger-down event followed by detecting one or more finger-dragging events, and subsequently followed by detecting a finger-up (lift off) event.

Graphics module132includes various known software components for rendering and displaying graphics on display112or other display, including components for changing the intensity of graphics that are displayed. As used herein, the term “graphics” includes any object that can be displayed to a user, including without limitation text, web pages, icons (such as user-interface objects including soft keys), digital images, videos, animations and the like.

Text input module134, which may be a component of graphics module132, provides soft keyboards or mappings of physical keys in a physical keyboard to various key layouts for entering text in various applications (e.g., contacts137, e-mail140, IM141, browser147, and any other application that needs text input).

Examples of other applications136that may be stored in memory102include drawing module180, presentation module182, word processing module184, website creation module186, disk authoring module188, spreadsheet module190, other image editing applications, JAVA-enabled applications, encryption, digital rights management, voice recognition, and/or voice replication.

In conjunction with display112, communication module128, contact module130, graphics module132, and text input module134, contacts module137may be used to manage an address book or contact list (e.g., stored in application internal state192of contacts module137in memory106), including: adding name(s) to the address book; deleting name(s) from the address book; associating telephone number(s), e-mail address(es), physical address(es) or other information with a name; associating an image with a name; categorizing and sorting names; providing telephone numbers or e-mail addresses to initiate and/or facilitate communications by telephone138, video conference139, e-mail140, or IM141; and so forth.

In conjunction with display112, communication module128, contact module130, graphics module132, and text input module134, telephone module138may be used to enter a sequence of characters corresponding to a telephone number, access one or more telephone numbers in address book137, modify a telephone number that has been entered, dial a respective telephone number, conduct a conversation and disconnect or hang up when the conversation is completed. In some embodiments, telephone module138facilitates telephony by voice over Internet Protocol (VOIP).

In conjunction with display112, communication module128, contact module130, graphics module132, text input module134, contact list137, and telephone module138, videoconferencing module139includes executable instructions to initiate, conduct, and terminate a video conference between a user and one or more other participants in accordance with user instructions.

In conjunction with display112, communication module128, contact module130, graphics module132, and text input module134, e-mail client module140includes executable instructions to create, send, receive, and manage e-mail in response to user instructions. In conjunction with image management module144, e-mail client module140makes it very easy to create and send e-mails with still or video images.

In conjunction with display112, communication module128, contact module130, graphics module132, and text input module134, the instant messaging module141includes executable instructions to enter a sequence of characters corresponding to an instant message, to modify previously entered characters, to transmit a respective instant message (for example, using XMPP, SIMPLE, or IMPS for Internet-based instant messages), to receive instant messages and to view received instant messages. In some embodiments, transmitted and/or received instant messages may include graphics, photos, audio files, video files and/or other attachments.

In conjunction with display112, communication module128, optical sensor(s) (not shown), contact module130, graphics module132, and image management module144, camera module143includes executable instructions to capture still images or video (including a video stream) and store them into memory102, modify characteristics of a still image or video, or delete a still image or video from memory102.

In conjunction with display112, communication module128, contact module130, graphics module132, text input module134, and camera module143, image management module144includes executable instructions to arrange, modify (e.g., edit), or otherwise manipulate, label, delete, present (e.g., in a digital slide show or album), and store still and/or video images.

In conjunction with display112, communication module128, contact module130, graphics module132, and text input module134, browser module147includes executable instructions to browse the Internet in accordance with user instructions, including searching, linking to, receiving, and displaying web pages or portions thereof, as well as attachments and other files linked to web pages.

In conjunction with display112, communication module128, contact module130, graphics module132, text input module134, e-mail client module140, and browser module147, calendar module148includes executable instructions to create, display, modify, and store calendars and data associated with calendars (e.g., calendar entries, to do lists, etc.) in accordance with user instructions.

In conjunction with display112, communication module128, contact module130, graphics module132, text input module134, and browser module147, the widget creator module150may be used by a user to create widgets (e.g., turning a user-specified portion of a web page into a widget).

In conjunction with display112, communication module128, contact module130, graphics module132, and text input module134, search module151includes executable instructions to search for text, music, sound, image, video, and/or other files in memory102that match one or more search criteria (e.g., one or more user-specified search terms) in accordance with user instructions.

In conjunction with display112, communication module128, contact module130, graphics module132, audio circuitry110, speaker111, and browser module147, video and music player module152includes executable instructions that allow the user to download and play back recorded music and other sound files stored in one or more file formats, such as MP3 or AAC files, and executable instructions to display, present or otherwise play back videos (e.g., on display112).

Each of the above identified elements inFIG. 1may be stored in one or more of the previously mentioned memory devices. Each of the above identified modules corresponds to a set of instructions for performing a function described above. The above identified modules or programs (i.e., sets of instructions) need not be implemented as separate software programs, procedures or modules, and thus various subsets of these modules may be combined or otherwise re-arranged in various embodiments. In some embodiments, memory106may store a subset of the modules and data structures identified above. Furthermore, memory106may store additional modules and data structures not described above.

FIGS. 2A-2Billustrate exemplary multifunction devices having physical keyboards in accordance with some embodiments.FIG. 2Aillustrates a desktop computer200, which is an example of device100. Desktop computer200includes a display202(an example of display112in device100) and a physical keyboard204(an example of physical keyboard114in device100). In some embodiments, display202and other components of desktop computer200(e.g., processor(s), memory, controllers, storage, etc.) are held together in a common chassis. In some other embodiments, display202is a distinct component (i.e., held in separate chassis) from the other components (e.g., processor(s), memory, controllers, storage, etc.).

Physical keyboard204includes a plurality of physical keys, at least some of which correspond to respective characters. When a key corresponding to a character is activated, the corresponding character may be entered as text, which may be displayed on display202(e.g., in a text entry area).

FIG. 2Billustrates a laptop or notebook computer210, which is another example of device100. Laptop computer210includes a display212(an example of display112in device100) and a physical keyboard214(an example of physical keyboard114in device100). Display212, physical keyboard214, and other components of laptop computer210(e.g., processor(s), memory, controllers, storage, etc.) are held together in a common chassis.

Physical keyboard214includes a plurality of physical keys, at least some of which correspond to respective characters. When a key corresponding to a character is activated, the corresponding character may be entered as text, which may be displayed on display212(e.g., in a text entry area).

User Interfaces and Associated Processes

Attention is now directed towards embodiments of user interfaces (“UI”) and associated processes that may be implemented on an electronic device with a display and a physical keyboard, such as device100.

FIGS. 3A-3Pillustrate exemplary user interfaces for entering alternate characters using a physical keyboard in accordance with some embodiments. The user interfaces in these figures are used to illustrate the processes described below, including the processes inFIGS. 4A-4D. It should be appreciated that inFIGS. 3A-3P, for sake of convenience, only certain components of device100(e.g., display112and physical keyboard114) are depicted.

FIG. 3Aillustrates text entry area300displayed on display112of a device (e.g., device100). Text entry area300may be displayed in a user interface of an application. In some embodiments, text entry area300is in a text entry field or in an application where a document (e.g., a text document, a presentation slide, a spreadsheet, a drawing, etc.) is displayed. Also displayed, in text entry area300, are input text302and insertion point304. Input text302includes text entered into text entry area302by a user. Insertion point304marks a position where the next entered character will be entered into input text302. Insertion point304may be displayed with empty input text302(e.g., when the user has not entered any text yet).

Device100also includes physical keyboard114. Physical keyboard114includes keys that correspond to characters (e.g., letters, punctuation marks, etc.) and functional keys (e.g., enter key, command key, shift key, etc.). A key on physical keyboard114may be activated by pressing down on the key. In some embodiments, a duration of the activation of a key is measured from when the key is pressed down to when the key is released.

Activation308of key306is detected on physical keyboard114of device100. As shown inFIG. 3A, key306corresponds to the letter “A.” The action taken by device100in response to the detection of activation308of key306depends on the duration of activation308. If activation308lasts less than a first predefined time period (e.g., 0.2, 0.3, 0.4, 0.5 seconds or any reasonable time), a single instance of character “a”305is entered into input text302at the position indicated by insertion point304, as shown inFIG. 3B. Compared toFIG. 3A, inFIG. 3Binput text302has character “a”305at the tail end and insertion point304has advanced to the next position after entry of character “a”305. In this example, character “a”305is the default character corresponding to key306. (As is known for physical keyboards, if a shift key (not shown) in physical keyboard114has been pressed when key306is activated, then the default character is “A,” i.e., “a” is capitalized.)

If activation308lasts more than the first predefined time period, a character is not immediately entered. Instead, a character is provisionally entered into input text302(e.g., at the position indicated by insertion point304), pending selection of a character from character selection area310. For example, as shown inFIG. 3C, provisional character309is entered into input text302with underlining; the underlining indicates that the “a” is provisionally entered pending selection of a character from character selection area310. Character selection area310is displayed on display112and includes candidate characters312and current character focus314.

Candidate characters312include the default character corresponding to activated key306(e.g., character “a” inFIG. 3C) and alternate characters that correspond to activated key306. In some embodiments, the alternate characters include combinations of the default character corresponding to activated key306with diacritical or accent marks, or ligatures that include the default character corresponding to activated key306. For example, as shown inFIG. 3C, the alternate characters include “à,” “á,” “â,” “ã,” “ä,” and “æ.”

In some embodiments, the alternate characters that are displayed as candidate characters312in character selection area310are selected for display by device100based on the usage history of a user of the device. For example, the alternate characters corresponding to key306that are displayed may be the most frequently used, amongst the alternate characters corresponding to key306, by a user of the device.

In some embodiments, the alternate characters that are displayed as candidate characters312in character selection area310are user configurable. That is, the user may configure which alternate characters are selected for display in character selection area310. For example, the user may configure the language or key-to-character mapping for keyboard114. The alternate characters that are displayed in character selection area310may change based on the language or mapping (which may be related to a language), as certain alternate characters may be used in some languages or mappings, but not others.

In some embodiments, the alternate characters that are displayed as candidate characters312in character selection area310are based on the physical keyboard. Different physical keyboards, with different key layouts, may correspond to different languages. As described above, certain alternate characters may be used in some languages, but not others. Thus, the alternate characters that are displayed in character selection area310may be based on the physical keyboard.

In some embodiments, a subset of available candidate characters312is displayed in character selection area310. Character selection area310includes an additional options icon316that, when activated, activates display of additional candidate characters312. The activation of the additional options icon316is further described below, with reference toFIGS. 3O-3P.

Provisional character309is displayed as whichever candidate character312has the current character focus314. Thus, inFIG. 3C, the character “a” amongst candidate characters312has the current character focus314, and provisional character309is displayed as “a” with underlining. In some embodiments (not shown), just the current character focus314is shown, without showing the provisional character309.

While character selection area310is displayed, other keys on physical keyboard114may be activated. For example,FIG. 3Cshows detection of activation322of right arrow key318. In response to the detection of activation322of right arrow key318, current character focus314is moved, within character selection area310, in accordance with the direction of right arrow key318. Current character focus314moves rightward within character selection area310onto the character “à”, in accordance with the direction of right arrow key318, as shown inFIG. 3D. Provisional character309changes from “a” to “à” in accordance with the character that has the current character focus314. Other arrow keys, such as left arrow key320, an up arrow key, and a down arrow key, may also be used to move current character focus314in a direction corresponding to the arrow key direction.

FIG. 3Dalso shows activation324of key306while the character “à” has the current character focus314within character selection area310. In response to the detection of activation324of key306, a single instance of character “à”317is entered into input text302at the position indicated by insertion point304and character selection area310ceases to be displayed, as shown inFIG. 3E; whichever candidate character is displayed as provisional character309as a result of that candidate character having the current character focus314is entered into input text302when the originally activated key (key306) is activated while character selection area310is displayed.

FIGS. 3F-3Gillustrate an alternative way to enter one of the candidate characters312in character selection area310.FIG. 3Fshows character selection area310, continuing fromFIG. 3C, displayed in text entry area300on display112. Provisional character309is displayed in input text302, at the position indicated by insertion point304, as the candidate character312that has current character focus314in character selection area310.FIG. 3Falso shows activation327of key326, which corresponds to the letter “C” and is a different key from the originally activated “a” key306.

In response to the detection of activation327of key326, the two characters “ac”329, which includes a single instance of character “a” and a single instance of character “c,” are entered into input text302at the position indicated by insertion point304, as shown inFIG. 3G. The character “a” is the candidate character312that has the current character focus314inFIG. 3Fwhen key326is activated327, and is entered in place of provisional character309. The character “c” is the default character corresponding to key326. Also, character selection area310ceases to be displayed. In other words, by activating a character key other than the originally activated character key, a candidate character with the current focus that corresponds to the originally activated key is entered as well as a character corresponding to the character key other than the originally activated key. This facilitates faster typing of characters on physical keyboard114.

FIGS. 3H-3Iillustrates another alternative way to enter one of the candidate characters312in character selection area310.FIG. 3Hshows character selection area310displayed in text entry area300in response to the detection of activation308(FIG. 3A) lasting longer than the first predefined time period. Character selection area310includes candidate characters312, current character focus314, and additional options icon316. InFIG. 3H, character selection area further includes numbers328adjacent to candidate characters312. Numbers328includes integers 1 thru 7, each number328corresponding to a respective candidate character312. For example, the number “1” in numbers328corresponds to the character “a” in candidate characters312, the number “2” in numbers328corresponds to the character “à” in candidate characters312, the number “3” in numbers328corresponds to the character “á” in candidate characters312, and so on.

Activation332of key330on physical keyboard114is detected. Key330corresponds to the number (and character) “6.” In response to the detection of activation332of key330, a single instance of character “ä”333, corresponding to the number “6” in character selection area310, is entered into input text302in place of provisional character309, as shown inFIG. 3I, regardless of the character “a” having the current character focus314in character selection area310. Also, character selection area310ceases to be displayed.

FIGS. 3J-3Killustrates another alternative way to enter one of the candidate characters312in character selection area310.FIG. 3Jshows character selection area310, continuing fromFIG. 3C, displayed in text entry area300on display112. Provisional character309is displayed in input text302, at the position indicated by insertion point304, as the candidate character312that has current character focus314in character selection area310.FIG. 3Jalso shows cursor334placed over the character “ä” amongst candidate characters312in character selection area310. In some embodiments, cursor334is manipulated by a user using an input device of device100(e.g., mouse116or touchpad118). Cursor334may be activated by the user (e.g., by a left click on a multi-button mouse116, clicking on single-button mouse116, or tapping on touchpad118) while cursor334is over the character “ä” in character selection area310.

In response to detection of activation of cursor334over the character “ä” in character selection area310, a single instance of character “ä”335is entered into input text302in place of provisional character309, as shown inFIG. 3K, regardless of the character “a” having the current character focus314in character selection area310. Also, character selection area310ceases to be displayed.

FIG. 3Lillustrates activation338of key336while character selection display310is not displayed (e.g., after a character has been entered into input text302). Key336is a non-letter key, corresponding to the non-letter character “-.” Activation338is detected on key336.

The action taken by device100in response to detection of activation338of key336depends on the duration of activation338. If activation338is determined to last less than a second predefined time period (e.g., 0.2, 0.3, 0.4, 0.5 seconds or any reasonable time), a single instance of character “-”339is entered into input text302, as shown inFIG. 3M. If activation338is determined to last more than the second predefined time period, multiple instances of character “-”339are entered into input text302, as shown inFIG. 3N, until activation338of key336ceases.

FIG. 3Oillustrates additional options icon316, in character selection area310, having current character focus314. As described above with reference toFIG. 3C, current character focus314may be moved within character selection area310by activating arrow keys318or320. Thus, arrow keys318or320may be activated one or more times to move current character focus314onto additional options icon316. When additional options icon316has the current character focus314, additional options icon316may be activated by activating a key (e.g., space key340) on physical keyboard114. For example,FIG. 3Oillustrates activation341of space key340. In some embodiments, additional options icon316may also be activated by positioning cursor334(e.g., using mouse116or trackpad118) over additional options icon316and activating cursor334when in position.

In response to the activation of additional options icon316, expanded character selection area342is displayed. Expanded character selection area342is displayed in text entry area300in place of character selection area310. Expanded character selection area342includes a larger set of candidate characters312; candidate characters312displayed in expanded character selection area342include the candidate characters that were displayed in character selection area310as well as additional candidate characters (e.g., additional alternate characters corresponding to key306). Entry of a candidate character312from expanded character selection area342may be achieved by the ways described above (e.g., activating key306while the desired candidate character has the current character focus314, activating cursor334while in position, etc.). In some embodiments, expanded character selection area342includes characters that do not correspond to key306, such as symbol characters (e.g., #, %, &, Δ, and/or π) or special characters (e.g., ©, ®, ™, §, and/or ¶).

FIGS. 4A-4Dare flow diagrams illustrating a method400of entering alternate characters using a physical keyboard in accordance with some embodiments. The method400is performed at an electronic device (e.g., device100,FIG. 1) with a display and a physical keyboard (e.g., a notebook computer or a desktop computer). Some operations in method400may be combined and/or the order of some operations may be changed.

As described below, the method400provides a faster, more efficient way to enter alternate characters using a physical keyboard. The method reduces the cognitive burden on a user when entering alternate characters using a physical keyboard, thereby creating a more efficient human-machine interface. For battery-operated electronic devices, enabling a user to enter alternate characters using a physical keyboard faster and more efficiently conserves power and increases the time between battery charges.

The device displays a text entry area with an insertion point on a display of the device (402). InFIG. 3A, for example, text entry area300, with insertion point304, is displayed on display112of device100.

The device detects activation of a first physical key in a physical keyboard of the device (e.g., detecting depression of the first physical key by a finger pressing down on the first physical key) (404). For example, inFIG. 3A, activation308of key306in physical keyboard114is detected.

In response to a determination that the activation of the first physical key lasts less than a first predefined time period, the device enters a single instance of a default character that corresponds to the first physical key in the text entry area (e.g., at the insertion point in the text entry area) (406). For example, inFIGS. 3A-3B, if the duration of activation308is less than a predefined amount of time (i.e., if device100determines that activation308lasts less than the predefined amount of time), a single instance of character “a”305, which is the default character corresponding to key306, is entered into input text302at the position indicated by insertion point304.

In response to a determination that the activation of the first physical key lasts more than the first predefined time period, the device displays a character selection area on the display (408). The character selection area includes the default character and a plurality of alternate characters that correspond to the first physical key. The device displays the character selection area without entering a character in the text entry area.

For example, inFIGS. 3A and 3C, if the duration of activation308is more than a predefined amount of time (i.e., if device100determines that activation308lasts more than the predefined amount of time), character selection area310is displayed. Character selection area310includes, as candidate characters312, the default character “a,” corresponding to key306, and multiple alternates characters that are variants of “a” and which also correspond to key306.

In some embodiments, the character selection area310is displayed next to the insertion point, which reduces the eye movement by the user needed to read the characters in the character selection area.

In some embodiments, the alternate characters displayed in the character selection area are based on a usage history of a user of the device (410). For example, within character selection area312, the alternate characters among the candidate characters312may be selected for display by device100based on their frequency of usage by the user of device100.

In some embodiments, the alternate characters displayed in the character selection area are user configurable (412). For example, the user may configure the language or keyboard mapping for physical keyboard114. The alternate characters that are displayed as candidate characters312may be based on the language or keyboard mapping setting.

In some embodiments, the alternate characters displayed in the character selection area are based on the physical keyboard (414). For example, different physical keyboards are associated with different languages or keyboard mappings by default (e.g., a Russian keyboard, an English keyboard (e.g., a QWERTY keyboard), etc.). The alternate characters that are displayed as candidate characters312may be based on the language or keyboard mapping associated with the physical keyboard114in use. The alternate characters corresponding to the keys of a physical keyboard may be fixed by the type of physical keyboard or may be user configurable.

While displaying the character selection area, the device detects activation of a second physical key in the physical keyboard (416). For example, inFIG. 3C, while character selection area310is displayed, activation322of key318is detected (in which case the second physical key is different from the first physical key). As another example, inFIG. 3D, activation324of key306is detected (in which case the second physical key is the same as the first physical key).

In response to a determination that the activated second physical key is an arrow key, the device moves a current character focus in the character selection area in accordance with a direction of the arrow key (418). For example, inFIG. 3C, right arrow key318is activated322. In response to a determination that the activated key is the right arrow key318, current character focus314is moved from the character “a” (FIG. 3C) to the character “à” within character selection area310(FIG. 3D).

In response to a determination that the activated second physical key is the first physical key (420), the device enters in the text entry area (e.g., at the insertion point in the text entry area) a single instance of a character that has the current character focus in the character selection area (422), and ceases to display the character selection area (424). For example, inFIG. 3D, key306is activated324a second time, subsequent to activation308(FIG. 3A). In response to a determination that activation324activated key306, the character “à”317, which has the current character focus314inFIG. 3D, is entered into input text302inFIG. 3E. Also, in response to the determination that the activated second physical key is the first physical key, character selection310ceases to be displayed inFIG. 3E.

In some embodiments, in response to a determination that the activated second physical key is a physical key for entering characters other than the first physical key (426), the device enters in the text entry area (e.g., at the insertion point in the text entry area) a single instance of a character that has the current character focus in the character selection area followed by a single instance of a default character that corresponds to the second physical key (428), and ceases to display the character selection area (430). For example, inFIG. 3F, which follows fromFIG. 3C, key326is activated327. Key326, a different key from key306, corresponds to the character “c.” InFIG. 3G, in response to the activation327of key326, a character “a,” which had the current character focus314inFIG. 3F, and a character “c” are entered into input text302. Also, character selection area310ceases to be displayed, as shown inFIG. 3G.

In some embodiments, a respective character in the character selection area is displayed with a corresponding number adjacent to the respective character (432). For example, inFIG. 3H, each candidate character312in character selection area310is displayed with a respective corresponding number328adjacent to the character.

In response to a determination that the activated second physical key is a number key with the corresponding number (434), the device enters in the text entry area (e.g., at the insertion point in the text entry area) a single instance of the respective character that corresponds to the number (436), and ceases to display the character selection area (438). For example, inFIG. 3H, numbers 1-7 correspond to default character “a” and alternate characters “à,” “á,” “â,” “ã,” “ä,” and “æ,” respectively. In response to activation of the “1” key, the default character “a” is entered. In response to activation of the “2” key, the alternate character “à,” is entered. In response to activation of the “3” key, the alternate character “á,” is entered. And so on. InFIG. 3H, for example, key330, corresponding to the number “6,” is activated332. In character selection area310, the number “6” corresponds to the alternate character “ä.” In response to a determination that key330is activated, the character “ä” is entered into input text302and character selection area310ceases to be displayed, as shown inFIG. 3I.

In some embodiments, the device places a cursor over a character in the character selection area (440) and detects activation of the cursor while the cursor is over the character in the character selection area (e.g., detecting a mouse click or touch pad click while the cursor is over the character) (442). The cursor may be placed over the character in response to user input (e.g., the user positioning the cursor using a mouse or touchpad).

In response to detecting activation of the cursor while the cursor is over the character in the character selection area (444), the device enters in the text entry area (e.g., at the insertion point in the text entry area) a single instance of the character that the cursor is over (446), and ceases to display the character selection area (448). For example, inFIGS. 3J-3K, in response to detecting activation of cursor334while cursor334is positioned over the character “ä” in character selection area310, the character “ä” is entered into input text302and character selection area310ceases to be displayed.

In some embodiments, the first physical key is a letter key (450), and while the character selection area is not displayed, the device detects activation of a third physical key in the physical keyboard, the third physical key being a non-letter key (e.g., a punctuation key or a symbol key) (452). For example, the originally activated key306is a letter key (corresponding to “a”), and inFIG. 3L, activated338of non-letter key336(corresponding to “-”) is detected.

In response to a determination that the activation of the third physical key is less than a second predefined time period, the device enters a single instance of a character that corresponds to the third physical key in the text entry area (e.g., at the insertion point in the text entry area) (454). For example, in response to a determination that that the duration of activation338of key336is less than the second predefined time period, a single instance of “-” is entered into input text302, as shown inFIG. 3M. In some embodiments, the second predefined time period is the same as the first predefined time period. In some embodiments, the second predefined time period is longer than the first predefined time period. In some embodiments, the second predefined time period is shorter than the first predefined time period.

In response to a determination that the activation of the third physical key is greater than the second predefined time period, the device enters multiple instances of the character that corresponds to the third physical key in the text entry area (e.g., at the insertion point in the text entry area) (456). For example, if a user holds down the period key for more than a predefined time (e.g., 0.2, 0.3, 0.4, 0.5 seconds or any reasonable time) then multiple periods (“.”) will be entered until activation of the period key ceases. Thus, in some embodiments, activating a letter key for more than a predefined time results in display of a character selection area for that letter key, whereas activating a non-letter key for more than a predefined time results in repeated entry of the character that corresponds to the non-letter key. For example, in response to a determination that the duration of activation338of key336is more than the second predefined time period, multiple instance of “-” is entered into input text302, as shown inFIG. 3N.

In some embodiments, the character selection area includes an additional options icon (458), and in response to detecting activation of the additional options icon (e.g., by detecting a mouse click or touch pad click while the cursor is over the additional options icon or by detecting activation of a physical key while the current character focus is on the additional options icon), the device displays a user interface with additional alternate characters (460). For example, inFIG. 3O, character selection area310includes additional options icon316. In response to the detection of activation341of key340while additional options icon316has the current character focus314, expanded character selection area342, with additional candidate characters312(e.g., more alternate characters), is displayed, as shown inFIG. 3P.

In accordance with some embodiments,FIG. 5shows a functional block diagram of an electronic device500configured in accordance with the principles of the invention as described above. The functional blocks of the device may be implemented by hardware, software, or a combination of hardware and software to carry out the principles of the invention. It is understood by persons of skill in the art that the functional blocks described inFIG. 5may be combined or separated into sub-blocks to implement the principles of the invention as described above. Therefore, the description herein may support any possible combination or separation or further definition of the functional blocks described herein.

As shown inFIG. 5, an electronic device500includes a display unit502configured to display a text entry area with an insertion point, a physical keyboard unit504configured to receive activations of physical keys in the physical keyboard unit504, and a processing unit506coupled to the display unit502and the physical keyboard unit504. In some embodiments, the processing unit506includes a detecting unit508, an entering unit510, a display enabling unit512, a moving unit514, a ceasing unit516, and a placing unit518.

The processing unit506is configured to: detect activation of a first physical key in the physical keyboard unit (e.g., with the detecting unit508); in response to a determination that the activation of the first physical key lasts less than a first predefined time period, enter a single instance of a default character that corresponds to the first physical key in the text entry area (e.g., with the entering unit510); in response to a determination that the activation of the first physical key lasts more than the first predefined time period, enable display of a character selection area on the display unit (e.g., with the display enabling unit512), the character selection area including the default character and a plurality of alternate characters that correspond to the first physical key; while displaying the character selection area, detect activation of a second physical key in the physical keyboard unit (e.g., with the detecting unit508); in response to a determination that the activated second physical key is an arrow key, move a current character focus in the character selection area in accordance with a direction of the arrow key (e.g., with the moving unit514); and in response to a determination that the activated second physical key is the first physical key: enter in the text entry area a single instance of a character that has the current character focus in the character selection area (e.g., with the entering unit510), and cease to display the character selection area (e.g., with the ceasing unit516).

In some embodiments, the alternate characters displayed in the character selection area are based on a usage history of a user of the device.

In some embodiments, the alternate characters displayed in the character selection area are user configurable.

In some embodiments, the alternate characters displayed in the character selection area are based on the physical keyboard.

In some embodiments, the processing unit506is configured to, in response to a determination that the activated second physical key is a physical key for entering characters other than the first physical key: enter in the text entry area a single instance of a character that has the current character focus in the character selection area followed by a single instance of a default character that corresponds to the second physical key (e.g., with the entering unit510), and cease to display the character selection area (e.g., with the ceasing unit516).

In some embodiments, a respective character in the character selection area is displayed with a corresponding number adjacent to the respective character, and the processing unit506is configured to, in response to a determination that the activated second physical key is a number key with the corresponding number: enter in the text entry area a single instance of the respective character that corresponds to the number (e.g., with the entering unit510), and cease to display the character selection area (e.g., with the ceasing unit516).

In some embodiments, the processing unit506is configured to: place a cursor over a character in the character selection area (e.g., with the placing unit518); detect activation of the cursor while the cursor is over the character in the character selection area (e.g., with the detecting unit508); and, in response to detecting activation of the cursor while the cursor is over the character in the character selection area: enter in the text entry area a single instance of the character that the cursor is over (e.g., with the entering unit510), and cease to display the character selection area (e.g., with the ceasing unit516).

In some embodiments, the first physical key is a letter key, and the processing unit506is configured to, while the character selection area is not displayed, detect activation of a third physical key in the physical keyboard unit, the third physical key being a non-letter key (e.g., with the detecting unit508); in response to a determination that the activation of the third physical key is less than a second predefined time period, enter a single instance of a character that corresponds to the third physical key in the text entry area (e.g., with the entering unit510); and in response to a determination that the activation of the third physical key is greater than the second predefined time period, enter multiple instances of the character that corresponds to the third physical key in the text entry area (e.g., with the entering unit510).

In some embodiments, the character selection area includes an additional options icon, and the processing unit506is configured to, in response to detecting activation of the additional options icon, enable display of a user interface with additional alternate characters (e.g., with the display enabling unit512).

In some embodiments, non-letter alternate characters may be entered in an analogous manner as alternate letter characters are entered as described above. For example, activating the key corresponding to the dollar sign for longer than a predefined time period may activate display of a character selection area where the candidate characters are the dollar sign and symbols corresponding to other currencies. As further examples, quotation marks from different languages and emoji characters may also be entered in an analogous manner.

In some embodiments, movement of the current character focus in the character selection area is achieved by activating the originally activated character key repeatedly, rather than or in addition to activating the arrow keys. For example, inFIG. 3C, key306may be activated repeatedly to cycle through candidate characters312. To enter a desired candidate character, the user activates a character key other than key306(e.g., the space bar, a different letter key, a punctuation key).

As described above, when the first physical key is activated and the activation lasts longer than the first predefined time period, a character selection area is displayed. In some embodiments, the user may configure the action taken, when the activation lasts longer than the first predefined time period, to be entry of multiple instances of the corresponding character instead of displaying the character selection area. In other words, the user may configure to device to, when the activation lasts more than a predefined time period, to display the character selection area or to enter the character repeatedly.

The operations in the information processing methods described above may be implemented by running one or more functional modules in information processing apparatus such as general purpose processors or application specific chips. These modules, combinations of these modules, and/or their combination with general hardware (e.g., as described above with respect toFIG. 1) are all included within the scope of protection of the invention.