Skip to content

v1.7.0 - Visual Keyboard

Latest

Choose a tag to compare

@badcode64 badcode64 released this 03 Feb 18:05

⌨️ Visual Keyboard + Unicode Character Support

What's New

⌨️ Interactive Visual Keyboard

A brand new on-screen keyboard for selecting target keys with a single click!

  • Click to select — No need to remember key codes or hunt for special characters
  • Special characters made easy — Find [], {}, $, @, and other symbols instantly
  • Full keyboard layout — All keys including function keys (F1-F12) and navigation keys
  • Compact design — Appears on the right side, expanding the window from 500px to 920px
  • Show/Hide toggle — Keep your workspace clean when you don't need it

🔤 Unicode Character Support

Send actual characters instead of physical key codes:

  • Layout-independent — Characters are sent directly via CGEvent.keyboardSetUnicodeString(), regardless of your keyboard layout
  • Perfect for international users — No more wrong characters due to layout differences
  • Example: Selecting ] from the visual keyboard always sends ], not Ő (Hungarian layout) or ü (German layout)

🔧 Improved Modifier Handling

  • Fixed: Command+Key → Plain Key mappings now work correctly
  • Example: Mapping Cmd+R → G now properly sends just G, not Cmd+G
  • Modifiers are properly cleared when source has modifiers but target doesn't

Downloads

File Size Description
BC64Keys-v1.7.0.dmg 2.9 MB DMG installer (recommended) — Drag to Applications
BC64Keys-v1.7.0-notarized.zip 1.7 MB ZIP archive — Direct app bundle

Both downloads are:

  • Code-signed with Apple Developer ID
  • Notarized by Apple
  • Universal Binary — Native on Apple Silicon (M1/M2/M3/M4) and Intel Macs
  • No right-click workarounds needed — Just double-click to open!

Installation

First-Time Installation:

  1. Download and open BC64Keys-v1.7.0.dmg
  2. Drag BC64Keys.app to your Applications folder
  3. Launch BC64Keys from Applications
  4. Grant Accessibility permission when prompted:
    • System Settings → Privacy & Security → Accessibility
    • Add BC64Keys and enable it

Updating from Previous Version:
Simply replace the old app with the new one. Your settings and key mappings are preserved automatically.

System Requirements

  • macOS 13.0 (Ventura) or later
  • Works on both Apple Silicon and Intel Macs

Technical Details

New Components:

  • VisualKeyboardView — Interactive keyboard component with full Mac layout
  • CompactKeyButton — Individual key button component
  • targetCharacter: String? field in KeyMappingRule for Unicode support

Implementation:

  • Unicode characters sent via CGEvent.keyboardSetUnicodeString()
  • UTF-16 string conversion for proper character handling
  • Dynamic window width adjustment (500px → 920px when keyboard visible)
  • Thread-safe mapping access in CGEventTap callback

Code Quality:

  • Zero memory leaks — proper cleanup in all deinit handlers
  • ~3,200 lines of auditable Swift code
  • No external dependencies

Full Changelog

See RELEASE_NOTES_v1.7.0.md for complete technical details.


Need Help?