IP Library Granted Patent US 12687953
Granted Patent B2
US 12687953 · App. 19/009,752 · Granted Jul 21, 2026

Dynamic updating of projected keyboard models to increase typing efficiency of a user

Inventors: Rong Zhao (Beijing, CN); Zhe Yan (Beijing, CN); Li Bo Zhang (Beijing, CN); Hao Xiang Wu (Beijing, CN); Li Li Guan (Beijing, CN)
Assignee: International Business Machines Corporation
G06F3/0426
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 12687953
App. No.
19/009,752
Granted
Jul 21, 2026
Kind
B2
Abstract

A method, according to one embodiment, includes causing a first keyboard model to be projected on a surface, causing cameras to monitor a first user with respect to at least three coordinate planes, collecting first information based on multiple positions of the first user's palm(s) with respect to multiple of the coordinate planes, and collecting second information based on vertical palm movement and/or horizontal finger shifts of the first user with respect to a first of the coordinate planes. The method further includes determining, based on the first information and the second information, updates for increasing a typing efficiency of the first user, generating a second keyboard model, wherein the second keyboard model is a version of the first keyboard model modified to include the determined updates, and causing the second keyboard model to be projected.

Claims (89)

1 . A method comprising:

causing a first keyboard model to be projected on a surface;

causing cameras to monitor a first user with respect to at least three coordinate planes;

collecting first information based on multiple positions of palm(s) of the first user with respect to multiple of the at least three coordinate planes;

collecting second information based on vertical palm movement and/or horizontal finger shifts of the first user with respect to a first plane of the at least three coordinate planes;

determining, based on the first information and the second information, updates for increasing a typing efficiency of the first user;

generating a second keyboard model, wherein the second keyboard model is a version of the first keyboard model modified to include the determined updates; and

causing the second keyboard model to be projected,

wherein the determined updates include: rearranging a placement of a first key of the first keyboard model in the second keyboard model,

wherein the rearranging the placement of the first key of the first keyboard model in the second keyboard model comprises: centering the first key at a forecasted location of a key pressing event on the second keyboard model.

2 . The method of claim 1 , further comprising:

collecting third information based on arc-shaped finger displacement of the first user with respect to the first coordinate plane,

wherein the updates for increasing the typing efficiency of the first user are based on the third information.

3 . The method of claim 2 , wherein the collecting third information based on the arc-shaped finger displacement of the first user with respect to the first coordinate plane comprises:

causing at least a first camera to track a middle finger of the first user during a first instance of the arc-shaped finger displacement of the first user with respect to the first coordinate plane,

wherein the first camera is mounted perpendicular to the first coordinate plane which is an XY plane, wherein a second of the coordinate planes is a YZ plane, wherein a third of the coordinate planes is a ZX plane;

determining whether the arc-shaped finger displacement exceeds a predetermined threshold arc distance; and

in response to a determination that the arc-shaped finger displacement exceeds the predetermined threshold arc distance, determining that a first key pressing event has occurred and storing information about the first key pressing event to a predetermined file.

4 . The method of claim 3 , further comprising:

collecting fourth information based on an extent of force applied to the surface during the first key pressing event,

wherein the updates for increasing the typing efficiency of the first user are based on the fourth information,

wherein the determined updates include visual feedback and/or audio feedback played by a device paired with a device that projects the second keyboard model.

5 . The method of claim 4 , further comprising:

causing a first trained artificial intelligence (AI) model to analyze the predetermined file,

wherein the updates for increasing the typing efficiency of the first user are obtained as an output of the first trained AI model;

storing, in a predetermined training set of data, the first information, the second information, the third information, and the fourth information;

training a second AI model using the predetermined training set of data;

in response to a determination that the second AI model reaches a predetermined accuracy in determining updates for increasing the typing efficiency of the first user, causing the second AI model to analyze information about a second user; and

causing the second AI model to, based on the analysis of the information about the second user, generate a third keyboard model for increasing a typing efficiency of the second user.

6 . The method of claim 1 , wherein a first of the cameras is mounted perpendicular to a first coordinate plane which is an XY plane, wherein a second of the cameras is mounted perpendicular to a second coordinate plane which is a YZ plane, wherein a third of the cameras is mounted perpendicular to a third coordinate plane which is an ZX plane.

7 . The method of claim 1 , wherein the determined updates include changing an angular positioning of a device used to collect the first information and/or the second information, wherein the first information is based on a hand size and/or finger size of the first user, wherein the second information is based on gesture and movement habits of the user.

8 . A computer program product comprising: one or more non-transitory computer-readable storage media; and

program instructions stored on the one or more non-transitory computer-readable storage media to perform operations comprising:

causing a first keyboard model to be projected on a surface;

causing cameras to monitor a first user with respect to at least three coordinate planes;

collecting first information based on multiple positions of palm(s) of the first user with respect to multiple of the coordinate planes;

collecting second information based on vertical palm movement and/or horizontal finger shifts of the first user with respect to a first plane of the at least three coordinate planes;

determining, based on the first information and the second information, updates for increasing a typing efficiency of the first user;

generating a second keyboard model, wherein the second keyboard model is a version of the first keyboard model modified to include the determined updates; and

