The invention concerns in general the technical field of user interfaces.
Due to an emerge of terminal devices for communication user interface technologies have been developed, and especially use of so-called touch screens has tremendously increased.
The touch screen technology is based on an assembly of both an input device and an output device in the same device. In other words, the input panel and the output panel are stacked on a top of each other so that a visual output may be generated with the output panel, and the user is able to provide input by touching the screen which is detected by the input panel. The output panel is typically implemented with a LCD or OLED technology whereas the input panel, i.e. the touch-sensitive panel, may be based on resistive or capacitive sensing as well as on other technologies, such as a surface acoustic wave technology, an infrared grid technology, or even an optical imaging among other technologies.
Typical area of application of the touch screens is that a so-called virtual keyboard is output with the output device to allow the user to provide input with the virtual keyboard by touching a desired character of the keyboard. For example, the virtual keyboard may be used for inputting a message to a social media service. There have been developed a plurality of ways to adjust the virtual keyboard to help the user to input the characters in an efficient manner. For example, in a document US 2013/0257732 A1 it is disclosed a generation of the virtual keyboard at a location where the user’s hand, or hands, are placed on the touch screen.
In spite of the various approaches already introduced in the field, there is room for developing new solutions for improving an input of characters through the virtual keyboard.
The following presents a simplified summary in order to provide basic understanding of some aspects of various invention embodiments. The summary is not an extensive overview of the invention. It is neither intended to identify key or critical elements of the invention nor to delineate the scope of the invention. The following summary merely presents some concepts of the invention in a simplified form as a prelude to a more detailed description of exemplifying embodiments of the invention.
An object of the invention is to present a method, a computer program, and an apparatus for adjusting a virtual keyboard.
The objects of the invention are reached by a method, a computer program, and an apparatus as defined by the respective independent claims.
According to a first aspect, a method is provided, the method comprising:
For example, the recording of the user input through the virtual keyboard may be performed by storing data corresponding to the user input in a memory.
The determination of the at least one character associated with at least one correction operation, in turn, may be performed by: identifying data indicative of a correction operation from the user input history; determining data indicative of the character input next to the correction operation.
The adjusting of the output of the at least one character may be performed by at least one of: enlarging a size of a zone defining the respective character; highlighting the respective character, changing a shape of the respective character.
Moreover, the user input from the user input history applied in the determination may be selected by at least one of: over a predefined time window, based on an application applying the virtual keyboard, based on a recipient of a message composed with the virtual keyboard.
The character for adjusting the output of the respective character may be selected from a character string forming a word, the word may be selected from a dictionary applied in a predictive input method by the device.
According to a second aspect, a computer program is provided, the computer program comprising instructions which, when the program is executed by a computer, cause the computer to carry out the method according to the first aspect as defined above.
According to a third aspect, an apparatus is provided, the apparatus is configured to:
For example, the apparatus may be configured to perform the recording of the user input through the virtual keyboard by storing data corresponding to the user input in a memory.
Further, the apparatus may be configured to perform the determination of the at least one character associated with at least one correction operation by: identifying data indicative of a correction operation from the user input history; determining data indicative of the character input next to the correction operation.
The apparatus may also be configured to perform the adjusting of the output of the at least one character by at least one of: enlarging a size of a zone defining the respective character; highlighting the respective character, changing a shape of the respective character.
Moreover, the apparatus may be configured to select the user input from the user input history applied in the determination by at least one of: over a predefined time window, based on an application applying the virtual keyboard, based on a recipient of a message composed with the virtual keyboard.
The apparatus may be configured to select the character for adjusting the output of the respective character from a character string forming a word, the word may be selected from a dictionary applied in a predictive input method by the device.
For example, the apparatus may be at least one of: a device comprising the virtual keyboard; an external entity communicatively connected to the device comprising the virtual keyboard.
The expression “a number of” refers herein to any positive integer starting from one, e.g. to one, two, or three.
The expression “a plurality of” refers herein to any positive integer starting from two, e.g. to two, three, or four.
Various exemplifying and non-limiting embodiments of the invention both as to constructions and to methods of operation, together with additional objects and advantages thereof, will be best understood from the following description of specific exemplifying and non-limiting embodiments when read in connection with the accompanying drawings.
The verbs “to comprise” and “to include” are used in this document as open limitations that neither exclude nor require the existence of unrecited features. The features recited in dependent claims are mutually freely combinable unless otherwise explicitly stated. Furthermore, it is to be understood that the use of “a” or “an”, i.e. a singular form, throughout this document does not exclude a plurality.
The embodiments of the invention are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings.
The specific examples provided in the description given below should not be construed as limiting the scope and/or the applicability of the appended claims. Lists and groups of examples provided in the description given below are not exhaustive unless otherwise explicitly stated.
The present invention relates to a controlling of a virtual keyboard in a user interface of a device. The device may refer to a user device comprising a user interface implemented with a touch screen. An example of such a device 100 schematically illustrated in
In accordance with the invention the input received from the user is recorded and stored in a memory. The memory may reside in the device 100 or in an external entity 150, such as in a network node like server device, communicatively connected to the device 100 as shown in
For describing the present invention in more detail
The user interacting with the virtual keyboard 120 provides inputs with the characters output in the virtual keyboard 120 and the user input through the virtual keyboard 120 of the device 100 is recorded 210 for generating a user input history. The user input history refers to data stored in a data record storing data indicative of the user input. The data may e.g. be stored chronologically, or at least so that each input is provided with a time stamp. Furthermore, the inputs may be associated with a further information, such as an identifier of an application through which the input is provided with the virtual keyboard 120. The application may e.g. be a messaging application or a social media application, or any similar in which the virtual keyboard 120 is applied to for providing input. Still further, the inputs, i.e. the data of the characters, may also be provided with information on a recipient of the message, which may refer to a person being a recipient of the message or a social media platform to which a message containing the characters is sent to.
In response to the generation of the user input history a determination of a number of characters may be performed from the user input history. More specifically, at least one character associated with at least one correction operation in a context of the user input may be identified from the user input history. This may be achieved by searching user input data corresponding to a correction operation, or function, by searching a code value corresponding to the correction operation which may e.g. refer to a use of the backspace or the delete function from the virtual keyboard 120. Moreover, in response to the identification of the correction operation it is determined the user input, i.e. the character, associated with the correction operation. In other words, data indicative of the correction operation may be identified from the user input history, and data indicative of the character input next to the correction operation may be determined. Hence, the idea is to determine the character input after the correction operation so as to derive information on the context when the user has performed the erroneous input. The context here may refer to a character related to the erroneous input and in the described case the character is the one the user intended to input prior to the error. The determination 220 as described may be performed to the whole user input history, or at least part of it, limited e.g. with a predefined time window, to a predefined application, to a predefined recipient, or to any other parameter. An advantage to associate the errors in the described manner is that it may be detected if some of the erroneous inputs occur with respect to certain instances, such as with a certain application or with respect to a certain recipient, and as a result the outcome of the method, as described in the forthcoming description, may be associated only to such instances.
Moreover, the method may comprise an establishment of a correlation data, as a substep of the determination 220, that indicates a number of occurrences of the erroneous inputs in association with certain characters. In other words, the correlation data may be generated to indicate an error rate with respect to each of the characters. From the data it is possible to derive the characters causing errors over a predefined limit and those characters may be interpreted to be difficult to reach by the user. As said, such an analysis may be performed by applying one or more criteria to the user input history data, such as a definition of a time window.
In accordance with the invention a control signal is generated 230 for adjusting an output of the at least one character on the virtual keyboard 120 with wherein the at least one character is selected based on the outcome of the determination step 220 as described. In other words, the at least one character is selected based on the at least one correction operation i.e. to those one or more characters associated with the correction operations in the manner as described.
The adjustment of the output of the at least one selected character may refer to an enlarging a zone defining the selected character(s) by size in the virtual keyboard 120 from the normal size so as to allow the user to hit the respective character with an increased probability. The adjustment of the output of the respective character(s) may also correspond to a highlighting the respective character in the virtual user interface in any known manner, such as with a color or with any other marking, or by changing a shape of the respective character, so as to attract the user to select in a correct way.
In sophisticated solutions, the adjustment of the output of the at least one character may be limited in some manner. For example, it may be limited by time, i.e. the adjustment is applied to a predefined period of time. Alternatively, it may be limited to be applied with respect to only a certain application implementing the virtual keyboard 120. Still further, it may be limited with respect to a recipient of the message. The application of the limitations in the described manner may be advantageous because it is possible to direct the adjustment only to those instances where the erroneous behavior is detected.
Still further, in some other sophisticated approaches the adjustment of the output of the character(s) may be performed with respect to certain words consisting of a plurality of characters. Such an approach may be performed by using commonly known dictionaries in the contexts of the determination step so as to derive understanding if the errors occur with respect to certain words only, and store information of the words together with the characters with whom the error has occurred. In such an approach it is possible to adjust the output of the respective character(s) only in a context when it may be assumed, e.g. by applying a commonly known predictive input method, that the user intends to write a certain word. In other words, the output of the correct characters belonging to the predicted word may be adjusted.
For sake of clarity, it is worthwhile to mention that the adjustment of the output of the character, especially when enlarged, may also cause redefining of a reading of the input panel of the touch screen 110 in a respective manner. This means that reading areas, or reading zones, are advantageously adjusted so that the input area of the respective character in the sensing panel corresponds to the output area of the same character. Such an adjustment in the readout may be performed in any known manner available to the applied touch screen technology.
The various example embodiments of the method as described above may be implemented with a processing unit configured to receive the input data from the virtual keyboard 120, the from the user interface 110 in general. The processing unit may reside in the device 100, but the invention is also possible to implement so that the method is performed in a computing unit being external to the device 100 such as in a network node communicatively connected to the device 100 by applying known communication technologies. In such an implementation the network node, or any other external computing entity to the device 100 may be configured to deliver the control signal so that it comprises instructions to the device 100 to operate in the predefined way.
An example of an apparatus, such as the device 100 or the entity 150, suitable for performing a method according to an example embodiment of the invention is schematically illustrated in
In some examples, the apparatus may be implemented with a distributed computing environment in which a plurality of computing devices, such as the device 100 and the entity 150, is configured to cooperate to cause an execution of the method according to at least one of the examples as described.
As derivable from above, some aspects of the present invention may relate to a computer program product which, when executed by at least one processor, cause an apparatus to perform at least some portions of the method as described. For example, the computer program product may comprise at least one computer-readable non-transitory medium having the computer program code 425 stored thereon. The computer-readable non-transitory medium may comprise a memory device or a record medium such as a CD-ROM, a DVD, a Blu-ray disc, or another article of manufacture that tangibly embodies the computer program. As another example, the computer program may be provided as a signal configured to reliably transfer the computer program.
Still further, the computer program code 425 may comprise a proprietary application, such as computer program code for executing the management of the communication connection in the manner as described.
As mentioned in the foregoing description the memory storing the data of the user input may reside in the device 100 or externally to that. In other words, it may be stored physically in the device 100 itself or to an external entity 150, such as to a memory of a server device. The storing entity 100, 150 may be configured to perform the method, or at least part of it, so as to create data applicable for a user application through which the user provides the user input by using the virtual keyboard 120 as described. In addition to the physical location, the application of the data may be set available on different grounds. In accordance with a first example, the data to be applied in the virtual keyboard 120 may be set available on application basis. This may mean that the data is collected and set available only for a certain application, or so that a plurality of applications have their own data sets based on which the adjustment of the output of the at least one character on the application specific virtual keyboard is provided. This kind of approach is advantageous because a user may provide erroneous input on a user application basis meaning that different errors occur with different applications. According to a second example, the data applied with the virtual keyboard used in any application utilizes the same data generated from the user input. For example, the user input may be collected from the user inputs through a plurality of applications, or only from one application, and the data is used in the output of the respective characters of the virtual keyboard is applying the data of the user inputs and the approach may be considered as a generic approach. This kind of approach is advantageous since it collects a more comprehensive amount of user input data since it is collected from a plurality of applications and since only one data structure is maintained for the plurality of user application, it saves resources and simplifies the management of the system.
The specific examples provided in the description given above should not be construed as limiting the applicability and/or the interpretation of the appended claims. Lists and groups of examples provided in the description given above are not exhaustive unless otherwise explicitly stated.
Number | Date | Country | Kind |
---|---|---|---|
20215900 | Aug 2021 | FI | national |