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

Overview

Linux Windows macOS made-with-python PyPI license


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.
  • [IN PROGRESS!] Show in style: Choose from numerous themes, or create your own.
  • [IN PROGRESS!] 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
  • Second instance prunning of the running application

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.

Getting Started

  • You do not need Python installed to use this app, just go to the application Homepage, 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
    pip3 install -r REQUIREMENTS.txt

Installation

  • Clone the project locally with
    git clone [email protected]:daxter-army/key-cast.git
  • Navigate to the project dir and activate virtual env
  • for windows
    .\keycast_env\bin\activate
  • for linux/OS X
    source .\keycast_env\bin\activate
  • Now you'll see that virtual env has been activated, after this hit
    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

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

With hidden console window, in Windows, type

    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

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.

More themes coming soon!

License

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

Contact

Mehul Singh Teya - [email protected] | LinkedIn
Project Link: https://github.com/daxter-army/key-cast
Project Homepage : https://daxter-army.github.io/key-cast

Acknowledgement

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

Owner
Mehul Singh Teya
No Bio, only CS
Mehul Singh Teya
LittlePythonGUIGuide - This is a short GUI Guide with python

This is a short GUI Guide with python, learning how to use the simple and easy moduel built into python, named tkinter.

1cy50ng3b0b 1 Nov 21, 2021
A simple one-line quick entry GUI for your Obsidian daily notes in markdown format.

Quick-note-entry-for-Obsidian A simple one-line quick entry GUI for your Obsidian daily notes in markdown format. Log your day quickly with this simpl

Adrian Papineau 22 Oct 04, 2022
pyglet is a cross-platform windowing and multimedia library for Python, for developing games and other visually rich applications.

pyglet pyglet is a cross-platform windowing and multimedia library for Python, intended for developing games and other visually rich applications. It

1.3k Jan 01, 2023
A calculator made using Python and Tkinter

Abacus Abacus is a calculator used to compute expressions with the operators of Addition, Subtraction, Multiplication and Division. It is named after

0 Jun 24, 2022
A python Script For Taking Screenshot Of Windows

PyShot A Python Script For Taking Screenshot Of Windows Disclaimer This tool is for educational purposes only ! Don't use this to take revenge I will

Nazim Cp 2 Jun 22, 2022
A Python native, OS native GUI toolkit.

Toga A Python native, OS native GUI toolkit. Prerequisites Minimum requirements Toga requires Python 3. Python 2 is not supported. If you're on macOS,

BeeWare 3.3k Dec 31, 2022
Quebra cabeça - Utilizando biblioteca do python: PyQt5

Puzzle 3x3 PyQt5 - Windows Quebra cabeça - Utilizando biblioteca do python: PyQt5 Para testar este quebra cabeça na sua maquina, primeiramente faça o

Matheus Marsal 1 Dec 21, 2021
FPKG Maker GUI - A user friendly User Interface for fPKG Tools for PS4

Know Issues being worked on Please place this application on the root of a drive

26 Nov 27, 2022
GUI for Volatility forensics tool written in PyQT5

Volatility GUI This is a GUI for Volatility forensics tool written in PyQT5 Prerequisites: 1- Installed version of Volatility. 2- Install PyQT5. sudo

Hamza Megahed 52 Jun 18, 2022
This is a short GUI project to evaluate Pbk solution.

Polubarinova-Kochina-solutions (Standalone GUI executables for Windows and Mac) Oden Institute for Computational Engineering and Sciences / Jackson Sc

Mohammad Afzal Shadab 1 Dec 24, 2022
A GUI calculator made with tkinter module in python

GUI-Calculator A GUI calculator made with tkinter module in python How to setup the calculator If pygame is not installed, go to terminal and do pip i

Eric Jing 0 Aug 25, 2021
A html canvas based screencasting server with occasional ground-truth updates via screenshots and very fast input drawing

rm2canvas A html canvas based screencasting server for the reMarkable 1/2 digital paper systems. It draws live on the canvas from the remarkables touc

45 Sep 08, 2022
Python code examples on how to create several applications using Dear PyGui.

Python code examples on how to create several applications using Dear PyGui. Includes building and editing a table, as well as visualizing sorting algorithms in a plot.

Alexander H. 7 Sep 15, 2022
UberGui is a lightweight multi-threaded, webRender UI module for TouchDesigner

UberGui V4 UberGui is a lightweight multi-threaded, webRender UI module for TouchDesigner projects. The aim is to solve the trifecta of challenges bui

LUCAS M MORGAN 48 Nov 20, 2022
A Python based Connect 4 game made with DearPyGUI

Ultimate-Connect-4 A Python based Connect 4 game made with DearPyGUI NOTICE: If you connect to the game server hosted by Jah-On and attempt to send ma

4 Jun 01, 2022
TextTUI is a set of extensions to the Textual and Textual-Inputs libraries

TextTUI is a set of extensions to the Textual and Textual-Inputs libraries. Currently a Work in Progress that is based on the 0.1.14 branch of

3 Feb 10, 2022
System Tray Icon for PySimpleGUI (the tkinter version). Adds a system tray icon by using pystray and PIL

psgtray Add a System Tray Icon to your tkinter port of PySimpleGUI. Installation via pip Installation is via pip: python -m pip install psgtray or if

PySimpleGUI 38 Dec 30, 2022
MATE Layouts is a small panel layout switching application for the MATE Desktop.

a small panel layout switching application for the MATE Desktop

Wilbur Wetterquarz 6 Oct 14, 2022
Remi is a GUI library for Python applications that gets rendered in web browsers

Python REMote Interface library. Platform independent. In about 100 Kbytes, perfect for your diet.

Davide Rosa 3.2k Jan 07, 2023
A very simple calculator with a modern UI made in Python thanks for the stunning Sun-Valley-ttk-theme and Segoe UI Variable font.

Fluent-Python-Calculator A simple Python calculator with Sun-Valley-ttk-theme About Fluent-Python-Calculator: A very simple calculator with a modern U

59 Dec 06, 2022