Onscreen keyboard written in Java using Processing 2.0 for the graphic's and update loop of the GUI, Using N-gram list of words and frequency word completion,  when user types the first letter ex. 'a' all words that start with 'a' in the text.txt file will be extracted and sorted by its frequency of use and the 5 most frequent words are displayed for the user. Keypressed logic is prepared for eyetracking devices each time the pointer enters a keyboard, each button "owning" the pointer's attention get's a weight added on it's instance, upon exiting the keyboard area the button with the highest weight will get typed. Also filtering the raw eye tracking data through counting the median of the last 5 inputs.