IP Library Granted Patent US 10,547,310
Granted Patent B2
US 10,547,310 · App. 15/587,103 · Granted Jan 28, 2020

Systems and methods for indicating real time availability of key assemblies for user input to an information handling system

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,547,310
App. No.
15/587,103
Granted
Jan 28, 2020
Kind
B2
Abstract

Systems and methods are disclosed that may be implemented to indicate real time availability of individual key assemblies for user input to an information handling system. In one embodiment, the disclosed systems and methods may be implemented to retract an individual key assembly of a user input device (e.g., such as keyboard matrix, game controller, game pad, computer mouse, etc.) when the key assembly is, or becomes, unavailable for input to a user application (e.g., such as a computer game) that is executing on a host programmable integrated circuit (e.g., such as host CPU) of an information handling system. Such a retracted key assembly may then be extended when it becomes available for input to the user application.

Claims (78)

1. An information handling system, comprising:

at least one programmable integrated circuit programmed to execute an operating system and to execute a given session of a given in-focus user application on the information handling system;

one or more depressible key assemblies, each of the key assemblies coupled to provide an output signal when depressed by a user and having an extended position and a retracted position that is selected in response to a control signal;

at least one programmable integrated circuit coupled to receive the output signals provided by each of the depressible key assemblies and coupled to provide corresponding input signals to the operating system based on the output signals provided by each of the depressible key assemblies; and

at least one programmable integrated circuit coupled to provide the control signal to control a height of at least one given key assembly between the extended position and the retracted position in real time while the same given session of the same given user application continues to execute based on change in a real time availability of at least one ability or resource provided by the given in-focus application that is associated with the given key assembly during execution of the same given session of the given user application;

where the at least one programmable integrated circuit is coupled to monitor a temporary availability of the given resource or ability in real time during the same given session of the same given user application, to provide a control signal to vary the height of the at least one given key assembly in real time during the same given session of the same given user application upon a temporary loss in the availability of the given ability or resource of the given user application for a defined time period, and then to provide a control signal to again vary the height of the at least one given key assembly in real time after a gain of the given ability or resource of the given user application after expiration of the defined time period.

2. The information handling system of claim 1 , where at least one programmable integrated circuit of the information handling system is programmed to output scan codes as input signals to the operating system for input to the executing given in-focus user application based on output signals received from each given one of the key assemblies when the given key assembly is in the extended position and by not outputting any scan codes as input signals to the operating system for input to the executing given in-focus user application based on output signals received from each given one of the key assemblies when the given key assembly is in the retracted position.

3. The information handling system of claim 1 , where a first programmable integrated circuit is programmed to execute the operating system and to execute the given in-focus user application on the information handling system; where a second programmable integrated circuit of the information handling system is coupled to receive output signals provided by each of the depressible key assemblies and to respond by outputting scan codes as the input signals to the operating system based on the output signals received from the depressible key assemblies; and where the second programmable integrated circuit of the information handling system is programmed to output scan codes as input signals to the operating system for input to the given in-focus user application based on output signals received from each given one of the key assemblies when the given key assembly is in the extended position and by not outputting any scan codes as input signals to the operating system for input to the given in-focus user application based on output signals received from each given one of the key assemblies when the given key assembly is in the retracted position.

4. The information handling system of claim 3 , where the first programmable integrated circuit is a host programmable integrated circuit; and where the second programmable integrated circuit is a keyboard controller.

5. The information handling system of claim 1 , further comprising:

a keyboard matrix that includes multiple depressible key assemblies;

a host programmable integrated circuit that is programmed to execute the operating system and the given user application; and

a keyboard controller that is coupled between the keyboard matrix and the host programmable integrated circuit, the keyboard controller being programmed to:

receive the output signals provided by each of the depressible key assemblies and coupled to provide corresponding input signals as scan codes to the operating system executed by the host programmable integrated circuit based on the output signals provided by each of the depressible key assemblies, and

receive key map information from the host programmable integrated circuit while the given session of the given in-focus user application is executing that is indicative of a real time retracted or extended position for at least a given one of the multiple key assemblies based on a real time temporary availability of at least one ability or resource of the given in-focus application that is associated with the given key assembly, and to respond to the received key map information in real time while the same given session of the same given user application continues to execute by providing the control signal to vary the height of the given key assembly back and forth between the extended position and the retracted position while the same given session of the same given user application continues to execute according to the information received from the host programmable integrated circuit.

