hiroshiyui / GuilelessBopomofo

Guileless Bopomofo(樸實注音鍵盤)- A Bopomofo(注音符號)software keyboard (aka input method editor) on Android, which is utilizing libchewing for intelligent phonetic processing.
Other
91 stars 5 forks source link

Support Colemak-DH keyboard layouts #41

Open hiroshiyui opened 2 weeks ago

hiroshiyui commented 2 weeks ago

I want to add the Colemak-DH keyboard layouts to enhance the ergonomic affinity of this product.

hiroshiyui commented 2 weeks ago

REMINDER: currentInputConnection.sendKeyEvent(event) will send key events from IME directly via input connection, omit events such as onKeyDown() or onKeyUp(). You won't be able to simulate physical key events easily.

hiroshiyui commented 2 weeks ago

REMINDER: currentInputConnection.sendKeyEvent(event) will send key events from IME directly via input connection, omit events such as onKeyDown() or onKeyUp(). You won't be able to simulate physical key events easily.

Clarification: In Android IME, the ultimate end to input text field is InputConnection. Either physical keystroke or soft/on-screen key button click-down is doing the same task logically.

When libchewing's pre-edit buffer isn't empty, libchewing is taking responsibility to handle keystrokes (either hard or soft), otherwise InputConnection should handle string or character, commit any valid input to the target text field.

hiroshiyui commented 2 weeks ago

Perhaps I can create a class like InputConnectionManager or KeystrokeManager to deal with the related business logic.