Releases: mesutakcan/Keyboard-OSD
Releases · mesutakcan/Keyboard-OSD
Release list
Keyboard OSD v1.5
Version 1.5 (2026-07-15)
New:
- The Windows (Win) key can now be shown on its own as a badge, just like Ctrl, Shift, and Alt.
- Improved AltGr and Shift handling: when a key combination produces a character, that character now appears in the typed text as expected. When it doesn't produce a character, the badge shows the key combination itself (e.g. AltGr + K).
- Holding down multiple modifier keys in sequence now updates the badge smoothly to show the full combination, instead of showing a separate badge for each stage.
Fixes:
- A lone modifier badge (e.g. just Shift) no longer lingers on screen after you start typing.
Keyboard OSD v1.4
Version 1.4 (2026-07-11)
- Shortcut and modifier key presses now appear as styled badges with a rounded border, fill color, and their own transparency — making them instantly stand out from regular typed text.
- Added a new Special tab in the settings window to customize badge colors, border, padding, and text position, with a live preview.
- Badge rendering is now cached, keeping the OSD smooth even with frequent shortcut presses.
Keyboard OSD v1.3
Version 1.3 (2026-07-02)
Architecture:
- Refactored into
OSDSettingsandOSDStateclasses for cleaner state management - Extracted all helper functions (
MeasureTextWidth,MeasureTextHeight,GetActiveMonitorBounds,CalcStackBase,InitWin,ApplyDWMCorners,FadeOutWin,ReadIni, etc.) into a dedicatedlib.ahkfile INIfile reorganized into four named sections:[Appearance],[Layout],[History],[Timing]
New:
- Each OSD line is now an
OSDLineobject with its ownCreatedAttimestamp, repeat counter, andIsExpired()check — active line and history lines expire independently - Non-blocking per-row fade system using
FadingStates/FadeTimersarrays (replaces the blockingSleep-based fade) CheckExpiredLinestimer replaces theStartDismiss/DismissNextchainFlushTypingTimeout— typed text is automatically committed afterDisplayTimems of inactivityMeasureTextHeight— line height is now calculated from real GDI font metrics instead of being stored insettings.ini- Pause/resume keyboard shortcut
Ctrl+Shift+F8 - On resume from pause, currently held keys are read and pre-loaded to avoid phantom key events
- Pause icon resource ID changed to
207 - Settings GUI switched from GroupBox layout to a tabbed (
Tab) layout - Added
PaddingX,PaddingYTop,PaddingYBottomlayout settings
Fixes:
- Fade no longer blocks the key watcher thread
Keyboard OSD v1.2
Version 1.2 (2026-06-28)
New:
- OSD windows now fade out smoothly when dismissed instead of disappearing instantly
Keyboard OSD v1.1
Version 1.1 (2026-06-26)
New:
- Icons are now embedded directly into the compiled executable (Resource IDs: 100 and 101)
- Improved portability the
.exefile now works standalone without requiring external icon files
Fixes:
- Fixed tray icon not displaying correctly in compiled executable
- Fixed pause icon switching when script is paused
Technical:
- Added
;@Ahk2Exe-AddResourcecompiler directives to embed icons - Updated
TraySetIconcalls to use embedded resources when running as compiled executable - Added
A_IsCompiledconditional logic for icon loading
Keyboard OSD
Version 1.0 (2026-06-24)
- Initial release
- Real-time keyboard input display
- Support for shortcuts and modifier keys
- Customizable appearance and behavior
- Settings window with live preview