diff --git a/app/src/main/java/cfpi_fpsi/eu/titanboard/IME.java b/app/src/main/java/cfpi_fpsi/eu/titanboard/IME.java index e055aa6..d14e422 100644 --- a/app/src/main/java/cfpi_fpsi/eu/titanboard/IME.java +++ b/app/src/main/java/cfpi_fpsi/eu/titanboard/IME.java @@ -22,6 +22,7 @@ package cfpi_fpsi.eu.titanboard; import android.annotation.SuppressLint; import android.inputmethodservice.InputMethodService; import android.os.Vibrator; +import android.util.Log; import android.view.KeyEvent; import android.view.View; import android.view.inputmethod.EditorInfo; @@ -37,7 +38,6 @@ import java.util.Deque; // TODO: Implement long-click for extra keys. // TODO: Implement auto-correct. // TODO: Implement auto-caps. -// TODO: Implement language switcher. // TODO: Implement device recognition and a keymap picking based on it. // TODO: Make preferences accessible and saveable. @@ -108,6 +108,8 @@ public class IME extends InputMethodService { return false; } + Log.d("STATE", "Sending key: " + key + " whose keyCode is: " + keyCode); + conn.commitText(key, 1); mMetaKeyManager.adjustMetaStateAfterKeypress(); diff --git a/app/src/main/java/cfpi_fpsi/eu/titanboard/KeymapManager.java b/app/src/main/java/cfpi_fpsi/eu/titanboard/KeymapManager.java index e646b2b..80e9bd5 100644 --- a/app/src/main/java/cfpi_fpsi/eu/titanboard/KeymapManager.java +++ b/app/src/main/java/cfpi_fpsi/eu/titanboard/KeymapManager.java @@ -19,6 +19,8 @@ package cfpi_fpsi.eu.titanboard; +import android.util.Log; + import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; @@ -41,6 +43,9 @@ public class KeymapManager { if (type == XmlPullParser.START_TAG && parser.getName().equals("keymap")) { keymap = new Keymap(); + lang = null; + shortLabel = null; + label = null; for (int i = 0; i < parser.getAttributeCount(); ++i) { switch (parser.getAttributeName(i)) { case "lang": @@ -54,13 +59,20 @@ public class KeymapManager { break; } } + Log.d("STATE", "BEGINNING OF KEYMAP: " + label); } else if (type == XmlPullParser.END_TAG && parser.getName().equals("keymap")) { + Log.d("STATE", "END OF KEYMAP: " + label); keymap.mShortLabel = shortLabel; keymap.mLabel = label; mKeymaps.put(lang, keymap); } if (type == XmlPullParser.START_TAG && parser.getName().equals("key")) { + none = null; + shift = null; + alt = null; + sym = null; + shiftSym = null; for (int i = 0; i < parser.getAttributeCount(); ++i) { String attr = parser.getAttributeName(i); switch (attr) { @@ -84,6 +96,7 @@ public class KeymapManager { break; } } + Log.d("STATE", "Key code: " + code + ". Value sym: " + sym); } else if (type == XmlPullParser.END_TAG && parser.getName().equals("key")) { keymap.put(code, new Key(none, shift, alt, sym, shiftSym)); } diff --git a/app/src/main/java/cfpi_fpsi/eu/titanboard/MetaKeyManager.java b/app/src/main/java/cfpi_fpsi/eu/titanboard/MetaKeyManager.java index b658d91..118e684 100644 --- a/app/src/main/java/cfpi_fpsi/eu/titanboard/MetaKeyManager.java +++ b/app/src/main/java/cfpi_fpsi/eu/titanboard/MetaKeyManager.java @@ -145,42 +145,38 @@ public class MetaKeyManager { setUsed(false); } - public void setPressed(boolean state) { - mPressed = state; - } - - public void setLatched(boolean state) { - mLatched = state; - } - - public void setLocked(boolean state) { - mLocked = state; - } - - public void setUsed(boolean state) { - mUsed = state; - } - - public void setKeyUpTime(long time) { - mKeyUpTime = time; - } - public boolean isPressed() { return mPressed; } + public void setPressed(boolean state) { + mPressed = state; + } + public boolean isLatched() { return mLatched; } + public void setLatched(boolean state) { + mLatched = state; + } + public boolean isLocked() { return mLocked; } + public void setLocked(boolean state) { + mLocked = state; + } + public boolean isUsed() { return mUsed; } + public void setUsed(boolean state) { + mUsed = state; + } + public boolean isActive() { return isPressed() || isLocked() || isLatched(); } @@ -189,6 +185,10 @@ public class MetaKeyManager { return mKeyUpTime; } + public void setKeyUpTime(long time) { + mKeyUpTime = time; + } + public enum MetaKeyType { ALT, SHIFT, diff --git a/app/src/main/res/xml/keymaps_titan.xml b/app/src/main/res/xml/keymaps_titan.xml index dd6a7b3..6c57045 100644 --- a/app/src/main/res/xml/keymaps_titan.xml +++ b/app/src/main/res/xml/keymaps_titan.xml @@ -491,7 +491,7 @@ code="30" none="β" shift="Β" /> - + - + - + + shiftSym="Ё" + sym="ё" /> - + - + shiftSym="Б" + sym="б" /> + - + - + - + - + - + - + - + - + - + shiftSym="Ъ" + sym="ъ" /> + - + - + - + shiftSym="Ж" + sym="ж" /> + - + shiftSym="Ю" + sym="ю" /> + - + shiftSym="Х" + sym="х" /> + - + - + shiftSym="Э" + sym="э" /> + - + - + - + - + - + + android:label="Default" /> \ No newline at end of file