Code Monkey home page Code Monkey logo

virtual-keyboard's Introduction

logo

Virtual Keyboard

A GUI application made in python using tkinter

This is my first ever proper GUI based application project after learning tkinter recently. I made it to practice and get more used to working with tkinter.

Features

  • You can open the keyboard settings menu with the button in the bottom right corner
  • The keyboard comes in 5 sizes:
    • Very Small
    • Small
    • Medium
    • Large
    • Very Large
  • You can also change the opacity of the keyboard window! Opacity ranges from 30% to 100%.
  • You can pin the keyboard so that it always stays on top of other windows. Opacity setting makes it really nice to use while pinned to the top.
  • For the CTRL, SHIFT, ALT and WIN (special) keys, you can right click any of these to hold down them for as long as you want until you right click them again (like how we sometimes just hold the shift key to type instead of pressing CAPSLOCK).
  • Adding to the last point, left clicking any of the 4 special keys will temporarily press them till you click any other key (excluding other special keys) (kind of like how we use CTRL+C or CTRL+ALT+DELETE).
  • Has a cute logo.

Usage

  • Run the file vkeyboard.pyw directly

OR

  • Import the class VirtualKeyboard to your python program.
  • To create (not display) the keyboard Graphical User Interface use:
objectName = VirtualKeyboard()
  • To make the keyboard functional (i.e. bind the graphical keys to actual keypresses), use:
objectName.engine() 
  • To start displaying your virtual keyboard (window), use:
objectName.start()
  • Your keyboard is ready to use!

(You can skip the engine() part if you only want a non functional dummy keyboard)

Requirements

Only needs the keyboard module to work properly.

How to install the keyboard module through cmd:

pip install keyboard

Read more about the keyboard module.

Note: If the keyboard module is missing from user's computer (Windows only), the program will attempt to install the keyboard module automatically. In case that fails too, the virtual keyboard will still open in a non functional state allowing you admire its appearance and press all the buttons as much as want. You can also change the keyboard settings or pin/unpin the keyboard in non functional state.

Please note:

  • The program will "flash" everytime you press any key, but will definitely still be functional in almost any text-entry application window.

Screenshots

  • Keyboard in action. s1main
  • Shift button right clicked to hold down SHIFT key until next click on the button. s6shift
  • Keyboard with 70% opacity and Medium size (default). s2settings
  • Keyboard with 30% opacity and Very Small size. s3vsmall30
  • Keyboard with 100% opacity and Very Large size. s4vlarge100
  • No background view blocked with the keyboard pinned :) s5fun

Thank You!

Hope you enjoy the keyboard!

I would really appreciate some feedback and tips!

GitHub: https://github.com/AbhiK002/virtual-keyboard

virtual-keyboard's People

Contributors

abhik002 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

av-a

virtual-keyboard's Issues

Getting key presses

Can I start this keyboard from my own python script and get the key presses in my script instead of sending them to the operating system?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.