Commit graph

334 commits

Author SHA1 Message Date
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
Andrew Kitchen
ccd5ee6cf8 We didn't copy or create this reference, so don't release it 2024-06-19 18:44:37 -07:00
Andrew Kitchen
793965945a Add test coverage for default visualizer options and optimize keycasting
Now that there are multiple display options, converting to stateful options reduces option lookup time by 80%
Some code is moved into the framework to aid in reuse in tests
2024-06-18 19:12:46 -07:00
Andrew Kitchen
c69fc6e75d Remove dead code and logging 2024-06-18 18:26:25 -07:00
Andrew Kitchen
dffe86e399 Update MainMenu.nib to accommodate longer version strings 2024-06-18 18:24:26 -07:00
Andrew Kitchen
b9b95843ed Setting deployment target back to 10.13 2024-06-11 09:32:39 -07:00
Andrew Kitchen
0e28659b00 Setting dev version v0.9.18-pre 2024-06-11 09:30:39 -07:00
Andrew Kitchen
529022b17c v0.9.17 2024-06-08 20:07:24 -07:00
Andrew Kitchen
c0c13df208 Code signing config update 2024-06-08 19:49:38 -07:00
Andrew Kitchen
d1df3f2918 Minor updates to documentation 2024-06-08 13:43:25 -07:00
Andrew Kitchen
13b3a6dbf0 Clean up Frameworks list 2024-06-08 13:32:06 -07:00
Andrew Kitchen
fd68b5c32b Convert KCDefaultVisualizer to ARC 2024-06-08 13:28:05 -07:00
Andrew Kitchen
e12d5d8e1b Refactor to push NSUserDefaults defaults down into visualizers
Also removes the KCVisualizer base class conformance to KCVisualizer protocol for improved conformance of subclasses
2024-06-08 11:02:39 -07:00
Andrew Kitchen
84b7c7bae7 Update to Svelte visualizer - enable all keys by default and fix binding 2024-06-02 20:30:38 -07:00
Andrew Kitchen
8b329da19d Fixes to About View frame/constraints 2024-06-02 20:12:24 -07:00
Andrew Kitchen
bb9c152b0e Convert KCAppController to ARC 2024-06-02 20:12:24 -07:00
Andrew Kitchen
9c820de98c Fix issue where QCView wouldn't render after the first time 2024-06-02 20:12:24 -07:00
Andrew Kitchen
0f5cfc44df Cleanup and apply suggested project updates.
Also includes some frame adjustments, not finished
2024-06-02 20:12:24 -07:00
Andrew Kitchen
aef01f047d Modernize to fix further value transformer warnings
A trivial NSSecureUnarchiveFromDataTransformer subclass is added to resolve a new warning in the KCDefaultVisualizer nib
2024-06-02 20:12:13 -07:00
Andrew Kitchen
90c4fad5b3 Fix remaining deprecation warnings 2024-05-29 20:28:41 -07:00
Andrew Kitchen
3184088a92 Fix more/new deprecation warnings 2024-05-29 19:53:51 -07:00