6. The information handling system of claim 5 , further comprising a portable information handling system chassis enclosure, each of the keyboard matrix, host programmable integrated circuit, and keyboard controller being integrated within the portable information handling system chassis enclosure.

7. The information handling system of claim 5 , where the keyboard controller is further programmed to:

output scan codes as input signals to the operating system executed by the host programmable integrated circuit based on the output signals received from the given key assembly while it is in the extended position; and

not output any scan codes as input signals to the operating system based on any output signals received from the given key assembly while it is in the retracted position.

8. The information handling system of claim 5 , where the host programmable integrated circuit is programmed to:

execute at least one application programming interface (API);

execute the given in-focus user application to provide the key map information that is indicative of a real time retracted position or an extended position for the given one of the multiple key assemblies directly from the given user application to the API; and

execute the API to provide the key map information to the keyboard controller that is indicative of a real time retracted or extended position for the given one of the multiple key assemblies.

9. The information handling system of claim 5 , where the at least one programmable integrated circuit is coupled to provide a control signal to lower the height of the at least one given key assembly in real time during the same given session of the same given user application upon a temporary loss in the availability of the given ability or resource of the given user application for a defined time period, and then to provide a control signal to raise the height of the at least one given key assembly in real time after a gain of the given ability or resource of the given user application after expiration of the defined time period.

10. The information handling system of claim 5 , where the at least one programmable integrated circuit is coupled to provide a control signal to raise the height of the at least one given key assembly in real time during the same given session of the same given user application upon a temporary gain in the availability of the given ability or resource of the given user application for a defined time period, and then to provide a control signal to lower the height of the at least one given key assembly in real time after a loss of the given ability or resource of the given user application after expiration of the defined time period.

11. The information handling system of claim 1 , further comprising:

a keyboard matrix that includes multiple key assemblies;

a host programmable integrated circuit that is programmed to execute the operating system and the given user application; and

a keyboard controller that is coupled between the keyboard matrix and the host programmable integrated circuit, the keyboard controller being programmed to:

receive the output signals provided by each of the depressible key assemblies and coupled to provide corresponding input signals as scan codes to the operating system executed by the host programmable integrated circuit based on the output signals provided by each of the depressible key assemblies, and

receive key map information from the host programmable integrated circuit while the given session of the given in-focus user application is executing that is indicative of a real time retracted or extended position for each individual given one of the multiple key assemblies based on a real time temporary availability of at least one ability or resource of the given in-focus application that is associated with the given key assembly, and to respond to the received key map information in real time while the same given session of the same given user application continues to execute by providing the control signal to individually vary a height of each given key assembly back and forth between the extended position and the retracted position while the same given session of the same given user application continues to execute according to the information received from the host programmable integrated circuit.

12. The information handling system of claim 1 , where the at least one programmable integrated circuit of the information handling system is programmed to iteratively repeat the following steps a) and b) for as long as the same given session of the same given user application continues to execute with the given user application in-focus:

a) monitor the real time temporary availability of at least one resource or ability of the executing given user application that is associated with at least one given one of the key assemblies; and

b) then provide a control signal to vary the height of the given key assembly between the extended position and the retracted position in real time while the same given session of the same given user application continues to execute based on the monitored real time availability of the at least one ability or resource of the given in-focus user application that is associated with the given key assembly.

13. The information handling system of claim 1 , where the given user application comprises a given computer game, and where the at least one programmable integrated circuit is coupled to provide the control signal to control the height of the at least one given key assembly between the extended position and the retracted position in real time while the same given session of the same given computer game continues to execute in-focus based on change in a real time availability of at least one in-game ability or resource provided by the same given in-focus computer game that is associated with the given key assembly during execution of the same given session of the same given computer game.

14. The information handling system of claim 1 , where the given user application comprises a given computer game, and where the at least one programmable integrated circuit is coupled to:

