US 12,455,677 B2
Hybrid systems and methods for low-latency user input processing and feedback
Daniel Wigdor, Toronto (CA); Steven Leonard Sanders, New York, NY (US); Ricardo Jorge Jota Costa, Toronto (CA); and Clifton Forlines, Cape Elizabeth, ME (US)
Assigned to Tactual Labs IP LLC, Plano, TX (US)
Filed by Tactual Labs Co., New York, NY (US)
Filed on Sep. 8, 2021, as Appl. No. 17/469,109.
Application 15/360,039 is a division of application No. 14/046,819, filed on Oct. 4, 2013, granted, now 9,507,500, issued on Nov. 29, 2016.
Application 17/469,109 is a continuation of application No. 16/290,119, filed on Mar. 1, 2019, abandoned.
Application 16/290,119 is a continuation of application No. 15/360,039, filed on Nov. 23, 2016, granted, now 10,222,952, issued on Mar. 5, 2019.
Claims priority of provisional application 61/710,256, filed on Oct. 5, 2012.
Prior Publication US 2022/0253185 A1, Aug. 11, 2022
Int. Cl. G06F 3/0484 (2022.01); G06F 3/0488 (2022.01); G06F 3/14 (2006.01); G06F 9/451 (2018.01); G06T 1/20 (2006.01); G06F 3/0354 (2013.01); G06F 3/04817 (2022.01); G06F 3/04847 (2022.01)
CPC G06F 3/0484 (2013.01) [G06F 3/0488 (2013.01); G06F 3/14 (2013.01); G06F 9/451 (2018.02); G06T 1/20 (2013.01); G06F 3/03545 (2013.01); G06F 3/04817 (2013.01); G06F 3/04847 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method for processing user input, comprising:
maintaining state information relating to an existing state of at least one of a low-latency subsystem and a high-latency subsystem, wherein the state information is maintained with at least one of the high-latency subsystem and the low-latency subsystem and the low-latency subsystem operates independently of the high-latency subsystem;
receiving signals via a user input;
obtaining the state information relating to the existing state of at least one of the low-latency subsystem and the high-latency subsystem, wherein the state information is directly obtained from the low-latency subsystem or the high-latency subsystem using at least one of the low-latency subsystem and the high-latency subsystem;
generating at least one low-latency output based at least in part on the state information relating to the existing state of at least one of the low-latency subsystem and the high-latency subsystem and at least some of the signals, the low-latency output being output with low latency relative to the high-latency subsystem;
generating at least one high-latency output using at least some of the signals, wherein the high-latency output is generated by the high-latency subsystem; and
wherein the low-latency subsystem processes at least some of the signals independently of the high-latency subsystem and synchronizes with the high-latency subsystem.