Commit graph

354 commits

Author SHA1 Message Date
Andrew Kitchen
58133a7bca v0.10.5 2025-11-23 19:48:04 -08:00
Andrew Kitchen
65f72bbee2 Update Sparkle to 2.7.3 2025-11-23 11:59:28 -08:00
Andrew Kitchen
9e87939ac3 Configure input source observer to correctly notify in the background
Fixes #314
2025-11-21 13:59:53 -08:00
Andrew Kitchen
fcdd494a7a Set version to 0.10.5-pre 2025-08-23 17:29:55 -07:00
Andrew Kitchen
067ff8f3a9 v0.10.4 2025-08-23 17:22:41 -07:00
Andrew Kitchen
155437e9fd Minor cleanup 2025-08-23 17:16:18 -07:00
Andrew Kitchen
b1cfc5c1f9 Minor MainMenu.nib metadata updates following #322 2025-08-23 17:06:50 -07:00
Andrew Kitchen
52a8c831fc Fix issue when dismissing shortcut input control.
Fixes #328
2025-08-23 16:59:52 -07:00
Andrew Kitchen
1d1e16c01c Update Sparkle to 2.7.1 2025-08-23 16:59:52 -07:00
adastra1826
cf7a9df93b
Update designable.nib (#322)
Capitalize "Menu Bar" text in the dropdown menu.
2025-08-23 16:59:05 -07:00
Andrew Kitchen
87484b9101 Show KeyCastr as inactive if we fail to install the event tap 2025-08-03 14:14:21 -07:00
Philly Cai
5d8b99d0f1
Uppercase characters when Option modifier is pressed (#329)
When pressing Option+character (e.g., Option+L), the displayed keystroke
was showing lowercase characters (⌥l) while Command+character correctly
showed uppercase (⌘L).

This fix updates the condition to include the Option modifier flag, ensuring
consistent behavior across all modifier keys.

* test: update test case & change option key handlings
2025-08-03 14:13:49 -07:00
Andrew Kitchen
2066c3dd15 Set version 0.10.4-pre 2025-04-12 16:06:15 -07:00
Andrew Kitchen
7f033daf5a Revert to KeyCastr.app.zip 2025-03-28 09:07:07 -07:00
Andrew Kitchen
05e3fcbeea v0.10.3 2025-03-26 18:03:24 -07:00
Andrew Kitchen
a6f1a632ec Upgrade some project settings, decline others 2025-03-26 17:36:43 -07:00
Andrew Kitchen
66f9c90371 Update About box for 2025
Move some things around in the nib canvas to make it easier to work with
2025-03-26 17:36:33 -07:00
Andrew Kitchen
d62011c749 Avoid migrating user preferences on macOS 10.13
Otherwise user could lose their color pref or possibly crash, as new unarchiver mechanism and related base class don't exist.
2025-03-26 13:18:30 -07:00
Andrew Kitchen
5e8ff49868 Fix macOS deployment target support for older versions
Deployment target version should be set at the project root.

Fixes #321, #318
2025-03-26 12:55:52 -07:00
Andrew Kitchen
0d4c8d1b74 v0.10.3-pre 2024-11-29 16:34:45 -08:00
Andrew Kitchen
06a39b77c7 v0.10.2 2024-11-27 15:26:54 -08:00
Andrew Kitchen
c57433882f Fix leak of Svelte visualizer when switching visualizers 2024-11-27 10:19:38 -08:00
Andrew Kitchen
27a65072cc Update project config 2024-11-27 10:00:02 -08:00
Andrew Kitchen
9f602fc208 Update Sparkle to 2.6.4 2024-11-24 17:00:08 -08:00
Andrew Kitchen
1025e8fcb4 Fix ghost keystrokes after app exits
Instead of using a null EventTap to do a pre-flight check for permissions, using a dedicated EventTap for KeyDown events serves the same purpose and fixes the issue.
Also convert KCEventTap to ARC.

[fixes #72]
[fixes #311]
2024-11-24 16:55:20 -08:00
Andrew Kitchen
cf95a5c58f v0.10.2-pre 2024-11-23 00:05:47 -08:00
Andrew Kitchen
e1f513077f v0.10.1 2024-08-29 15:38:02 -07:00
Andrew Kitchen
fcfa1a9c80 Fix to properly detect modifiers on x86_84
Unit tests caught this right away but they aren't run regularly on Intel
[fixes #303]
2024-08-29 15:03:20 -07:00
Andrew Kitchen
57b51df88e v0.10.0 2024-08-25 10:30:53 -07:00
Andrew Kitchen
c98df900f7 Start using headers from the framework in tests 2024-08-25 09:30:09 -07:00
Andrew Kitchen
6250aa5b41 A little cleanup 2024-08-24 22:19:54 -07:00
Andrew Kitchen
c9dd84673c Fix to ß key special case - we don't want to uppercase this when used in commands 2024-08-04 18:20:22 -07:00
Andrew Kitchen
f9a003a05a Convert KCEventTransformer to observe changes in selected input source 2024-08-04 17:49:21 -07:00
Andrew Kitchen
a3013b5f03 Implement German keyboard special case and clean up a little bit 2024-08-02 21:29:57 -07:00
Andrew Kitchen
e02c2590c3 Update test coverage and fix special cases in new display mode
More refactoring needed, coming soon...
2024-07-17 14:32:27 -07:00
Andrew Kitchen
ce06ec1c92 Fix analyzer warning by simplifying 2024-07-15 20:57:02 -07:00
Andrew Kitchen
141a080d1a Ensure special cases show modifiers in both display modes 2024-07-15 17:24:53 -07:00
Andrew Kitchen
f918aab87b Add UI support for displaying keystrokes with modifiers applied 2024-07-15 14:38:08 -07:00
Andrew Kitchen
dd0a47860c NSUserDefault keys cannot use dot namespacing if you need KVO
The NSNotification-based observation is far too chatty, which can add complexity and impact performance/power consumption.
We will probably want to migrate the other keys away from dot notation in the future since it now looks like technical debt.
The Svelte visualizer will also need to migrate away from NSNotification-based NSUserDefaults updates.
2024-07-15 11:44:34 -07:00
Andrew Kitchen
6149ffa4af Add test cases for a couple special cases (tab and shift-tab) 2024-07-14 18:50:14 -07:00
Andrew Kitchen
ae5b6dd022 Add tests for displaying modified characters based on user defaults
Also observes when default value changes
More refactoring/cleanup needed as well as some edge case handling
2024-07-14 17:13:47 -07:00
Andrew Kitchen
0bf7f6f4f4 Move test case 2024-07-14 17:12:21 -07:00
Andrew Kitchen
91c2b438e6 Fix logic of when to add option symbol 2024-07-13 16:45:33 -07:00
Andrew Kitchen
d9e2b94bb2 Convert KCEventTransformer.m to ARC
This inadvertently fixes a memory leak when the input source changes
2024-07-13 16:25:53 -07:00
Andrew Kitchen
98474daed6 Rename to -[KCKeystroke isCommand]
... which is true with the command *or* control key
Also renane the local variables related to modifier keys for clarity
2024-07-13 16:24:01 -07:00
Andrew Kitchen
91165edcb0 Quick POC to enable displaying modified keys instead of keycaps
Only do this if it's not a command key (i.e. control or command modifier)
Checkpoint before refactoring
2024-07-13 09:39:37 -07:00
Andrew Kitchen
7979161f57 Set version to 0.9.19-pre 2024-07-13 08:21:55 -07:00
Andrew Kitchen
ff1425eeac v0.9.18 2024-06-22 16:32:51 -07:00
Andrew Kitchen
f9f76d386c Small update to indicate where the version is actually updated 2024-06-22 16:16:28 -07:00
Andrew Kitchen
2b28cfd928 Try to ensure the About panel always renders the Quartz Composition
Unsure if it's related to the ARC migration, but the app may crash opening or closing the About panel in a way which implicates Quartz internals.
Explicitly retaining the About panel and QCView and being more gentle about restarting rendering seems to help.
2024-06-22 16:08:17 -07:00