provide the control signal to lower the height of at least one given key assembly from the extended position to the retracted position in real time while the same given session of the same given computer game continues to execute in-focus based on loss in a real time availability of an in-game user ability or resource that comprises one of super speed, force field shield, plasma cannon, laser pistol, grenades, bullets, throwing knives, or health provided by the given in-focus computer game that is associated with the given key assembly during execution of the given session of the given computer game; and

then provide the control signal to again raise the height of the at least one given key assembly from the retracted position to the extended position in real time while the same given session of the computer game continues to execute based on a gain in the real time availability of the same in-game user ability or resource provided by the given in-focus computer game that is associated with the given key assembly during execution of the given session of the computer game.

15. A method of operating an information handling system, the method comprising using the at least one programmable integrated circuit of the information handling system to:

execute an operating system and to execute a given session of a given in-focus user application on the information handling system;

receive output signals from one or more depressible key assemblies when depressed by a user, and provide corresponding input signals to the operating system based on the output signals received from the depressible key assemblies; and

provide a control signal to control a height of at least one given one of the key assemblies between the extended position and the retracted position in real time while the same given session of the same given user application continues to execute based on change in a real time availability of at least one ability or resource provided by the given in-focus application that is associated with the given key assembly during execution of the same given session of the given user application;

further comprising monitoring a temporary availability of the given resource or ability provided by the given user application in real time during the same given session of the same given user application; providing a control signal to vary the height of the at least one given key assembly in real time during the same given session of the same given user application upon a temporary loss in the availability of the given ability or resource of the given user application for a defined time period; and then providing a control signal to again vary the height of the at least one given key assembly in real time after a gain of the given ability or resource of the given user application after expiration of the defined time period.

16. The method of claim 15 , further comprising using the at least one programmable integrated circuit of the information handling system to output scan codes as input signals to the operating system for input to the executing given in-focus user application based on output signals received from each given one of the key assemblies when the given key assembly is in the extended position and by not outputting any scan codes as input signals to the operating system for input to the executing given in-focus user application based on output signals received from each given one of the key assemblies when the given key assembly is in the retracted position.

17. The method of claim 15 , further comprising:

using a first programmable integrated circuit to execute the operating system and to execute the given in-focus user application on the information handling system;

using a second programmable integrated circuit of the information handling system to receive output signals provided by each of the depressible key assemblies and to respond by outputting scan codes as the input signals to the operating system based on the output signals received from the depressible key assemblies; and

using the second programmable integrated circuit of the information handling system to output scan codes as input signals to the operating system for input to the given in-focus user application based on output signals received from each given one of the key assemblies when the given key assembly is in the extended position and by not outputting any scan codes as input signals to the operating system for input to the given in-focus user application based on output signals received from each given one of the key assemblies when the given key assembly is in the retracted position.

18. The method of claim 17 , where the first programmable integrated circuit is a host programmable integrated circuit; and where the second programmable integrated circuit is a keyboard controller.

19. The method of claim 15 , where at least one programmable integrated circuit of the information handling system is coupled to a keyboard matrix that includes multiple depressible key assemblies; and where the method further comprises:

using a host programmable integrated circuit to execute the operating system and the given user application; and

using a keyboard controller that is coupled between the keyboard matrix and the host programmable integrated circuit to:

receive the output signals provided by each of the depressible key assemblies and provide corresponding input signals as scan codes to the operating system executed by the host programmable integrated circuit based on the output signals provided by each of the depressible key assemblies, and

receive key map information from the host programmable integrated circuit while the given session of the given in-focus user application is executing that is indicative of a real time retracted position or an extended position for at least a given one of the multiple key assemblies based on a real time temporary availability of at least one ability or resource of the given in-focus application that is associated with the given key assembly; and

respond to the received key map information in real time while the same given session of the same given user application continues to execute by providing the control signal to vary the height of the given key assembly back and forth between the extended position and the retracted position while the same given session of the same given user application continues to execute according to the information received from the host programmable integrated circuit.

20. The method of claim 19 , where each of the keyboard matrix, host programmable integrated circuit, and keyboard controller are integrated components within a portable information handling system chassis enclosure.

21. The method of claim 19 , further comprising using the keyboard controller to:

output scan codes as input signals to the operating system executed by the host programmable integrated circuit based on the output signals received from the given key assembly while it is in the extended position; and

