{"id":13445749,"url":"https://github.com/marius-sucan/KeyPress-OSD","last_synced_at":"2025-03-21T05:31:10.863Z","repository":{"id":43961294,"uuid":"116165887","full_name":"marius-sucan/KeyPress-OSD","owner":"marius-sucan","description":"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.","archived":false,"fork":false,"pushed_at":"2025-02-09T09:28:46.000Z","size":158437,"stargazers_count":364,"open_issues_count":1,"forks_count":36,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-02-09T10:26:31.060Z","etag":null,"topics":["ahk","autohotkey","desktop-computer","disabilities","disability","eye-strain","eyesight","handicap","impairments","keyboard-layout","mouse-cursor","osd","presentations","recording","screencast","screencast-recording","utility-application","videos","visual-aid"],"latest_commit_sha":null,"homepage":"https://keypressosd.com/","language":"AutoHotkey","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marius-sucan.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-01-03T17:51:11.000Z","updated_at":"2025-02-09T09:28:49.000Z","dependencies_parsed_at":"2024-05-02T17:52:28.773Z","dependency_job_id":"f51b313c-d3c4-436d-9911-33fbe6772b1a","html_url":"https://github.com/marius-sucan/KeyPress-OSD","commit_stats":null,"previous_names":[],"tags_count":81,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marius-sucan%2FKeyPress-OSD","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marius-sucan%2FKeyPress-OSD/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marius-sucan%2FKeyPress-OSD/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marius-sucan%2FKeyPress-OSD/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marius-sucan","download_url":"https://codeload.github.com/marius-sucan/KeyPress-OSD/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244745712,"owners_count":20503046,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ahk","autohotkey","desktop-computer","disabilities","disability","eye-strain","eyesight","handicap","impairments","keyboard-layout","mouse-cursor","osd","presentations","recording","screencast","screencast-recording","utility-application","videos","visual-aid"],"created_at":"2024-07-31T05:00:38.771Z","updated_at":"2025-03-21T05:31:10.854Z","avatar_url":"https://github.com/marius-sucan.png","language":"AutoHotkey","funding_links":["https://www.paypal.me/MariusSucan/15"],"categories":["AutoHotkey","Scripts"],"sub_categories":["Typing"],"readme":"\u003ch1\u003eKeyPress OSD: Presentation\u003c/h1\u003e\n\n\u003ch2\u003e\u003ca href=\"https://www.youtube.com/watch?v=LKvhqTeb9sg\"\u003ePresentation video\u003c/a\u003e\u003c/h2\u003e\n\n\u003ch3\u003eTo keep the development going of KPO, \u003ca href=\"https://www.paypal.me/MariusSucan/15\"\u003eplease donate\u003c/a\u003e using PayPal. Or you can check the commercial edition on the \u003ca href=\"https://keypressosd.com/\"\"\u003eofficial site\u003c/a\u003e and \u003ca href=\"https://gumroad.com/l/keypressosd/discount\"\u003ebuy it from Gumroad\u003c/a\u003e.\u003c/h3\u003e\n\n\u003cp\u003eThe commercial edition is a much newer version and it has changed considerably compared to the freeware edition available here. The quality of the freeware edition is \u003cem\u003every poor\u003c/em\u003e compared to the commercial one. It is much faster and optimized. It also has many bug fixes, better support for typing in foreign scripts and more features. \u003c/p\u003e\n\n\u003ch3\u003e\u003ca href=\"https://files.sucan.ro/marius/blog/ahk-scripts/keypress-osd-compiled.zip\"\u003eDownload KeyPress OSD compiled for x32/x64 freeware edition\u003c/a\u003e (.ZIP file, portable, includes source files).\u003c/h3\u003e\n\n\u003ch2\u003eCommercial edition extras\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003emuch improved typing modes, with selections rendering\u003c/li\u003e\n\u003cli\u003ealternate typing mode reimagined and much improved\u003c/li\u003e\n\u003cli\u003edisplay advanced key combinations, eg., Ctrl+W+2\u003c/li\u003e\n\u003cli\u003ecustomizable keyboard shortcuts actions\u003c/li\u003e\n\u003cli\u003eadvanced quick-auto replace options: variables, parameters, conditional texts and more\u003c/li\u003e\n\u003cli\u003ecustomizable KeyPress OSD toolbar which facilitates usage in many contexts\u003c/li\u003e\n\u003cli\u003edisplay history of key presses\u003c/li\u003e\n\u003cli\u003emouse spot-light\u003c/li\u003e\n\u003cli\u003eoption to show characters affected by Shift even in screen-cast mode [typing mode disabled], eg., 'Shift + 2' will show as '@'\u003c/li\u003e\n\u003cli\u003erename keyboard keys and shortcuts displayed by the OSD\u003c/li\u003e\n\u003cli\u003eprevent specific keyboard keys and shortcuts to display in the OSD\u003c/li\u003e\n\u003cli\u003emulti-language keystrokes names: French, German, Spanish or Russian\u003c/li\u003e\n\u003cli\u003emore OSD customization options\u003c/li\u003e\n\u003cli\u003eoption to attach the OSD to the current window\u003c/li\u003e\n\u003cli\u003edark mode user interface\u003c/li\u003e\n\u003cli\u003eMANY bug fixes and improvements\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch2\u003eProject description\u003c/h2\u003e\n\n\u003cp\u003eThis 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.\u003c/p\u003e\n\n\u003cp\u003eThis 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.\u003c/p\u003e\n\n\u003cp\u003eNumerous 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.\u003c/p\u003e\n\n\u003cp\u003eThis 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.\u003c/p\u003e\n\n\u003cp\u003eIn recent versions, I implemented partial support for Right-to-Left [RTL] keyboard layouts, such as Arabic. Caret navigation is disabled for such layouts.\u003c/p\u003e\n\n\u003cp\u003eI 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.\u003c/p\u003e\n\n\u003cp\u003eIf 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 :-).\u003c/p\u003e\n\n\u003cp\u003eI coded the application as an \u003ca href=\"https://autohotkey.com/\"\u003eAHK script\u003c/a\u003e for AutoHotkey_H v1.1.27. To execute/compile the source code one needs \u003ca href=\"https://hotkeyit.github.io/v2/\"\u003eAutoHotkey_H v1.1+\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThrough the development of this project, Drugwash (from the \u003ca href=\"https://autohotkey.com/boards/\"\u003eAHK forums\u003c/a\u003e) substantially contributed with code and feedback. Many thanks to you!\u003c/p\u003e\n\u003cp\u003eIn addition, many thanks for the great support and help to the people on #ahk (irc.freenode.net) and from the AHK forum.\u003c/p\u003e\n\n\u003ch1\u003eKeyPress OSD: Features\u003c/h1\u003e\n\n\u003cul\u003e\n\u003cli\u003eSupport for at least 110 keyboard layouts covering about 55 languages. It recognizes keys with Shift, AltGr and dead keys for each of these layouts.\u003c/li\u003e\n\u003cli\u003eAutomatic detection of keyboard layouts.\u003c/li\u003e\n\u003cli\u003eShow previously pressed key if fired quickly.\u003c/li\u003e\n\u003cli\u003eCount key presses or key fires and mouse clicks.\u003c/li\u003e\n\u003cli\u003eIndicators for Caps Lock, Num Lock and Scroll Lock states.\u003c/li\u003e\n\u003cli\u003eTyping mode. It shows what you are typing in an expanding text area.\u003c/li\u003e\n\u003cli\u003eVirtual caret/cursor navigation: \u003c/li\u003e\n\u003cul\u003e\n  \u003cli\u003eNavigate through typed text in the OSD in synch with the text field of the host application.\u003c/li\u003e\n  \u003cli\u003eBasic support for copy, paste, cut and undo with Ctrl + A / Z / X / C / V.\u003c/li\u003e\n  \u003cli\u003eSupport for text selections.\u003c/li\u003e\n  \u003cli\u003eSupport for customizable automatic text expansion, e.g, 'btw' expands to 'by the way', or 'bbl' to 'be back later'.\u003c/li\u003e\n  \u003cli\u003eMulti-Clipboard support. You can easily retrieve previous clipboard contents and text typed in the OSD. The texts stored in the clipboards retain their formatting.\u003c/li\u003e\n  \u003cli\u003eShortcuts to copy the text from the active text field into the OSD, or paste the OSD content to it.\u003c/li\u003e\n\u003c/ul\u003e \n\n\u003cli\u003eOnly typing mode option.\u003c/li\u003e\n\u003cli\u003eTyped 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.\u003c/li\u003e\n\u003cli\u003eAutomatic resizing of OSD/HUD or fixed size.\u003c/li\u003e\n\u003cli\u003eCustomizable size, position and colors.\u003c/li\u003e\n\u003cli\u003eThe OSD can hide or switch position automatically when the mouse runs over it.\u003c/li\u003e\n\u003cli\u003eCustomizable visual mouse clicks and mouse halo to indicate its location, and flash mouse cursor after idling.\u003c/li\u003e\n\u003cli\u003eMouse keys. Move the mouse cursor with the numpad keys.\u003c/li\u003e\n\u003cul\u003e\n  \u003cli\u003eAbility to lock Left, Right and Middle clicks to facilitate drag-n-drop operations, using ScrollLock or numpad Enter.\u003c/li\u003e\n  \u003cli\u003eOption to wrap / warp mouse movements at screen edges.\u003c/li\u003e\n  \u003cli\u003eAbility to move in 16 different directions by combining two directions simultaneously.\u003c/li\u003e\n  \u003cli\u003eEase to alternate between cursor speeds using Capslock.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cli\u003eDistinct beepers for different types of keys and buttons or when typing with Capslock.\u003c/li\u003e\n\u003cli\u003eMulti-monitor support.\u003c/li\u003e\n\u003cli\u003eToolbar for enhanced touch screens support.\u003c/li\u003e\n\u003cli\u003ePortable. No need to install/uninstall. Settings stored in an easy to read INI file.\u003c/li\u003e\n\u003cli\u003eEasy to configure with many options in Settings windows to toggle features and customize behavior and look.\u003c/li\u003e\n\u003cli\u003eOption to update to the latest version.\u003c/li\u003e\n\u003c/ul\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarius-sucan%2FKeyPress-OSD","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarius-sucan%2FKeyPress-OSD","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarius-sucan%2FKeyPress-OSD/lists"}