This is a fork of the stock Android keyboard (AOSP LatinIME) that I modified for a user study on keystroke biometrics. The question: can people deliberately change how they type, and do it well enough to match a target typing pattern?
- Keystroke logging. The keyboard records hold time, flight time, pressure and touch offset for each keypress and writes them to CSV files.
- Study app (
ebmStudy). The study runs as a set of activities: a pre-study, a general explanation, and the tasks themselves. In each task, participants try to type a password the way a target pattern says (for example, a certain hold time, flight time or offset from the key center). There's also a task where they pick their own password, and a Likert question dialog after every task. - Visualizations. Custom views show the target pattern and the participant's own typing, so they can see what to change.
- XML config. Task groups, target values and password tasks are set in a config file. The app can also write the task data out as CSV, so the study results can be compared with the targets.
- Long press is effectively disabled (the delay is set very high), so it doesn't interfere with the timing data.
- The study code is in
java/src/com/android/inputmethod/ebmStudy. The rest is the original AOSP LatinIME. - Licensed under Apache 2.0, same as AOSP (see
LICENSEandNOTICE).