IP Library Granted Patent US 12,493,405
Granted Patent B2
US 12,493,405 · App. 17/412,326 · Granted Dec 9, 2025

Methods, systems and computer program products for enabling scrolling within a software application

Inventors: Harsh Singh (Delhi, IN); Pawan Kumar (Gurugram, IN); Vasim Ali (New Delhi, IN); Ravi Prakash (Gurugram, IN)
Assignee: NOW.GG, INC.
G06F3/0485G06F3/04812G06F3/0488G06F3/038
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 12,493,405
App. No.
17/412,326
Granted
Dec 9, 2025
Kind
B2
Abstract

The present disclosure relates to implementing scrolling controls within a software application. More particularly, the present disclosure relates to methods and systems of mapping and translating inputs received from one or more controllers or user interfaces communicatively coupled to a computing system or device on which a software application is being executed, to one or more instructions or events for implementing a scrolling event that the software application is configured to recognize.

Claims (56)

1 . A method for implementing scrolling within a display, the method comprising implementing at a processor of a computing device, the steps of:

executing a virtual instance of a guest operating system within a host operating system that is implemented on a computing system, wherein:

the guest operating system is different from the host operating system; and

a guest operating system application program is executed within the virtual instance of the guest operating system;

the virtual instance of the guest operating system is launched by a host operating system software application that is configured to emulate a hardware architecture capable of implementing the guest operating system; and

the host operating system software application has implemented therewithin, a mapping layer comprising a scroll mapping controller, wherein the mapping layer is communicably interposed between one or more host operating system hardware device drivers and the guest operating system application program;

receiving at the scroll mapping controller, from a non-touch cursor positioning hardware device, one or more data signals representing a cursor positioning event, wherein the non-touch cursor positioning hardware device is a device other than a touchscreen or touchpad;

identifying the cursor positioning event; and

responsive to determining:

(i) that the identified cursor positioning event results in positioning of a displayed cursor within a predefined region of a user interface screen that is rendered on the display by the guest operating system application program that is being executed within the virtual instance of the guest operating system, and

(ii) that positioning of the displayed cursor within the predefined region of the user interface screen is mapped to a scrolling instruction associated with the guest operating system application program that is being executed within the virtual instance of the guest operating system,

implementing the scrolling instruction within the user interface screen that is rendered by the guest operating system application program that is being executed within the virtual instance of the guest operating system, wherein implementing the scrolling instruction does not require detection of any event other than positioning of the displayed cursor within the predefined region of a user interface screen;

wherein:

implementing the scrolling instruction within the user interface screen comprises generating through the scroll mapping controller, a translated instruction to trigger a scrolling event within the user interface screen that is rendered by the guest operating system application program that is being executed within the virtual instance of the guest operating system, wherein the translated instruction has parameters that are consistent with an instruction protocol set associated with a touchscreen or touchpad.

2 . The method as claimed in claim 1 , wherein identifying the cursor positioning event comprises identifying a position on a display or display interface at which a cursor requires to be displayed, positioned or moved to.

3 . The method as claimed in claim 1 , wherein the non-touch cursor positioning hardware device is not a touch sensor based cursor positioning hardware device.

4 . The method as claimed in claim 1 , wherein the non-touch cursor positioning hardware device is configured to control positioning of a cursor independent of user input from any of a touchpad or touchscreen or touch sensor.

5 . The method as claimed in claim 1 , wherein the scrolling instruction to which the identified cursor positioning event is mapped is a touch sensor triggered scrolling instruction.

6 . A system for implementing scrolling within a display, the system comprising:

a memory; and

a processor configured to implement the steps of:

executing a virtual instance of a guest operating system within a host operating system that is implemented on a computing system, wherein:

the guest operating system is different from the host operating system; and

a guest operating system application program is executed within the virtual instance of the guest operating system;

the virtual instance of the guest operating system is launched by a host operating system software application that is configured to emulate a hardware architecture capable of implementing the guest operating system; and

the host operating system software application has implemented therewithin, a mapping layer comprising a scroll mapping controller, wherein the mapping layer is communicably interposed between one or more host operating system hardware device drivers and the guest operating system application program;

receiving at the scroll mapping controller, from a non-touch cursor positioning hardware device, one or more data signals representing a cursor positioning event, wherein the non-touch cursor positioning hardware device is a device other than a touchscreen or touchpad;

identifying the cursor positioning event; and

responsive to determining:

(i) that the identified cursor positioning event results in positioning of a displayed cursor within a predefined region of a user interface screen that is rendered on the display by the guest operating system application program that is being executed within the virtual instance of the guest operating system, and

(ii) that positioning of the displayed cursor within the predefined region of the user interface screen is mapped to a scrolling instruction associated with the guest operating system application program that is being executed within the virtual instance of the guest operating system,

