KeyFlare is a useful tool that enables users to interactively control their mouse using their keyboard. KeyFlare can provide an expanded user experience for those who prefer to use a keyboard over a mouse. Showcases available soon on week 5 (old showcases available on week 2 and 3) of my [senior project page](https://sites.google.com/email.medfield.net/psp/0?authuser=0). **[Please fill out the survey](https://forms.gle/VtxPTN4WKMyU4uwV9)**
Features
- Intuitive keyboard-based mouse control: KeyFlare shows a list of coordinates representing UI elements on your screen that you can click on by typing the unique alphabetical identifier for a coordinate of interest.
- Improved hotkeys: Initating KeyFlare with Left Alt+A combination will click the screen once at the end while the right Alt+A combination will click the screen twice.
- Inputs arguments let you define the number of clicks when run from terminal
- Customizable user experience: A preferences window allows users to change the background color, exit the application, or exit just the current process by pressing any key.
- Enhanced image segmentation algorithm that optimizes speed and usability.
- Cross-platform compatibility with Linux, macOS, and Windows: all desktop environments!
Installation
Ubuntu users and Developers on all OS's
- Use git clone https://github.com/Pshah2023/keyflare.git to install the source code.
- Run in terminal `bash keyflare/run.sh` install to download prerequisite python libraries and run the project.
The install script simply sources a `.venv` python virtual environment and installs all pip packages from the `requirements.txt`, however sometimes this pip packages will require other packages. (At most, the entire installation requires 500 mb). Here is a brief list of requirements that I can think of for Ubuntu. If there is an issue, please raise it in this repositories' GitHub issues.
- Requirements: [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git), [any python](https://www.python.org/downloads/release/python-3106/) (note: the link points to python 3.10.6), [pyautogui](https://pyautogui.readthedocs.io/en/latest/install.html) (pyautogui is pip package, and the install script automatically and only installs all pip libraries used, so it may additional dependencies on linux, such as `scrot` and more), and possibly more for macOS (which I do not have access to at the moment)...
**[Please fill out the survey](https://forms.gle/VtxPTN4WKMyU4uwV9)**