Skip to content

Releases: mesutakcan/Keyboard-OSD

Keyboard OSD v1.5

Choose a tag to compare

@mesutakcan mesutakcan released this 15 Jul 04:03
06f84a9

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

Choose a tag to compare

@mesutakcan mesutakcan released this 11 Jul 19:24
de6bfda

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

Choose a tag to compare

@mesutakcan mesutakcan released this 02 Jul 19:41
a2abfce

Version 1.3 (2026-07-02)

Architecture:

  • Refactored into OSDSettings and OSDState classes for cleaner state management
  • Extracted all helper functions (MeasureTextWidth, MeasureTextHeight, GetActiveMonitorBounds, CalcStackBase, InitWin, ApplyDWMCorners, FadeOutWin, ReadIni, etc.) into a dedicated lib.ahk file
  • INI file reorganized into four named sections: [Appearance], [Layout], [History], [Timing]

New:

  • Each OSD line is now an OSDLine object with its own CreatedAt timestamp, repeat counter, and IsExpired() check — active line and history lines expire independently
  • Non-blocking per-row fade system using FadingStates / FadeTimers arrays (replaces the blocking Sleep-based fade)
  • CheckExpiredLines timer replaces the StartDismiss / DismissNext chain
  • FlushTypingTimeout — typed text is automatically committed after DisplayTime ms of inactivity
  • MeasureTextHeight — line height is now calculated from real GDI font metrics instead of being stored in settings.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, PaddingYBottom layout settings

Fixes:

  • Fade no longer blocks the key watcher thread

Keyboard OSD v1.2

Choose a tag to compare

@mesutakcan mesutakcan released this 28 Jun 13:15
ff6faba

Version 1.2 (2026-06-28)

New:

  • OSD windows now fade out smoothly when dismissed instead of disappearing instantly

Keyboard OSD v1.1

Choose a tag to compare

@mesutakcan mesutakcan released this 26 Jun 12:41
bc75092

Version 1.1 (2026-06-26)

New:

  • Icons are now embedded directly into the compiled executable (Resource IDs: 100 and 101)
  • Improved portability the .exe file 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-AddResource compiler directives to embed icons
  • Updated TraySetIcon calls to use embedded resources when running as compiled executable
  • Added A_IsCompiled conditional logic for icon loading

Keyboard OSD

Choose a tag to compare

@mesutakcan mesutakcan released this 24 Jun 16:10
ccb9710

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