Added initial key override support. Use at own risk.
This commit is contained in:
parent
161e27d8af
commit
738fc6db36
8 changed files with 302 additions and 231 deletions
10
keymap.txt.sample
Normal file
10
keymap.txt.sample
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
DPAD_CENTER 23
|
||||
DPAD_DOWN 20
|
||||
DPAD_UP 19
|
||||
DPAD_LEFT 21
|
||||
DPAD_RIGHT 22
|
||||
SOFT_RIGHT 2
|
||||
SOFT_LEFT 1
|
||||
DEL 67
|
||||
BACK 4
|
||||
ENTER 66
|
||||
|
|
@ -66,6 +66,7 @@
|
|||
<string name="pref_restore_nofile">Fehler: Sicherungsdatei nicht gefunden.</string>
|
||||
<string name="pref_nuke_warn">Warnung: Dies wird das gesamte Wörterbuch löschen. Fortfahren?</string>
|
||||
<string name="pref_nuke_title">IME-Wörterbuch löschen</string>
|
||||
<string name="pref_reloadKeys">Force reload of key overrides</string>
|
||||
|
||||
<string name="hello_world">Hallo Welt!</string>
|
||||
|
||||
|
|
|
|||
|
|
@ -61,6 +61,7 @@
|
|||
<string name="pref_mode_notify_subtitle">Используется для озвучивания изменения режима ввода.</string>
|
||||
<string name="pref_mode_notify">Режим уведомления</string>
|
||||
<string name="database_settings_notready">Database unavailable. Using default settings.</string>
|
||||
<string name="pref_reloadKeys">Force reload of key overrides</string>
|
||||
|
||||
<string name="title_activity_add_word">Добавить слово</string>
|
||||
<string name="traditionalt9_settings">Traditional T9 настройки</string>
|
||||
|
|
|
|||
|
|
@ -68,6 +68,7 @@
|
|||
<string name="pref_restore_nofile">Error: Backup file not found.</string>
|
||||
<string name="pref_nuke_warn">Warning: This will delete your entire dictionary. Do you wish to continue?</string>
|
||||
<string name="pref_nuke_title">Nuke IME dictionary</string>
|
||||
<string name="pref_reloadKeys">Force reload of key overrides</string>
|
||||
|
||||
<string name="hello_world">Hello world!</string>
|
||||
|
||||
|
|
|
|||
|
|
@ -26,4 +26,5 @@
|
|||
<Setting title="@string/pref_nukedict" id="nukedict"/>
|
||||
<Setting title="@string/pref_backupdict" id="backupdict"/>
|
||||
<Setting title="@string/pref_restoredict" id="restoredict"/>
|
||||
<Setting title="@string/pref_reloadKeys" id="reloadKeys"/>
|
||||
</Settings>
|
||||
|
|
|
|||
84
src/org/nyanya/android/traditionalt9/KeyMap.java
Normal file
84
src/org/nyanya/android/traditionalt9/KeyMap.java
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
package org.nyanya.android.traditionalt9;
|
||||
|
||||
import android.os.Environment;
|
||||
import android.util.Log;
|
||||
import android.view.KeyEvent;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
|
||||
public class KeyMap {
|
||||
public static final String keymapfname = "keymap.txt";
|
||||
|
||||
public static int DPAD_CENTER = KeyEvent.KEYCODE_DPAD_CENTER;
|
||||
public static int DPAD_DOWN = KeyEvent.KEYCODE_DPAD_DOWN;
|
||||
public static int DPAD_UP = KeyEvent.KEYCODE_DPAD_UP;
|
||||
public static int DPAD_LEFT = KeyEvent.KEYCODE_DPAD_LEFT;
|
||||
public static int DPAD_RIGHT = KeyEvent.KEYCODE_DPAD_RIGHT;
|
||||
public static int SOFT_RIGHT = KeyEvent.KEYCODE_SOFT_RIGHT;
|
||||
public static int SOFT_LEFT = KeyEvent.KEYCODE_SOFT_LEFT;
|
||||
public static int DEL = KeyEvent.KEYCODE_DEL;
|
||||
public static int BACK = KeyEvent.KEYCODE_BACK;
|
||||
public static int ENTER = KeyEvent.KEYCODE_ENTER;
|
||||
|
||||
static {
|
||||
setKeys();
|
||||
}
|
||||
|
||||
public static void setKeys() {
|
||||
// check storage
|
||||
if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(Environment.getExternalStorageState())
|
||||
|| Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {
|
||||
// check for file
|
||||
if ((new File(new File(Environment.getExternalStorageDirectory(), TraditionalT9Settings.sddir),
|
||||
keymapfname)).exists()) {
|
||||
BufferedReader br = null;
|
||||
Log.d("KeyMap", "Attemping to load keys");
|
||||
try {
|
||||
br = new BufferedReader(new FileReader(new File(
|
||||
new File(Environment.getExternalStorageDirectory(), TraditionalT9Settings.sddir), keymapfname)));
|
||||
String line;
|
||||
try {
|
||||
while ((line = br.readLine()) != null) {
|
||||
String[] ws = line.split(" ");
|
||||
if (ws.length != 2) {continue;}
|
||||
try {
|
||||
if (ws[0].equals("DPAD_CENTER")) {
|
||||
DPAD_CENTER = Integer.parseInt(ws[1]);
|
||||
} else if (ws[0].equals("DPAD_DOWN")) {
|
||||
DPAD_DOWN = Integer.parseInt(ws[1]);
|
||||
} else if (ws[0].equals("DPAD_UP")) {
|
||||
DPAD_UP = Integer.parseInt(ws[1]);
|
||||
} else if (ws[0].equals("DPAD_LEFT")) {
|
||||
DPAD_LEFT = Integer.parseInt(ws[1]);
|
||||
} else if (ws[0].equals("DPAD_RIGHT")) {
|
||||
DPAD_RIGHT = Integer.parseInt(ws[1]);
|
||||
} else if (ws[0].equals("SOFT_RIGHT")) {
|
||||
SOFT_RIGHT = Integer.parseInt(ws[1]);
|
||||
} else if (ws[0].equals("SOFT_LEFT")) {
|
||||
SOFT_LEFT = Integer.parseInt(ws[1]);
|
||||
} else if (ws[0].equals("DEL")) {
|
||||
DEL = Integer.parseInt(ws[1]);
|
||||
} else if (ws[0].equals("BACK")) {
|
||||
BACK = Integer.parseInt(ws[1]);
|
||||
} else if (ws[0].equals("ENTER")) {
|
||||
ENTER = Integer.parseInt(ws[1]);
|
||||
}
|
||||
} catch (NumberFormatException _ignore) {
|
||||
Log.w("T9.KeyMap", "Invalid number found");
|
||||
}
|
||||
}
|
||||
Log.d("KeyMap", "Done.");
|
||||
} catch (IOException _ignore) {
|
||||
Log.e("T9.KeyMap", "Error while reading line.");
|
||||
try { br.close(); }
|
||||
catch (IOException ignored) {}
|
||||
}
|
||||
} catch (FileNotFoundException ignored) { }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -488,36 +488,34 @@ public class TraditionalT9 extends InputMethodService implements
|
|||
keyCode = KeyEvent.KEYCODE_STAR;
|
||||
break;
|
||||
case 72:
|
||||
keyCode = KeyEvent.KEYCODE_SOFT_RIGHT;
|
||||
keyCode = KeyMap.SOFT_RIGHT;
|
||||
break;
|
||||
case 71:
|
||||
keyCode = KeyEvent.KEYCODE_SOFT_LEFT;
|
||||
keyCode = KeyMap.SOFT_LEFT;
|
||||
break;
|
||||
}
|
||||
|
||||
switch (keyCode) {
|
||||
case KeyEvent.KEYCODE_DPAD_CENTER:
|
||||
if (keyCode == KeyMap.DPAD_CENTER) {
|
||||
if (interfacehandler != null) {
|
||||
interfacehandler.setPressed(keyCode, true);
|
||||
} // pass-through
|
||||
case KeyEvent.KEYCODE_DPAD_DOWN:
|
||||
case KeyEvent.KEYCODE_DPAD_UP:
|
||||
case KeyEvent.KEYCODE_DPAD_LEFT:
|
||||
case KeyEvent.KEYCODE_DPAD_RIGHT:
|
||||
|
||||
|
||||
if (mEditing == EDITING_NOSHOW) {
|
||||
return false;
|
||||
}
|
||||
return handleDPAD(keyCode, event, true);
|
||||
|
||||
case KeyEvent.KEYCODE_SOFT_RIGHT:
|
||||
case KeyEvent.KEYCODE_SOFT_LEFT:
|
||||
} else if (keyCode == KeyMap.DPAD_DOWN || keyCode == KeyMap.DPAD_UP || keyCode == KeyMap.DPAD_LEFT || keyCode == KeyMap.DPAD_RIGHT) {
|
||||
if (mEditing == EDITING_NOSHOW) {
|
||||
return false;
|
||||
}
|
||||
return handleDPAD(keyCode, event, true);
|
||||
} else if (keyCode == KeyMap.SOFT_RIGHT || keyCode == KeyMap.SOFT_LEFT) {
|
||||
if (!isInputViewShown()) {
|
||||
return super.onKeyDown(keyCode, event);
|
||||
}
|
||||
break;
|
||||
|
||||
case KeyEvent.KEYCODE_DEL:
|
||||
// Special handling of the delete key: if we currently are
|
||||
} else if (keyCode == KeyMap.DEL) {// Special handling of the delete key: if we currently are
|
||||
// composing text for the user, we want to modify that instead
|
||||
// of let the application to the delete itself.
|
||||
// if (mComposing.length() > 0) {
|
||||
|
|
@ -534,43 +532,29 @@ public class TraditionalT9 extends InputMethodService implements
|
|||
if (mKeyMode == MODE_TEXT) {
|
||||
t9releasehandler.removeCallbacks(mt9release);
|
||||
}
|
||||
switch (keyCode) {
|
||||
case KeyEvent.KEYCODE_BACK:
|
||||
// The InputMethodService already takes care of the back
|
||||
if (keyCode == KeyMap.BACK) {// The InputMethodService already takes care of the back
|
||||
// key for us, to dismiss the input method if it is shown.
|
||||
// but we will manage it ourselves because native Android handling
|
||||
// of the input view is ... flakey at best.
|
||||
// Log.d("onKeyDown", "back pres");
|
||||
return isInputViewShown();
|
||||
|
||||
case KeyEvent.KEYCODE_ENTER:
|
||||
// Let the underlying text editor always handle these.
|
||||
} else if (keyCode == KeyMap.ENTER) {// Let the underlying text editor always handle these.
|
||||
return false;
|
||||
|
||||
// special case for softkeys
|
||||
case KeyEvent.KEYCODE_SOFT_RIGHT:
|
||||
case KeyEvent.KEYCODE_SOFT_LEFT:
|
||||
} else if (keyCode == KeyMap.SOFT_RIGHT || keyCode == KeyMap.SOFT_LEFT) {
|
||||
if (interfacehandler != null) {
|
||||
interfacehandler.setPressed(keyCode, true);
|
||||
}
|
||||
// pass-through
|
||||
case KeyEvent.KEYCODE_0:
|
||||
case KeyEvent.KEYCODE_1:
|
||||
case KeyEvent.KEYCODE_2:
|
||||
case KeyEvent.KEYCODE_3:
|
||||
case KeyEvent.KEYCODE_4:
|
||||
case KeyEvent.KEYCODE_5:
|
||||
case KeyEvent.KEYCODE_6:
|
||||
case KeyEvent.KEYCODE_7:
|
||||
case KeyEvent.KEYCODE_8:
|
||||
case KeyEvent.KEYCODE_9:
|
||||
case KeyEvent.KEYCODE_POUND:
|
||||
case KeyEvent.KEYCODE_STAR:
|
||||
case 94:
|
||||
|
||||
|
||||
event.startTracking();
|
||||
return true;
|
||||
default:
|
||||
// KeyCharacterMap.load(KeyCharacterMap.BUILT_IN_KEYBOARD).getNumber(keyCode)
|
||||
} else if (keyCode == KeyEvent.KEYCODE_0 || keyCode == KeyEvent.KEYCODE_1 || keyCode == KeyEvent.KEYCODE_2 || keyCode == KeyEvent.KEYCODE_3 || keyCode == KeyEvent.KEYCODE_4 || keyCode == KeyEvent.KEYCODE_5 || keyCode == KeyEvent.KEYCODE_6 || keyCode == KeyEvent.KEYCODE_7 || keyCode == KeyEvent.KEYCODE_8 || keyCode == KeyEvent.KEYCODE_9 || keyCode == KeyEvent.KEYCODE_POUND || keyCode == KeyEvent.KEYCODE_STAR || keyCode == 94) {
|
||||
event.startTracking();
|
||||
return true;
|
||||
} else {// KeyCharacterMap.load(KeyCharacterMap.BUILT_IN_KEYBOARD).getNumber(keyCode)
|
||||
// Log.w("onKeyDown", "Unhandled Key: " + keyCode + "(" +
|
||||
// event.toString() + ")");
|
||||
}
|
||||
|
|
@ -605,24 +589,23 @@ public class TraditionalT9 extends InputMethodService implements
|
|||
keyCode = KeyEvent.KEYCODE_STAR;
|
||||
break;
|
||||
case 72:
|
||||
keyCode = KeyEvent.KEYCODE_SOFT_RIGHT;
|
||||
keyCode = KeyMap.SOFT_RIGHT;
|
||||
break;
|
||||
case 71:
|
||||
keyCode = KeyEvent.KEYCODE_SOFT_LEFT;
|
||||
keyCode = KeyMap.SOFT_LEFT;
|
||||
break;
|
||||
}
|
||||
|
||||
// Log.d("onLongPress", "LONG PRESS: " + keyCode);
|
||||
// HANDLE SPECIAL KEYS
|
||||
switch (keyCode) {
|
||||
case KeyEvent.KEYCODE_POUND:
|
||||
if (keyCode == KeyEvent.KEYCODE_POUND) {
|
||||
commitReset();
|
||||
// do default action or insert new line
|
||||
if (!sendDefaultEditorAction(true)) {
|
||||
onText("\n");
|
||||
}
|
||||
return true;
|
||||
case KeyEvent.KEYCODE_STAR:
|
||||
} else if (keyCode == KeyEvent.KEYCODE_STAR) {
|
||||
if (mKeyMode != MODE_NUM) {
|
||||
if (mLangsAvailable.length > 1) {
|
||||
nextLang();
|
||||
|
|
@ -631,8 +614,8 @@ public class TraditionalT9 extends InputMethodService implements
|
|||
}
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
case KeyEvent.KEYCODE_SOFT_LEFT:
|
||||
|
||||
} else if (keyCode == KeyMap.SOFT_LEFT) {
|
||||
if (interfacehandler != null) {
|
||||
interfacehandler.setPressed(keyCode, false);
|
||||
}
|
||||
|
|
@ -643,8 +626,8 @@ public class TraditionalT9 extends InputMethodService implements
|
|||
showSymbolPage();
|
||||
}
|
||||
}
|
||||
break;
|
||||
case KeyEvent.KEYCODE_SOFT_RIGHT:
|
||||
|
||||
} else if (keyCode == KeyMap.SOFT_RIGHT) {
|
||||
if (interfacehandler != null) {
|
||||
interfacehandler.setPressed(keyCode, false);
|
||||
}
|
||||
|
|
@ -699,55 +682,50 @@ public class TraditionalT9 extends InputMethodService implements
|
|||
keyCode = KeyEvent.KEYCODE_STAR;
|
||||
break;
|
||||
case 72:
|
||||
keyCode = KeyEvent.KEYCODE_SOFT_RIGHT;
|
||||
keyCode = KeyMap.SOFT_RIGHT;
|
||||
break;
|
||||
case 71:
|
||||
keyCode = KeyEvent.KEYCODE_SOFT_LEFT;
|
||||
keyCode = KeyMap.SOFT_LEFT;
|
||||
break;
|
||||
}
|
||||
|
||||
switch (keyCode) {
|
||||
case KeyEvent.KEYCODE_DPAD_CENTER:
|
||||
if (keyCode == KeyMap.DPAD_CENTER) {
|
||||
if (interfacehandler != null) {
|
||||
interfacehandler.setPressed(keyCode, false);
|
||||
}
|
||||
case KeyEvent.KEYCODE_DPAD_DOWN:
|
||||
case KeyEvent.KEYCODE_DPAD_UP:
|
||||
case KeyEvent.KEYCODE_DPAD_LEFT:
|
||||
case KeyEvent.KEYCODE_DPAD_RIGHT:
|
||||
if (mEditing == EDITING_NOSHOW) {
|
||||
return false;
|
||||
}
|
||||
return handleDPAD(keyCode, event, false);
|
||||
|
||||
case KeyEvent.KEYCODE_SOFT_RIGHT:
|
||||
case KeyEvent.KEYCODE_SOFT_LEFT:
|
||||
} else if (keyCode == KeyMap.DPAD_DOWN || keyCode == KeyMap.DPAD_UP || keyCode == KeyMap.DPAD_LEFT || keyCode == KeyMap.DPAD_RIGHT) {
|
||||
if (mEditing == EDITING_NOSHOW) {
|
||||
return false;
|
||||
}
|
||||
return handleDPAD(keyCode, event, false);
|
||||
} else if (keyCode == KeyMap.SOFT_RIGHT || keyCode == KeyMap.SOFT_LEFT) {
|
||||
if (!isInputViewShown()) {
|
||||
return super.onKeyDown(keyCode, event);
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
if (event.isCanceled()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
switch (keyCode) {
|
||||
case KeyEvent.KEYCODE_BACK:
|
||||
if (keyCode == KeyMap.BACK) {
|
||||
if (isInputViewShown()) {
|
||||
hideWindow();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
case KeyEvent.KEYCODE_DEL:
|
||||
} else if (keyCode == KeyMap.DEL) {
|
||||
return true;
|
||||
case KeyEvent.KEYCODE_ENTER:
|
||||
} else if (keyCode == KeyMap.ENTER) {
|
||||
return false;
|
||||
|
||||
// special case for softkeys
|
||||
case KeyEvent.KEYCODE_SOFT_RIGHT:
|
||||
case KeyEvent.KEYCODE_SOFT_LEFT:
|
||||
// if (mAddingWord){
|
||||
} else if (keyCode == KeyMap.SOFT_RIGHT || keyCode == KeyMap.SOFT_LEFT) {// if (mAddingWord){
|
||||
// Log.d("onKeyUp", "key: " + keyCode + " skip: " +
|
||||
// mAddingSkipInput);
|
||||
// if (mAddingSkipInput) {
|
||||
|
|
@ -759,19 +737,8 @@ public class TraditionalT9 extends InputMethodService implements
|
|||
interfacehandler.setPressed(keyCode, false);
|
||||
}
|
||||
// pass-through
|
||||
case KeyEvent.KEYCODE_0:
|
||||
case KeyEvent.KEYCODE_1:
|
||||
case KeyEvent.KEYCODE_2:
|
||||
case KeyEvent.KEYCODE_3:
|
||||
case KeyEvent.KEYCODE_4:
|
||||
case KeyEvent.KEYCODE_5:
|
||||
case KeyEvent.KEYCODE_6:
|
||||
case KeyEvent.KEYCODE_7:
|
||||
case KeyEvent.KEYCODE_8:
|
||||
case KeyEvent.KEYCODE_9:
|
||||
case KeyEvent.KEYCODE_POUND:
|
||||
case KeyEvent.KEYCODE_STAR:
|
||||
case 94:
|
||||
|
||||
|
||||
//case KeyEvent.KEYCODE_FOCUS:
|
||||
// if (!isInputViewShown()){
|
||||
// Log.d("onKeyUp", "showing window.");
|
||||
|
|
@ -782,8 +749,18 @@ public class TraditionalT9 extends InputMethodService implements
|
|||
}
|
||||
onKey(keyCode, null);
|
||||
return true;
|
||||
default:
|
||||
// KeyCharacterMap.load(KeyCharacterMap.BUILT_IN_KEYBOARD).getNumber(keyCode)
|
||||
} else if (keyCode == KeyEvent.KEYCODE_0 || keyCode == KeyEvent.KEYCODE_1 || keyCode == KeyEvent.KEYCODE_2
|
||||
|| keyCode == KeyEvent.KEYCODE_3 || keyCode == KeyEvent.KEYCODE_4 || keyCode == KeyEvent.KEYCODE_5 || keyCode == KeyEvent.KEYCODE_6 || keyCode == KeyEvent.KEYCODE_7 || keyCode == KeyEvent.KEYCODE_8 || keyCode == KeyEvent.KEYCODE_9 || keyCode == KeyEvent.KEYCODE_POUND || keyCode == KeyEvent.KEYCODE_STAR || keyCode == 94) {//case KeyEvent.KEYCODE_FOCUS:
|
||||
// if (!isInputViewShown()){
|
||||
// Log.d("onKeyUp", "showing window.");
|
||||
// //showWindow(true);
|
||||
// }
|
||||
if (!isInputViewShown()) {
|
||||
showWindow(true);
|
||||
}
|
||||
onKey(keyCode, null);
|
||||
return true;
|
||||
} else {// KeyCharacterMap.load(KeyCharacterMap.BUILT_IN_KEYBOARD).getNumber(keyCode)
|
||||
Log.w("onKeyUp", "Unhandled Key: " + keyCode + "(" + event.toString() + ")");
|
||||
}
|
||||
commitReset();
|
||||
|
|
@ -857,36 +834,35 @@ public class TraditionalT9 extends InputMethodService implements
|
|||
// Log.d("OnKey", "pri: " + keyCode);
|
||||
// Log.d("onKey", "START Cm: " + mCapsMode);
|
||||
// HANDLE SPECIAL KEYS
|
||||
switch (keyCode) {
|
||||
case KeyEvent.KEYCODE_DEL:
|
||||
if (keyCode == KeyMap.DEL) {
|
||||
handleBackspace();
|
||||
break;
|
||||
|
||||
// change case
|
||||
case KeyEvent.KEYCODE_STAR:
|
||||
} else if (keyCode == KeyEvent.KEYCODE_STAR) {
|
||||
if (mKeyMode == MODE_NUM) {
|
||||
handleCharacter(KeyEvent.KEYCODE_STAR);
|
||||
} else {
|
||||
handleShift();
|
||||
}
|
||||
break;
|
||||
case KeyEvent.KEYCODE_BACK:
|
||||
|
||||
} else if (keyCode == KeyMap.BACK) {
|
||||
handleClose();
|
||||
break;
|
||||
|
||||
// space
|
||||
case KeyEvent.KEYCODE_POUND:
|
||||
} else if (keyCode == KeyEvent.KEYCODE_POUND) {
|
||||
handleCharacter(KeyEvent.KEYCODE_POUND);
|
||||
break;
|
||||
case KeyEvent.KEYCODE_SOFT_LEFT:
|
||||
|
||||
} else if (keyCode == KeyMap.SOFT_LEFT) {
|
||||
if (mWordFound) {
|
||||
showSymbolPage();
|
||||
} else {
|
||||
showAddWord();
|
||||
}
|
||||
break;
|
||||
case KeyEvent.KEYCODE_SOFT_RIGHT:
|
||||
|
||||
} else if (keyCode == KeyMap.SOFT_RIGHT) {
|
||||
nextKeyMode();
|
||||
break;
|
||||
default:
|
||||
|
||||
} else {
|
||||
if (keyCode >= KeyEvent.KEYCODE_0 && keyCode <= KeyEvent.KEYCODE_9) {
|
||||
handleCharacter(keyCode);
|
||||
} else {
|
||||
|
|
@ -1224,17 +1200,15 @@ public class TraditionalT9 extends InputMethodService implements
|
|||
return super.onKeyUp(keyCode, event);
|
||||
} else {
|
||||
if (mKeyMode != MODE_NUM && mComposing.length() > 0) {
|
||||
switch (keyCode) {
|
||||
case KeyEvent.KEYCODE_DPAD_DOWN:
|
||||
if (keyCode == KeyMap.DPAD_DOWN) {
|
||||
mCandidateView.scrollSuggestion(1);
|
||||
getCurrentInputConnection().setComposingText(mSuggestionStrings.get(mCandidateView.mSelectedIndex), 1);
|
||||
return true;
|
||||
case KeyEvent.KEYCODE_DPAD_UP:
|
||||
} else if (keyCode == KeyMap.DPAD_UP) {
|
||||
mCandidateView.scrollSuggestion(-1);
|
||||
getCurrentInputConnection().setComposingText(mSuggestionStrings.get(mCandidateView.mSelectedIndex), 1);
|
||||
return true;
|
||||
case KeyEvent.KEYCODE_DPAD_LEFT:
|
||||
case KeyEvent.KEYCODE_DPAD_RIGHT:
|
||||
} else if (keyCode == KeyMap.DPAD_LEFT || keyCode == KeyMap.DPAD_RIGHT) {
|
||||
if (mKeyMode == MODE_LANG) {
|
||||
commitTyped();
|
||||
} else if (mKeyMode == MODE_TEXT) {
|
||||
|
|
@ -1245,12 +1219,10 @@ public class TraditionalT9 extends InputMethodService implements
|
|||
return true;
|
||||
}
|
||||
}
|
||||
switch (keyCode) {
|
||||
case KeyEvent.KEYCODE_DPAD_CENTER:
|
||||
if (keyCode == KeyMap.DPAD_CENTER) {
|
||||
handleMidButton();
|
||||
return true;
|
||||
default:
|
||||
// Send stored event to input connection then pass current
|
||||
} else {// Send stored event to input connection then pass current
|
||||
// event onto super
|
||||
getCurrentInputConnection().sendKeyEvent(mDPADkeyEvent);
|
||||
return super.onKeyUp(keyCode, event);
|
||||
|
|
@ -1295,7 +1267,6 @@ public class TraditionalT9 extends InputMethodService implements
|
|||
}
|
||||
|
||||
private void modeNotify(String s) {
|
||||
Log.d("T9.modeNotify", "Notifying:"+s);
|
||||
modeNotification.setText(s);
|
||||
modeNotification.show();
|
||||
modeNotification.cancel(); // TODO: This will not always hide the Toast.
|
||||
|
|
|
|||
|
|
@ -720,6 +720,8 @@ public class TraditionalT9Settings extends ListActivity implements
|
|||
backupDict();
|
||||
else if (s.id.equals("restoredict"))
|
||||
restoreDict();
|
||||
else if (s.id.equals("reloadKeys"))
|
||||
KeyMap.setKeys();
|
||||
else
|
||||
s.clicked(mContext);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue