Gesture buttons

In one example, a system for gesture buttons can include a processing resource and a non-transitory computer readable medium having stored thereon instructions to cause the processing resource to perform a first function in response to a gesture provided to the user interface, display a gesture button on the user interface, and perform a second function that is different than the first function in response to the gesture provided on the gesture button displayed on the user interface.

BACKGROUND

Computing devices can utilize a user interface to display text documents and image documents. The computing devices can include touch screen user interfaces for navigating images displayed on the user interface. Navigating a user interface can be utilized to highlight particular areas of the text or image documents.

DETAILED DESCRIPTION

A number of systems, devices, and methods for utilizing gesture buttons are described herein. In some examples, a system for gesture buttons can include a processing resource and a non-transitory computer readable medium having stored thereon instructions to cause the processing resource to perform a first function in response to a gesture provided to the user interface, display a gesture button on the user interface, and perform a second function that is different than the first function in response to the gesture provided on the gesture button displayed on the user interface. In some examples, the gesture buttons described herein can be displayed on a user interface of a computing device. For example, the gesture buttons can be displayed on a touch screen display of a mobile computing device.

As used herein, a gesture can include an input that comprises a motion from a first position to a second position. For example, the input can be a motion from a top portion of a user interface to a bottom portion of the user interface. In this example, the input of the gesture can be the complete motion from the top portion to the bottom portion of the user interface. Computing devices can utilize gestures to perform corresponding functions. In some examples, a gesture can be a short-cut to perform the corresponding function. For example, a gesture can be utilized to zoom in and zoom out from a displayed image or text on the user interface. In this example, the same function for zooming in and zooming out may be performed without the gesture by selecting a menu that includes the function to zoom in and zoom out. In this example, it can be relatively easier and quicker to zoom in and zoom out by utilizing the corresponding gesture.

The present disclosure includes examples of gesture buttons that can be utilized to alter a corresponding function of a particular gesture. For example, a gesture can be utilized to scroll or change a view of the user interface. In this example, a gesture button can be utilized to change the function of the gesture from the scroll or change a view function to a split the view of the user interface function. That is, a different function can be performed when the gesture is performed on the gesture button than a function performed when the gesture is performed without the gesture button. In this way, the gesture buttons described herein can be utilized to allow a single gesture to perform a plurality of different functions.

FIG. 1illustrates an example of a computing device102for utilizing gesture buttons consistent with the present disclosure. In some examples, the computing device102can include a user interface that can display images or text. In some examples, the display can be a touch screen that can receive inputs such as gestures. In some examples, the computing device102can include a touchless user interface that can be utilized to receive inputs such as gestures. The computing device02can include a memory resource106that can be utilized to store instructions108,110,112that can be executed by a processing resource104to perform functions described herein.

A processing resource104may be a central processing unit (CPU), microprocessor, and/or other hardware device suitable for retrieval and execution of instructions stored in memory resource106. In some examples, the processing resource104can be coupled to the memory resource106via a connection. The connection can be a physical or wireless communication connection. In the particular example shown inFIG. 1, processing resource104may receive, determine, and send instructions108,110,112. As an alternative or in addition to retrieving and executing instructions108,110,112, processing resource104may include an electronic circuit comprising a number of electronic components for performing the operations of the instructions108,110,112in the memory resource106. With respect to the executable instruction representations or boxes described and shown herein, part or all of the executable instructions108,110,112and/or electronic circuits included within one box may be included in a different box shown in the figures or in a different box not shown.

Memory resource106may be any electronic, magnetic, optical, or other physical storage device that stores executable instructions108,110,112. Thus, memory resource106may be, for example, Random Access Memory (RAM), an Electrically-Erasable Programmable Read-Only Memory (EEPROM), a storage drive, an optical disc, and the like. The executable instructions108,110,112may be stored on the memory resource106. Memory resource106may be a portable, external or remote storage medium, for example, that allows the system to download the instructions108,110,112from the portable/external/remote storage medium. In this situation, the executable instructions108,110,112may be part of an “installation package”. As described herein, memory resource106may be encoded with executable instructions108,110,112for remote device configurations as described herein.

In some examples, the memory resource106can include instructions108to perform a first function in response to a gesture performed by a user on a user interface. As described herein, the gesture can include a motion that starts at a first position and ends at a second position. For example, a gesture can be a swipe gesture that starts an input at the first position and ends the input at the second position. In some examples, the gesture can be a single point gesture (e.g., swipe gesture, scroll gesture, etc.) or a dual point gesture (e.g., pinch gesture, stretch gesture, etc.). For example, a single point gesture can be a single input that starts at the first position and ends at the second position. In another example, a dual point gesture can include two inputs that start at the first position where a first input of the two inputs ends a second position and the second input of the two inputs ends at a third position.

In some examples, the gesture can be an input for the computing device102. In some examples, the gesture can be provided to the computing device102utilizing a peripheral device (e.g., touch screen, mouse, touchless interface, etc.). For example, the computing device102can be a mobile computing device (e.g., tablet, smartphone, laptop, etc.) that utilizes a user interface that is a touchscreen to receive inputs. In this example, a gesture can be a contact input that starts at a first position and moves to a second position without removing the contact on the touchscreen. In this example, the gesture can initiate a corresponding function of the computing device102.

In some examples, the computing device102can recognize a plurality of different gestures and execute instructions to perform functions that correspond to each of the plurality of different gestures. For example, the computing device102can recognize swipe gestures, pinch gestures, tap gestures, stretch gesture, among other types of gestures that include a movement to generate an input. In this example, each of the different gestures can be received by the computing device102and the computing device102can execute instructions to perform a corresponding function.

In some examples, the memory resource106can include instructions110to display a gesture button on the user interface. In some examples, a gesture button can include an image that is displayed on the user interface of the computing device102. For example, a semi-transparent circle can be displayed on a user interface of the computing device. As described herein, the computing device102can be a mobile device with a user interface that can is a touchscreen display. In some examples, the gesture button can be displayed on the user interface at a particular location over other images or text displayed on the user interface. In some examples, the gesture button can be semi-transparent to display images or text displayed behind the gesture button.

In some examples, the gesture button can be displayed in response to an instruction or input. For example, the gesture button can be displayed on the user interface in response to a menu selection or gesture. In some examples, the gesture button can be removed from the user interface in response to a menu selection or gesture. In some examples, the gesture button can be removed from the user interface to avoid distracting a user utilizing the user interface. In some examples, the computing device can include instructions to alter a location of the gesture button from a first location on the user interface to a second location on the user interface. For example, the gesture button can be moved from a first corner of the user interface to a second corner of the user interface that is different than the first corner.

In some examples, the gesture button can be positioned at a particular location such that a gesture that intercepts the gesture button can provide a different function compared to when the gesture does not intercept the gesture button. For example, a gesture button can be positioned at a first location. In this example a gesture can have a start location at the first location and an end location at a second location. In this example, the computing device102can provide an altered function in response to the gesture with the start location at the first location compared to the same gesture with a start location at a different location.

In some examples, the memory resource106can include instructions112to perform a second function that is different than the first function in response to the gesture performed by the user using the gesture button displayed on the user interface. As described herein, the gesture button can be displayed on the user interface such that a gesture can be provided on the gesture button. For example, the gesture button can be positioned within the boundaries of a user interface of the computing device102such that the gesture button can be a start location of a gesture. As used herein, a start location of the gesture can include a position where the gesture begins.

In some examples, the gesture can include a path between a start location and an end location. For example, the gesture can have a start location where the gesture begins and an end location where the gesture ends. In some examples, the gesture can be provided on the gesture button when the gesture button is positioned within the path of the gesture. For example, the gesture can be a pinch gesture that starts at a first location and crosses the gesture button before the end location. In some examples, the gesture can be provided on the gesture button when the gesture button is at the end location of the gesture. For example, the gesture can be a swipe gesture that starts at a first location and ends at a location of the gesture button.

As described herein, when the gesture is provided on the gesture button displayed on the user interface a second function that is different than the first function can be performed by the computing device102. For example, a swipe gesture that is not provided on the gesture button can cause the computing device102to perform a first function that alters a view of an image. In this example, the swipe gesture that is provided on the gesture button can cause the computing device102to perform a second function that saves the image to the memory resource106of the computing device102. In this way, the same gesture can provide different inputs to the computing device102and can instruct the computing device102to perform different functions.

