System for detection of input device
First Claim
1. A system comprising:
- a keyboard configured to generate a keyboard event upon activation of one or more keys;
a mouse configured to generate a mouse event upon use of the mouse;
one or more memories storing computer-executable instructions; and
one or more hardware processors to execute the computer-executable instructions to;
present a user interface within a web browser application;
generate key logger data indicative of the keyboard event;
generate mouse logger data indicative of selected types of mouse events;
generate focus logger data indicative of a change in focus from one component of the user interface to another;
generate event data comprising a time series of the key logger data, the mouse logger data, and the focus logger data;
determine, using the event data, initial score data, wherein;
an event indicative of mouse movement results in a score value being negative;
an event indicative of a mouse middle button click results in the score value being negative;
an event indicative of a mouse right button click results in the score value being negative;
an event indicative of no mouse movement and a mouse left button click results in the score value being positive;
an event indicative of a keypress results in the score value being positive;
an event indicative of a focus change results in the score value being positive; and
the initial score data comprises a sum of a value of the initial score data and the score value;
determine an adjusted score that is based at least in part on the initial score data;
determine classification data based on the adjusted score, wherein the classification data is indicative of one of input using only the keyboard or input using the mouse; and
send the classification data to an external device.
1 Assignment
0 Petitions
Accused Products
Abstract
During a session in which a user is interacting with a user interface, event data is acquired about user inputs to the user interface. The user interface may include a web page. This event data indicative of keystrokes, mouse clicks, mouse movement, and shifts in focus is processed to generate a score. Event data associated with keystrokes and mouse clicks increase the score while events associated with mouse movement decrease the score. A score above a threshold is indicative of a keyboard user, while a score below the threshold is indicative of a pointer user. For example, a keyboard user may be utilizing an assistive technology such as a screen reader application to interact with the user interface. Metrics indicative of whether the user is a pointer or keyboard user may be determined and used to guide website design, change the user interface being presented, and so forth.
19 Citations
20 Claims
-
1. A system comprising:
-
a keyboard configured to generate a keyboard event upon activation of one or more keys; a mouse configured to generate a mouse event upon use of the mouse; one or more memories storing computer-executable instructions; and one or more hardware processors to execute the computer-executable instructions to; present a user interface within a web browser application; generate key logger data indicative of the keyboard event; generate mouse logger data indicative of selected types of mouse events; generate focus logger data indicative of a change in focus from one component of the user interface to another; generate event data comprising a time series of the key logger data, the mouse logger data, and the focus logger data; determine, using the event data, initial score data, wherein; an event indicative of mouse movement results in a score value being negative; an event indicative of a mouse middle button click results in the score value being negative; an event indicative of a mouse right button click results in the score value being negative; an event indicative of no mouse movement and a mouse left button click results in the score value being positive; an event indicative of a keypress results in the score value being positive; an event indicative of a focus change results in the score value being positive; and the initial score data comprises a sum of a value of the initial score data and the score value; determine an adjusted score that is based at least in part on the initial score data; determine classification data based on the adjusted score, wherein the classification data is indicative of one of input using only the keyboard or input using the mouse; and send the classification data to an external device. - View Dependent Claims (2, 3)
-
-
4. A method comprising:
-
accessing event data indicative of at least a first input event and a second input event associated with presentation of a user interface; generating, based on the event data, initial score data that is indicative of whether the first input event is associated with a keyboard input device or a pointer input device and whether the second input event is associated with the keyboard input device or the pointer input device by one or more of; based on determining one or more of the first input event or the second input event is indicative of movement of the pointer input device, setting the initial score data to a first value; based on determining the one or more of the first input event or the second input event is indicative of a pointer input device middle button click, setting the initial score data to the first value; based on determining the one or more of the first input event or the second input event is indicative of a pointer input device right button click, setting the initial score data to the first value; based on determining the one or more of the first input event or the second input event is indicative of no movement of the pointer input device and a pointer input device left button click, setting the initial score data to a second value; based on determining the one or more of the first input event or the second input event is indicative of a keypress to the keyboard input device, setting the initial score data to the second value;
orbased on determining the one or more of the first input event or the second input event is indicative of a change in focus from a first component of the user interface to a second component of the user interface, setting the initial score data to the second value; wherein the first value is less than the second value; and combining one or more of the first value or the second value with historical score data indicative of a previously determined adjusted score to generate the initial score data; determining adjusted score data based at least in part on the initial score data; comparing the adjusted score data to a first threshold value; and generating, based on the comparing, classification data indicative of at least a portion of the at least the first input event and the second input event using a particular input mode. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system comprising:
-
one or more memories storing computer-executable instructions; and one or more hardware processors to execute the computer-executable instructions to; generate event data using one or more of; a key logging module that receives input data indicative of a keypress of one or more keys of a keyboard input device and filters keypresses associated with input text areas of a user interface; a pointer logging module that receives input data indicative of an input using a pointer input device and filters inputs associated with a scroll movement;
ora focus logging module that determines a change in focus from a first component of the user interface to a second component of the user interface; wherein the event data is indicative of at least a first input event and a second input event associated with presentation of the user interface; generate, based on the event data, initial score data that is indicative of whether the first input event is associated with the keyboard input device or the pointer input device and whether the second input event is associated with the keyboard input device or the pointer input device; determine adjusted score data based at least in part on the initial score data; compare the adjusted score data to a first threshold value; and generate classification data indicative of at least a portion of the at least the first input event and the second input event using a particular input mode. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A system comprising:
-
one or more memories storing computer-executable instructions; and one or more hardware processors to execute the computer-executable instructions to; access event data indicative of at least a first input event and a second input event associated with presentation of a user interface; generate, based on the event data, initial score data that is indicative of whether the first input event is associated with a keyboard input device or a pointer input device and whether the second input event is associated with the keyboard input device or the pointer input device; determine the initial score data has a value that is greater than or equal to a first threshold value; determine a local maximum of the initial score data; determine adjusted score data based at least in part on the initial score data by multiplying a value of the local maximum by a negative exponent; compare the adjusted score data to a second threshold value; and generate classification data indicative of at least a portion of the at least the first input event and the second input event using a particular input mode.
-
-
20. A system comprising:
-
one or more memories storing computer-executable instructions; and one or more hardware processors to execute the computer-executable instructions to; access event data indicative of at least a first input event and a second input event associated with presentation of a user interface; generate, based on the event data, initial score data that is indicative of whether the first input event is associated with a keyboard input device or a pointer input device and whether the second input event is associated with the keyboard input device or the pointer input device; determine a first duration of a first interval during which a keyboard only mode was used to interact with the user interface; determine a second duration of a second interval during which the pointer input device was used to interact with the user interface; determine that the first duration is greater than the second duration; generate adjusted score data by adding the initial score data to a fraction of a maximum score reached during the first interval; compare the adjusted score data to a threshold value; and generate classification data indicative of at least a portion of the at least the first input event and the second input event using a particular input mode.
-
Specification