{ "title": "Improved Input Candidate Selection", "rules": [ { "description": "[Improved Input Candidate Selection] left_ctrl p/n for up/down paging", "manipulators": [ { "conditions": [ { "input_sources": [ { "language": "^zh-Hans$" }, { "language": "^zh-Hant$" }, { "language": "^yue-Hant$" }, { "language": "^ja$" } ], "type": "input_source_if" } ], "from": { "key_code": "n", "modifiers": { "mandatory": [ "left_control" ] } }, "to": [ { "key_code": "down_arrow" } ], "type": "basic" }, { "conditions": [ { "input_sources": [ { "language": "^zh-Hans$" }, { "language": "^zh-Hant$" }, { "language": "^yue-Hant$" }, { "language": "^ja$" } ], "type": "input_source_if" } ], "from": { "key_code": "p", "modifiers": { "mandatory": [ "left_control" ] } }, "to": [ { "key_code": "up_arrow" } ], "type": "basic" } ] }, { "description": "[Improved Input Candidate Selection] Vi-style movements (left_control + hjkl)", "manipulators": [ { "conditions": [ { "input_sources": [ { "language": "^zh-Hans$" }, { "language": "^zh-Hant$" }, { "language": "^yue-Hant$" }, { "language": "^ja$" } ], "type": "input_source_if" } ], "from": { "key_code": "h", "modifiers": { "mandatory": [ "control" ] } }, "to": [ { "key_code": "left_arrow" } ], "type": "basic" }, { "conditions": [ { "input_sources": [ { "language": "^zh-Hans$" }, { "language": "^zh-Hant$" }, { "language": "^yue-Hant$" }, { "language": "^ja$" } ], "type": "input_source_if" } ], "from": { "key_code": "j", "modifiers": { "mandatory": [ "control" ] } }, "to": [ { "key_code": "down_arrow" } ], "type": "basic" }, { "conditions": [ { "input_sources": [ { "language": "^zh-Hans$" }, { "language": "^zh-Hant$" }, { "language": "^yue-Hant$" }, { "language": "^ja$" } ], "type": "input_source_if" } ], "from": { "key_code": "k", "modifiers": { "mandatory": [ "control" ] } }, "to": [ { "key_code": "up_arrow" } ], "type": "basic" }, { "conditions": [ { "input_sources": [ { "language": "^zh-Hans$" }, { "language": "^zh-Hant$" }, { "language": "^yue-Hant$" }, { "language": "^ja$" } ], "type": "input_source_if" } ], "from": { "key_code": "l", "modifiers": { "mandatory": [ "control" ] } }, "to": [ { "key_code": "right_arrow" } ], "type": "basic" } ] }, { "description": "[Improved Input Candidate Selection] Tab to select the next candidate (not recommended)", "manipulators": [ { "conditions": [ { "input_sources": [ { "language": "^zh-Hans$" }, { "language": "^zh-Hant$" }, { "language": "^yue-Hant$" }, { "language": "^ja$" } ], "type": "input_source_if" } ], "from": { "key_code": "tab" }, "to": [ { "key_code": "right_arrow" } ], "type": "basic" }, { "conditions": [ { "input_sources": [ { "language": "^zh-Hans$" }, { "language": "^zh-Hant$" }, { "language": "^yue-Hant$" }, { "language": "^ja$" } ], "type": "input_source_if" } ], "from": { "key_code": "tab", "modifiers": { "mandatory": [ "left_shift" ] } }, "to": [ { "key_code": "left_arrow" } ], "type": "basic" } ] } ] }