In some examples, the second function can be a custom function or altered function. In some examples, a custom function can be selected from a plurality of functions. For example, a plurality of functions can be displayed on the user interface and a particular function can be selected as a custom function or a function to be performed by the computing device102when the gesture is provided on the gesture button. In this way, a familiar gesture that is utilized for other functions (e.g., the first function, etc.) can be utilized for the custom function (e.g., second function, etc.) when the gesture is provided on the gesture button. In some examples, the second function can be altered based on an application displayed on the user interface. For example, the second function can be a particular function when a first application is displayed on the user interface and a different function when a second application is displayed on the user interface. In some examples, a custom function for a particular gesture can be selected from a plurality of functions for each of a plurality of different applications.

The computing device102described herein can display a gesture button on a user interface to allow the same gesture or type of gesture to correspond to multiple different functions performed by the computing device102. In some examples, having a corresponding gesture for each of a plurality of functions performed by the computing device102can make it difficult for a user to remember which gesture corresponds to which function. In addition, the gesture button can be utilized to generate custom functions for a particular gesture when the gesture is provided on the gesture button.

FIG. 2illustrates an example of a system220for utilizing gesture buttons consistent with the present disclosure. In some examples, the system220can include a machine readable storage medium206that can be utilized to store instructions222,224,226,228,230that can be executed by a processing resource204to perform functions described herein.

A processing resource204may be a central processing unit (CPU), microprocessor, and/or other hardware device suitable for retrieval and execution of instructions stored in machine readable storage medium206. In some examples, the processing resource204can be coupled to the machine readable storage medium206via a connection. The connection can be a physical or wireless communication connection. In the particular example shown inFIG. 2, processing resource204may receive, determine, and send instructions222,224,226,228,230. As an alternative or in addition to retrieving and executing instructions222,224,226,228,230, processing resource204may include an electronic circuit comprising a number of electronic components for performing the operations of the instructions222,224,226,228,230in the machine readable storage medium206. With respect to the executable instruction representations or boxes described and shown herein, it should be understood that part or all of the executable instructions222,224,226,228,230and/or electronic circuits included within one box may be included in a different box shown in the figures or in a different box not shown.

Machine readable storage medium206may be any electronic, magnetic, optical, or other physical storage device that stores executable instructions222,224,226,228,230. Thus, machine readable storage medium206may be, for example, Random Access Memory (RAM), an Electrically-Erasable programmable Read-Only Memory (EEPROM), a storage drive, an optical disc, and the like. The executable instructions222,224,226,228,230may be stored on the machine readable storage medium206. Machine readable storage medium206may be a portable, external or remote storage medium, for example, that allows the system to download the instructions222,224,226,228,230from the portable/external/remote storage medium. In this situation, the executable instructions222,224,226,228,230may be part of an “installation package”. As described herein, machine readable storage medium206may be encoded with executable instructions222,224,226,228,230for remote device configurations as described herein.

In some examples, the machine readable storage medium206can include instructions222to display a semi-transparent gesture button at a first location on a user interface. As described herein, a gesture button can be an image or shape that is displayed at a particular location on the user interface of the system220. In some examples, the gesture button can be semi-transparent to allow images and/or text to be displayed behind the gesture button while allowing the location of the gesture button to be identified on the user interface. For example, the gesture button can be a semi-transparent circle that includes a transparent center and a semi-transparent outline to identify the location of the gesture button.

In some examples, the user interface can be coupled to the system220. For example, the user interface can be part of a mobile device or laptop computing device. In this example, a gesture can be provided on a touch screen of the user interface of the mobile device or laptop computing device.

In some examples, the user interface can be communicatively coupled to the system220. For example, the user interface can be a display or monitor that is communicatively coupled to the system220. In this example, the gesture can be provided via a peripheral device such as a mouse or touchless interface. In some examples, the gesture button can be displayed on the display or monitor that is communicatively coupled to the system220and the gesture can be provided via the mouse or touchless interface.

In some examples, the machine readable storage medium206can include instructions224to receive data representing a gesture at the first location on the user interface. In some examples, the gesture can be provided at the first location when a starting point of the gesture is at the first location. In other examples, the gesture can be provided at the first location when a path of the gesture passes over the first location. In other examples, the gesture can be provided at the first location when the overall path of the gesture is within the first location. For example, the gesture button can be positioned on a particular side of the user interface that is not at the first location and the gesture can be provided at the first location when the gesture is not provided on the particular side of the user interface.

