# US 10,481,792 B2 · Secure authenticated connected keyboard

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,481,792 B2
- Document ID: US10481792B2
- Status: Granted
- Kind: B2
- Application number: 15/686,817
- Filed: 2017-08-25
- Published: 2019-02-28
- Granted: 2019-11-19
- Earliest claimed: 2017-08-25
- Assignees: salesforce.com, inc.
- Applicants: salesforce.com, inc.
- Inventors: Greg Bertoldo; Joseph Andolina; John Earle; Justin Maguire
- Web page: https://patentgrep.com/patent/US10481792B2

## CPC

- G06F 3/04886: by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
- G06F 21/316: {by observing the pattern of computer usage, e.g. typical user behaviour}
- G06F 21/36: by graphic or iconic representation
- G06F 3/0482: Interaction with lists of selectable items, e.g. menus
- G06F 21/44: Program or device authentication
- G06F 21/83: input devices, e.g. keyboards, mice or controllers thereof
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Disclosed herein are system, method, and computer program product embodiments for sharing a record from another application without leaving a current application. An embodiment operates by receiving a request for a record in an application at a user interface of a connected keyboard. The embodiment accesses credentials in a credential database from the connected keyboard based on the request. The embodiment transmits the request for the record to the application from the connected keyboard based on the credentials. The embodiment receives the record from the application at the connected keyboard. The embodiment then outputs the record at the connected keyboard.

## Claims

### Claim 1

A method, comprising:
receiving, by at least one processor, a request for a record in a server application at a user interface of a connected keyboard displayed by a host application, the connected keyboard being displayed in a state for receiving user input;
accessing, by the at least one processor, credentials in a credential database from the connected keyboard based on the request for the record;
transmitting, by the at least one processor, the request for the record to the server application from the connected keyboard based on the credentials;
receiving, by the at least one processor, the record from the server application at the connected keyboard; and
outputting, by the at least one processor, the record from the connected keyboard at the host application.

### Claim 2 (depends on 1)

The method of claim 1, the outputting further comprising:
outputting a text representation of the record and a deep link to the record in the server application from the connected keyboard.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
logging in to the server application based on the credentials in the credential database.

### Claim 4 (depends on 1)

The method of claim 1, wherein the receiving the record further comprises:
receiving the record in JavaScript Object Notation (JSON) or an Extensible Markup Language (XML) data format over a Hypertext Transfer Protocol (HTTP) connection or a HTTP Secure (HTTPS) connection.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
receiving a user input, wherein the user input is based on a force touch press at the user interface of the connected keyboard;
outputting a menu of commands to the user interface of the connected keyboard in response to the receiving the user input;
generating a search request based on a search criteria and a user selection of a command in the menu of commands in the user interface of the connected keyboard;
receiving a list of records matching the search criteria, wherein the list of records comprises the record in the server application; and
receiving the request for the record based on a user selection of the record in the list of records in the user interface of the connected keyboard.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
generating an image representation of the record using a tile software extension associated with the connected keyboard.

### Claim 7 (depends on 6)

The method of claim 6, the outputting further comprising:
outputting the image representation of the record from the connected keyboard.

### Claim 8 (depends on 1)

The method of claim 1, the receiving the request for the record further comprising:
receiving a user input, wherein the user input is based on a force touch press at the user interface of the connected keyboard;
outputting a menu of commands to the user interface of the connected keyboard in response to the receiving the user input; and
receiving the request for the record based on a user selection of a command in the menu of commands in the user interface of the connected keyboard.

### Claim 9 (depends on 8)

The method of claim 8, further comprising:
outputting the menu of commands to the user interface of the connected keyboard based on a state of the host application associated with the connected keyboard and a user context.

### Claim 10

A system, comprising:
a memory; and
at least one processor coupled to the memory and configured to:
receive a request for a record in a server application at a user interface of a connected keyboard displayed by a host application, the connected keyboard being displayed in a state for receiving user input;
access credentials in a credential database from the connected keyboard based on the request for the record;
transmit the request for the record to the server application from the connected keyboard based on the credentials;
receive the record from the server application at the connected keyboard; and
output the record from the connected keyboard at the host application.

### Claim 11 (depends on 10)

The system of claim 10, wherein to output the at least one processor is further configured to:
output a text representation of the record and a deep link to the record in the server application from the connected keyboard.

### Claim 12 (depends on 10)

The system of claim 10, the at least one processor further configured to:
log in to the server application based on the credentials in the credential database.

### Claim 13 (depends on 10)

The system of claim 10, wherein to receive the record the at least one processor is further configured to:
receive the record in JavaScript Object Notation (JSON) or an Extensible Markup Language (XML) data format over a Hypertext Transfer Protocol (HTTP) connection or a HTTP Secure (HTTPS) connection.

### Claim 14 (depends on 10)

The system of claim 10, the at least one processor further configured to:
receive a user input, wherein the user gesture is based on a force touch press at the user interface of the connected keyboard;
output a menu of commands to the user interface of the connected keyboard in response to the receiving the user input; and
receive the request for the record based on a user selection of a command in the menu of commands in the user interface of the connected keyboard.

### Claim 15 (depends on 10)

The system of claim 10, the at least one processor further configured to:
generate an image representation of the record using a tile software extension associated with the connected keyboard.

### Claim 16 (depends on 15)

The system of claim 15, wherein to output the at least one processor is further configured to:
output the image representation of the record from the connected keyboard.

### Claim 17

A non-transitory computer-readable device having instructions stored thereon that, when executed by at least one computing device, causes the at least one computing device to perform operations comprising:
receiving a request for a record in a server application at a user interface of a connected keyboard displayed by a host application, the connected keyboard being displayed in a state for receiving user input;
accessing credentials in a credential database from the connected keyboard based on the request for the record;
transmitting the request for the record to the server application from the connected keyboard based on the credentials;
receiving the record from the server application at the connected keyboard; and
outputting the record from the connected keyboard at the host application.

### Claim 18 (depends on 17)

The non-transitory computer-readable device of claim 17, the outputting comprising:
outputting a text representation of the record and a deep link to the record in the server application from the connected keyboard.

### Claim 19 (depends on 17)

The non-transitory computer-readable device of claim 17, the operations further comprising:
generating an image representation of the record using a tile software extension associated with the connected keyboard.

### Claim 20 (depends on 17)

The non-transitory computer-readable device of claim 17, the operations further comprising:
receiving a user input, wherein the user input is based on a force touch press at a user interface of the connected keyboard;
outputting a menu of commands to the user interface of the connected keyboard in response to the receiving the user input; and
receiving the request for the record based on a user selection of a command in the menu of commands in the user interface of the connected keyboard.

### Claim 21 (depends on 1)

The method of claim 1, further comprising:
maintaining a state of the host application during the receiving.
