IP Library Granted Patent US 10,394,512
Granted Patent B2
US 10,394,512 · App. 15/642,972 · Granted Aug 27, 2019

Multi-monitor alignment on a thin client

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,394,512
App. No.
15/642,972
Granted
Aug 27, 2019
Kind
B2
Abstract

In an aspect of the disclosure, a method, a computer-readable medium, and an apparatus are provided. The apparatus may be a thin client. The thin client obtains dimensions of each screen of a plurality of screens of the thin client. The thin client also determines an arrangement of the plurality of screens such that each one of the plurality of screens is in contact with at least another one of the plurality of screens and does not overlap with any other one of the plurality of screens. The thin client also determines border segments of each screen of the plurality of screens. Each of the border segments of the each screen is not in contact with any border segment of any other screens of the plurality of screens.

Claims (55)

1. A method of operating a thin client, comprising:

obtaining dimensions of each screen of a plurality of screens of the thin client;

determining an arrangement of the plurality of screens such that each one of the plurality of screens is in contact with at least another one of the plurality of screens and does not overlap with any other one of the plurality of screens;

determining border segments of each screen of the plurality of screens, wherein each of the border segments of the each screen is not in contact with any border segment of any other screens of the plurality of screens;

determining a first pointer location for displaying a pointer of a pointer device;

receiving an input from the pointer device that defines a trajectory of the pointer device;

determining whether the first pointer location is on a border segment;

determining a second pointer location that is one pixel away from the first pointer location in at least one of a horizontal direction and a vertical direction along the trajectory in response to

(a) a determination that the first pointer location is not on a border segment, or

(b) a determination that the first pointer location is on a border segment and the trajectory is toward inside of a screen area defined by the border segments of the plurality of screens;

displaying moving the pointer from the first pointer location to the second pointer location;

in response to a determination (a) that the first pointer location is on a border segment and (b) that the trajectory is not perpendicular to the border segment and not toward inside of a screen area defined by the border segments of the plurality of screens, determining a second pointer location that is one pixel away from the first pointer location on the border segment along the trajectory; and

displaying continuously a pointer at the second pointer location and stopping moving the pointer along the trajectory.

2. The method of claim 1 , further comprising:

determining border edges of each screen of the plurality of screens based on the dimensions of the each screen, the border edges defining the each screen;

determining an in-contact section of each border edge of the each screen that is in contact with a border edge of another screen of the plurality of screens, wherein a corresponding border segment of the each border edge is determined by removing the in-contact section of the each border edge from the each border edge.

3. The method of claim 1 , further comprising: in response to a determination (a) that the first pointer location is on a border segment and (b) that the trajectory is perpendicular to the border segment and not toward inside of a screen area defined by the border segments of the plurality of screens, displaying continuously a pointer at the first pointer location and stopping moving the pointer along the trajectory.

4. The method of claim 1 , wherein in the arrangement, each two screens of the plurality of screens are top-aligned, bottom-aligned, left-aligned, or right-aligned.

5. An apparatus, the apparatus being a thin client, comprising:

a memory; and

at least one processor coupled to the memory and configured to:

obtain dimensions of each screen of a plurality of screens of the thin client;

determine an arrangement of the plurality of screens such that each one of the plurality of screens is in contact with at least another one of the plurality of screens and does not overlap with any other one of the plurality of screens;

determine border segments of each screen of the plurality of screens, wherein each of the border segments of the each screen is not in contact with any border segment of any other screens of the plurality of screens;

determine a first pointer location for displaying a pointer of a pointer device;

receive an input from the pointer device that defines a trajectory of the pointer device;

determine whether the first pointer location is on a border segment;

determine a second pointer location that is one pixel away from the first pointer location in at least one of a horizontal direction and a vertical direction along the trajectory in response to

(a) a determination that the first pointer location is not on a border segment, or

(b) a determination that the first pointer location is on a border segment and the trajectory is toward inside of a screen area defined by the border segments of the plurality of screens;

display moving the pointer from the first pointer location to the second pointer location;

in response to a determination (a) that the first pointer location is on a border segment and (b) that the trajectory is not perpendicular to the border segment and not toward inside of a screen area defined by the border segments of the plurality of screens, determine a second pointer location that is one pixel away from the first pointer location on the border segment along the trajectory; and

display continuously a pointer at the second pointer location and stop moving the pointer along the trajectory.

6. The apparatus of claim 5 , wherein the at least one processor is further configured to:

determine border edges of each screen of the plurality of screens based on the dimensions of the each screen, the border edges defining the each screen;

determine an in-contact section of each border edge of the each screen that is in contact with a border edge of another screen of the plurality of screens, wherein a corresponding border segment of the each border edge is determined by removing the in-contact section of the each border edge from the each border edge.

7. The apparatus of claim 5 , wherein the at least one processor is further configured to: in response to a determination (a) that the first pointer location is on a border segment and (b) that the trajectory is perpendicular to the border segment and not toward inside of a screen area defined by the border segments of the plurality of screens, display continuously a pointer at the first pointer location and stop moving the pointer along the trajectory.

8. The apparatus of claim 5 , wherein in the arrangement, each two screens of the plurality of screens are top-aligned, bottom-aligned, left-aligned, or right-aligned.

9. A non-transitory computer-readable medium storing computer executable code for operating a thin client, comprising code to:

obtain dimensions of each screen of a plurality of screens of the thin client;

determine an arrangement of the plurality of screens such that each one of the plurality of screens is in contact with at least another one of the plurality of screens and does not overlap with any other one of the plurality of screens;

determine border segments of each screen of the plurality of screens, wherein each of the border segments of the each screen is not in contact with any border segment of any other screens of the plurality of screens;

determine a first pointer location for displaying a pointer of a pointer device;

receive an input from the pointer device that defines a trajectory of the pointer device;

determine whether the first pointer location is on a border segment;

determine a second pointer location that is one pixel away from the first pointer location in at least one of a horizontal direction and a vertical direction along the trajectory in response to

(a) a determination that the first pointer location is not on a border segment, or

(b) a determination that the first pointer location is on a border segment and the trajectory is toward inside of a screen area defined by the border segments of the plurality of screens;

display moving the pointer from the first pointer location to the second pointer location;

in response to a determination (a) that the first pointer location is on a border segment and (b) that the trajectory is not perpendicular to the border segment and not toward inside of a screen area defined by the border segments of the plurality of screens, determine a second pointer location that is one pixel away from the first pointer location on the border segment along the trajectory; and

display continuously a pointer at the second pointer location and stop moving the pointer along the trajectory.

10. The non-transitory computer-readable medium of claim 9 , wherein the code is further configured to:

determine border edges of each screen of the plurality of screens based on the dimensions of the each screen, the border edges defining the each screen;

determine an in-contact section of each border edge of the each screen that is in contact with a border edge of another screen of the plurality of screens, wherein a corresponding border segment of the each border edge is determined by removing the in-contact section of the each border edge from the each border edge.

11. The non-transitory computer-readable medium of claim 9 , wherein the code is further configured to: in response to a determination (a) that the first pointer location is on a border segment and (b) that the trajectory is perpendicular to the border segment and not toward inside of a screen area defined by the border segments of the plurality of screens, display continuously a pointer at the first pointer location and stop moving the pointer along the trajectory.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2020
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC,
To: AMZETTA TECHNOLOGIES, LLC,
Reel/Frame 053007/0151 →
CHANGE OF NAME Recorded Jun 22, 2020
From: AMERICAN MEGATRENDS, INC.
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 053007/0233 →
CORP TO CORP ASSIGNMENT Recorded Jul 11, 2019
From: AMERICAN MEGATRENDS, INC.
To: AMZETTA TECHNOLOGIES, LLC
Reel/Frame 049731/0423 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2017
From: YOON, DAVID; SUBRAMANIAN, YUGENDER P.; AYANAM, VARADACHARI SUDAN
To: AMERICAN MEGATRENDS, INC.
Reel/Frame 042925/0148 →