Commit Graph

1155 Commits

Author SHA1 Message Date
ShikiSuen 6b22f3d6f1 IMEState // Change marking style for .ofCandidates(). 2023-06-29 21:46:47 +08:00
ShikiSuen a7e3013a1f InputHandler // Fix markers for .ofCandidates(). 2023-06-29 21:46:47 +08:00
ShikiSuen 3c8fe42f9f InputHandler // Patch generateStateOfInputting() to fix markers. 2023-06-29 21:46:47 +08:00
ShikiSuen 86c407a16d LMCassette // Auto-generate `%quick` results when appropriate. 2023-06-29 21:46:47 +08:00
ShikiSuen 45925c3263 InputHandler // Still block leading letter-type wildcardKey. 2023-06-29 21:46:47 +08:00
ShikiSuen 7eadd01904 LMMgr // Fix LMPlainBopomofo file extensions to plist. 2023-06-29 21:46:47 +08:00
ShikiSuen 51754bcb5c PrefUI & PrefWindow // Update certain descriptive texts. 2023-06-29 21:46:47 +08:00
ShikiSuen 83eb9da3e1 SessionCtl // Add initial char for `%quick` candidates (IMK). 2023-06-29 21:46:47 +08:00
ShikiSuen 996a1348f2 Update Data - 20230627 2023-06-27 15:40:01 +08:00
ShikiSuen 5b58442d67 Repo // Tweak alsoConfirmAssociatedCandidatesByEnter(). 2023-06-27 15:40:01 +08:00
ShikiSuen beed28efe8 Main // Hardcode the InputMethodConnectionName. 2023-06-27 15:40:01 +08:00
ShikiSuen 7561096d0d Repo // Refine `%quick` experiences with IMKCandidates. 2023-06-27 15:40:01 +08:00
ShikiSuen 723437d085 InputHandler // Deduplicate `%quick` results for IMKCandidates. 2023-06-27 15:40:01 +08:00
ShikiSuen b33d89abec InputHandler // Unseal `%quick` for IMKCandidates. 2023-06-27 15:40:01 +08:00
ShikiSuen 6c87a29fb0 IMKCandidates // Dissolve InputHandler.handleEvent(), etc. 2023-06-27 15:40:01 +08:00
ShikiSuen 8dc7c027fc IMKCandidates // Patch highlightedIndex(). 2023-06-27 15:40:01 +08:00
ShikiSuen 234c2656b7 SessionCtl // Patch fixIndexForIMKCandidates(), etc. 2023-06-27 15:40:01 +08:00
ShikiSuen f346ff198e IMEState // Patch isCandidateContainer(). 2023-06-27 15:40:01 +08:00
ShikiSuen 9756f4da2a SessionCtl // Update notices regarding FB10978412. 2023-06-27 15:40:01 +08:00
ShikiSuen 1fabd619e0 SessionCtl // Unseal `%quick` selectionKeys for IMKCandidates. 2023-06-27 15:40:01 +08:00
ShikiSuen 094e95e617 InputHandler // Fix candidate window origin during .ofInputting(). 2023-06-27 15:40:01 +08:00
ShikiSuen 4af9794653 InputHandler // Straightly triage the event if IMKCandidates is OFF. 2023-06-27 15:40:01 +08:00
ShikiSuen 59383f0e20 InputHandler // Allow typing wildcard symbol as punctuation. 2023-06-27 15:40:01 +08:00
ShikiSuen 3708c1e124 SessionCtl // Add callNotification(). 2023-06-27 15:40:01 +08:00
ShikiSuen cbdcb1a7c8 SessionCtl // Add isBootingUp(). 2023-06-27 15:40:01 +08:00
ShikiSuen 45c8620c01 InputHandler // +useSpaceToCommitHighlightedSCPCCandidate(). 2023-06-27 15:40:01 +08:00
ShikiSuen e8cd2ebb8f PrefUI // +useSpaceToCommitHighlightedSCPCCandidate(). 2023-06-27 15:40:01 +08:00
ShikiSuen 1338e29a3e PrefWindow // +useSpaceToCommitHighlightedSCPCCandidate(). 2023-06-27 15:40:01 +08:00
ShikiSuen e9cc464f65 Prefs // +useSpaceToCommitHighlightedSCPCCandidate(). 2023-06-27 15:40:01 +08:00
ShikiSuen f7872810ad InputHandler // Do handleBackSpace() correctly with `%quick`. 2023-06-27 15:40:01 +08:00
ShikiSuen 309cd03291 Repo // Update certain symbol names. 2023-06-27 15:40:01 +08:00
ShikiSuen d98e17afaa InputHandler // Still use Shift key under certain candidate context. 2023-06-27 15:40:01 +08:00
ShikiSuen 78ce8aef1d SessionCtl // Show correct indicators for certain modifiers. 2023-06-27 15:40:01 +08:00
ShikiSuen a53f96ee2f InputHandler // Bind areCandidateKeysShiftPressed(). 2023-06-27 15:40:01 +08:00
ShikiSuen 7d899b4af1 SessionCtl // Optimize selectionKeys(). 2023-06-27 15:40:01 +08:00
ShikiSuen e6cb5974a7 SessionCtl // Comment update. 2023-06-27 15:40:01 +08:00
ShikiSuen 2d3d0d3fc2 Repo // Simplify conditions for updatePopupDisplayWithCursor(). 2023-06-27 15:40:01 +08:00
ShikiSuen d271ec1a14 SessionCtl // Update composition buffer for .ofSymbolTable(). 2023-06-27 15:40:01 +08:00
ShikiSuen 0a711697bb InputHandler // Reorder when `%quick` inputs are handled. 2023-06-27 15:40:01 +08:00
ShikiSuen 7df892c541 InputHandler // Use .ofSymbolTable() to handle `%symboldef`. 2023-06-27 15:40:01 +08:00
ShikiSuen a6ccb51172 InputHandler // Constantiate a never-mutate var. 2023-06-27 15:40:01 +08:00
ShikiSuen 0794c5a466 Update Data - 20230617 2023-06-18 11:09:30 +08:00
ShikiSuen 276555ed95 Repo // Force Shift+Candidate in `%quick` mode in some cases. 2023-06-18 11:09:30 +08:00
ShikiSuen 2a5f02601c PrefWindow & PrefUI // Maintenance fix. 2023-06-18 11:09:25 +08:00
ShikiSuen f38db788a5 PrefMgr // Upgrade sanity check for candidate keys. 2023-06-18 11:09:25 +08:00
ShikiSuen 20368fcd91 SessionCtl // Extract resetCandidateWindowOrigin(). 2023-06-18 11:09:25 +08:00
ShikiSuen adc4d918c6 InputHandler // Lower the priority of handling `%quick`. 2023-06-18 11:09:25 +08:00
ShikiSuen 86e86eedaf Prefs // State that `%quick` is not ready for IMKCandidates. 2023-06-18 11:09:25 +08:00
ShikiSuen ba98ebf0a7 InputHandler // Handle inputs for `%quick`. 2023-06-18 11:09:25 +08:00
ShikiSuen b0c2bfc54e SessionCtl // Cope with `%quick` candidates. 2023-06-17 16:25:54 +08:00
ShikiSuen 5f2fb57f91 IMEState // Extend isCandidateContainer(). 2023-06-17 16:25:54 +08:00
ShikiSuen b33f974a00 Shared // Allow maximum 10 selection keys. 2023-06-17 16:25:54 +08:00
ShikiSuen a22e396c6f InputHandler // Accept Shift-combined chars as strokes. 2023-06-17 16:25:54 +08:00
ShikiSuen 7f99b2f76a SessionCtl // Share isASCIIMode across all sessions for a client. 2023-06-17 16:25:54 +08:00
ShikiSuen 7c64b4aaf4 InputHandler // Fix isConsideredEmptyForNow(). 2023-06-17 16:25:54 +08:00
ShikiSuen f140471995 InputHandler // Also allow Cmd+Shift+Ctrl+[]. 2023-06-17 16:25:54 +08:00
ShikiSuen ffd7db4bca Repo // Allow hot-toggling IMKCandidates. 2023-06-17 16:25:54 +08:00
ShikiSuen af715ad8d8 NSEvent // Make .text() safer. 2023-06-17 16:25:54 +08:00
ShikiSuen d92c5d3669 InputHandler // Use Space to cancel code-point input. 2023-06-17 16:25:54 +08:00
ShikiSuen 950c9ea554 InputHandler // Refactor handleCandidate(). 2023-06-17 16:25:54 +08:00
ShikiSuen 8562c35535 InputHandler // Refactor handleInput() to triageInput(). 2023-06-17 16:25:54 +08:00
ShikiSuen 05213c04b1 SessionCtl // Keep IMKCandidates shown when needed. 2023-06-17 16:25:54 +08:00
ShikiSuen e773ae759c Pref // Again disable enableSwiftUIForTDKCandidates by default. 2023-06-17 16:25:54 +08:00
ShikiSuen 3f0f308c81 Repo // Compatibility with Xcode 15. 2023-06-17 16:25:54 +08:00
ShikiSuen 3b4060fabf Update Data - 20230606 2023-06-06 00:47:02 +08:00
ShikiSuen d4c50ac47b Repo // Fix IMKServer connection name.
* The InputMethodKit Beijing presentation (WWDC2006) discouraged the inclusion of periods in the IMKServer connection name. However, this doesn't fit the fact that recent macOS assumes that the connection name should always be `$(PRODUCT_BUNDLE_IDENTIFIER)_Connection`.
2023-06-06 00:47:02 +08:00
ShikiSuen 90f6fa53b8 PrefMgr // Use SwiftUI for TDKCandidates by default. 2023-06-06 00:47:02 +08:00
ShikiSuen bea40d7e75 InputHandler // Introduce hotkeys for candidate manipulation. 2023-06-06 00:47:02 +08:00
ShikiSuen bf8d9f30f0 InputHandler // Tweak pipeline for NSEvents with empty texts. 2023-06-06 00:47:02 +08:00
ShikiSuen 53182e2690 IMKCandidates // Implement updateDisplay(). 2023-06-06 00:47:02 +08:00
ShikiSuen 730c5b6ff7 IMKCandidates // Update documentation. 2023-06-06 00:47:02 +08:00
ShikiSuen 135b9dc1e4 IMKCandidates // Stop crashing on activating new session. 2023-06-06 00:47:02 +08:00
ShikiSuen f99c16169e Repo // Use JSON as factory dictionary format. 2023-06-06 00:47:02 +08:00
ShikiSuen 07da96d775 Data // Use JSON in lieu of Plist for factory dictionaries. 2023-06-06 00:47:02 +08:00
ShikiSuen d269c82bcd PrefUI // Fix a compilation error happened with Xcode 14.3. 2023-06-06 00:47:02 +08:00
ShikiSuen 682aaf5053 TDKCandidates // Make CandidatePool into a class, etc. 2023-06-06 00:47:02 +08:00
ShikiSuen fc29b52f8f SessionCtl // Use selectionRange() and replacementRange(). 2023-06-06 00:47:02 +08:00
ShikiSuen 4888a0dc54 SessionCtl // Use annotationSelected(). 2023-06-06 00:47:02 +08:00
ShikiSuen 785840c02e PrefWindow // Sync text changes from PrefUI. 2023-06-06 00:47:02 +08:00
ShikiSuen 6ab57f5165 Repo // Typo fix: LatinKeyboardMappings. 2023-06-06 00:47:02 +08:00
ShikiSuen eeff5c699b Update Data - 20230526 2023-05-26 00:38:22 +08:00
ShikiSuen e5a0c34778 Repo // Update CNS tag to 2023-05-19. 2023-05-26 00:37:29 +08:00
ShikiSuen 8811613b10 Repo // Integrate Alvin Liu parser support. 2023-05-26 00:37:29 +08:00
ShikiSuen a1fd56b872 Repo // Use new tags for pinyin parsers. 2023-05-26 00:37:29 +08:00
ShikiSuen e9c4f845d6 Repo // Stablize the static AppDelegate instance. 2023-05-26 00:37:29 +08:00
ShikiSuen a22eed4578 Repo // Use monochrome menu icons. 2023-05-26 00:37:29 +08:00
ShikiSuen ddeb5e51d6 Repo // Fix mistakes in info.plist file. 2023-05-26 00:37:29 +08:00
ShikiSuen e5143b9b4f SessionCtl // Turn off ASCII mode while switching CHS/CHT. 2023-05-26 00:37:29 +08:00
ShikiSuen 1edce13f67 InputHandler // Show tooltip on overriding previous intonation. 2023-05-26 00:37:29 +08:00
ShikiSuen 6963784e59 InputHander // Show tooltip for standalone intonation marks. 2023-05-26 00:37:29 +08:00
ShikiSuen ce611799dc IMEState // Track the index of unfinished readings / strokes. 2023-05-26 00:37:29 +08:00
ShikiSuen 53ad30ebdd PrefWindow // Bind acceptLeadingIntonations(). 2023-05-26 00:37:29 +08:00
ShikiSuen ad950038fd PrefUI // Bind acceptLeadingIntonations(). 2023-05-26 00:37:29 +08:00
ShikiSuen de56d83484 InputHandler // Bind acceptLeadingIntonations(). 2023-05-26 00:37:29 +08:00
ShikiSuen 7fb48357c4 Prefs // Add acceptLeadingIntonations(). 2023-05-26 00:37:29 +08:00
ShikiSuen 628e062e41 Shared // Fix a name typo in UserDefaults. 2023-05-26 00:37:29 +08:00
ShikiSuen c946064385 Tekkon // (v1.4.2) Integrate phonabetKeyForQuery(). 2023-05-26 00:37:29 +08:00
ShikiSuen 3f427ae94f InputHandler // Accepting leading intonations. 2023-05-26 00:37:29 +08:00
ShikiSuen c11cf4200c InputHandler // Remove (BOOL)keyConsumedByStrokes. 2023-05-26 00:37:29 +08:00
ShikiSuen dd13a1218e InputHandler // Simplify handleComposition(). 2023-05-26 00:37:29 +08:00
ShikiSuen a81fe379c2 InputHandler // Fix a fatal error with validity check. 2023-05-26 00:37:29 +08:00
ShikiSuen 8d8c0246fe PrefUI // Remove useless blank lines. 2023-05-26 00:37:29 +08:00
ShikiSuen 94109b25b1 Update Data - 20230501 2023-05-01 21:03:05 +08:00
ShikiSuen 2c3bd26b73 InputHandler // Fix several issues with Pinyin handling.
- Stop committing unfinished pinyin.
- Detect isReadingKeyNotEmpty for Tekkon RomajiBuffer.
2023-05-01 21:03:05 +08:00
ShikiSuen cd5977e18f CheatSheet // Update for v3.4.7 release. 2023-05-01 21:03:05 +08:00
ShikiSuen 5bdddc069d SessionCtl // Add switchInputMode() with its menu item. 2023-05-01 21:03:05 +08:00
ShikiSuen 8d9d8e1b23 i18n // Fix certain localization keys. 2023-05-01 21:03:05 +08:00
ShikiSuen 7d776baed5 IMEState // Remove useless variables, etc.
* Also reordering certain variables.
2023-05-01 21:03:05 +08:00
ShikiSuen b1f256ef05 SessionCtl // Use AttributeStrings generated by new methods. 2023-05-01 21:03:05 +08:00
ShikiSuen 1e27947579 IMEState // Get marking attributes from SessionCtl. 2023-05-01 21:03:05 +08:00
ShikiSuen 3b85bd6d7d SessionCtl // Implement selectionRange(), etc. 2023-05-01 21:03:05 +08:00
ShikiSuen b4d6d54f57 i18n // Fix certain descriptions. 2023-05-01 21:03:05 +08:00
ShikiSuen 3aeb865bda SessionCtl // Allow non-Qwerty layouts for certain parsers. 2023-05-01 21:03:05 +08:00
ShikiSuen 8bc621f126 NSEventImpl // Implement .layoutTranslated(). 2023-05-01 21:03:05 +08:00
ShikiSuen 96e63ce5cb CtlPrefWindow // clang-format. 2023-05-01 21:03:05 +08:00
ShikiSuen 21d1d516f2 Update Data - 20230415 2023-04-15 15:08:38 +08:00
ShikiSuen 5fb420adf1 Main // Use system NSSound by default. 2023-04-15 15:08:38 +08:00
ShikiSuen 4947f49043 SessionCtl // Again stop handling nulled NSEvents. 2023-04-15 15:08:38 +08:00
ShikiSuen e098b5a229 Update Data - 20230405 2023-04-05 20:26:07 +08:00
ShikiSuen a031c0d61b Repo // Always fix input mode on activateServer(). 2023-04-05 20:26:07 +08:00
ShikiSuen 553b493006 PrefWindow // Dynamically render the parser menu. 2023-04-05 20:26:07 +08:00
ShikiSuen 49dd4b1a9a Repo // Add Wade-Gyles pinyin support. 2023-04-05 20:26:07 +08:00
ShikiSuen a6542df9bc InputHandler // Also update marker when previewing candidates. 2023-04-05 20:26:07 +08:00
ShikiSuen 650dbc13c8 IMEStateData // Prevent cursors from being out of bounds. 2023-04-05 20:26:07 +08:00
ShikiSuen 421268e620 SessionCtl // Use hidePalettes() when needed. 2023-04-05 20:26:07 +08:00
ShikiSuen 0639e9e289 Revert "SessionCtl // Use GCD for certain state tasks."
This reverts commit 852eed07e2.
2023-04-05 20:26:07 +08:00
ShikiSuen 22e077ecc5 Update Data - 20230323 2023-03-23 21:17:43 +08:00
ShikiSuen d386a93784 IMEStateData // Update isFilterable(), etc. 2023-03-23 21:17:43 +08:00
ShikiSuen 78a950e355 LMAssembly & LMMgr // Add countPhrasePairs(), etc. 2023-03-23 21:17:43 +08:00
ShikiSuen 6a2a2de195 InputHandler // Remove useless conditions when nerfing single kanjis. 2023-03-23 21:17:43 +08:00
ShikiSuen e4275a753e LMMgr // Concurrency. 2023-03-23 21:17:43 +08:00
ShikiSuen 852eed07e2 SessionCtl // Use GCD for certain state tasks. 2023-03-23 21:17:43 +08:00
ShikiSuen 0f44861440 SessionCtl // Implement hidePalletes(). 2023-03-23 21:17:43 +08:00
ShikiSuen f76d0b6f96 InputHandler // Syncing changes from Megrez v2.6.2-v2.6.3 update. 2023-03-23 21:17:43 +08:00
ShikiSuen 53528016f0 Update Data - 20230312 2023-03-12 14:56:14 +08:00
ShikiSuen 12e9caf557 LMMgr // Fix tagOverrides(). 2023-03-12 14:56:14 +08:00
ShikiSuen 03913cb71c InputHandler // Bring cursor jump to the marking mode.
* Certain models of ThinkPad USB Keyboard don't support Alt+Shift+→, hence the choice of Command key as the alternative modifier key for this function.
2023-03-12 14:56:14 +08:00
ShikiSuen c5b3083b48 InputHandler // Use updatePopupDisplayWithCursor() if needed. 2023-03-12 14:56:14 +08:00
ShikiSuen e4be1ecd3d InputHandler // Extend upperCaseLetterKeyBehavior(). 2023-03-12 14:56:14 +08:00
ShikiSuen c2ea8f254d Prefs // Extend upperCaseLetterKeyBehavior(). 2023-03-12 14:56:14 +08:00
ShikiSuen 0423ce727c SessionCtl // Implement updatePopupDisplayWithCursor(). 2023-03-12 14:56:14 +08:00
ShikiSuen 6ff195c438 Update Data - 20230310 2023-03-10 16:02:08 +08:00
ShikiSuen b44a8d1a59 SessionCtl // Implement candidatePairHighlightChanged(). 2023-03-10 16:02:08 +08:00
ShikiSuen 79aa073b7a InputHandler // Implement previewCompositionBufferForCandidate(). 2023-03-10 16:02:08 +08:00
ShikiSuen 8535fc1711 Repo // Sync changes from Megrez v2.6.0 update. 2023-03-10 16:02:08 +08:00
ShikiSuen 22ead33ba9 SessionCtl // Refactor candidatePairSelectionConfirmed(). 2023-03-10 16:02:08 +08:00
ShikiSuen 625897a744 Repo // Call candidatePairHighlightChanged() when appropriate. 2023-03-10 16:02:08 +08:00
ShikiSuen fc49bebc5d Repo // API changes for further purposes. 2023-03-10 16:02:08 +08:00
ShikiSuen a2f5606579 Repo // Add parameter names for ([String], String). 2023-03-10 16:02:08 +08:00
ShikiSuen e6696d910d Repo // Refactoring the entire LMMgr. 2023-03-10 16:02:08 +08:00