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
Resources
Related projects
ISEF · 2026
Gaming Test Typing Speed
ISEF · 2015
Dactylography Games
CSEF · 2005
A Wheel Goes Far!
CSEF · 2014
Constructing an Adaptive Blackjack Computer Program to Self-Improve Itself Based on Previous Performance
CSEF · 2011
Unbeatable PONG through Artificial Intelligence
CSEF · 2017
Using Stylometry Combined with an In-Class Writing Sample to Detect Plagiarism
CSEF · 2012
Computer vs. Human: Exploring AI in the Game Blokus
ISEF · 2022
Gamifying Learning by Repetition
Closest projects by meaning, across every fair and year in the corpus.
Browse more like this
Source: California Science & Engineering Fair public projects