This invention relates generally to dual-display devices and, more particularly, to defining and using zones on portions of either or both displays of a dual-display device.
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Traditionally, operating systems have assumed the presence of a single display device. Over time, operating systems have been updated to provide rudimentary support for an additional display device. However, the operating system merely treats both devices as a single device and ignores the fact that each display device has a bezel and that there may be a gap between the two display devices. Such problems may be more exacerbated in a small form factor computing device, such as a phone or tablet, that has two built-in display devices.
This Summary provides a simplified form of concepts that are further described below in the Detailed Description. This Summary is not intended to identify key or essential features and should therefore not be used for determining or limiting the scope of the claimed subject matter.
In some implementations a computing device may comprise a first and a second display device. A zone may be defined on the first display device. The computing device may receive selection input selecting an object and receive directional input to move the object on the first display device. After determining that a location of the object is within a predetermined distance from (or within) a boundary of the zone, a message indicating an action associated with the zone may be displayed. After determining that at least a portion of the object is within the boundary of the zone, the action may be performed. The action may include moving the object to the second display device, opening (e.g., maximizing) a window associated with the object to span both the first and second display device, or storing the object in the zone for subsequent retrieval on the second display device.
A more complete understanding of the present disclosure may be obtained by reference to the following Detailed Description when taken in conjunction with the accompanying Drawings. In the FIG.s, the left-most digit(s) of a reference number identifies the FIG. in which the reference number first appears. The same reference numbers in different FIG.s indicate similar or identical items.
For purposes of this disclosure, an information handling system may include any instrumentality or aggregate of instrumentalities operable to compute, calculate, determine, classify, process, transmit, receive, retrieve, originate, switch, store, display, communicate, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, or other purposes. For example, an information handling system may be a personal computer (e.g., desktop or laptop), tablet computer, mobile device (e.g., personal digital assistant (PDA) or smart phone), server (e.g., blade server or rack server), a network storage device, or any other suitable device and may vary in size, shape, performance, functionality, and price. The information handling system may include random access memory (RAM), one or more processing resources such as a central processing unit (CPU) or hardware or software control logic, ROM, and/or other types of nonvolatile memory. Additional components of the information handling system may include one or more disk drives, one or more network ports for communicating with external devices as well as various input and output (I/O) devices, such as a keyboard, a mouse, touchscreen and/or video display. The information handling system may also include one or more buses operable to transmit communications between the various hardware components.
The systems and techniques described herein may define one or more zones on a computing device with at least two display devices, with each zone having an associated action. For example, a computing device may include: a first display device, a second display device, one or more processors, and one or more non-transitory computer readable media storing instructions executable by the one or more processors to perform various operations. The operations may include defining a first zone on the first display device. The first zone may be defined on the first display device by creating the zone with a pre-specified length and a pre-specified width and positioning the zone at a pre-specified location on the first display device. The computing device may receive selection input selecting an object being displayed on the first display device and receive directional input to move the object on the first display device. The object may include at least one of a file, an application, or a folder. After determining that a location of the object is within a predetermined distance from a boundary of the zone, the computing device may display (one either the first display device or the second display device), for a predetermined period of time, a message indicating an action associated with the zone. After the predetermined period of time has elapsed, the computing device may determine whether at least a portion of the object is within the boundary of the zone. If the computing device determines that at least a portion of the object is within the boundary of the zone, the computing device may perform the action associated with the zone to (or using) the object. For example, the action associated with the zone may include displaying the object on the second display device and stopping displaying the object on the first display device. As another example, the action associated with the zone may include opening (e.g., maximizing) a window associated with the object to span both the first display device and the second display device. As yet another example, the action associated with the zone may include displaying a first portion of the object within the first zone on the first display device and displaying a second portion of the object within a second zone on the second display device. In this example, the computing device may receive second selection input selecting the second portion of the object within the second zone on the second display device, receive second directional input to move the object, causing the computing device to display the object outside the second zone, on the second display device.
A controller 126 (e.g., an embedded controller) may receive data 136(1) to data 136(N) (where N>0) from one or more of (i) a device driver 130 (e.g., associated with GPU 104), (ii) an operating system 132 of the computing device 102, (iii) one or more sensors 134 associated with the computing device 102, or (iv) user input 142 provided by a user of the computing device 102. For example, the sensors 134 may include an accelerometer, a gyroscope, a magnetometer or a magnetic compass, a proximity sensor, a camera, another type of sensor, or any combination thereof. A user of the computing device 102 may provide the user input 142. In some cases, the user input 142 may override the data from one or more of the device driver 130, the operating system 132, or the sensors 134. For example, the controller 126 may use the data from one or more of the device driver 130, the operating system 132, or the sensors 134 to determine a particular routing and instruct the crossbar switch 114 to configure a particular routing. In some cases, the user may override the particular routing by providing the user input 142.
The computing device 102 may include a memory 138. The memory 138 may be used to store content, such as the first content 140(1) and the second content 140(2). At least one of the first content 140(1) or the second content 140(2) may include unprotected content or protected content (e.g., content protected using a DRM scheme).
The controller 126 may, based on the data 136, provide an instruction 128 to the crossbar switch 114 to select a routing that routes one or more of the first content 140(1) (from the eDP port 110) or the second content 140(2) (from the DP port 112) to one or more of the outputs 116(1) or 116(2). For example, the crossbar switch 114 may route the first content 140(1) from the eDP port 110 to the output 116(1) for display on the internal display device 124(1) and may route the second content 140(2) from the DP port 112 to the output 116(2) for display on the additional display device 124(2). As a second example, the crossbar switch 114 may route the first content 140(1) from the eDP port 110 to the output 116(2) for display on the additional display device 124(2) and may route the second content 140(2) from the DP port 112 to the output 116(1) for display on the internal display device 124(2). As a third example, the crossbar switch 114 may route the first content 140(1) from the eDP port 110 to both the output 116(1) and 116(2) for display on the internal display device 124(1) and the additional display device 124(2). As a fourth example, the crossbar switch 114 may route the second content 140(2) from the DP port 112 to both the output 116(1) and the output 116(2) for display on the internal display device 124(1) and the additional display device 124(2).
The controller 126 may determine which routing of the crossbar switch 114 to select based on (1) an orientation of the computing device 102, (2) a display mode 144 of the operating system 132, and (3) whether DRM-protected content is being displayed. The orientation of the computing device 102 may be determined based on which of the display devices 124(1) or 124(2) is “up” (when the computing device 102 is in a horizontal orientation) or which of the display devices 124(1) or 124(2) is “left” (when the computing device 102 is in a vertical orientation). For example, the operating system 132, such as Microsoft® Windows®, may provide three display modes 144: (a) extended desktop mode where the display devices 124(1) and 124(2) behave as if they were a single display device, (b) clone mode where each of the display devices 124(1) and 124(2) display the same content, or (c) single display mode, e.g., one of the display devices 124(1) or 124(2) is off and therefore not displaying any content. For example, single display mode may be used when the computing device is in a tablet orientation to turn off a particular display device (of the display devices 124(1) and 124(2)) that is not visible to (or facing) the user.
The operating system (OS) 132 may allow DRM protected content to be displayed on a single display device (e.g., either 124(1) or 124(2)) and prevent DRM protected content from being displayed across both of the displays in extended desktop mode (because in extended desktop mode, one of the display devices 124(1) or 124(2) is to be driven by output from the DP port 112). Therefore, DRM protected content may be displayed on only one of the display devices 124(1) or 124(2) in the extended desktop mode. Thus, in all three of the modes 144 (e.g., extended desktop mode, clone mode, or single display mode), the DRM protected content may be displayed on either the internal display device 124(1) or the additional display device 124(2) depending on which of the display devices 124(1) and 124(2) is visible to the user (e.g., based on the orientation of the computing device 102).
Typically, when viewing DRM protected content such as a movie or television show, the computing device may be in a horizontal (e.g., landscape) orientation. In any of the three display modes, if the internal display device 124(1) is “up” in the horizontal orientation, then the first content 140(1) from the eDP port 110 may be sent to the output 116(1) for display on the internal display device 124(1). In any of the three display modes, if the additional display device 124(2) is “up” in the horizontal orientation, then the first content 140(1) from the eDP port 110 may be sent to the output 116(2) for display on the additional display device 124(2). In the horizontal mode, in the extended desktop mode, other applications or other content may be displayed by the display device that is “down”. In the horizontal mode, in the clone mode, the DRM protected content may be displayed on both the display device that is “up” and the display device that is “down” (e.g., the content is duplicated on each of the two display devices). In the horizontal mode, in the single display mode, the DRM protected content may be displayed on the display device that is “up” while no content may be displayed on the display device that is “down”.
In a tablet orientation (see
In a clamshell mode (see
In the extended desktop mode, DRM protected content may be displayed by routing the content from the eDP port 110 to one of the display devices 124(1) or 124(2). For example, playing a movie in “full screen” expands the movie to fill the particular display device that is connected to the eDP port 110. The OS 132 may, based on the DRM protection, prevent the movie from being displayed stretched across both the display devices124(1) and 124(2). Clone mode does not violate the DRM protection because the first content 140(1) is sent from the eDP port 110 and duplicated on both of the display devices 124(1) and 124(2). In the extended desktop mode, unprotected content may be displayed stretched across both of the display devices 124(1) and 124(2) by sending half of the unprotected content from the eDP port 110 and a remaining half of the unprotected content from the DP port 112.
The GPU 104 may support three logical pipes (e.g., three video outputs). An advantage of using the crossbar switch 114 to drive both of the display devices 124(1) and 124(2) is that a single output port (e.g., the eDP port 110 or the DP port 112) of the GPU 104 is used. For example, by using a single logical pipe (e.g., a single output port) to drive both of the display devices 124(1) and 124(2) in clone mode for protected/unprotected content or in extended desktop mode for unprotected content, the two remaining logical pipes may be used to drive one or two external displays (e.g., via the port 108). In clone mode, if the crossbar switch 114 was not present, then the GPU 104 would use two logical pipes (e.g., the eDP port 110 and the DP port 112) to send the content to both the display devices 124(1) and 124(2), thereby leaving a single pipe to drive an external display (e.g., via the port 108). In some implementations, the computing device 102 may include a third display device, with each of the three logical pipes of the GPU 104 capable of driving each of the three display devices.
Table 1 summarizes the various possible routings and which port(s) are used based on (i) whether DRM content is being played back and (ii) the display mode 144 of the operating system 132 has been selected. If the content does not have DRM protection in either single display mode or clone mode, then either of the eDP port 110 or the DP port 112 may be used. Though Table 1 does not include an entry, in some implementations, unprotected content may be routed from the DP port 112 to either of the display devices 124(1) or 124(2) in single display mode or to both of the display devices 124(1) and 124(2) in clone mode. Because there is no advantage to using the DP port 112 for unprotected content in single display mode or clone mode and because the normal routing uses the output of the eDP port 110, if content does not have DRM protection in clone mode (or single display mode), then the output of the eDP port 110 is routed both (or one) of the display devices 124(1) and 124(2).
As the examples in Table 1 illustrate, in the extended desktop mode, DRM protected content is output in an unencrypted format from the eDP port 110 and sent to either the internal display device 124(1) or the additional display device 124(2) while unprotected content is output from the DP port 112 and sent to the other display device. For example, if the output of the eDP port 110 is sent to the internal display device 124(1) then the output of the DP port 112 is sent to the additional display device 124(2). If the output of the eDP port 110 is sent to the additional display device 124(2) then the output of the eDP port 110 is sent to the internal display device 124(1).
Thus, the controller 126 may receive the data 136(1) to 136(N) from one or more of the device driver 130, the operating system 132, or the sensors 134. The controller 126 may determine an orientation of the computing device 102 based on the data 136. Based on the orientation of the computing device 102, the controller 126 may rotate the content being displayed between approximately 0 degrees and approximately 360 degrees. For example, in some cases, the content may be rotated to the right (clockwise) or to the left (counter-clockwise) in 90 degree increments (e.g., 90 degrees, 180 degrees, or 270 degrees). Based on (a) the display mode 144 (e.g., single mode, clone mode, or extended desktop mode) of the OS 132, and (b) whether the content being displayed is protected using DRM, the controller 126 may select a routing and send the instruction 128 to the crossbar switch 114 selecting the routing. The instruction 128 may cause the crossbar switch 114 to be configured to perform the selected routing. In some cases, a user may provide the user input 142 to modify (or override) the orientation determined by the controller 126, the routing determined by the controller 126, or both. If the orientation of the computing device 102 changes while the content is being displayed, the controller 126 may receive new data 136, determine a new orientation, determine a new routing, and automatically instruct the crossbar switch 114 to configure a new routing. Based on the new orientation of the computing device 102, the controller 126 may rotate the content being displayed between approximately 0 degrees and approximately 360 degrees. For example, in some cases, the content may be rotated to the right (clockwise) or to the left (counter-clockwise) in 90 degree increments (e.g., 90 degrees, 180 degrees, or 270 degrees). In some cases, the user input 142 may cause the controller 126 to “lock” a particular routing configuration, a particular orientation, or both, such that the controller 126 ignores any additional data received from one or more of the device driver 130, the OS 132, or the sensors 134 until the user input 142 causes the controller 126 to remove the “lock”.
In the vertical tablet orientation 304, the internal display device 124(1) may be on the left and the additional display device 124(2) may be on the right. In a first vertical tablet orientation 304(1), the internal display device 124(1) may be facing a user and the additional display device 124(2) may be rotated approximately 360 degrees to face away from the user. In a second vertical tablet orientation 304(2), the additional display device 124(2) may be facing the user while the internal display device 124(1) may rotated approximately 360 degrees to face away from the user.
In 402(1), the internal display device 124(1) may be at the top facing the user while the additional display device 124(2) may be at the bottom facing away from the user. In 402(2), the additional display device 124(2) may be at the top facing the user and the internal display device 124(1) may be at the bottom facing away from the user.
In 404(1), the internal display device 124(1) may be at the top facing the user and the additional display device 124(2) may be at the bottom facing down. In 404(2) the additional display device 124(2) may be at the top facing the user and the internal display device 124(1) may be at the bottom facing down.
In 406(1), the internal display device 124(1) may be at the top facing the user and the additional display device 124(2) may be at the bottom facing down (e.g., away from the user). In 406(2), the additional display device 124(2) may be at the top facing the user and the internal display device 124(1) may be at the bottom facing down (e.g., away from the user).
In 408(1), the internal display device 124(1) may be at the top facing the user and the additional display device 124(2) may be at the bottom facing the user (e.g., in a position where traditionally, a keyboard is located in a laptop). In 408(1), in some cases, a QWERTY-based keyboard may be displayed on the additional display device 124(2) and used to receive keyboard input. In 408(2), the additional display device 124(2) may be at the top facing the user and the internal display device 124(1) may be at the bottom facing the user (e.g., in a position where traditionally, a keyboard is located in a laptop). In 408(2), in some cases, a QWERTY-based keyboard may be displayed on the internal display device 124(1) and used to receive keyboard input.
In
The zone 506 may be used to transfer an object (e.g., one of the applications 504) from one of the display devices 124 to another. For example, in the top half of
In some cases, the zone 506 may automatically display the object on the adjacent display device after determining that at least a portion of the object is over the zone 506, while the user is still holding (e.g., applying pressure to) the object. In other cases, the zone 506 may automatically display the object on the adjacent display device after determining that at least a portion of the object is over the zone 506, and after the user has released the object onto the zone 506 (e.g., the user is no longer applying pressure to the object on the touch screen display device).
The zone 506 may display the message 508 to inform the user of the action (e.g., “move to other screen”) to be performed. After the message 508 has been displayed for a predetermined amount of time (e.g., M milliseconds, where M>0), the zone 506 may determine whether at least a portion of the object is over the zone 506. Thus, the user may be given a pre-determined amount of time after the message 508 is displayed to drag the object away from the zone before the action is performed. After the message 508 has been displayed for the predetermined amount of time, if at least a portion of the object is over the zone 506, the action (e.g., moving and displaying the object on an adjacent display device) may be performed. After the message 508 has been displayed for the predetermined amount of time, if no portion of the object is over the zone 506, then the action is not performed.
The message 508 may include a prompt informing the user of the action that will be performed and asking the user to confirm (e.g., “move to other screen—please confirm”). Thus, the user may be asked to confirm whether to perform the action associated with the zone 506. If the user confirms, then the action (e.g., moving and displaying the object on an adjacent display device) may be performed. If the user does not confirm, then the action is not performed.
While
As illustrated at the top of
In some cases, the zone 506 may automatically open the object to span both display devices 124(1), 124(2) after determining that at least a portion of the object is over the zone 506, e.g., while the user is still applying pressure to the object. In other cases, the zone 506 may automatically open the object to span both display devices 124(1), 124(2) after determining that at least a portion of the object is over the zone 506, and after the user has released the object onto the zone 506 (e.g., the user is no longer applying pressure to the object on the touch screen display device).
The zone 506 may display the message 508 to inform the user of the action (e.g., “open to span both displays” or “maximize across both displays”) to be performed. After the message 508 has been displayed for a predetermined amount of time (e.g., M milliseconds, where M>0), the zone 506 may determine whether at least a portion of the object is over the zone 506. Thus, the user may be given a pre-determined amount of time after the message 508 is displayed to drag the object away from the zone before the action is performed. After the message 508 has been displayed for the predetermined amount of time, if at least a portion of the object is over the zone 506, the action (e.g., opening the object to span both display devices) may be performed. After the message 508 has been displayed for the predetermined amount of time, if no portion of the object is over the zone 506, then the action is not performed.
The message 508 may include a prompt informing the user of the action that will be performed and asking the user to confirm (e.g., “maximize across both display devices?—please confirm”). Thus, the user may be asked to confirm whether to perform the action associated with the zone 506. If the user confirms, then the action (e.g., opening the object to span both display devices) may be performed. If the user does not confirm, then the action may not be performed.
While
As illustrated at the top of
In some cases, the zone 506 may automatically place the object 902 in the zone 506 after determining that at least a portion of the object 902 is over the zone 506, e.g., while the user is still applying pressure to the object. In other cases, the zone 506 may automatically place the object 902 in the zone 506 after determining that at least a portion of the object 902 is over the zone 506, and after the user has released the object 902 onto the zone 506 (e.g., the user is no longer applying pressure to the object 902 on the touch screen display device 124(2)).
The zone 506 may display the message 508 to inform the user of the action (e.g., “store in clipboard with access from both display devices”) to be performed. After the message 508 has been displayed for a predetermined amount of time (e.g., M milliseconds, where M>0), the zone 506 may determine whether at least a portion of the object 902 is over the zone 506. Thus, the user may be given a pre-determined amount of time after the message 508 is displayed to drag the object 902 away from the zone 506 before the action is performed. After the message 508 has been displayed for the predetermined amount of time, if at least a portion of the object 902 is over the zone 506, the action (e.g., temporarily storing the object 902 in the zone 506) may be performed. After the message 508 has been displayed for the predetermined amount of time, if no portion of the object 902 is over the zone 506, then the action may not be performed.
The message 508 may include a prompt informing the user of the action that will be performed and asking the user to confirm (e.g., “store in clipboard with access from both display devices?—please confirm”). Thus, the user may be asked to confirm whether to perform the action associated with the zone 506. If the user confirms, then the action may be performed. If the user does not confirm, then the action may not be performed.
Each zone may have an associated message that indicates the action that the zone performs. For example, the first zone 1002 may have an associated message 1008 indicating a first action, such as maximizing an object across both of the display devices 124(1), 124(2). The second zone 1004 may have an associated message 1010 indicating a second action, such as moving an object from one of the display devices 124(1), 124(2) to another of the display devices 124(1), 124(2). The third zone 1006 may have an associated message 1012 indicating a third action, such as moving temporarily storing an object from one of the display devices 124(1), 124(2) for subsequent retrieval on another of the display devices 124(1), 124(2).
If a first portion of an object is near (or over) one zone and a second portion of the object is near (or over) another zone, the computing device 102 may prompt the user to select whether to perform an action and if so, which action to perform, e.g., “Please select one: perform <action associated with one zone>, perform <action associated with another zone>, or perform no action?”
The zones 1002, 1004, 1006 enable a user to cause various pre-programmed actions to be performed merely by dragging and dropping an object to a particular one of the zones 1002, 1004, or 1006. For example, dragging and dropping an object 1014 on the first zone 1002(1) may cause the object 1014 to be maximized to span both of the displays 124(1), 124(2). Dragging and dropping the object 1014 on the second zone 1004(1) may cause the object 1014 to be moved to from the display 124(1) to the display 124(2). Dragging and dropping the object 1014 on the third zone 1006(1) may cause the object 1014 to be stored and displayed in both the zones 1006(1), 1006(2), thereby enabling the object 1014 to be dragged from the zone 1006 to either of the display devices 124(1) or 124(2). Dragging and dropping an object 1016 on the first zone 1002(2) may cause the object 1016 to be maximized to span both of the displays 124(1), 124(2). Dragging and dropping the object 1016 on the second zone 1004(2) may cause the object 1016 to be moved to from the display 124(2) to the display 124(1). Dragging and dropping the object 1016 on the third zone 1006(2) may cause the object 1016 to be stored and displayed in both the zones 1006(1), 1006(2), thereby enabling the object 1012 to be dragged from the zone 1006 to either of the display devices 124(1) or 124(2). Of course, the pre-defined actions described are merely examples of the types of actions that may be defined.
In the flow diagrams of
At 1102, a zone may be defined on a touch screen display device of a dual-display device. At 1104, a determination may be made that an object is being dragged on the touch screen display device. At 1106, a presence of at least a portion of the object may be detected within the zone. At 1108, a message indicating an action (associated with the zone) may be displayed. For example, in
When at least a portion of the object is over (or within a predetermined distance from) the zone 506, the zone 506 may display the message 508 indicating the action the zone 506 performs. In some cases, the zone 506 may display the message 508 for a predetermined amount of time and then perform the action on the object if at least a portion of the object has been placed over the zone 506. In other cases, the zone 506 may display the message 508 that includes a prompt (“perform<action>?”), receive a response (e.g., yes or no) to the prompt from the user, and then perform the action on the object if the user responded “yes” to the prompt and not perform the action if the user responds “no”.
At 1110, a determination may be made that at least the portion of the object is (e.g., remains) within the zone. At 1112, the action associated with the zone may be performed. In
At 1202, a first zone may be defined on a first touch screen display device of a dual-display device. At 1204, a second zone may be defined on the first touch screen display device. For example, in
At 1206, a determination may be made that an object is being dragged on the touch screen display device. At 1208, a determination may be made whether at least a portion of the object is within either the first zone or the second zone. For example, in
If a determination is made, at 1208, that a portion of the object is within the first zone, then the process proceeds to 1210. If a determination is made, at 1208, that a portion of the object is within the second zone, then the process proceeds to 1214. If a determination is made, at 1208, that no portion of the object is within either the first zone or the second zone then no action is taken. At 1210, a first message may be displayed indicating a first action (associated with the first zone) to be performed. At 1212, the first action (associated with the first zone) may be performed if the object is within the first zone. At 1214, a second message may be displayed indicating a second action (associated with the second zone) to be performed. At 1216, the second action (associated with the second zone) may be performed if the object is within the second zone. For example, in
At 1302, a zone may be defined that spans both a first display device and a second display device. At 1304, a determination may be made that an object is being dragged on the first display device. At 1306, a presence of at least a portion of the object may be detected within (e.g., over) the zone of the first display device. At 1308, a message may be displayed indicating an action to be performed if at least the portion of the object remains within the zone. For example, in
At 1310, a determination may be made that at least a portion of the object is within the zone on the first display. At 1312, the object may be stored in the zone, with a first portion of the object displayed on the first display and a second portion of the object displayed on the second display. At 1314, a determination may be made that the second portion of the object being displayed in the zone on the second display device is being dragged. At 1316, the object may be displayed on the second display device (e.g., outside the zone). For example, in
The processors 1502 are one or more hardware devices that may include a single processing unit or a number of processing units, all of which may include single or multiple computing units or multiple cores. The processors 1502 may include an integrated GPU or the GPU a separate processor device. The processors 1502 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, graphics processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the processors 1502 may be configured to fetch and execute computer-readable instructions stored in the memory 138, mass storage devices 1512, or other computer-readable media.
Memory 138 and mass storage devices 1512 are examples of non-transitory computer media (e.g., memory storage devices) for storing instructions that can be executed by the processors 1502 to perform the various functions described herein. For example, memory 138 may include both volatile memory and non-volatile memory (e.g., RAM, ROM, or the like) devices. Further, mass storage devices 1512 may include hard disk drives, solid-state drives, removable media, including external and removable drives, memory cards, flash memory, floppy disks, optical disks (e.g., CD, DVD), a storage array, a network attached storage, a storage area network, or the like. Both memory 138 and mass storage devices 1512 may be collectively referred to as memory or computer storage media herein, and may be a media capable of storing computer-readable, processor-executable program instructions as computer program code that can be executed by the processor 1502 as a particular machine configured for carrying out the operations and functions described in the implementations herein.
The computing device 102 may also include one or more communication interfaces 1506 for exchanging data via a network. The communication interfaces 1506 can facilitate communications within a wide variety of networks and protocol types, including wired networks (e.g., Ethernet, DOCSIS, DSL, Fiber, USB etc.) and wireless networks (e.g., WLAN, GSM, CDMA, 802.11, Bluetooth, Wireless USB, cellular, satellite, etc.), the Internet and the like. Communication interfaces 1506 can also provide communication with external storage (not shown), such as in a storage array, network attached storage, storage area network, or the like. The display devices 124(1) and 124(2) may be connected to each other using a hinge (e.g., the hinge 206 of
The computer storage media, such as memory 138 and mass storage devices 1512, may be used to store software and data. For example, the computer storage media may be used to store the operating system 132, the device driver 130, and the data 136(1) to 136(N). The operating system 132 may be set to a particular display mode 1516. For example, the operating system 132 may have a default display mode and a user may set the display mode 1516 to something different than the default display mode. The computer storage media may store an orientation 1518, one or more software applications 1520, one or more zone definitions 1522, application zones 1524, user preferences 1526, and zone messages 1528. The zone definitions 1522 may be include definitions of zones that may be created (e.g., by the operating system 132). The zone definitions 1522 may specify a length of each zone, a width of each zone, a location (e.g., which display device, where on the display device, etc.) of the zone, the conditions under which (e.g., a proximity of object to a zone and the like) a message associated with the zone is displayed, and other zone-related information. The application zones 1524 may include zone definitions associated with specific applications. For example, a particular application, when launched, may create a specific set of zones to perform a specific set of actions. The user preferences 1526 may include user defined zones that may override the default zones of the operating system or application specified zones. The zone messages 1528 may include various messages displayed when an object is near (or over) a particular zone.
The example systems and computing devices described herein are merely examples suitable for some implementations and are not intended to suggest any limitation as to the scope of use or functionality of the environments, architectures and frameworks that can implement the processes, components and features described herein. Thus, implementations herein are operational with numerous environments or architectures, and may be implemented in general purpose and special-purpose computing systems, or other devices having processing capability. Generally, any of the functions described with reference to the figures can be implemented using software, hardware (e.g., fixed logic circuitry) or a combination of these implementations. The term “module,” “mechanism” or “component” as used herein generally represents software, hardware, or a combination of software and hardware that can be configured to implement prescribed functions. For instance, in the case of a software implementation, the term “module,” “mechanism” or “component” can represent program code (and/or declarative-type instructions) that performs specified tasks or operations when executed on a processing device or devices (e.g., CPUs or processors). The program code can be stored in one or more computer-readable memory devices or other computer storage devices. Thus, the processes, components and modules described herein may be implemented by a computer program product.
Furthermore, this disclosure provides various example implementations, as described and as illustrated in the drawings. However, this disclosure is not limited to the implementations described and illustrated herein, but can extend to other implementations, as would be known or as would become known to those skilled in the art. Reference in the specification to “one implementation,” “this implementation,” “these implementations” or “some implementations” means that a particular feature, structure, or characteristic described is included in at least one implementation, and the appearances of these phrases in various places in the specification are not necessarily all referring to the same implementation.
Although the present invention has been described in connection with several embodiments, the invention is not intended to be limited to the specific forms set forth herein. On the contrary, it is intended to cover such alternatives, modifications, and equivalents as can be reasonably included within the scope of the invention as defined by the appended claims.
Number | Date | Country | |
---|---|---|---|
Parent | 15801948 | Nov 2017 | US |
Child | 16508957 | US |