An open API service indexing awesome lists of open source software.

https://github.com/daxter-army/key-cast

Cast your key presses and mouse clicks on the screen, while casting your favorite application on the screen. Better than the rest.
https://github.com/daxter-army/key-cast

cross-platform keyboard-events mouse-events pyinstaller pynput screen-cast tkinter-gui

Last synced: 11 months ago
JSON representation

Cast your key presses and mouse clicks on the screen, while casting your favorite application on the screen. Better than the rest.

Awesome Lists containing this project

README

          

[![Linux](https://svgshare.com/i/Zhy.svg)](https://svgshare.com/i/Zhy.svg)
[![Windows](https://svgshare.com/i/ZhY.svg)](https://svgshare.com/i/ZhY.svg)
[![macOS](https://svgshare.com/i/ZjP.svg)](https://svgshare.com/i/ZjP.svg)
[![made-with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg)](https://www.python.org/)
[![PyPI license](https://img.shields.io/pypi/l/ansicolortags.svg)](https://pypi.python.org/pypi/ansicolortags/)




Logo

Key Cast


Screen cast your keyboard and mouse clicks in style


Project Homepage ยป




View Demo
ยท
Report Bug
ยท
Request Feature

Table of Contents



  1. Introduction
    Functionalities



  2. Getting Started
    Getting Started (Development)


  3. Usage



  4. License

  5. Contact

  6. Acknowledgement

  7. Info

  8. Issues

## โœจ Introduction


Keycast in action

In this internet age, everyone is learning to stay ahead in their career or to develop something new, creative and fun. Digging the internet for quality tutorials, watching that youtube videos of blender, illustrator, photoshop, webdev and what not. To give back to your community, you also thought of creating some tutorials, but guess what, you are not having any good keyboard and mouse indicators, and that ones which are available in the market, do not suits your personality.



Here comes **Keycast**, which enables you to, screen cast your keyboard and mouse clicks, while also being pleasant to your eyes and why you should consider Keycast, here's why:

- **Cross-platform:** Run it anywhere. Run it on Linux, Windows or OS X.
- **Keybaord & mouse clicks:** From keyboard presses to mouse clicks, we've covered you all!.
- **Drag it anywhere:** Obstructing your view? place it anywhere on the screen.
- **Show in style:** Choose from the themes, suit your mood.
- **Transparency control:** Adjust the transparency level of the panel as per your convenience.

## ๐ŸŒ  Functionalities

**Following are the functionalities implemented till now:**

- Show previous and current keypresses/key combinations
- Show mouse activity
- Drag and drop anywhere on the screen
- Various themes
- Adjust the transparency level of the window

### ๐Ÿ›  Built With

This was achieved with **Python** (cPython), with **Pynput** as global keyboard and mouse event listener, **Tkinter** powering the GUI, & **Pyinstaller** for creating distributable package files.

- [Python](https://python.org)
- [Tkinter](https://docs.python.org/3/library/tkinter.html)
- [Pynput](https://pypi.org/project/pynput/)
- [Pyinstaller](https://pyinstaller.readthedocs.io/en/stable/)

## ๐ŸŽ Getting Started

- You do not need Python installed to use this app, just go to the application [Homepage](https://daxter-army.github.io/key-cast), and download the package as per your OS.

**For Linux/OS X users only**

- After downloading the file, open the properties of the file, go to permissions tab and check the option saying **allow executing file as program**, and then run the file, now it would run smoothly.

## ๐Ÿšฒ Getting Started (Development)

This section will help you to get started with the project, locally

## ๐Ÿ—œ Prerequistes

- You should be having Python version > 3.6.x
- Install the requirements from **REQUIREMENTS.txt** file via **pip** before actually running the application, with

```python
pip3 install -r REQUIREMENTS.txt
```

### ๐Ÿ๏ธ Installation

- Clone the project locally with

```sh
git clone git@github.com:daxter-army/key-cast.git
```

- Navigate to the project dir and activate virtual env
- _for windows_

```sh
.\keycast_env\bin\activate
```

- _for linux/OS X_

```sh
source .\keycast_env\bin\activate
```

- Now you'll see that virtual env has been activated, after this hit

```sh
python3 keycast_dev.py
```

- You have done it, you will be seeing a window running on your screen, if everything goes well.

### ๐Ÿงช Building

To create one distributable file on linux/OS X, type

```sh
pyinstaller keycast_prod.py --onefile -i "path_to_icon/icon_file.ico" --add-data "assets:assets"
```

With hidden console window, in Windows, type

```sh
pyinstaller keycast_prod.py --onefile -i "path_to_icon/icon_file.ico" --add-data "assets;assets" --windowed
```

With console window in the background, in Windows, remove **--windowed** argument

## ๐Ÿฅ Usage


gui-default
gui-vanilla
gui-hacker

- You can use it with any of your favourite software while making any tutorial, screen casting your screen, or while streaming your game over the internet.
- Choose any of the style that suits your mood, and flex in your way. ๐Ÿ˜Ž

## ๐Ÿ—„ License

Distributed under the MIT License. See `LICENSE` for more information.

## ๐Ÿ“ฑ Contact

Mehul Singh Teya - mehulsinghteya@gmail.com | [LinkedIn](https://linkedin.com/in/mehulsinghteya)


Project Link: [https://github.com/daxter-army/key-cast](https://github.com/daxter-army/key-cast)


Project Homepage : [https://daxter-army.github.io/key-cast](https://daxter-army.github.io/key-cast)

## ๐Ÿ™ Acknowledgement

- [Fontawesome](https://fontawesome.com)
- [Python](https://python.org)
- [Tkinter](https://docs.python.org/3/library/tkinter.html)
- [Pynput](https://pypi.org/project/pynput/)
- [Pyinstaller](https://pyinstaller.readthedocs.io/en/stable/)

## โ„น Info

- Right now it is heavily under development, and is being developed in linux (ubuntu). You can see unidentified characters being shown by the software, because sometimes different key combos having different key codes, I am working on this to support as many as keyboards and key combos possible.

- **windows_bundle** directory contains bundled package for windows, same is the case with **linux_bundle**, bundle to be created for mac OS X.

- The main file that runs is **/dist/keycast_prod.exe**, these are also the files that are available on the homepage to be downloaded.

- For development use, **keycast_dev.py**, then copy-paste the whole code to **keycast_prod.py**, and also paste the code of additional files in that file also, to increase the performance.

## ๐Ÿž Issues

Visit Issues tab


Issues