not output any scan codes as input signals to the operating system based on any output signals received from the given key assembly while it is in the retracted position.

22. The method of claim 19 , further comprising using the host programmable integrated circuit to:

execute at least one application programming interface (API);

execute the given in-focus user application to provide the key map information that is indicative of a real time retracted position or an extended position for the given one of the multiple key assemblies directly from the given user application to the API; and

execute the API to provide the key map information to the keyboard controller that is indicative of a real time retracted or extended position for the given one of the multiple key assemblies to the keyboard controller.

23. The method of claim 19 , further comprising providing a control signal to lower the height of the at least one given key assembly in real time during the same given session of the same given user application upon a temporary loss in the availability of the given ability or resource of the given user application for a defined time period; and then providing a control signal to raise the height of the at least one given key assembly in real time after a gain of the given ability or resource of the given user application after expiration of the defined time period.

24. The method of claim 19 , further comprising providing a control signal to raise the height of the at least one given key assembly in real time during the same given session of the same given user application upon a temporary gain in the availability of the given ability or resource of the given user application for a defined time period; and then providing a control signal to lower the height of the at least one given key assembly in real time after a loss of the given ability or resource of the given user application after expiration of the defined time period.

25. The method of claim 15 , where at least one programmable integrated circuit of the information handling system is coupled to a keyboard matrix that includes multiple depressible key assemblies; and where the method further comprises:

using a host programmable integrated circuit of the information handling system to execute the operating system and the given user application; and

using a keyboard controller that is coupled between the keyboard matrix and the host programmable integrated circuit to:

receive the output signals provided by each of the depressible key assemblies and provide corresponding input signals as scan codes to the operating system executed by the host programmable integrated circuit based on the output signals provided by each of the depressible key assemblies, and

receive key map information from the host programmable integrated circuit while the given session of the given in-focus user application is executing that is indicative of a real time retracted position or an extended position for each individual given one of the multiple key assemblies based on a real time temporary availability of at least one ability or resource of the given in-focus application that is associated with the given key assembly; and

respond to the received key map information in real time while the same given session of the same given user application continues to execute by providing the control signal to individually vary a height of each given key assembly back and forth between the extended position and the retracted position while the same given session of the same given user application continues to execute according to the information received from the host programmable integrated circuit.

26. The method of claim 15 , further comprising using the at least one programmable integrated circuit of the information handling system to iteratively repeat the following steps a) and b) for as long as the same given session of the same given user application continues to execute with the given user application in focus:

a) monitor the real time temporary availability of at least one resource or ability of the executing given user application that is associated with at least one given one of the key assemblies; and

b) then provide a control signal to vary the height of the given key assembly between the extended position and the retracted position in real time while the same given session of the same given user application continues to execute based on the monitored real time availability of the at least one ability or resource of the given in-focus user application that is associated with the given key assembly.

27. The method of claim 15 , where the given user application comprises a given computer game, and where the method further comprises providing the control signal to control the height of the at least one given key assembly between the extended position and the retracted position in real time while the same given session of the same given computer game continues to execute in-focus based on change in a real time availability of at least one in-game ability or resource provided by the same given in-focus computer game that is associated with the given key assembly during execution of the same given session of the same given computer game.

28. The method of claim 15 , where the given user application comprises a given computer game, and where the method further comprises:

providing the control signal to lower the height of at least one given key assembly from the extended position to the retracted position in real time while the same given session of the same given computer game continues to execute in-focus based on loss in a real time availability of an in-game user ability or resource that comprises one of super speed, force field shield, plasma cannon, laser pistol, grenades, bullets, throwing knives, or health provided by the given in-focus computer game that is associated with the given key assembly during execution of the given session of the given computer game; and

then providing the control signal to again raise the height of the at least one given key assembly from the retracted position to the extended position in real time while the same given session of the computer game continues to execute based on a gain in the real time availability of the same in-game user ability or resource provided by the given in-focus computer game that is associated with the given key assembly during execution of the given session of the computer game.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052216/0758) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0680 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2017
From: CASPARIAN, MARK A.; SEAY, ALONZO F.
To: DELL PRODUCTS L.P.
Reel/Frame 042874/0882 →