diff --git a/ui-html/webview2/settings/ime-settings/src/modules/config-sync.ts b/ui-html/webview2/settings/ime-settings/src/modules/config-sync.ts
index 5779f0a7..3e9439a9 100644
--- a/ui-html/webview2/settings/ime-settings/src/modules/config-sync.ts
+++ b/ui-html/webview2/settings/ime-settings/src/modules/config-sync.ts
@@ -160,6 +160,10 @@ function applyConfigData(data: Record): void {
const checkbox = document.getElementById('pagingCommaPeriodCheckbox') as HTMLInputElement | null;
if (checkbox) checkbox.checked = data.general.paging_comma_period;
}
+ if (typeof data?.general?.paging_brackets === 'boolean') {
+ const checkbox = document.getElementById('pagingBracketsCheckbox') as HTMLInputElement | null;
+ if (checkbox) checkbox.checked = data.general.paging_brackets;
+ }
if (typeof data?.general?.paging_page_up_down === 'boolean') {
const checkbox = document.getElementById('pagingPageUpDownCheckbox') as HTMLInputElement | null;
if (checkbox) checkbox.checked = data.general.paging_page_up_down;
diff --git a/ui-html/webview2/settings/ime-settings/src/modules/input.ts b/ui-html/webview2/settings/ime-settings/src/modules/input.ts
index 78f21b51..28a6c8eb 100644
--- a/ui-html/webview2/settings/ime-settings/src/modules/input.ts
+++ b/ui-html/webview2/settings/ime-settings/src/modules/input.ts
@@ -196,6 +196,13 @@ export function setupInput(): void {
setupPageOptions();
setupFrequencyOptions();
setupToggleButton('wordToCharacterToggleBtn', (active) => {
+ if (active) {
+ const pagingBrackets = document.getElementById('pagingBracketsCheckbox') as HTMLInputElement | null;
+ if (pagingBrackets?.checked) {
+ pagingBrackets.checked = false;
+ updateConfig('general.paging_brackets', false);
+ }
+ }
updateConfig('input.word_to_character', active);
});
setupToggleButton('alwaysChinesePunctuationToggleBtn', (active) => {
@@ -295,12 +302,17 @@ function setupPageOptions(): void {
const configPaths: Record = {
minus: 'general.paging_minus_equal',
comma: 'general.paging_comma_period',
+ brackets: 'general.paging_brackets',
tab: 'general.paging_tab',
page: 'general.paging_page_up_down',
arrow: 'general.candidate_arrow_navigation'
};
const path = configPaths[checkbox.value];
if (path) updateConfig(path, checkbox.checked);
+ if (checkbox.value === 'brackets' && checkbox.checked) {
+ applyToggleState('wordToCharacterToggleBtn', false);
+ updateConfig('input.word_to_character', false);
+ }
});
});
}
diff --git a/ui-html/webview2/settings/ime-settings/src/partials/input.html b/ui-html/webview2/settings/ime-settings/src/partials/input.html
index f4d805c6..0c600563 100644
--- a/ui-html/webview2/settings/ime-settings/src/partials/input.html
+++ b/ui-html/webview2/settings/ime-settings/src/partials/input.html
@@ -107,6 +107,8 @@
+
+
@@ -231,7 +233,7 @@