implementing the scrolling instruction within the user interface screen that is rendered by the guest operating system application program that is being executed within the virtual instance of the guest operating system, wherein implementing the scrolling instruction does not require detection of any event other than positioning of the displayed cursor within the predefined region of a user interface screen;

wherein:

implementing the scrolling instruction within the user interface screen comprises generating through the scroll mapping controller, a translated instruction to trigger a scrolling event within the user interface screen that is rendered by the guest operating system application program that is being executed within the virtual instance of the guest operating system, wherein the translated instruction has parameters that are consistent with an instruction protocol set associated with a touchscreen or touchpad.

7 . The system as claimed in claim 6 , wherein identifying the cursor positioning event comprises identifying a position on a display or display interface at which a cursor requires to be displayed, positioned or moved to.

8 . The system as claimed in claim 6 , wherein the non-touch cursor positioning hardware device is not a touch sensor based cursor positioning hardware device.

9 . The system as claimed in claim 6 , wherein the non-touch cursor positioning hardware device is configured to control positioning of a cursor independent of user input from any of a touchpad or touchscreen or touch sensor.

10 . The system as claimed in claim 6 , wherein the scrolling instruction to which the identified cursor positioning event is mapped is a touch sensor triggered scrolling instruction.

11 . A computer program product for implementing scrolling within a display, the computer program product comprising a non-transitory computer usable medium having computer readable program code embodied therein, the computer readable program code comprising instructions for implementing at a processor, the steps of:

executing a virtual instance of a guest operating system within a host operating system that is implemented on a computing system, wherein:

the guest operating system is different from the host operating system; and

a guest operating system application program is executed within the virtual instance of the guest operating system;

the virtual instance of the guest operating system is launched by a host operating system software application that is configured to emulate a hardware architecture capable of implementing the guest operating system; and

the host operating system software application has implemented therewithin, a mapping layer comprising a scroll mapping controller, wherein the mapping layer is communicably interposed between one or more host operating system hardware device drivers and the guest operating system application program;

receiving at the scroll mapping controller, from a non-touch cursor positioning hardware device, one or more data signals representing a cursor positioning event, wherein the non-touch cursor positioning hardware device is a device other than a touchscreen or touchpad;

identifying the cursor positioning event; and

responsive to determining-that:

(i) that the identified cursor positioning event results in positioning of a displayed cursor within a predefined region of a user interface screen that is rendered on the display by the guest operating system application program that is being executed within the virtual instance of the guest operating system, and

(ii) that positioning of the displayed cursor within the predefined region of the user interface screen is mapped to a scrolling instruction associated with the guest operating system application program that is being executed within the virtual instance of the guest operating system,

implementing the scrolling instruction within the user interface screen that is rendered by the guest operating system application program that is being executed within the virtual instance of the guest operating system, wherein implementing the scrolling instruction does not require detection of any event other than positioning of the displayed cursor within the predefined region of a user interface screen;

wherein:

implementing the scrolling instruction within the user interface screen comprises generating through the scroll mapping controller,, a translated instruction to trigger a scrolling event within the user interface screen that is rendered by the guest operating system application program that is being executed within the virtual instance of the guest operating system, wherein the translated instruction has parameters that are consistent with an instruction protocol set associated with a touchscreen or touchpad.

12 . The computer program product as claimed in claim 11 , wherein identifying the cursor positioning event comprises identifying a position on a display or display interface at which a cursor requires to be displayed, positioned or moved to.

13 . The computer program product as claimed in claim 11 , wherein the non-touch cursor positioning hardware device is not a touch sensor based cursor positioning hardware device.

14 . The computer program product as claimed in claim 11 , wherein the non-touch cursor positioning hardware device is configured to control positioning of a cursor independent of user input from any of a touchpad or touchscreen or touch sensor.

15 . The computer program product as claimed in claim 11 , wherein the scrolling instruction to which the identified cursor positioning event is mapped is a touch sensor triggered scrolling instruction.

Assignments (2)
CHANGE OF NAME Recorded Nov 20, 2024
From: BLUESTACK SYSTEMS, INC.
To: NOW.GG, INC.
Reel/Frame 069344/0881 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2022
From: SINGH, HARSH; KUMAR, PAWAN; ALI, VASIM; PRAKASH, RAVI
To: BLUESTACK SYSTEMS, INC.
Reel/Frame 059639/0169 →
Priority Claims (1)
IN 202011036830 · Aug 26, 2020 · national
Continuity (2)
Provisional Application 63090782 · Oct 13, 2020
Related Publication 20220066605A1 · Mar 3, 2022
References Cited (5)
US 20090027337A1 · Hildreth · 2009 [cited by examiner]
US 20100328215A1 · Cheng · 2010 [cited by examiner]
US 20130254714A1 · Shin · 2013 [cited by examiner]
US 20190369829A1 · Turner · 2019 [cited by examiner]
US 20190370091A1 · Ozer · 2019 [cited by examiner]