[PR #353] [MERGED] Minimal visualizer #352

Closed
opened 2026-10-02 23:09:25 -06:00 by gitea-mirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/keycastr/keycastr/pull/353
Author: @akitchen
Created: 8/19/2026
Status: ✅ Merged
Merged: 8/25/2026
Merged by: @akitchen

Base: main ← Head: minimal-visualizer


📝 Commits (10+)

  • 4f4142b adds 'Mods only' visualizer
  • 3d2809a updates for Sonoma to ignore mouse events (resize frame on mods change)
  • fd5f960 code style changes, and ordered modifiers '⌃⌥⇧⌘'
  • ac39f2c supports 'FN' key, and I had the order flipped on modifiers
  • f803c52 giving up on autosave frame, using defaults directly
  • e4396ef if frame.origin.x is on left side of window, grow to the right. Otherwise grow to the left.
  • a952d37 Fix a runtime warning and convert to ARC to fix a memory leak
  • 3bf60f5 Project file fixups, cleanup
  • 0046799 Move isCommand and isModified to base class and use in transformer
  • b91d097 Rename Mods -> Minimal

📊 Changes

17 files changed (+1434 additions, -96 deletions)

View changed files

📝 keycastr/KCAppController.m (+30 -2)
📝 keycastr/KCEventTap.h (+9 -1)
📝 keycastr/KCEventTap.m (+17 -10)
📝 keycastr/KCEventTransformer.h (+9 -0)
📝 keycastr/KCEventTransformer.m (+77 -60)
📝 keycastr/KCKeycastrEvent.h (+7 -0)
📝 keycastr/KCKeycastrEvent.m (+9 -0)
📝 keycastr/KCKeystroke.h (+0 -6)
📝 keycastr/KCKeystroke.m (+0 -8)
📝 keycastr/KCMouseEventVisualizer.m (+3 -1)
📝 keycastr/KCVisualizer.h (+3 -0)
📝 keycastr/KCVisualizerTests/KCKeystrokeConversionTests.m (+48 -0)
📝 keycastr/KeyCastr.xcodeproj/project.pbxproj (+149 -8)
➕ keycastr/Minimal-Info.plist (+22 -0)
➕ keycastr/Minimal.xib (+462 -0)
➕ keycastr/MinimalVisualizer.h (+77 -0)
➕ keycastr/MinimalVisualizer.m (+512 -0)

📄 Description

These are the code changes that will be going into the upcoming v0.11.0 release to introduce the Minimal visualizer. Thanks to @colinta for the original idea, and @SoCuul for the additional contributions to help push it forward.

Anyone is welcome to pull the branch and test it out. I'll be merging this to main and cutting a new release soon, probably just after a couple days' testing.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/keycastr/keycastr/pull/353 **Author:** [@akitchen](https://github.com/akitchen) **Created:** 8/19/2026 **Status:** ✅ Merged **Merged:** 8/25/2026 **Merged by:** [@akitchen](https://github.com/akitchen) **Base:** `main` ← **Head:** `minimal-visualizer` --- ### 📝 Commits (10+) - [`4f4142b`](https://github.com/keycastr/keycastr/commit/4f4142b4b3a940b79e77a3e347007a454e98b139) adds 'Mods only' visualizer - [`3d2809a`](https://github.com/keycastr/keycastr/commit/3d2809ad6fcc0ff631cca35cdacb8d658efa2acc) updates for Sonoma to ignore mouse events (resize frame on mods change) - [`fd5f960`](https://github.com/keycastr/keycastr/commit/fd5f9608d25850724e04bcb35b4c2637fda77235) code style changes, and ordered modifiers '⌃⌥⇧⌘' - [`ac39f2c`](https://github.com/keycastr/keycastr/commit/ac39f2cdbc0b29733a295e068611d91e3ce74380) supports 'FN' key, and I had the order flipped on modifiers - [`f803c52`](https://github.com/keycastr/keycastr/commit/f803c52e46224016248ea1539afd73d25561ad62) giving up on autosave frame, using defaults directly - [`e4396ef`](https://github.com/keycastr/keycastr/commit/e4396ef8afd9b338b865a504e5050e10a0eac939) if frame.origin.x is on left side of window, grow to the right. Otherwise grow to the left. - [`a952d37`](https://github.com/keycastr/keycastr/commit/a952d37815c344f93208337a0eda2a142f3d2c31) Fix a runtime warning and convert to ARC to fix a memory leak - [`3bf60f5`](https://github.com/keycastr/keycastr/commit/3bf60f54004937ce0a284e833e46bc2e9afca843) Project file fixups, cleanup - [`0046799`](https://github.com/keycastr/keycastr/commit/0046799a5f2663ed9bceba793515be1194deef6c) Move isCommand and isModified to base class and use in transformer - [`b91d097`](https://github.com/keycastr/keycastr/commit/b91d0971f009ed9feff27f99f713b3b4bfcf04e1) Rename Mods -> Minimal ### 📊 Changes **17 files changed** (+1434 additions, -96 deletions) <details> <summary>View changed files</summary> 📝 `keycastr/KCAppController.m` (+30 -2) 📝 `keycastr/KCEventTap.h` (+9 -1) 📝 `keycastr/KCEventTap.m` (+17 -10) 📝 `keycastr/KCEventTransformer.h` (+9 -0) 📝 `keycastr/KCEventTransformer.m` (+77 -60) 📝 `keycastr/KCKeycastrEvent.h` (+7 -0) 📝 `keycastr/KCKeycastrEvent.m` (+9 -0) 📝 `keycastr/KCKeystroke.h` (+0 -6) 📝 `keycastr/KCKeystroke.m` (+0 -8) 📝 `keycastr/KCMouseEventVisualizer.m` (+3 -1) 📝 `keycastr/KCVisualizer.h` (+3 -0) 📝 `keycastr/KCVisualizerTests/KCKeystrokeConversionTests.m` (+48 -0) 📝 `keycastr/KeyCastr.xcodeproj/project.pbxproj` (+149 -8) ➕ `keycastr/Minimal-Info.plist` (+22 -0) ➕ `keycastr/Minimal.xib` (+462 -0) ➕ `keycastr/MinimalVisualizer.h` (+77 -0) ➕ `keycastr/MinimalVisualizer.m` (+512 -0) </details> ### 📄 Description These are the code changes that will be going into the upcoming v0.11.0 release to introduce the Minimal visualizer. Thanks to @colinta for the original idea, and @SoCuul for the additional contributions to help push it forward. Anyone is welcome to pull the branch and test it out. I'll be merging this to main and cutting a new release soon, probably just after a couple days' testing. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
github-starred/keycastr#352
No description provided.