Disable key preview of space, return and delete

This change also re-orders punctuation mini keyboard.

Change-Id: I987ef14fe5956d13439a0a76de367feed825314c
This commit is contained in:
Tadashi G. Takaoka 2011-04-21 18:24:41 +09:00
parent 46ca845848
commit ba9aefcc18
4 changed files with 20 additions and 15 deletions

View file

@ -48,8 +48,8 @@
<string name="alternates_for_currency_euro">¢,£,$,¥,₱</string> <string name="alternates_for_currency_euro">¢,£,$,¥,₱</string>
<string name="alternates_for_currency_pound">¢,$,€,¥,₱</string> <string name="alternates_for_currency_pound">¢,$,€,¥,₱</string>
<string name="alternates_for_smiley">":-)|:-) ,:-(|:-( ,;-)|;-) ,:-P|:-P ,=-O|=-O ,:-*|:-* ,:O|:O ,B-)|B-) ,:-$|:-$ ,:-!|:-! ,:-[|:-[ ,O:-)|O:-) ,:-\\\\\\\\|:-\\\\\\\\ ,:\'(|:\'( ,:-D|:-D "</string> <string name="alternates_for_smiley">":-)|:-) ,:-(|:-( ,;-)|;-) ,:-P|:-P ,=-O|=-O ,:-*|:-* ,:O|:O ,B-)|B-) ,:-$|:-$ ,:-!|:-! ,:-[|:-[ ,O:-)|O:-) ,:-\\\\\\\\|:-\\\\\\\\ ,:\'(|:\'( ,:-D|:-D "</string>
<string name="alternates_for_punctuation">"\?,!,\\,,:,-,\',\",(,),/,;,+,&amp;,\@"</string> <string name="alternates_for_punctuation">"\\,,\?,!,:,-,\',\",(,),/,;,+,&amp;,\@"</string>
<string name="alternates_for_web_tab_punctuation">".,\?,!,\\,,:,-,\',\",(,),/,;,+,&amp;,\@"</string> <string name="alternates_for_web_tab_punctuation">".,\\,,\?,!,:,-,\',\",(,),/,;,+,&amp;,\@"</string>
<string name="keylabel_for_popular_domain">".com"</string> <string name="keylabel_for_popular_domain">".com"</string>
<!-- popular web domains for the locale - most popular, displayed on the keyboard --> <!-- popular web domains for the locale - most popular, displayed on the keyboard -->
<string name="alternates_for_popular_domain">".net,.org,.gov,.edu"</string> <string name="alternates_for_popular_domain">".net,.org,.gov,.edu"</string>

View file

@ -338,10 +338,6 @@ public class Key {
mPressed = false; mPressed = false;
} }
public boolean isInside(int x, int y) {
return mKeyboard.isInside(this, x, y);
}
/** /**
* Detects if a point falls on this key. * Detects if a point falls on this key.
* @param x the x-coordinate of the point * @param x the x-coordinate of the point

View file

@ -174,7 +174,7 @@ public class KeyDetector {
int primaryIndex = NOT_A_KEY; int primaryIndex = NOT_A_KEY;
for (final int index : mKeyboard.getNearestKeys(touchX, touchY)) { for (final int index : mKeyboard.getNearestKeys(touchX, touchY)) {
final Key key = keys.get(index); final Key key = keys.get(index);
final boolean isInside = key.isInside(touchX, touchY); final boolean isInside = mKeyboard.isInside(key, touchX, touchY);
final int distance = key.squaredDistanceToEdge(touchX, touchY); final int distance = key.squaredDistanceToEdge(touchX, touchY);
if (isInside || (mProximityCorrectOn && distance < mProximityThresholdSquare)) { if (isInside || (mProximityCorrectOn && distance < mProximityThresholdSquare)) {
final int insertedPosition = sortNearbyKeys(index, distance); final int insertedPosition = sortNearbyKeys(index, distance);

View file

@ -560,15 +560,24 @@ public class PointerTracker {
} }
} }
private void showKeyPreview(int keyIndex) { // The modifier key, such as shift key, should not show its key preview. If accessibility is
// turned on, the modifier key should show its key preview.
private boolean isKeyPreviewNotRequired(int keyIndex) {
final Key key = getKey(keyIndex); final Key key = getKey(keyIndex);
if (key != null && !key.mEnabled) if (!key.mEnabled)
return; return true;
// The modifier key, such as shift key, should not be shown as preview when multi-touch is if (mIsAccessibilityEnabled)
// supported. On the other hand, if multi-touch is not supported, the modifier key should return false;
// be shown as preview. If accessibility is turned on, the modifier key should be shown as // Such as spacebar sliding language switch.
// preview. if (mKeyboard.needSpacebarPreview(keyIndex))
if (mHasDistinctMultitouch && isModifier() && !mIsAccessibilityEnabled) return false;
final int code = key.mCode;
return isModifierCode(code) || code == Keyboard.CODE_DELETE
|| code == Keyboard.CODE_ENTER || code == Keyboard.CODE_SPACE;
}
private void showKeyPreview(int keyIndex) {
if (isKeyPreviewNotRequired(keyIndex))
return; return;
mProxy.showKeyPreview(keyIndex, this); mProxy.showKeyPreview(keyIndex, this);
} }