some comments, re-arrange hangul related part in inputLogic

This commit is contained in:
Helium314 2023-09-15 19:26:19 +02:00
parent 4cdabe2680
commit baa7df8cda
2 changed files with 13 additions and 3 deletions

View file

@ -1,7 +1,9 @@
package org.dslul.openboard.inputmethod.latin.define package org.dslul.openboard.inputmethod.latin.define
object ProductionFlags { object ProductionFlags {
const val IS_HARDWARE_KEYBOARD_SUPPORTED = true const val IS_HARDWARE_KEYBOARD_SUPPORTED = true // was set to true in hangul branch
// todo: test whether there are issues
// hangul dev apparently did use it at least the hangul hardware event decoder in latinIme suggests it
/** /**
* Include all suggestions from all dictionaries in * Include all suggestions from all dictionaries in

View file

@ -59,6 +59,7 @@ import org.dslul.openboard.inputmethod.latin.suggestions.SuggestionStripViewAcce
import org.dslul.openboard.inputmethod.latin.utils.AsyncResultHolder; import org.dslul.openboard.inputmethod.latin.utils.AsyncResultHolder;
import org.dslul.openboard.inputmethod.latin.utils.InputTypeUtils; import org.dslul.openboard.inputmethod.latin.utils.InputTypeUtils;
import org.dslul.openboard.inputmethod.latin.utils.RecapitalizeStatus; import org.dslul.openboard.inputmethod.latin.utils.RecapitalizeStatus;
import org.dslul.openboard.inputmethod.latin.utils.ScriptUtils;
import org.dslul.openboard.inputmethod.latin.utils.StatsUtils; import org.dslul.openboard.inputmethod.latin.utils.StatsUtils;
import org.dslul.openboard.inputmethod.latin.utils.TextRange; import org.dslul.openboard.inputmethod.latin.utils.TextRange;
@ -444,10 +445,15 @@ public final class InputLogic {
public InputTransaction onCodeInput(final SettingsValues settingsValues, public InputTransaction onCodeInput(final SettingsValues settingsValues,
@NonNull final Event event, final int keyboardShiftMode, @NonNull final Event event, final int keyboardShiftMode,
final int currentKeyboardScriptId, final LatinIME.UIHandler handler) { final int currentKeyboardScriptId, final LatinIME.UIHandler handler) {
final Event hangulDecodedEvent = HangulEventDecoder.decodeSoftwareKeyEvent(event);
mWordBeingCorrectedByCursor = null; mWordBeingCorrectedByCursor = null;
mJustRevertedACommit = false; mJustRevertedACommit = false;
final Event processedEvent = mWordComposer.processEvent(hangulDecodedEvent); final Event processedEvent;
if (currentKeyboardScriptId == ScriptUtils.SCRIPT_HANGUL) {
final Event hangulDecodedEvent = HangulEventDecoder.decodeSoftwareKeyEvent(event);
processedEvent = mWordComposer.processEvent(hangulDecodedEvent);
} else {
processedEvent = mWordComposer.processEvent(event);
}
final InputTransaction inputTransaction = new InputTransaction(settingsValues, final InputTransaction inputTransaction = new InputTransaction(settingsValues,
processedEvent, SystemClock.uptimeMillis(), mSpaceState, processedEvent, SystemClock.uptimeMillis(), mSpaceState,
getActualCapsMode(settingsValues, keyboardShiftMode)); getActualCapsMode(settingsValues, keyboardShiftMode));
@ -739,6 +745,8 @@ public final class InputLogic {
inputTransaction.setDidAffectContents(); inputTransaction.setDidAffectContents();
break; break;
case Constants.CODE_OUTPUT_TEXT: case Constants.CODE_OUTPUT_TEXT:
// added in the hangul branch, but without this a space after a period crashes
// -> where is the change?
mWordComposer.applyProcessedEvent(event); mWordComposer.applyProcessedEvent(event);
break; break;
case Constants.CODE_START_ONE_HANDED_MODE: case Constants.CODE_START_ONE_HANDED_MODE: