Keyflare

Latest version: v1.2.0

Safety actively analyzes 685525 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

1.0.4

Installation

Suggested:
sh
pip install keyflare
keyflare

Alternatively:
- Use `git clone https://github.com/Pshah2023/keyflare.git` to install the source code
- Optional: create a virtual environment with `python -m venv env` and activate it as per your system
- Install dependencies: `pip install -r requirements.txt`
- Go to the KeyFlare root directory and run `python keyflare`, which will run the code in `__main__.py` automatically.

1.0.2

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 on week 6 of my project (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.

Installation

For Mainly Developers
This project is a research project, so installed binaries are not available. Please check out the [final presentation](https://docs.google.com/presentation/d/1PpmqtvR5wk7l9xwR5RdhrsSUjg2ZCIXzMRSnmKASrjk/edit#slide=id.p) for an explanation on slide 11.
- Use git clone https://github.com/Pshah2023/keyflare.git to install the source code. Preferably do not use the source code below and install the latest version with `git`.
- 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)**

1.0.1

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)**

0.4.1

Documentation
About
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+Z combination will click the screen once at the end while the right Alt+A+Z 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 (or by pressing Return).
- Enhanced image segmentation algorithm that optimizes usability and installation speed.
- Cross-platform compatibility with Linux, macOS, and Windows: all desktop environments!

Installation

For all users

- Download and run the latest KeyFlare binary from the the [releases](https://github.com/Pshah2023/keyflare/releases/).
- Although I am an unverified developer, you can ignore those warnings. I plan to solve this problem in the near future.

For linux users
- You may have to make the script executable first before you can run it.
- You may need to connect a system hotkey to the command `/path/to/keyflare 1` (the number represents the number of clicks) since pynput's keyboard library may not work on wayland-based systems.

**[Please fill out the survey](https://forms.gle/VtxPTN4WKMyU4uwV9)**

0.3.3

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+Z combination will click the screen once at the end while the right Alt+A+Z combination will click the screen twice.
- Customizable user experience: A preferences window allows users to change the background color, exit the application, or exit just the current process.
- Enhanced image segmentation algorithm: A novel algorithm that performs Tesseract for this use case.
- Cross-platform compatibility: Automatic building of release for Linux, macOS, and Windows through GitHub Actions ensures compatibility for all desktop environment!
- Installation

For Windows and macOS users:

- Download the KeyFlare binary from below.
- Run the binary. Although I am an unverified developer, you can ignore those warnings. I plan to solve this problem in the future.
- Enjoy!

For Linux users:
- Run `sudo apt-get install scrot` to allow pyautogui to take screenshots.
- Try the binary from below even if you are not running X11 (i.e. you are running a wayland-based GUI system)
- Run the binary by giving permissions to execute and then in terminal executing `./keyflare`
- If the above does not work, install the source code by running (in terminal) `git clone https://github.com/Pshah2023/keyflare.git`
- Run `cd path/to/keyflare; bash run.sh`

**[Please fill out my survey if you try the project.](https://forms.gle/VtxPTN4WKMyU4uwV9)**

0.1.0

I am excited to announce the release of KeyFlare v0.1.0, a useful tool that enables users to interactively control their mouse using their keyboard. KeyFlare can provides an expanded user experience for those who prefer to use a keyboard over a mouse.

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
- Users can easily access this list of coordinates by typing shift+A+Z.
- Users can conveniently exit the application by typing shift, control, or any non-shown key on the displayed image.
- Users can also exit the application by deleting the terminal shown that represents the running python-based application.


Installation
For Window users:

1. Download [tesseract-ocr](https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-w64-setup-5.3.1.20230401.exe) executable.
2. Download the [KeyFlare](https://github.com/Pshah2023/keyflare/releases/download/v0.1.0/main.exe) binary. Although I am an unverified developer, you can ignore those warnings. I plan to solve this problem in the future.

For linux and macOS users:
Linux and macOS users can compile from source since each setup has different requirements. If you have any difficulties installing KeyFlare, please contact me or write an issue.
1. Install the source code by either downloading [source code.zip](https://github.com/Pshah2023/keyflare/archive/refs/tags/v0.1.0.zip) or cloning the github repository by running in terminal git clone https://github.com/Pshah2023/keyflare.git
2. Download [python](https://www.python.org/downloads/release/python-3106/) with tkinter (aka tk or tcl)
3. Download [poetry](https://python-poetry.org/docs/) and add it to your path
4. Download tesseract through your default terminal package manager
- Linux: preferably sudo apt install tesseract-ocr; sudo apt install libtesseract-dev ([alternatives](https://tesseract-ocr.github.io/tessdoc/Installation.html))
- macOS: preferably *[brew](https://brew.sh/) install tesseract* (alternatively: *sudo [port](https://www.macports.org/) install tesseract*)
5. Update `/path/to/keyflare/keyflare/main.py` with the location of your tesseract installation
- Linux: If you installed with `apt`, it should be `/usr/bin/tesseract`
- macOS: Find your tesseract installation path in terminal by typing `which tesseract` ([alternatives](https://apple.stackexchange.com/questions/73965/why-which-command-does-not-give-you-the-correct-path) if this does not work)
- All Users: Change the line pytesseract.pytesseract.tesseract_cmd = r'C:\\\Program Files\\\Tesseract-OCR\\\tesseract.exe to pytesseract.pytesseract.tesseract_cmd = '/path/to/installation'"
6. In the keyflare directory (i.e. `/path/to/keyflare`), run poetry install (to install dependencies) and then poetry run python keyflare/main.py (to run KeyFlare)

*I hope that KeyFlare may one day become an integral part of your workflow.* Thank you for your support! I look forward to your feedback and suggestions for future improvements. **<ins>Please share your feedback [here](https://forms.gle/dCxMQLN7YuAyHD2B8).**

Links

Releases

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.