Git Product home page Git Product logo

ganlvtech / keypress-osd Goto Github PK

View Code? Open in Web Editor NEW

This project forked from marius-sucan/keypress-osd

0.0 3.0 0.0 135.66 MB

This program is an On-Screen Display or a Heads-Up Display for keys. It displays every key press at a clearly visible text size. It is developed for people with poor eye sight. It is meant to aid desktop computer usage. It is especially useful while chatting or for occasional typing. The user no longer has to squint or zoom in the entire screen to see what s/he writes in small text fields.

AutoHotkey 95.78% HTML 4.22%

keypress-osd's Introduction

KeyPress OSD: Presentation

To keep the development going, please donate using PayPal.

This program is an On-Screen Display or a Heads-Up Display for keys. It displays every key or mouse button press at a clearly visible text size. I developed it for people like me, with poor eye sight or low vision. It is meant to aid desktop computer usage. It is especially useful while chatting or for occasional typing. The user no longer has to squint at the screen or zoom in the entire screen to see what s/he wrote for every text field.

This application can also be used for screen casts or presentations, by disabling the typing mode at Preferences. In its main menu, you can select Quick Start Presets to help you get started.

Numerous unique features, options and settings are available in the different Preferences windows provided in the program, such that everyone can find a way to adapt it to personal needs.

This application has support for Cyrillic and Latin-based keyboard layouts. I also did some limited testing with Indic layouts, e.g., Bengali, and as far as I can tell, KeyPress OSD works with these as well.

In recent versions, I implemented partial support for Right-to-Left [RTL] keyboard layouts, such as Arabic. Caret navigation is disabled for such layouts.

I did not test or developed this application having in mind support for Chinese or Japanese scripts. It would be too complex for me to implement support for such writing systems. On Windows, to type in such languages one makes use of IMEs [Input Method Editors] - additional typing aids that facilitate input of non-Latin texts using Latin keyboards.

If other programmers are willing to invest time in this application and to extend it, are welcomed to do so. Anyone is free to transform it into anything they wish. The source code is available. However, keep in mind, I am no programmer. I learned to code by developing this application. The code quality is definitely poor :-).

I coded the application as an AHK script for AutoHotkey_H v1.1.27. To execute/compile the source code one needs AutoHotkey_H v1.1+.

Through the development of this project, Drugwash (from the AHK forums) substantially contributed with code and feedback. Many thanks to you!

In addition, many thanks for the great support and help to the people on #ahk (irc.freenode.net) and from the AHK forum.

KeyPress OSD: Features

  • Support for at least 110 keyboard layouts covering about 55 languages. It recognizes keys with Shift, AltGr and dead keys for each of these layouts.
  • Automatic detection of keyboard layouts.
  • Show previously pressed key if fired quickly.
  • Count key presses or key fires and mouse clicks.
  • Indicators for Caps Lock, Num Lock and Scroll Lock states.
  • Typing mode. It shows what you are typing in an expanding text area.
  • Virtual caret/cursor navigation:
    • Navigate through typed text in the OSD in synch with the text field of the host application.
    • Basic support for copy, paste, cut and undo with Ctrl + A / Z / X / C / V.
    • Support for text selections.
    • Support for customizable automatic text expansion, e.g, 'btw' expands to 'by the way', or 'bbl' to 'be back later'.
    • Multi-Clipboard support. You can easily retrieve previous clipboard contents and text typed in the OSD. The texts stored in the clipboards retain their formatting.
    • Shortcuts to copy the text from the active text field into the OSD, or paste the OSD content to it.
  • Only typing mode option.
  • Typed text history with Page Up/Down. On pressing Enter or Escape, it records the written line and you can get back to it with Page Up.
  • Automatic resizing of OSD/HUD or fixed size.
  • Customizable size, position and colors.
  • The OSD can hide or switch position automatically when the mouse runs over it.
  • Customizable visual mouse clicks and mouse halo to indicate its location, and flash mouse cursor after idling.
  • Mouse keys. Move the mouse cursor with the numpad keys.
    • Ability to lock Left, Right and Middle clicks to facilitate drag-n-drop operations, using ScrollLock or numpad Enter.
    • Option to wrap / warp mouse movements at screen edges.
    • Ability to move in 16 different directions by combining two directions simultaneously.
    • Ease to alternate between cursor speeds using Capslock.
  • Distinct beepers for different types of keys and buttons or when typing with Capslock.
  • Clipboard monitor. It displays briefly texts copied to clipboard.
  • Multi-monitor support.
  • Portable. No need to install/uninstall. Settings stored in an easy to read INI file.
  • Easy to configure with many options in Settings windows to toggle features and customize behavior and look.
  • Option to update to the latest version.

keypress-osd's People

Contributors

marius-sucan avatar i-give-up avatar

Watchers

James Cloos avatar Ganlv avatar  avatar

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.