hiroshiyui / GuilelessBopomofo

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

Support Colemak-DH keyboard layouts #41

Closed hiroshiyui closed 3 weeks ago

hiroshiyui commented 5 months ago

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

hiroshiyui commented 5 months 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 5 months 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 5 months ago

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