In some examples, the machine readable storage medium206can include instructions to move the gesture button from the first location to the second location of the user interface. In these examples, the machine readable storage medium206can include instructions to receive the gesture at the second location when the gesture button is at the second location and to perform the first function in response to receiving the gesture at the second location. That is, the location of the gesture button can be moved to a plurality of different locations and perform a custom function associated with the gesture button. In some examples, the gesture can be received at the second location when the gesture button is at the second location and perform a third function that is different than the first function and the second function.

In some examples, the gesture button can be removed from the user interface. In these examples, the gesture received at the first location and the gesture at the second location can result in the same function when the gesture button is not displayed at the first location. That is, the gesture can continue to perform a particular function despite a location when the gesture button is not displayed on the user interface.

In some examples, the machine readable storage medium206can include instructions226to perform a first function in response to the gesture at the first location. As described herein, the first location can be a location where the gesture button is positioned on the user interface. That is, the gesture at the first location can be a gesture that is provided on the gesture button positioned at the first location. As described herein, the gesture provided on the gesture button can include when the gesture starts at the first location, the gesture path passes over the first location, and/or when the gesture ends at the first location. As described further herein, the first function can be a different function than a predefined function for the same gesture since the gesture was received at the first location and not a different location.

In some examples, the machine readable storage medium206can include instructions228to receive the gesture at a second location on the user interface. In some examples, the second location can be a location of the user interface that does not include the gesture button. For example, the gesture button can be positioned on a right side of the user interface. In this example, the second location can be a left side of the user interface. In some examples, the first location can be an area within an image or shape of the gesture button. For example, the gesture button can be in the shape of a square and the first location can be an area within the square. In this example, the second location can be an area of the user interface outside of the square.

In some examples, the gesture at the second location can be a gesture that does not start at the first location. For example, the gesture can include a start position that is not within an area of the gesture button at the first location. In some examples, the gesture at the second location can be a gesture with a path that does not cross the first location. For example, the gesture can include a path that does cross an area within the image or shape of the gesture button.

In some examples, the machine readable storage medium206can include instructions230to perform a second function that is different than the first function in response to receiving the gesture at the second location on the user interface. As described herein, the second location can be a location that is different than the location of the gesture button. In some examples, the second function in response to the gesture can be a predefined function that corresponds to the gesture. For example, the system220can include predefined instructions that correspond to the gesture. In this example, the predefined instructions can be instructions that are defined by a manufacturer of the system220. In some examples, the second function can correspond to function defined by an application. For example, an application can be displayed on the user interface. In this example, the application can include instructions to execute when the gesture is received by the system220.

In some examples, the second function can be a function that would be performed when the gesture is received at the user interface without utilizing the gesture button. For example, the second function can be predefined functions that correspond to the gesture prior to utilizing the gesture button. In some examples, the system220can utilize a peripheral device that can receive gestures. For example, the system220can utilize a touchscreen that can receive gestures when an input begins at a first position and moves to a second position without stopping the input. In some examples, other peripheral devices can be utilized to receive gestures in a similar manner.

In some examples, the system220can be utilized to add additional functionality to a single type of gesture. In some examples, types of gestures can be limited for a particular peripheral device or user interface. For example, identifying a particular gesture can be difficult when more gestures are added to the system since additional gestures can interfere with existing gestures. In some examples, it can also be difficult for a user to remember additional gestures for a plurality of additional functions. Thus, it can be beneficial to have a limited quantity of gestures that have a plurality of functions as described herein.

FIG. 3illustrates an example of a method340for utilizing gesture buttons consistent with the present disclosure. In some examples, the method340can be performed by one or more computing devices. For example, the method340can be performed by a computing device100as referenced inFIG. 1and/or or a system220as referenced inFIG. 2, as described herein. In some examples, the computing device100as referenced inFIG. 1can be coupled to a user interface to display a gesture button as described herein.

At block342, the method340can include determining a first defined function that corresponds to a gesture performed on a user interface. In some examples, the first defined function can correspond to a gesture that is provided at a location that is not on a gesture button. In some examples, the first defined function can correspond to a gesture that is provided to the user interface when a gesture button is not displayed on the user interface.

