The present disclosure relates generally to personal computers and more specifically to the automated configuration of screen settings when the personal computer is using two or more monitors.
It is common for a user of a personal computer to use multiple monitors. For example, a second monitor may be connected to a laptop computer for general office use. Moreover, in a hospital network and other specialist situations, it is common to use two or three monitors arranged on a desk side-by-side. When using multiple screens, the user wishes that the cursor moves seamlessly between monitors under the control of the user's mouse or other pointing device as if the monitors formed a single screen. Examples of other pointing devices are touchpad, joystick, track ball, pen tablet and user eye motion tracker. What the operating system needs to know is the relative physical positions of the different monitors, e.g. is the second monitor to the left or to the right of the first monitor, so that the cursor can be moved appropriately between screens, rather than disappearing off screen in one direction or appearing on the ‘wrong’ side of an adjacent screen.
In a standard personal computer running an operating system such as for example Windows 10 or Mac OS X (registered trademarks), when an external monitor is connected to the personal computer, the user has to go into display settings and manually configure them to specify the relative physical positions of the external monitor in relation to the personal computer's monitor. This takes time and sometimes results in incorrect settings being applied. One example of incorrect settings with a standard operating system is that, if a laptop user is not always using the same fixed docking station, e.g. a person is hot desking, then the display settings previously set for multiple monitors will be applied, but may be incorrect, since the display settings will assume that the laptop is arranged on the desk in its previous position, e.g. to the left or right of, or below or above, the external monitor. This means that the previous manually configured screen positioning may not be correct for the new situation.
This problem is well known, and there are various known solutions.
CN104615282B uses monitors that are fitted with infrared emitters and receivers that sense the proximity and orientation of neighboring monitors, so that mouse-driven cursor motion between monitors can be appropriately controlled.
CN101149673B uses ultrasonic wireless transceivers placed at the corner of each monitor to detect the relative position of neighboring monitors and their orientation.
JP2015082270A discloses that an “object coordinate value detection unit” is used to detect where a cursor is positioned in one monitor in relation to an adjacent monitor, e.g. whether at say the left-hand edge of one monitor there is another monitor to the left, or no adjacent monitor so that the left-hand edge is the left-hand edge of the combined set of monitors. There appears to be no explanation of what this “detection unit” should be other than that it is part of a control unit that is “mainly configured” by the computer's central processing unit and graphics card.
US2016/162243A1 discloses two different solutions. A first solution in US2016/162243A1 is specific to monitors which have their own webcams, e.g. inbuilt webcams. The user holds a reference object in front of the monitors which is thus in view of both webcams. The computer can then detect the relative physical positioning of the monitors on the basis of parallax between the respective webcam images of the reference object. This information is then used to configure the display settings. A second solution in US2016/162243A1 is to make the user perform a cursor movement when a second monitor is connected. Namely, when a second monitor is connected to a personal computer, a point target is displayed on the newly connected second monitor. The user is then prompted to move the cursor, which is initially located on the original monitor, in a line towards the target. From the direction of this line, and specifically which of the four edges (top, bottom, left or right) the cursor hits on the original monitor, the software can infer the relative physical location of the second monitor. This second solution of US2016/162243A1 thus differs from the previously mentioned prior art solutions, since the former are all based on hardware, whereas the second solution of US2016/162243A1 is a software-based solution that can be universally applied regardless of the hardware available. Nevertheless, this solution is not ideal. Although it avoids the need for the user to manually change the display settings in the operating system, it still requires the user to perform a training action.
Another problem when using dual monitors, which is also known, is that minimizing, closing, or reducing the size of a full screen window requires that the user moves the cursor close to the edge of the monitor's display. If the user has two monitors arranged side by side, then the cursor will tend to leave the monitor with the full-size window which is to be manipulated, rather than being constrained to stay within the monitor. Consequently, cursor-actuated GUI actions around an edge of a full-screen window on one monitor become quite fiddly when the relevant edge is adjacent another monitor. One solution to this problem proposed by Whitson Gordon on 27 Apr. 2012 on the lifehacker.com website in an article entitled “Fix the “cursor drift” annoyance on dual monitors by tweaking one simple setting” is to define one of two side-by-side monitors as being slightly higher than the other in the display settings, so that the operating system is tricked into believing that the top corner where the window actuation controls are situated when a window is maximized is not adjacent the second monitor. This then stops the cursor in the virtually higher monitor, when positioned at the top corner, from being able to drift into the adjacent, virtually lower monitor.
What is needed is a solution to these problems which is universally applicable, i.e. has no additional hardware requirement and does not require any actions by the user, whether they be to go into display settings and make a configuration change or to perform some training action with the cursor.