Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/neuro-mechatronics-interfaces/matlab_package__typewriter
MATLAB class to add as submodule +typewriter
https://github.com/neuro-mechatronics-interfaces/matlab_package__typewriter
Last synced: 12 days ago
JSON representation
MATLAB class to add as submodule +typewriter
- Host: GitHub
- URL: https://github.com/neuro-mechatronics-interfaces/matlab_package__typewriter
- Owner: Neuro-Mechatronics-Interfaces
- Created: 2024-12-23T18:30:57.000Z (28 days ago)
- Default Branch: main
- Last Pushed: 2024-12-23T19:17:45.000Z (28 days ago)
- Last Synced: 2024-12-23T19:29:14.012Z (28 days ago)
- Language: MATLAB
- Size: 0 Bytes
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MATLAB Typewriter Package #
Contains a simple app for providing text prompts based on the Mackenzie & Soukoreff 2003 dataset. Quick start:```batch
git submodule add [email protected]:Neuro-Mechatronics-Interfaces/matlab_package__typewriter.git +typewriter
git submodule update --init --recursive
```## Overview
The **Prompter Typing Interface** is a MATLAB-based application designed for guided typing tasks. It provides real-time feedback for user input accuracy, tracks words-per-minute (WPM) performance, and supports automated prompt advancement.The interface is implemented as a MATLAB class (`Prompter`) and includes a graphical user interface (GUI) built with `uifigure`. It is especially suited for typing-based experiments, training applications, or research studies.
## Features
- **Real-Time Typing Feedback**:
- Background colors dynamically update to indicate correct, incorrect, and incomplete text.
- **Words-Per-Minute Tracking**:
- Displays live WPM statistics based on typing speed.
- **Configurable Phrase Set**:
- Load custom typing prompts from a text file.
- **Auto-Advance Mode**:
- Automatically advances to the next prompt upon completion.
- **GUI Controls**:
- Pause and resume functionality.
- Integrated heads-up display (HUD) for WPM statistics.## Interface
- **Main Typing Area**:
- Displays the current prompt with background color feedback for each character.
- Includes a text input box for user typing.
- **Right-Side HUD**:
- Displays current WPM.
- "Pause" button to stop typing and disable input temporarily.## Installation
1. Clone or download the project to your local system.
2. Ensure MATLAB is installed (tested with MATLAB R2024a).
3. Place the project directory in your MATLAB path.## Usage
If you have correctly installed the contents of this repository to a folder named `+typewriter` which is on your workspace path in the MATLAB editor, then you can test/observe how the UDP interface runs by running the following command:
```matlab
typewriter.example_auto_prompter;
```
![If typewriter.example_auto_prompter ran correctly, it should look like this](demo.gif)
This should launch a script which will automatically read the current prompt (via JSON-serialized UDP message exchange, read from the loaded prompts that by default are found in `+typewriter/@Prompter/config/phrases.txt`), looking similar to the gif shown above. The main loop has a pause delay of 0.1 seconds; you can reduce this time to see that it increases the words/minute and bits/second throughput, as expected.