In some examples, determining a first defined function can include determining a function for the gesture when a gesture button is not displayed on the user interface. In some examples, the determining the first defined function can include determining a predefined function for the gesture. For example, the determining the first defined function for the gesture can include determining a current application displayed on the user interface and determine a corresponding function for the gesture when the current application is displayed.

In some examples, the method340can include determining predefined gestures and corresponding functions for an application displayed on the user interface. In some examples, the first defined function can be based on the application that is displayed on the user interface. For example, a particular application can include instructions for performing a function in response to the gesture that is different than a different application. Thus, determining the first defined function can be determined based on the application that is currently displayed on the user interface.

At block344, the method340can include determining a second defined function that corresponds to the gesture being performed on a gesture button displayed on the user interface. In some examples, the second defined function can be a function that is defined when the gesture is provided to the gesture button. For example, the second defined function can be selected from a plurality of functions to be executed when the gesture is provided to the gesture button as described herein.

In some examples, the second defined function can be a custom function that is performed when the gesture is provided to the gesture button. For example, the second defined function can be selected from a plurality of defined functions. In some examples, the second defined function can be a custom function for a particular application. For example, the second defined function can be selected for a particular application such that the second defined function can be performed when the gesture is provided to the gesture button when the particular application is displayed on the user interface. In some examples, the second defined function can be a plurality of different functions that each correspond to a different application.

At block346, the method340can include displaying the gesture button at a location on the user interface, wherein the gesture button is semi-transparent. As described herein, the semi-transparent gesture button can include an image or shape that allows text or images displayed behind the gesture button to be displayed. In some examples, the semi-transparent gesture button can be a square or circle that includes a semi-transparent portion and a transparent portion to identify an area within the square or circle. For example, the semi-transparent gesture button can be a circle that includes an outline of a circle that is semi-transparent and an interior portion of the circle that is transparent. By utilizing a semi-transparent gesture button, the gesture button can be displayed on the user interface while a user is reading text or viewing an image without the gesture button interfering.

In some examples, the method340can include determining a location of the gesture button displayed on the user interface. For example, the method340can determine an area within the gesture button to determine whether the gesture was provided on the gesture button or provided off of the gesture button. In other examples, the location of the gesture button displayed on the user interface can be utilized to determine a corresponding function for a gesture that intersects the area of the gesture button. In some examples, the method340can include altering the second defined function based on the location of the gesture button displayed on the user interface. For example, when the gesture button is at a first location the second defined function can be a first function type and when the gesture button is at a second location the second defined function can be altered to a second function type.

At block348, the method340can include determining that the gesture is performed on the gesture button displayed on the user interface. As described herein, determining when the gesture is provided to the gesture button can include determining when a start location of the gesture is at a location that is within an area of the gesture button. For example, the gesture can be provided to a gesture button shaped as a circle when the gesture starts within the area of the circle. In other examples, determining when the gesture is provided to the gesture button can include determining when a path of a gesture is within the area of the gesture button. For example, a gesture can include a path between a start location and an end location. In this example, the path of the gesture can cross within the area of the gesture button and it can be determined that the gesture is provided to the gesture button.

At block350, the method340can include performing the second defined function in response to the determination that the gesture is performed on the gesture button. As described herein, the second defined function can be a custom function or function that is different than the first defined function. In some examples, performing the second defined function can include a processing resource executing instructions stored in a memory resource in response to the gesture being provided to the gesture button. In some examples, the gesture can be the same gesture the was used to perform the first defined function as described herein. In some examples, the second defined function can correspond to an application that is displayed when it is determined that the gesture is provided to the gesture button.

FIG. 4illustrates an example of a user interface460-1,460-2for utilizing gesture buttons464-1,464-2consistent with the present disclosure. In some examples, the user interface460-1,460-2can be a display of a non-mobile computing device (e.g., desktop computer, television monitor with a computing device, etc.) that utilizes a peripheral device (e.g., mouse, touchless interface, etc.). In some examples, the user interface460-1,460-2can be a display of a mobile computing device as described herein. For example, the user interface460-1,460-2can utilize a touchscreen user interface.

