Games vs. Work: Analyzing Keystroke Patterns to Detect Specific Activities on a Computer

CSEF · 2015 Mathematics & Software

Overview

Objectives/Goals My goal of this project was to accurately show how long I was on the computer, and what I was doing, based on mouse movement, keystrokes, and CPU usage. Methods/Materials The only necessary materials for my project include my computer, my code for analyzing and logging keystrokes, and Keen.io cloud-based storage system. First, created code to log keystrokes to a file. I tested the software by pressing a specified sort of keys and looking at the output. Next, I got keypress patterns from actual activities. To accomplish this, I ran the software when I did a specific activity, and kept a note of the start and end time. When the activity ended, I looked at the logged key file, and wrote down some of the various patterns that came up. I continued taking more data from different activities. After I knew which specific patterns relate to which activities, I wrote a program to detect when those specific patterns occur, and therefore detect when each activity is being played, and a lack of patterns would lead to mean that the user is not doing one of the specific activities. In addition, I have the code log how long each activity lasts, and comparing the actual numbers to the program#s prediction can calculate the accuracy of the program. Results I was able to show how my program worked by testing it on League of Legends games that I played. My code had a greater than 76% accuracy of detecting the correct time, and any error was within five minutes of the correct time. Because this program was not as accurate as I would like, I will continue to search for the #perfect pattern# where it is evident ONLY at the start of every activity, and never false alarms. Conclusions/Discussion Later, I would like to add mouse and CPU usage comparison to increasingly be able to identify what activity is happening on the computer, so that it can have more accurate results. In the future, I would like to have more patterns, as of right now, I only have a few patterns, whereas, in the best scenario I would have many patterns for activities so that I could have as much accuracy as possible. In addition, I have developed a large interest in Machine Learning and Neural Networks recently, and I hope to implement them soon to find new patterns.

Summary statement

Use programs and software to detect keystrokes to understand what activity is being done on the computer, and how long it lasts.

Help received

Parents helped edit and glue slides on poster

Competition history

  • CSEF 2015 Mathematics & Software · Entry S1418

Resources

Related projects

Closest projects by meaning, across every fair and year in the corpus.

Browse more like this

Source: California Science & Engineering Fair public projects

Save projects to your library

Sign in with Google to keep track of projects you find interesting, organized into folders. An account also raises your daily allowance for “Has this been done?”, and lets you create a key for the MCP server with a much higher limit than anonymous use. Browsing stays public.

Continue with Google