causing the second keyboard model to be projected,

wherein the determined updates include rearranging a placement of a first key of the first keyboard model in the second keyboard model,

wherein the rearranging the placement of the first key of the first keyboard model in the second keyboard model comprises: centering the first key at a forecasted location of a key pressing event on the second keyboard model.

9 . The computer program product of claim 8 , wherein the operations further comprise:

collecting third information based on arc-shaped finger displacement of the first user with respect to the first coordinate plane,

wherein the updates for increasing the typing efficiency of the first user are based on the third information.

10 . The computer program product of claim 9 , wherein the collecting third information based on the arc-shaped finger displacement of the first user with respect to the first coordinate plane comprises:

causing at least a first camera to track a middle finger of the first user during a first instance of the arc-shaped finger displacement of the first user with respect to the first coordinate plane,

wherein the first camera is mounted perpendicular to the first coordinate plane which is an XY plane, wherein a second of the coordinate planes is a YZ plane, wherein a third of the coordinate planes is a ZX plane;

determining whether the arc-shaped finger displacement exceeds a predetermined threshold arc distance; and

in response to a determination that the arc-shaped finger displacement exceeds the predetermined threshold arc distance, determining that a first key pressing event has occurred and storing information about the first key pressing event to a predetermined file.

11 . The computer program product of claim 10 , wherein the operations further comprise:

collecting fourth information based on an extent of force applied to the surface during the first key pressing event,

wherein the updates for increasing the typing efficiency of the first user are based on the fourth information,

wherein the determined updates include visual feedback and/or audio feedback played by a device paired with a device that projects the second keyboard model.

12 . The computer program product of claim 11 , wherein the operations further comprise:

causing a first trained artificial intelligence (AI) model to analyze the predetermined file,

wherein the updates for increasing the typing efficiency of the first user are obtained as an output of the first trained AI model;

storing, in a predetermined training set of data, the first information, the second information, the third information, and the fourth information;

training a second AI model using the predetermined training set of data;

in response to a determination that the second AI model reaches a predetermined accuracy in determining updates for increasing the typing efficiency of the first user, causing the second AI model to analyze information about a second user; and

causing the second AI model to, based on the analysis of the information about the second user, generate a third keyboard model for increasing a typing efficiency of the second user.

13 . The computer program product of claim 11 , wherein a first of the cameras is mounted perpendicular to a first coordinate plane which is an XY plane, wherein a second of the cameras is mounted perpendicular to a second coordinate plane which is a YZ plane, wherein a third of the cameras is mounted perpendicular to a third coordinate plane which is an ZX plane.

14 . The computer program product of claim 8 , wherein the determined updates are further selected from a group consisting of: decreasing a size of the first key, increasing the size of the first key, and changing an angular positioning of a device used to collect the first information and/or the second information, wherein the first information is based on a hand size and/or finger size of the first user, wherein the second information is based on gesture and movement habits of the user.

15 . A computer system comprising:

a processor set;

one or more computer-readable storage media; and

program instructions stored on the one or more storage media to cause the processor set to perform operations comprising:

causing a first keyboard model to be projected on a surface;

causing cameras to monitor a first user with respect to at least three coordinate planes;

collecting first information based on multiple positions of palm(s) of the first user with respect to multiple of the coordinate planes;

collecting second information based on vertical palm movement and/or horizontal finger shifts of the first user with respect to a first plane of the at least three coordinate planes;

determining, based on the first information and the second information, updates for increasing a typing efficiency of the first user;

generating a second keyboard model, wherein the second keyboard model is a version of the first keyboard model modified to include the determined updates; and

causing the second keyboard model to be projected,

wherein the determined updates include:

rearranging a placement of a first key of the first keyboard model in the second keyboard model,

wherein the rearranging the placement of the first key of the first keyboard model in the second keyboard model comprises: centering the first key at a forecasted location of a key pressing event on the second keyboard model.

16 . The computer system of claim 15 , wherein the operations further comprise:

collecting third information based on arc-shaped finger displacement of the first user with respect to the first coordinate plane,

wherein the updates for increasing the typing efficiency of the first user are based on the third information.

17 . The computer system of claim 16 , wherein the collecting third information based on the arc-shaped finger displacement of the first user with respect to the first coordinate plane comprises:

causing at least a first camera to track a middle finger of the first user during a first instance of the arc-shaped finger displacement of the first user with respect to the first coordinate plane,

wherein the first camera is mounted perpendicular to the first coordinate plane which is an XY plane, wherein a second of the coordinate planes is a YZ plane, wherein a third of the coordinate planes is a ZX plane;

determining whether the arc-shaped finger displacement exceeds a predetermined threshold arc distance; and

in response to a determination that the arc-shaped finger displacement exceeds the predetermined threshold arc distance, determining that a first key pressing event has occurred and storing information about the first key pressing event to a predetermined file.

18 . The computer system of claim 17 , wherein the operations further comprise:

collecting fourth information based on an extent of force applied to the surface during the first key pressing event,

wherein the updates for increasing the typing efficiency of the first user are based on the fourth information,

wherein the determined updates include visual feedback and/or audio feedback played by a device paired with a device that projects the second keyboard model.