In this example, a peripheral device462-1,462-2can be a finger or hand of a user. In some examples, the peripheral device462-1,462-2can be utilized to provide an input to the computing device of the user interface460-1,460-2. For example, the peripheral device462-1,462-2can be a finger that touches a touch screen display of the user interface460-1,460-2. In another example, the peripheral device462-1,462-2can be a mouse cursor that can be moved by a computing mouse device. In another example, the peripheral device462-1,462-2cursor generated by a touchless interface (e.g., camera, etc.) that is displayed at a corresponding location at a distance from the user interface460-1,460-2.

In some examples, the peripheral device462-1,462-2can be utilized to provide a gesture466-1,466-2on the user interface460-1,460-2. In some examples, the gesture466-1,466-2can include a start location465-1,465-2and a stop location468-1,468-2. In some examples, the area between the start location465-1,465-2and the stop location468-1,468-2can be the pathway of the gesture466-1,466-2. In some examples, the gesture466-1,466-2can be performed on the user interface460-1,460-2when a selection is made at the start location465-1,465-2and continues until the stop location468-1,468-2.

In some examples, the user interface460-1can illustrate a gesture466-1that is not provided on a gesture button464-1. For example, the gesture466-1can include a start location465-1that is not at the location of the gesture button464-1. As described herein, the gesture466-1may not be provided on the gesture button464-1since the pathway of the gesture466-1does not intersect the gesture button464-1. In addition, the gesture466-1may not be provided on the gesture button464-1since the end location468-1is not in the same location as the gesture button464-1. As described herein, the gesture466-1can instruct a computing device or system to perform a first function. For example, the gesture466-1can instruct the computing device or system to perform a factory function or function defined by a particular application.

In some examples, the gesture button464-1can be moved to a plurality of different locations on the user interface460-1. For example, the gesture button464-1can be moved to a different location470-1. In some examples the gesture button464-1can provide a first custom function that is different than the first function performed in response to the gesture466-1when the gesture button464-1is positioned at the location illustrated inFIG. 4. In addition, the gesture button464-1can provide a second custom function that is different than the first custom function and/or the first function performed in response to the gesture466-1when the gesture button464-1is moved to the different location470-1. In some examples, the same gesture466-1can be received at the gesture button464-1at the different location470-1to perform the second custom function and/or a mirrored gesture of the gesture466-1can be received at the gesture button positioned at the different location470-1to perform the second custom function. For example, the gesture466-1can represent a swipe gesture from a right side of the user interface460-1to a left side of the user interface460-1. In this example, a mirrored gesture of the gesture466-1can be a swipe gesture from a left side of the user interface460-1to a right side of the user interface460-1.

In some examples, the user interface460-2can be the same or similar as user interface460-2. In some examples, the user interface460-2can illustrate when a gesture466-2is provided to the gesture button464-2. For example, the gesture466-2can have a start location465-2that is within an area of the gesture button464-2. In some examples, the gesture466-2can be provided to the gesture button464-2when a path of the gesture466-2passes within the area of the gesture button464-2. As described herein, the gesture466-2can instruct a computing device or system to perform a second function that is different than the first function. For example, the gesture466-2can instruct the computing device or system to perform a custom function or function selected from a plurality of custom functions.

FIG. 5illustrates an example of a user interface560-1,560-2for utilizing gesture buttons564consistent with the present disclosure. As described herein, the gesture566can include a start location565and an end location568that can include a pathway between the start location565and the end location568. As described herein, the gesture566can be performed by a peripheral device562.

In some examples, the gesture button564can be customized to perform a specific function when a gesture566is performed on the gesture button564. For example, a menu of gesture types580-1,580-2,580-3can be displayed on the user interface560-1that includes a plurality of gesture types and corresponding functions. In some examples, the gesture types580-1,580-2,580-3can include corresponding functions when the gesture types580-1,580-2,580-3are performed on the gesture button564. For example, the gesture types580-1,580-2,580-3can include corresponding custom functions that are different than a function that is performed when the gesture566is not performed on the gesture button564.

In some examples, the corresponding functions of the gesture types580-1,580-2,580-3can be altered. For example, the gesture type580-1can be changed from a “close” function to a “save” function. In some examples, the corresponding functions of the gesture types580-1,580-2,580-3can be altered for a particular application. For example, the gesture type580-2can be altered from a “submit” function to a “close” function for an internet browser application. In this example, the gesture type580-2can remain a “submit” function for a different application than the internet browser application. In this way, a plurality of different corresponding functions can be utilized for each of the gesture types580-1,580-2,580-3.