Determining and presenting access keys for current keyboard layout
By uniformly defining and presenting access keys under different keyboard layouts and locales, the access key shortcut problem under keyboard layout and operating system restrictions in the existing technology is solved, and cross-platform application function accessibility is achieved .
Patent Information
- Application Number
- CN202380045131.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-06-27
- Filing Date
- 2023-05-14
- Publication Date
- 2025-01-14
AI Technical Summary
The prior art is difficult to effectively provide access key shortcuts between different keyboard layouts and operating systems, resulting in users not being able to access application functions on computing devices, especially if keyboard shortcuts are limited to specific operating systems or input devices.
Adopt the access key management system, by associating virtual keys with access key commands, multiple access key definitions are generated, allowing access key characters to be displayed on different keyboard layouts, and presenting these characters in the graphical user interface to avoid key conflicts and be independent in language and layout.
Implements the unified definition and presentation of access keys in different keyboard layouts and locales, providing flexibility and accessibility, avoiding additional development needs for operating systems and applications, and ensuring that users can access computing under various keyboard layouts Application features on the device.
Smart Images

Figure CN119317896A_ABST
Abstract
Description
Background Art
[0001] Recent years have witnessed rapid growth in computing devices (e.g., mobile devices, personal computers, server devices) that perform a variety of different tasks. Indeed, as computing devices continue to grow, more and more individuals are using computing devices for routine and everyday tasks. As the use of computing devices by an increasing number and variety of individuals increases, accessibility to an ever-increasing number of applications and features continues to be a problem. For example, a variety of applications use shortcuts, such as keyboard shortcuts. These shortcuts enable users to launch various features and functions of software applications installed or running on a computing device.
[0002] Although many applications use different keyboard shortcuts (e.g., access keys, keyboard accelerators), many individuals are unable to access these shortcuts for various reasons. For example, many keyboard shortcuts are limited to a specific operating system or a specific computing device. In some examples, keyboard shortcuts are limited to those applications for which the shortcuts have been specifically configured or developed by the creator of the specific application. In other examples, keyboard shortcuts may be available but limited to a specific input device or keyboard layout. As a result, many users are excluded from using shortcuts and other application enhancements that provide access to the full range of capabilities provided by the computing device.
[0003] These and other problems exist in providing accessibility to various application functions, and in particular, accessibility to keyboard shortcuts. BRIEF DESCRIPTION OF THE DRAWINGS
[0004] Figure 1 An example environment is shown that includes a character input device (eg, a keyboard) and a computing device having an access key management system implemented thereon.
[0005] Figure 2 An example implementation is shown in which an access key management system determines access key definitions in accordance with one or more embodiments.
[0006] FIG. 3A to FIG. 3B A series of graphical user interfaces showing example presentations of selectable inputs are shown in accordance with one or more embodiments.
[0007] Figure 4 A series of acts associated with determining an access-key character for a corresponding access-key command displayed via a graphical user interface is illustrated in accordance with one or more embodiments.
[0008] Figure 5 An example implementation of displaying a selection of access key characters from a set of possible display characters is shown in accordance with one or more embodiments.
[0009] FIG. 6A to FIG. 6B
[0013] Example implementations are shown in which determined access key characters are presented via a graphical user interface in accordance with one or more embodiments.
[0010] Figure 7 An example series of actions for determining and presenting access key characters is illustrated in accordance with one or more embodiments.
[0011] Figure 8 Some components that may be included in a computer system are shown. DETAILED DESCRIPTION
[0012] The present disclosure generally relates to systems, methods, and computer-readable media for selectively determining access key characters to be displayed in conjunction with providing access key shortcuts across various keyboard layouts (or other character input device layouts). Specifically, one or more embodiments described herein relate to an access key management system that is capable of determining access key characters for virtually any keyboard layout (e.g., any of a variety of languages) in a manner that allows access key characters that match displayed characters on (multiple) keyboard layouts to be displayed to avoid key conflicts and allows users of a particular keyboard layout to know which key to press when initiating a corresponding access key command. As will be discussed below, the features and functionality described herein are broadly applicable to any number of various keyboard layouts.
[0013] As an illustrative example, an access key management system can generate multiple access key definitions for a character input device (e.g., a keyboard device, a virtual keyboard) by associating virtual keys with corresponding input commands. During the runtime of an application (or operating system (OS)), the access key management system can identify multiple selectable inputs presented via a graphical user interface of a computing device. The access key management system can also determine access key commands and associated access key characters for display. As will be discussed below, based on the current layout of the character input device, determining that the access key characters can be based on one or more display characters for the key positions of the associated virtual keys. The access key management system can then cause (multiple) access key characters to be presented at the positions of the corresponding selectable inputs via the graphical user interface.
[0014] As will be discussed in further detail below, the present disclosure includes several practical applications having the features and functionality described herein that provide benefits and / or solve problems associated with determining and presenting characters in conjunction with access key shortcuts on a computing device. Examples of some of these features and associated benefits are discussed in further detail below.
[0015] For example, by mapping access key commands to virtual keys, the access key management system facilitates the generation of access command definitions that are not localized to specific characters or symbols at corresponding key positions. Specifically, where virtual keys are often associated with the same key positions on different layouts, access keys can be defined to be assigned to corresponding virtual keys independently of the actual display characters associated with the different layouts. In this way, where specific display characters can be located in various positions from layout to layout, the access key commands remain assigned to the corresponding virtual keys, resulting in a non-localized definition of the access keys.
[0016] By defining access keys as being associated with corresponding virtual keys, this also eliminates the possibility of key conflicts when access key characters are presented on the graphical user interface of the application. For example, and as will be discussed in further detail below, the access key management system can assign an access key command having a 1:1 association with a virtual key to a corresponding input (e.g., a selectable or displayed input), which eliminates the possibility of a base character, shift character, or other character corresponding to the same virtual key being assigned to two different selectable inputs.
[0017] The access key management system can additionally enable access key commands and corresponding access key characters to be determined for a corresponding device layout (e.g., keyboard layout) without requiring further development of a specific application and independently of the language of the characters actually displayed on the graphical user interface. In this way, even in the case where the display language of the application is Latin-based, the access key management system can still provide display of access key characters when the user uses a non-Latin-based keyboard layout. This allows the user to see which characters on the character input device are applicable to the corresponding selectable input, even in the case where the display of text corresponding to the selectable input is different from the user's language, or more specifically, the language of the keyboard layout.
[0018] In addition, one or more embodiments of the access key management system are directed to identifying input, determining access characters, and causing the characters to be displayed at runtime of an application on a computing device. In this way, the access key management system provides additional flexibility in presenting access key characters without requiring additional development of applications to accommodate input key character layouts across various languages and configurations. In addition, the runtime characteristics of the features described herein enable access key commands and corresponding characters to be determined at runtime when the presentation of a graphical user interface changes (such as in response to opening a new window, selecting a menu option presented in a prompt submenu, or any other modification of selectable input to be displayed on the graphical user interface of the application). As described above, this additional flexibility is provided without modifying the existing framework of the operating system and without requiring application developers to specifically adopt further development beyond normal or already completed applications.
[0019] As shown in the foregoing discussion, the present disclosure utilizes various terms to describe the features and advantages of the systems described herein. Additional details are now provided regarding the meaning of some of these terms. For example, as used herein, a "computing device" or "client device" may refer to any type of electronic device that is capable of running an application and providing a display of selectable inputs via a graphical user interface. A computing device may refer to a mobile device such as a mobile phone, a smart phone, a personal digital assistant (PDA), a tablet computer, a laptop computer, or a wearable computing device. A computing device may also refer to one or more non-mobile devices, such as a desktop computer, a server (e.g., a cloud server), or other non-portable devices. The following description will be made in conjunction with Figure 8 Additional details regarding an example computing device are discussed.
[0020] As used herein, "character input device" refers herein to any device configured to provide input characters or other input commands to a computing device. A character input device may refer to any input device having buttons or selectable icons that, when actuated, cause the input device to provide character input (such as letters, numbers, symbols, or other displayable characters) to be input to the computing device. In one or more embodiments, the character input device specifically refers to a keyboard, such as a physical keyboard coupled to a computing device or a virtual keyboard provided via a graphical user interface of a client device. However, other implementations may include other types of devices capable of providing character input (e.g., game controllers, keyboards, or other input devices with the ability to provide characters or character symbols as input commands).
[0021] In one or more embodiments, the character input device includes an input device layout. As used herein, "input device layout" or "device layout" refers to the configuration of a character input device, in which certain keys or key positions are associated with different inputs or characters. For example, in the context of a keyboard, a keyboard layout may refer to a common layout, such as a QWERTY keyboard for Latin characters. In one or more embodiments described herein, a keyboard layout is associated with a specific language (e.g., English, Greek, Azerbaijani, Russian, Malaysian, Arabic, Japanese). Other keyboard layouts may refer to different languages, and may include different characters mapped to different positions. In fact, a keyboard layout may refer to any configuration of keys and key positions associated with a language or direction of a character. In one or more embodiments, a device layout may be a custom layout created by a specific individual.
[0022] As used herein, an "active layout," "active character layout," or "active device layout" may refer interchangeably to a selected or otherwise applicable layout for an application or OS. For example, the active layout may refer to a default keyboard layout, such as a QWERTY keyboard layout (or some variation thereof). Alternatively, the active layout may refer to a specific keyboard layout selected at some previous time before or while an application is opened on a computing device. In one or more examples described herein, the active layout may refer to a specific language or character base other than the widely used Latin-based character layout.
[0023] As used herein, "virtual key" refers to a set of one or more commands associated with a corresponding key position. In one or more embodiments described herein, a virtual key is associated with a corresponding position on a character input device (e.g., a key position on a keyboard template). A virtual key can be associated with a plurality of Unicode characters corresponding to a key position. For example, as described below, a virtual key can be associated with a basic character, a shift character, and one or more additional characters, depending on a specific device layout. Although a virtual key can be associated with a specific key position, it should be understood that a virtual key can be associated with a different character set for each device layout in a plurality of device layouts. In addition, although the direction of a virtual key can be consistent on a large number of input devices and device layouts, there may be some variations, particularly when a specific keyboard type or keyboard layout has additional or fewer buttons. However, the position of a virtual key is mostly consistent on a large number of similar device types (e.g., keyboards).
[0024] As used herein, "access key definition" refers to the association of a command (e.g., an access key command) and a corresponding virtual key. As used herein, an access key command may refer to an abstraction of a command for an access key, the position of which and the corresponding character(s) will be determined based on the current layout of the input device. Additional information related to access key definitions and access key commands will be discussed in conjunction with the following multiple examples.
[0025] As used herein, "selectable input" or "displayed input" may refer to any input that can be selected or otherwise actuated using a button or cursor and is displayed on at least a portion of an application's graphical user interface. In one or more embodiments described herein, a selectable input refers to a selectable icon that can be selected using a cursor or via a touch screen by interacting with the selectable icon. As an example and not limitation, a selectable icon may refer to a menu icon among a plurality of menu icons that, when selected, causes another menu of additional options (e.g., a drop-down menu) to be selected. As will be discussed herein, an access key management system may detect or otherwise identify a selectable icon set based on movement of a visible area of a graphical user interface, a detected selection of a selectable icon, or any action taken by a user that causes a modification to the selectable icon set to appear on the application's graphical user interface.
[0026] As used herein, an "access key character" refers to a character that is displayed or otherwise presented in conjunction with an associated selectable input. As will be discussed in further detail below, the access key management system can determine the access key character to be displayed at a location on the graphical user interface based on various factors including the character associated with a given virtual key and the device layout (e.g., the active device layout).
[0027] Additional details will now be provided regarding implementations of the access key management system disclosed herein for determining access key characters to be displayed in conjunction with selectable input via a graphical user interface (GUI) of a computing device (e.g., a GUI of an application or operating system (OS) on the computing device). For example, Figure 1 An example environment 100 is shown that includes a computing device 102 and a character input device 104 coupled to the computing device 102 .
[0028] As described above, computing device 102 and character input device 104 can refer to various electronic devices capable of communicating input data between each other. Although other types of devices can be used in conjunction with the embodiments described herein, in one or more implementations, computing device 102 specifically refers to a client device, and character input device 104 refers to an input device with a specific key layout (e.g., a Latin-based character layout, a non-Latin-based character layout). Computing device 102 and character input device 104 can be coupled using a wired or wireless connection. For example, in one or more implementations, the device can be coupled via a wire or other physical transmission medium. Other implementations can involve devices that are wirelessly or remotely coupled, such as via a local network, a point-to-point connection, a Bluetooth connection, the Internet, or any other network connection through which computing device 102 and character input device 104 can communicate data (e.g., input data).
[0029] like Figure 1 As further shown in FIG. 1 , the computing device 102 may include an access key management system 106 implemented thereon. Figure 1 As shown, the access key management system 106 may include a plurality of components, including an access key definition manager 108, an input detector 110, an access key character manager 112, and a character display manager 114. As further shown, the access key management system 106 may access various data on a data store 116 implemented on or otherwise accessible to the components of the access key management system 106. Additional information will be discussed in conjunction with each of the various components 108-114 of the access key management system 106.
[0030] For example, the access key definition manager 108 can provide various features related to determining or otherwise generating a plurality of access key definitions for the character input device 104. In one or more embodiments, the access key definition manager 108 can generate a set of access key definitions by associating access key commands with corresponding virtual keys. For example, in one or more embodiments, the access key definition manager 108 generates a table including entries or definitions (e.g., access key definitions) of mappings between each virtual key and an access key command.
[0031] As described above, virtual keys can be mapped to specific key positions on the key layout of character input device 104. Depending on the active layout of character input device 104, each virtual key can be additionally associated with different characters and commands. Access key commands can be non-localized and can be assigned to any selectable input in a manner independent of the displayed characters associated with the corresponding selectable input. Each virtual key and associated access key command can be independent of the active character layout.
[0032] As described above, the access key management system 106 also includes an input detector 110. In one or more embodiments, the input detector 110 can identify any number of selectable inputs presented via the GUI of the application. As used herein, the GUI of the application can refer to a display area associated with the corresponding application, such as a window or multiple windows. In one or more embodiments, the GUI of the device can refer to the total display area for the computing device 102, which can include multiple display areas of the corresponding application. In one or more embodiments, the application refers to a software application that provides the corresponding application GUI. In one or more embodiments, the application refers to the OS of the computing device 102, in which case the application GUI can refer to one or more GUIs associated with different applications running on the OS displayed via the display area of the computing device 102. However, although the GUI can refer to the GUI of the application, OS, or device, the features described in conjunction with a specific type of GUI (e.g., the GUI of the application) can be similarly applied to any type of GUI described herein.
[0033] In one or more embodiments, the input detector 110 identifies a set of selectable inputs based on a current display of icons or objects that can be selected (e.g., via a cursor or touch input associated with the location of (multiple) icons on the GUI). For example, the input detector 110 can identify any number of selectable icons presented via an application and / or a GUI of the device. In one or more embodiments, the input detector 110 identifies the selectable icons based on data provided by the application, such as the identification of selectable icons for a given display area. Additional information related to identifying a set of selectable inputs, including triggers that prompt the identification of a set of selectable inputs, will be discussed in further detail below (e.g., in conjunction with FIG. 3A to FIG. 3B ).
[0034] As mentioned above, and as Figure 1 As further shown in FIG. 1 , the access key management system 106 includes an access key character manager 112. The access key character manager 112 is configured to determine an access key command and an associated access key character to be displayed via the GUI(s) in conjunction with the identified selectable input. In one or more embodiments, the access key character manager 112 can determine an access key command and a corresponding access key character for each selectable input of a plurality of selectable inputs provided via the GUI of the application.
[0035] Determining a particular access-key character to be displayed with a selectable input may be based on a variety of factors and conditions. For example, in one or more embodiments, an access-key character may be determined based on one or more display characters assigned to a virtual key associated with a corresponding access-key command. For example, where a first access-key command is identified for a first selectable input, the access-key character manager 112 may identify that the first access-key command is associated with a first virtual key. The access-key character manager 112 may also identify an active character layout (e.g., the type of selected or active keyboard layout) and determine a set of display characters associated with the first virtual key. The access-key character manager 112 may then select one of the display characters to display as the access-key character with the display of the selectable input. Additional information related to determining access keys (e.g., in conjunction with the display of the selectable input) is discussed below. Figures 4 to 5 and FIG. 6A to FIG. 6B ).
[0036] As mentioned above, and as Figure 1 As further shown in , the access key management system 106 may include a character display manager 114. The character display manager 114 may cause access key characters to be displayed with corresponding selectable inputs. For example, the character display manager 114 may cause multiple access key commands to be displayed with corresponding multiple selectable inputs. The character display manager 114 may provide characters corresponding to the character layout of the activity of the character input device 104, regardless of the language or symbol of the characters displayed via the GUI of the application. Additional information regarding which characters are displayed and how the display can be modified at runtime will be discussed below in conjunction with further examples and figures.
[0037] Each of the components 108 through 114 of the access key management system 106 may utilize data stored or otherwise accessible by the computing device 102. For example, Figure 1 As shown, computing device 102 may include a data store 116 having various data thereon, which may be used by respective components 108 - 114 to perform the features and functions described herein.
[0038] like Figure 1 As shown, the data storage 116 may include layout data. The layout data may include any data associated with the character input device 104, including the selected layout and any information associated therewith. This may include the location of specific characters and codes associated with corresponding keys. The layout data may include the selected language and corresponding characters of the character input device 104.
[0039] like Figure 1As further shown, data storage 116 may include key data. Key data may include virtual key data, including any characters or codes associated with corresponding virtual keys. Key data may also include access key data, such as access key definitions and associations between access key commands and corresponding virtual keys. According to one or more embodiments described herein, key data may be stored and accessed or may be generated at runtime and during operation.
[0040] The components 108 to 114 of the access key management system 106 may include software, hardware, or both. For example, the components of the access key management system 106 and / or the character input device 104 may include one or more instructions stored on a computer-readable storage medium and executable by a processor of one or more computing devices. When executed by one or more processors, the computer-executable instructions of the (multiple) devices may cause the computing device 102 to perform the methods described herein. Alternatively, the components of the access key management system 106 may include hardware, such as a dedicated processing device that performs certain functions or groups of functions. Additionally or alternatively, the components of the access key management system 106 may include a combination of computer-executable instructions and hardware.
[0041] In addition, although Figure 1 An example of an access key management system 106 implemented on a computing device 102 is shown, but it should be understood that one or more of the components 108 to 114 of the access key management system 106 may be implemented on a different device or across multiple devices. As an example, one or more features of a corresponding component may be implemented on a character input device 104 or on a remote computing device such as a server device. In one or more embodiments, one or more components 108 to 114 of the access key management system 106 may be implemented as part of a web application (e.g., a web browser) or other remotely accessible application hosted by a server device (such as a device on a cloud computing system).
[0042] As another example, in one or more implementations, environment 100 may include a character input mechanism implemented as part of computing device 102, such as an integrated keyboard or a character input portion of a graphical user interface. For example, in one or more embodiments, a virtual keyboard may be displayed on a portion of a GUI of computing device 102 that may include key characters based on an active keyboard layout. In this example, similar to other examples, access key characters may be displayed and selected based on detecting user input regarding keys displayed via the virtual keyboard.
[0043] Figure 2 An example set of features associated with a keyboard layout and virtual key data associated with the key positions of the keyboard layout are shown. For example, Figure 2An example keyboard layout 202 is shown including the positions of individual keys 204 and characters and key data (e.g., key codes, key characters) corresponding to virtual keys associated with various key positions. Although keyboard layouts can have some differences between keyboards, for ease of explanation, keyboard layouts with similar Figure 2 The illustrated keyboard layout 202 is similar to the physical layout of a keyboard discussed for accessing features and functions of the key management system 106 .
[0044] As an illustration, Figure 2 Two keys 204a-b with corresponding character sets are shown. Keys 204a-b may represent example virtual keys according to one or more embodiments. Figure 2 As shown, keys 204a-b may correspond to specific key positions on keyboard layout 202. Figure 2 Not shown in FIG. 1 , keyboard layout 202 may refer to any keyboard layout associated with any displayed language and may include any kind of characters displayed thereon.
[0045] Each key can include or produce a plurality of different characters, and these characters can be different between key and key.For example, the first key 204a can include a basic character 206a and a shift character 208a.In this example, when the virtual key 204a usually refers to the "a" key, the basic character 206a can be a lowercase "a" value, and the shift character 208a can be an uppercase "A" value.When selecting a key alone or in combination with some modifier keys (for example, a shift key, an alternating key, a control key), the basic and shift characters can refer to the character values (for example, character code values) provided to the computing device.In one or more examples described herein, when the key is pressed without any additional keys, the basic character refers to the character of the key.On the contrary, when the key is pressed together with the shift key, the shift character can refer to the character of the key.
[0046] While the first key 204a refers to a key having alphabetic characters, the second key 204b refers to a second exemplary key having numeric characters. Figure 2 As shown, the second key 204b can include a basic character 206a, a shift character 208b and one or more additional characters 210b, 212b. Each character in the corresponding characters 206b to 212b can refer to a character that can be selected using the same virtual key based on one or more modifier keys pressed together with the second key 204b. In this example, the basic character 206b is associated with the symbol "6", the shift character 208b is associated with the symbol "^", and the third and fourth characters 210b to 212b can be associated with any other symbol, depending on the specific configuration of the keyboard layout 202. In one or more embodiments, different symbols can be configured or otherwise added to the keyboard layout.
[0047] As described above, each of the access key commands may be assigned or otherwise associated with a corresponding virtual key that is pre-associated with a corresponding key position on the keyboard layout 202. Figure 2 As shown, the access key management system 106 can generate and maintain an access key definition set 214, in which access key commands (e.g., AK1 to AKn) are associated with virtual key sets (VK1 to VKn). The access key definition set 214 can be applied to any of a variety of keyboard layouts, even if the specific characters on the corresponding keys are different between layouts.
[0048] Continuing, additional information will now be discussed in conjunction with the selectable inputs on the identification GUI. Specifically, FIG. 3A to FIG. 3B An example computing device 302 is shown having a GUI 304 displayed thereon that displays different examples of selectable options that may appear on the display of the computing device 302 .
[0049] like Figure 3A As shown, the first example shows a GUI 304 of a notepad application including a plurality of menu options 306a to 306e. For example, the menu options include a first selectable input 306a associated with accessing a file menu, a second selectable input 306b associated with accessing an edit menu, a third selectable input 306c associated with accessing a format menu, a fourth selectable input 306d associated with accessing a view menu, and a fifth selectable input 306e associated with accessing a help menu.
[0050] As discussed in one or more embodiments, the access key management system 106 can identify the selectable menu options 306a-306e at runtime when the application is executed on the computing device 302. In one or more embodiments, the access key management system 106 receives an indication from the application (e.g., a notepad application) of any selectable inputs to display via the application's GUI 304. In one or more embodiments, the access key management system 106 can simply identify any number of displayable inputs currently displayed via a display area on the computing device 302.
[0051] One benefit of identifying selectable inputs at runtime is that the access key management system 106 can identify additional selectable inputs when the presentation of inputs is modified. For example, when the displayable area is modified as a result of scrolling or moving the display, the access key management system 106 can determine an updated set of selectable inputs. Alternatively, in one or more embodiments, the access key management system 106 determines an updated set of selectable options based on a selection of a selectable option that prompts display of an additional selectable icon (e.g., a menu or submenu of selectable icons).
[0052] For example, Figure 3B As shown, in response to detecting a selection of a first selectable input 306a associated with accessing a file menu, the notes application can provide a display of additional selectable inputs 308a to 308h corresponding to different actions that can be taken within the notes application. In this example, the access key management system 106 can identify a list of selectable inputs 308a to 308h based on detecting a selection of a file menu icon, or alternatively, based on detecting a modification to the display involving presenting additional selectable icons.
[0053] Figure 3B The example shown in is provided by way of example and not limitation. In this example, the list of selectable inputs 308a-308h includes a first selectable input 308a associated with creating a new file, a second selectable input 308b associated with opening a new window, a third selectable input 308c associated with opening a new document, a fourth selectable input 308d associated with saving a current document, a fifth selectable input 308e associated with saving a copy of the current document, a sixth selectable input 308f associated with page setup, a seventh selectable input 308g associated with printing a document, and an eighth selectable input 308h associated with exiting the notepad application.
[0054] Although Figure 3B The GUI 304 shown in shows a plurality of keyboard accelerators (e.g., "Ctrl+N," "Ctrl+Shift+N," etc.) that can be activated in conjunction with a particular input, but it should be understood that these can be treated separately and differently from the access keys and access key characters discussed in conjunction with one or more embodiments herein. For example, according to one or more embodiments described herein, these keyboard accelerators can be displayed in a different language than the access key characters that are determined to be used for the corresponding selectable input. However, while not the case in all embodiments, in some implementations, characters used to indicate a particular keyboard accelerator can be selected and presented in a manner similar to the access key characters, and a user of the computing device can be provided with a prompt as to the keys that can be used for the corresponding keyboard layout associated with the keyboard accelerator.
[0055] Additional details will now be discussed in conjunction with determining the key command characters displayed in conjunction with selectable options, which are displayed via the display area of a computing device. As described above, each virtual key can be associated with a key position on the physical layout of a key (e.g., a layout template). In addition, when selecting an active layout (or based on a previous selection of an active layout), a virtual key can become associated with a character set corresponding to a key code, which is provided to the computing device when the associated key is activated. As will be discussed below, access key management system 106 can determine that a character in the character set is displayed as an access key command via GUI. In addition, it should be understood that a key command is determined at runtime based on the currently active keyboard layout and according to a current set of selectable inputs selectable via interaction with the GUI.
[0056] As an example, Figure 4 A series of actions 400 are shown that may be applied to perform an analysis of a set of displayed characters and determine an access key character to display for a corresponding key position or virtual key. Figure 4 As shown, access key management system 106 may perform an action of identifying an active keyboard layout 402. As described above, this may involve determining whether a default keyboard layout is available (e.g., a Latin-based layout) or whether an alternative layout has been selected, such as a specific language or custom layout of keys and corresponding key characters.
[0057] In addition to identifying the active keyboard layout, the access key management system 106 may also perform an action 404 of identifying the key position of the virtual key for the access key command on the active layout. As described above, the key position on the active layout may be identified for each access command from the access command definition set. Once the key position and the corresponding character thereon are identified, the key management system 106 may consider multiple factors when determining the specific access key character to be displayed in conjunction with the selectable input.
[0058] For example, the key management system 106 can perform action 406 to determine whether the key position identified on the active layout includes the final sigma character (e.g., as found on the VK_W virtual key on a Greek keyboard layout.) If the key position includes a final sigma character (ζ), the key management system 106 can perform an action 408 of displaying a less than (<) symbol at the location of the associated selectable input. This particular use case is beneficial because sigma has three associated character or symbol versions (e.g., a base sigma character, a shift sigma character, and a final sigma character), where other characters typically have two associated character versions (e.g., a base character and a shift character).
[0059] Alternatively, in the case where the key management system 106 determines that the identified key position on the active layout does not include the final sigma character (ζ), the key management system 106 can perform an action of determining whether the key character is a null key 410. As used herein, a null key refers to a key position on a keyboard layout that is not mapped to any particular symbol. For example, a null key can refer to a blank key on a corresponding keyboard layout that has no associated character input.
[0060] However, when each key position is mapped to a corresponding virtual key, the space key can be associated with a default or basic virtual key character. Figure 4 As shown, in the case where the key management system 106 determines that the identified key position is a blank key, the key management system 106 can perform an action 412 of displaying a virtual key default symbol for the virtual key. Although not shown in the figures, each virtual key can be associated with a corresponding default character. For example, in the case where the identified key position is a blank key, the access key character can be determined to be a basic character from a default layout (e.g., a Latin-based keyboard layout or a standard QWERTY layout).
[0061] In the event that the identified key position on the active layout does not include a final sigma (ζ) character and is not a null key, the key management system 106 can perform an action 414 of determining whether the character associated with the key position is a numeric symbol (e.g., a single-digit numeric symbol from "0" to "9"). In one or more embodiments, the key management system 106 specifically determines whether the base character or the shift character includes a numeric symbol (while ignoring other symbols other than base and shift characters that may otherwise be mapped to the key position). In the event that the key management system 106 determines that the character set associated with the key position includes a numeric value, the key management system 106 can perform an action 416 of displaying a numeric character at the location of the associated selectable input.
[0062] Alternatively, in the event that the character set for the key position does not include a final sigma character (ζ) or a numeric character, and in the event that the key is not a null key, the key management system 106 can perform an action 418 of determining whether the shift character for the key position is an uppercase base character. In the event that the key management system 106 determines that the shift character for the key position is an uppercase base character, the key management system 106 can perform an action 420 of displaying the shift character. This is beneficial because uppercase versions of letters are generally more obvious and recognizable than lowercase versions of letters, and many operating systems treat uppercase and lowercase versions of letters as equivalent for access key purposes. Therefore, the key management system 106 can present the uppercase version of the letter without requiring the user of the computing device to press the shift key.
[0063] Alternatively, in the event that the key management system does not determine that the shift character for the key position is an uppercase version of the base character, the key management system 106 can perform an action 422 of displaying the base character. Figure 4 As shown, in the case where the key position does not include a final sigma character (ζ), a space key, a numeric character, or a shift character that is an uppercase version of a base character, the key management system 106 may display the base character by default.
[0064] Although Figure 4 shows an example decision process involved in determining the access key character to display, but Figure 5 It is shown that it can be applied to the above combination Figure 4 Multiple use cases of the series of actions 400 are discussed. For example, Figure 5 Use cases associated with the final sigma character (ζ), the space key, the numeric keys, and the letter keys are shown.
[0065] As a first example, Figure 5 A first access key definition 502a including a first access key command 504a and a first virtual key 506a associated with the first access key command 504a is shown. Figure 5 As shown, virtual key 506a is associated with a specific key position, which in this example has a signal character mapped thereto based on a specific mapping of the keyboard layout. In the current example, the first virtual key 506a is mapped to the first key position 508a, which has the final sigma symbol "ζ" mapped thereto. Figure 5 As shown, the key management system 106 is based on the above Figure 4 For example, as indicated in the series of actions 400 discussed above, in the case where the key management system 106 identifies that the key position is mapped to the final sigma signal, the key management system 106 determines that the less than symbol "<" should be displayed in conjunction with the displayable input.
[0066] As a second example, Figure 5 A second access key definition 502b including a second access key command 504b and a second virtual key 506b associated with the second access key command 504b is shown. Figure 5 As shown, the second virtual key 506b is associated with a second key position 508b determined to be a blank key. Based on the second key position 508b being mapped to a blank key (e.g., from a keyboard layout), the key management system 106 determines a second access key character 510b to be displayed in conjunction with the associated selectable input. In the example shown, the second access key character 510b is determined to be a default character (e.g., a basic character) for the second virtual key.
[0067] As a third example, Figure 5 A third access key definition 502c including a third access key command 504c and a third virtual key 506c associated with the third access key command 504c is shown. Figure 5 As shown, the third virtual key 506c is associated with a third key position 508c that is determined to include a numeric character. Based on the third key position 508c being mapped as a numeric key (e.g., from a keyboard layout), the key management system 106 determines a third access key character 510c to be displayed in conjunction with the associated selectable input. In the example shown, the third access key character 510c is determined to be "5" based on the third key position 508c, which includes a "(" symbol as a base character and a "5" symbol as a shift character (as is the case on one or more French keyboard layouts).
[0068] As a fourth example, Figure 5 A fourth access key definition 502d including a fourth access key command 504d and a fourth virtual key 506d associated with the fourth access key command 504d is displayed. Figure 5 As shown, the fourth virtual key 506d is associated with a fourth key position 508d, which is determined to include a pair of alphabetic characters ("E" and "e", determined by the keyboard layout). Based on the fourth key position 508d being mapped to "E" and "e" (or more specifically, based on the fourth key position 508d not including the final sigma character In a fourth key position 508d that is not a space key and does not include a numeric character), the fourth access key character 510d may be determined to be an "E" symbol.
[0069] Combination Fig. 6A and 6B Additional use cases in which the key management system 106 identifies access key characters for display via the GUI are described in further detail. For example, FIG. 6A to FIG. 6B 6 shows a use case of a key management system 106, which is shown having a GUI 604 displayed thereon and operating similarly to the above combined FIG. 3A to FIG. 3B The example computing device 602 of the notepad application discussed. Specifically, FIG. 6A to FIG. 6B Differences in the access key characters that are determined and displayed based on different keyboard layouts that have been selected for a particular application and / or computing device are shown.
[0070] like Fig. 6A As shown, the notepad application can include a menu of selectable icons 606 that can be selected by a cursor or through one or more keyboard accelerators. In response to identifying the menu of selectable icons 606, the key management system 106 can perform various actions described herein in conjunction with determining access key characters to be displayed with corresponding selectable icons of the menu of selectable icons 606.
[0071] exist Fig. 6A In the example shown, the key management system 106 can identify a keyboard layout 610a associated with the illustrated layout. In this example, the keyboard layout 610a is a Greek keyboard layout that includes Greek characters mapped to corresponding key positions of the keyboard layout 610a. Consistent with one or more embodiments described herein, Greek letters can be mapped to key positions, which can be mapped to corresponding virtual keys. In other words, each virtual key can be associated with a corresponding Greek character set based on the mapping of Greek characters to key positions from the keyboard layout 610a.
[0072] In one or more embodiments, the key management system 106 can associate access key commands with each selectable icon from the menu of selectable icons 606 (e.g., the displayed icon set for a given view of the GUI). In one or more embodiments, the key management system 106 assigns access key commands in a specific order or based on the direction of the virtual keys associated therewith. In the example shown, the key management system 106 can map the access key commands from the lower left position (e.g., the position of the "Z" character) to the key position based on the virtual key position and move from left to right. When determining the specific assignment of access key commands to selectable inputs, other implementations can follow different directions, sequences or processes. It should be noted that because the access key commands are not localized, the access key commands can be independent of the characters displayed on the GUI and those characters that can be displayed as part of the selectable icons.
[0073] like Fig. 6A As shown, the key management system 106 can determine a first set of access key characters 608a for a first keyboard layout 610a. In this example, the key management system 106 determines a "Z" access key character to display with the file icon. The key management system 106 can determine an "X" access key character to display with the edit icon. The key management system 106 can determine a "Ψ" access key character to display with the format icon. The key management system 106 can determine an "Ω" access key character to display with the view icon. The key management system 106 can determine a "B" access key character to display with the help icon. Each of these characters can be displayed using the same access key as above. Figure 4 For example, each of the access key characters in this example can be determined by identifying a shift character based on an associated key position that does not include the final sigma character. or numeric characters and are not mapped to an empty key.
[0074] Figure 6B shows the combination of the above with the identification based on different keyboard layouts Fig. 6AThe example discussed above can be implemented in a similar manner. For example, the key management system 106 can identify the second keyboard layout 610b based on the second keyboard layout 610b and based on the mapping between the access key commands and the corresponding virtual keys and identify the access key character set 608b to be displayed. In this example, the keyboard layout 610b can refer to a Latin-based layout with a standard QWERTY layout. Identifying different access key characters can involve a series of steps similar to those discussed in conjunction with other implementations herein.
[0075] In addition, although Figure 6B Examples include access characters 608b having a language library similar to the characters displayed on the GUI, but it should be understood that the determination of the access key characters 608b is based on access key commands that are not localized and are assigned corresponding virtual keys that are independent of the language displayed on the GUI. In this way, even if the display language on the GUI is based on a non-Latin language or a different language entirely, a user of the computing device 602 can interact with selectable icons using access keys that are presented using characters selected based on the active keyboard layout 610b rather than the language of the application, or that are displayed on the GUI 604.
[0076] Now go to Figure 7 , which shows an example flow chart including a series of actions for determining an access key character to be displayed on a GUI of a client device in conjunction with a selectable option. Figure 7 Actions according to one or more embodiments are shown, but alternative embodiments may omit, add, reorder, and / or modify Figure 7 In addition, in combination with Figure 7 One or more individual features and functions described together as a single act or series of acts may be similarly applied to other embodiments and examples described herein. Figure 7 The actions of may be performed as part of a method. Alternatively, a physical computer memory device or a computer-readable storage device (e.g., a non-transitory computer-readable medium) may include instructions that, when executed by one or more processors, cause the computing device to perform Figure 7 In a further embodiment, the system may perform Figure 7 action.
[0077] As indicated above, Figure 7 A series of actions 700 are shown for determining an access key character to be displayed on a GUI of a client device in conjunction with a selectable option. Figure 7As shown, a series of actions 700 may include associating multiple virtual keys with corresponding access key commands 710. In one or more embodiments described herein, action 710 may include generating multiple access key definitions for a character input device by associating multiple virtual keys with corresponding access key commands.
[0078] like Figure 7 As further shown in , a series of actions 700 may include an action 720 of identifying a selectable input presented via a GUI of an application. For example, in one or more embodiments, action 720 includes identifying a plurality of selectable inputs presented via a graphical user interface of the application at runtime of the application.
[0079] like Figure 7 As further shown in , a series of actions 700 may include an action 730, which determines an access key command and an associated access key character for display in conjunction with a selectable input based on the displayed characters mapped to the virtual keys and the active character layout. For example, in one or more embodiments, action 730 includes determining an access key command and an associated access key character for display for each selectable input from a plurality of selectable inputs, wherein determining the access key character is based on one or more displayed characters mapped to a key position of the associated virtual key on the active device layout of the character input device.
[0080] like Figure 7 As further shown in , a series of actions 700 may include an action 740 that causes the access key characters to be displayed via the GUI of the application. In one or more embodiments, the action 740 includes, for each selectable input, causing the access key characters to be displayed at the position of the selectable input via the graphical user interface of the application.
[0081] In one or more embodiments, a plurality of virtual keys are associated with corresponding key positions on a device layout template. In one or more embodiments, access key commands are non-localized and assignable to selectable inputs independent of displayed characters mapped to any single position on a given character input device. In one or more embodiments, identifying a plurality of selectable inputs is triggered based on detecting a modification to a selectable icon displayed on a graphical user interface of an application.
[0082] In one or more embodiments, determining the access key character for display is based on an analysis of a display character set mapped to a key position. For example, in one or more embodiments, when the display character set is determined to include a base character symbol and a shift character symbol, determining the access key character for display includes selecting a shift character symbol for display based on the display character set including the base character symbol and the shift character symbol.
[0083] As another example, where the display character set is determined to include the final sigma signal, determining the access key character for display includes selecting a less than symbol based on the display character set including the final sigma signal. As another example, where the display character set is determined to include a space key character for a basic state of a key position, determining the access key character for display includes selecting a default character pre-associated with an associated virtual key.
[0084] In one or more embodiments, identifying a plurality of selectable inputs includes identifying a first set of selectable inputs. In one or more embodiments, determining an access key command for each selectable input from the plurality of selectable inputs includes determining a first plurality of access key commands for the first set of selectable inputs. In one or more implementations, the series of actions 700 also includes identifying a second set of selectable inputs presented via a graphical user interface of the application, and determining an access key command and an associated access key character for display for each selectable input from the second set of selectable inputs.
[0085] In one or more embodiments, the character input device is a keyboard device coupled to the computing device. In one or more embodiments, the character input device is a virtual keyboard presented via a graphical user interface of an application. In one or more embodiments, the application is an operating system of the computing device or one of the applications including configuration instructions for each of a plurality of selectable inputs. In one or more embodiments, the active device layout refers to a non-Latin based character layout selected by a user of the computing device.
[0086] Figure 8 Certain components are shown that may be included within computer system 800. One or more computer systems 800 may be used to implement the various devices, components, and systems described herein.
[0087] The computer system 800 includes a processor 801. The processor 801 may be a general-purpose single-chip or multi-chip microprocessor (e.g., an Advanced RISC (Reduced Instruction Set Computer) Machine (ARM)), a special-purpose microprocessor (e.g., a digital signal processor (DSP)), a microcontroller, a programmable gate array, etc. The processor 801 may be referred to as a central processing unit (CPU). Figure 8 Only a single processor 801 is shown in the computer system 800 , but in an alternative configuration, a combination of processors (eg, an ARM and DSP) could be used.
[0088] The computer system 800 also includes a memory 803 in electronic communication with the processor 801. The memory 803 can be any electronic component capable of storing electronic information. For example, the memory 803 can be implemented as a random access memory (RAM), a read-only memory (ROM), a disk storage medium, an optical storage medium, a flash memory device in a RAM, an on-board memory included in the processor, an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM) memory, a register, etc., including combinations thereof.
[0089] Instructions 805 and data 807 may be stored in memory 803. Instructions 805 may be executed by processor 801 to implement some or all of the functions disclosed herein. Executing instructions 805 may involve using data 807 stored in memory 803. Any of the various examples of modules and components described herein may be implemented in part or in whole as instructions 805 stored in memory 803 and executed by processor 801. Any of the various examples of data described herein may be between data 807 that is stored in memory 803 and used during execution of instructions 805 by processor 801.
[0090] The computer system 800 may also include one or more communication interfaces 809 for communicating with other electronic devices. The communication interface(s) 809 may be based on wired communication technology, wireless communication technology, or both. Some examples of the communication interface 809 include a universal serial bus (USB), an Ethernet adapter, a wireless adapter operating according to the Institute of Electrical and Electronics Engineers (IEEE) 802.11 wireless communication protocol, Wireless communication adapter and infrared (IR) communication port.
[0091] The computer system 800 may also include one or more input devices 811 and one or more output devices 813. Some examples of input devices 811 include keyboards, mice, microphones, remote control devices, buttons, joysticks, trackballs, touchpads, and light pens. Some examples of output devices 813 include speakers and printers. One specific type of output device that is typically included in the computer system 800 is a display device 815. The display device 815 used with the embodiments disclosed herein may utilize any appropriate image projection technology, such as a liquid crystal display (LCD), a light emitting diode (LED), gas plasma, electroluminescence, and the like. A display controller 817 may also be provided for converting data 807 stored in the memory 803 into text, graphics, and / or moving images (as appropriate) displayed on the display device 815.
[0092] The various components of the computer system 800 may be coupled together via one or more buses, which may include a power bus, a control signal bus, a status signal bus, a data bus, etc. For clarity, the various buses are described in detail in the FIG. Figure 8 Shown in FIG. 8 is bus system 819 .
[0093] The techniques described herein may be implemented in hardware, software, firmware, or any combination thereof, unless explicitly described as being implemented in a particular manner. Any features described as modules, components, etc. may also be implemented together in an integrated logic device, or individually as discrete but interoperable logic devices. If implemented in software, the techniques may be implemented at least in part by a non-transitory processor-readable storage medium containing instructions that, when executed by at least one processor, perform one or more of the methods described herein. Instructions may be organized into routines, programs, objects, components, data structures, etc., which may perform specific tasks and / or implement specific data types, and which may be combined or distributed as desired in various embodiments.
[0094] The steps and / or actions of the methods described herein may be interchanged with one another without departing from the scope of the claims. In other words, unless a specific order of steps or actions is required for the proper operation of the described method, the order and / or use of specific steps and / or actions may be modified without departing from the scope of the claims.
[0095] The term "determining" encompasses a wide variety of actions, and thus, "determining" may include calculating, computing, processing, deriving, investigating, looking up (e.g., looking up in a table, a database, or another data structure), asserting, etc. Also, "determining" may include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory), etc. Also, "determining" may include resolving, selecting, choosing, establishing, etc.
[0096] The terms "comprising," "including," and "having" are intended to be inclusive, and mean that there may be additional elements in addition to the listed elements. Additionally, it should be understood that reference to "one embodiment" or "an embodiment" of the present disclosure is not intended to be interpreted to exclude the existence of additional embodiments that also incorporate the described features. For example, any element or feature described with respect to an embodiment herein may be combined with any element or feature of any other embodiment described herein where compatible.
[0097] The present disclosure may be implemented in other specific forms without departing from its spirit or characteristics. The described embodiments should be considered illustrative rather than restrictive. Therefore, the scope of the present disclosure is indicated by the appended claims rather than by the preceding description. Changes within the meaning and scope of the equivalents of the claims will be included within their scope.
Claims
1. A method implemented on a computing device, the method comprising: generating a plurality of access key definitions for a character input device by associating a plurality of virtual keys with corresponding access key commands; identifying, during runtime of an application, a plurality of selectable inputs presented via a graphical user interface of the application; for each selectable input from the plurality of selectable inputs, determining an access key command and an associated access key character for display, wherein determining the access key character is based on one or more display characters mapped to a key position of an associated virtual key on an active device layout of the character input device; as well as For each selectable input, the access key character is caused to be displayed at the location of the selectable input via the graphical user interface of the application. 2 . The method according to claim 1 , wherein the plurality of virtual keys are associated with corresponding key positions on a device layout template.
3. A method according to any one of claims 1 to 2, wherein the access key commands are non-localized and assignable to selectable inputs independently of displayed characters being mapped to any single position on a given character input device.
4. The method according to any one of claims 1 to 3, wherein determining the access key character for display is based on an analysis of a set of display characters mapped to the key position.
5. The method of claim 4, wherein the display character set is determined to include base character symbols and shift character symbols, and wherein determining the access key characters for display comprises: The shift character symbol is selected for display based on the display character set including the base character symbol and the shift character symbol.
6. The method of any one of claims 4 to 5, wherein the display character set is determined to include numeric symbols and non-numeric symbols, and wherein determining the access key characters for display comprises: The numeric symbol is selected over the non-numeric symbol based on the display character set including the numeric symbol.
7. A method according to any one of claims 4 to 6, wherein the display character set is determined to include a final sigma signal, and wherein determining the access key character for display includes selecting a less than symbol based on the display character set including the final sigma signal.
8. The method of any one of claims 4 to 7, wherein the display character set is determined to include a space key character for a base state of the key position, and wherein determining the access key character for display comprises: A default character pre-associated with the associated virtual key is selected.
9. The method of any one of claims 1 to 8, wherein identifying the plurality of selectable inputs is triggered based on detecting a modification to selectable icons displayed on the graphical user interface of the application.
10. The method of any one of claims 1 to 9, wherein identifying the plurality of selectable inputs comprises identifying a first set of selectable inputs, and wherein determining the access key command for each selectable input from the plurality of selectable inputs comprises determining a first plurality of access key commands for the first set of selectable inputs, and wherein the method further comprises: identifying a second set of selectable inputs presented via the graphical user interface of the application; as well as The access key command and the associated access key character for display are determined for each selectable input from the second set of selectable inputs.
11. The method according to any one of claims 1 to 10, wherein the character input device is one or more of the following: a keyboard device coupled to the computing device; or A virtual keyboard is presented via the graphical user interface of the application.
12. The method of any one of claims 1 to 11, wherein the application is one of an operating system of the computing device or an application that includes configuration instructions for each of the plurality of selectable inputs.
13. The method of any one of claims 1 to 12, wherein the active device layout refers to a non-Latin based character layout selected by a user of the computing device.
14. A system comprising: at least one processor; a memory in electronic communication with the at least one processor; as well as Instructions stored in the memory, the instructions being executable by the at least one processor to: generating a plurality of access key definitions for a character input device by associating a plurality of virtual keys with corresponding access key commands; identifying, during runtime of an application, a plurality of selectable inputs presented via a graphical user interface of the application; for each selectable input from the plurality of selectable inputs, determining an access key command and an associated access key character for display, wherein determining the access key character is based on one or more display characters mapped to a key position of an associated virtual key on an active device layout of the character input device; as well as For each selectable input, the access key character is caused to be displayed at the location of the selectable input via the graphical user interface of the application.
15. A physical computer memory device having stored thereon instructions which, when executed by at least one processor, cause a computing device to: generating a plurality of access key definitions for a character input device by associating a plurality of virtual keys with corresponding access key commands; identifying, during runtime of an application, a plurality of selectable inputs presented via a graphical user interface of the application; for each selectable input from the plurality of selectable inputs, determining an access key command and an associated access key character for display, wherein determining the access key character is based on one or more display characters mapped to a key position of an associated virtual key on an active device layout of the character input device; as well as For each selectable input, the access key character is caused to be displayed at the location of the selectable input via the graphical user interface of the application.