libchewing icon indicating copy to clipboard operation
libchewing copied to clipboard

New APIs for remappable keybindings

Open kanru opened this issue 1 year ago • 0 comments

Is your feature request related to a problem? Please describe.

Currently each chewing_handle_X API has predefined functionality, yet they are not documented. The behaviors are documented in the usage document only. So when IM want to disable Shift+Space for fullwidth toggle, or other behaviors, we have to provide specific options.

Describe the solution you'd like

Define public Chewing state machine states, and actions, and default key bindings. Then provide new set of APIs to configure the key bindings.

For example,

State Action Default Key Binding
Entering Input Any
Entering Toggle Fullwidth Shift + Space
Selecting Select 0 0

The selKeys option can be rebuild on top of this new feature.

Describe alternatives you've considered

Not at this moment.

Additional context

#605

kanru avatar Jul 25 '24 23:07 kanru