Skip to content

Releases: pranitsh/keyflare

Latest Release

22 Aug 23:02
0cd8443
Compare
Choose a tag to compare

Installation

Suggested:

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.

Senior Project Final Release v1.0.2

20 May 16:20
Compare
Choose a tag to compare

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. Please fill out the survey

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 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, any python (note: the link points to python 3.10.6), pyautogui (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

Releave v1.0.1

10 May 17:16
Compare
Choose a tag to compare

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. Please fill out the survey

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

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, any python (note: the link points to python 3.10.6), pyautogui (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

Pre-release v0.4.1

10 May 04:36
Compare
Choose a tag to compare

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. Please fill out the survey

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.
    • 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

Latest Release v0.3.3

07 May 01:20
Compare
Choose a tag to compare

Updated Documentation

About

KeyFlare v0.3.3 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 2 or 3 of my senior project page. Please fill out my survey if you try the project.

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.

Release 0.1.0

29 Apr 08:27
b6c80bf
Compare
Choose a tag to compare

KeyFlare v0.1.0 Release Notes

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 executable.
  2. Download the KeyFlare 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 or cloning the github repository by running in terminal git clone https://github.com/Pshah2023/keyflare.git
  2. Download python with tkinter (aka tk or tcl)
  3. Download poetry 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)
  • macOS: preferably brew install tesseract (alternatively: sudo port install tesseract)
  1. 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 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'"
  1. 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. Please share your feedback here.