Commit Graph

77 Commits

Author SHA1 Message Date
Ken Wakasa
24a0b71a67 Merge "Clip touch event at SoftInputWindow to handle the event from Inset" into honeycomb 2011-01-25 05:42:36 -08:00
Tadashi G. Takaoka
7bd6c20f26 Clip touch event at SoftInputWindow to handle the event from Inset
Bug: 3238092
Change-Id: I92d98bed75957c8db149e1ad87defe24d44f4d53
2011-01-25 18:02:55 +09:00
Ken Wakasa
a308c0326b Fix NPE in IInputMethodSessionWrapper.executeMessage
bug: 3384715
Change-Id: I4bd8f2b505318a9b3e17dccf6a583dc7f36a8a24
2011-01-25 14:02:07 +09:00
Gilles Debunne
8cbb4c6e30 NULL inputType text fields should never show the IME.
Bug 3381317

Changes made in https://android-git.corp.google.com/g/#change,91880
displayed the IME onFocus. However, the test was not consistent to what
is done in touch event. textIsEditable is now checked too.

Change-Id: If11382c1c90a557839b87d62494253470c42b621
2011-01-24 12:33:56 -08:00
satok
0e5bf5051b Merge "Show ime switch icon when there is a hard keyboard" into honeycomb 2011-01-20 19:47:43 -08:00
satok
865b97761c Show ime switch icon when there is a hard keyboard
Change-Id: Ife3a8733b1a1bf43b195ecf4b8c5082b6538d0a0
2011-01-21 12:28:01 +09:00
Jim Miller
6465f77537 Fix 3374446: Allow multiple shift keys in Keyboard.
This fixes a bug introduced in 3c6dd8f9 because we now
have two shift keys. The code now tracks a global state
and looks for up to two shift keys.

Update after review and added code to handle extra
invalidate required by additional shift key.

Change-Id: Ic1728dd0ceec089089cd1beca1b0b30565d6e658
2011-01-20 18:20:12 -08:00
Jeff Brown
fbf0977321 Support non-rectangular input regions.
This enables the system bar to carve out a region through which
events will be sent to the IME behind it.

Bug: 3238092
Change-Id: I69b855a8d9b5b3ee525266c0861826e53e5b5028
2011-01-16 18:58:49 -08:00
Dianne Hackborn
d922ae01ca Add Holo theme for IMEs.
Also clean up theme selection code to get rid of duplication.

Change-Id: Idf7b21db70ee83fce24756ead877169bd08b77a9
2011-01-14 12:28:23 -08:00
Jeff Brown
6b53e8daa6 Added support for full PC-style keyboards.
BREAKING CHANGE: Redesigned the key character map format to
accomodate full keyboards with more comprehensive suite of modifiers.
Old key character maps will not work anymore and must be updated.
The new format is plain text only and it not compiled to a binary
file (so the "kcm" tool will be removed in a subsequent check-in).

Added FULL keyboard type to support full PC-style keyboards.

Added SPECIAL_FUNCTION keyboard type to support special function
keypads that do not have any printable keys suitable for typing
and only have keys like HOME and POWER

Added a special VIRTUAL_KEYBOARD device id convention that maps
to a virtual keyboard with a fixed known layout.  This is designed
to work around issues injecting input events on devices whose
built-in keyboard does not have a useful key character map (ie.
when the built-in keyboard is a special function keyboard only.)

Modified several places where events were being synthesized
to use the virtual keyboard.

Removed support for the "qwerty" default layout.
The new default layout is "Generic".  For the most part "qwerty"
was being used as a backstop in case the built-in keyboard did
not have a key character map (probably because it was a special
function keypad) and the framework needed to be able to inject
key events anyways.  The latter issue is resolved by using the
special VIRTUAL_KEYBOARD device instead of BUILT_IN_KEYBOARD.

Added the concept of a key modifier behavior so that
MetaKeyKeyListener can distinguish between keyboards that use
chorded vs. toggled modifiers.

Wrote more robust key layout and key character map parsers
to enable support for new keyboard features and user installable
key maps.

Fixed a bug in InputReader generating key ups when keys
are released out of sequence.

Updated tons of documentation.

Currently QwertyKeyListener is being used for full keyboards
with autotext and capitalization disabled.  This mostly works
but causes some problems with character pickers, etc.
These issues will be resolved in subsequent changes.

Change-Id: Ica48f6097a551141c215bc0d2c6f7b3fb634d354
2010-11-18 09:49:03 -08:00
satok
9ef0283bdc Change API for getting InputMethodSubtype's mode from resource id to String
Change-Id: I00aa99f8ab9901d40806a6bb336ab718eb857e8b
2010-11-05 11:40:56 +09:00
Dianne Hackborn
dea3ef7967 Add new resize mode to not resize, new web input types.
Change-Id: Ib098c03793d08532c3c099b59d0cc6b567e54900
2010-10-29 16:59:15 -07:00
satok
06487a58be Add a functionarity for showing / hiding IME button on the system bar
Bug: 3077030

- IME communicates with status bar directly.

Change-Id: Ic5b6b5b7a2b8ea62372dcc9b9c36d81b9f2db651
2010-10-30 03:17:40 +09:00
Gilles Debunne
2493c164b0 resolved conflicts for merge of 2da9338c to master
Change-Id: I190aed34c356d26142dfa355adbdb9c7ff22a4af
2010-10-11 10:37:51 -07:00
Gilles Debunne
f8d8149501 Made paste work in ExtractEditText
Bug 3064925

Instead of always passing the menu item to the original TextView, do that only
for the 'Select word' option. More ExtractEditText magic, but this ZBB so...

Change-Id: Ic4cb0526dbb9711e2f13a916b997f480307dcad1
2010-10-08 18:23:49 -07:00
satok
ab751aa085 Add methods for managing subtypes
- added showInputMethodSubtypePicker to public API
-- show the selector dialog for subtypes
- added getter, setter and event handler to InputMethodManagerService
- extract InputMethodSubtype to the top level class for using it in aidl
- TODO: make an enabler for input method subtypes
- TODO: handle the event of changing an input method subtype in LatinIME

Change-Id: I49f8c6675ac4b06511635d14a37bd398738eff33
2010-09-23 16:25:07 +09:00
Tadashi G. Takaoka
2c7ab0854e am a79433cb: am ecd43cca: Merge "Initialize Keyboard.Key attributes from parent Keyboard.Row" into gingerbread
Merge commit 'a79433cb66c83b3a27e94e42aef95cbae752bcc5'

* commit 'a79433cb66c83b3a27e94e42aef95cbae752bcc5':
  Initialize Keyboard.Key attributes from parent Keyboard.Row
2010-09-17 00:05:52 -07:00
Tadashi G. Takaoka
b65b7cb580 Initialize Keyboard.Key attributes from parent Keyboard.Row
Bug: 3009940
Change-Id: I22ef3e507c31e46b7581e20bcdd6b5ebc750adfe
2010-09-17 15:40:35 +09:00
Gilles Debunne
dbd25cdbc3 Made text selection work in ExtractEditText. DO NOT MERGE
Change insertion point on tap is no longer handled by the CommitSelectionReceiver
(as it is not called by ExtractEditText).

Fixed a bug to handle drawing positions when the internal TextView scroller is used.

Change-Id: I87398c7109c5527d21dee6abbdb925848244d594
2010-09-07 18:07:30 -07:00
Gilles Debunne
9e0a9d84e6 am ff46a5c9: am d2fbabad: Merge "Fixed single line state on TextView." into gingerbread
Merge commit 'ff46a5c9bd55c492925ffcb608510a0a3dd8a969'

* commit 'ff46a5c9bd55c492925ffcb608510a0a3dd8a969':
  Fixed single line state on TextView.
2010-08-31 16:35:53 -07:00
Gilles Debunne
e67b58a347 Fixed single line state on TextView.
singleLine flag is set to false by default. However, when no singleLine or input
type is provided, the inputType of the TextView is not set to
EditorInfo.TYPE_TEXT_FLAG_MULTI_LINE for edit texts.

Change-Id: Id747d3319afcddb3ab6ae0463947e8b3e470ef73
2010-08-31 16:02:18 -07:00
Jae Yong Sung
8171b5182f lock screen for xlarge
Change-Id: Iab9f53609bf24be774752a9960aaaa654d7a614f
2010-08-13 15:08:05 -07:00
Tadashi G. Takaoka
0972d071cd Fix KeyboardView's verticalCorrection handling
Do not correct the touch point if it is within the range of
verticalCorrection from the top of KeyboardView, so that the touch
point will not have negative y-axis value.

Bug: 2659128

Change-Id: I91a3e65fc5dee1383dbbfb45690e307fc0adc1d1
2010-07-30 16:08:47 -07:00
The Android Open Source Project
007ad7700a merge from open-source master
Change-Id: If72ad6758c9e1bf77c38c4afec6b00ec9d5b89e4
2010-05-03 16:19:31 -07:00
Steve Kondik
59eb69192c Fix an NPE in InputMethodService when mExtractAction is null.
This happens with certain third-party IMEs.

Fixes: http://code.google.com/p/cyanogenmod/issues/detail?id=231

Change-Id: Idf4349ee9c7c8f73c255745bc65b49ba9b593874
2010-04-28 16:37:01 -07:00
The Android Open Source Project
c89704a77f merge from open-source master
Change-Id: I6a8109d11dabc579501c598ab2927cf802797130
2010-03-29 10:57:04 -07:00
Amith Yamasani
42973a4a03 Move the key feedback bubble to the side if there's not enough room above. bug: 2519903 2010-03-19 17:21:44 -07:00
Kenny Root
15a4d2ffd0 Add correct copyright headers to multiple files
Format for the list of changes shows the origin commit reference followed
by the file name.

33931-p9 awt/org/apache/harmony/awt/gl/font/AndroidGlyphVector.java
33931-p9 awt/org/apache/harmony/awt/gl/image/PngDecoderJava.java
133776-p9 core/java/android/app/IntentService.java
127013-p9 core/java/android/appwidget/AppWidgetHost.java
27863-p9 core/java/android/bluetooth/BluetoothAudioGateway.java
60765-p9 core/java/android/content/SyncResult.java
43920-p9 core/java/android/content/pm/ActivityInfo.java
43920-p9 core/java/android/content/pm/ApplicationInfo.java
43920-p9 core/java/android/content/pm/InstrumentationInfo.java
43920-p9 core/java/android/content/pm/PackageInfo.java
44103-p9 core/java/android/content/pm/PackageItemInfo.java
68960-p9 core/java/android/content/pm/PackageStats.java
43920-p9 core/java/android/content/pm/ResolveInfo.java
43920-p9 core/java/android/content/pm/ServiceInfo.java
60641-p9 core/java/android/content/res/Configuration.java
60734-p9 core/java/android/content/res/TypedArray.java
137672-p9 core/java/android/inputmethodservice/ExtractButton.java
123112-p9 core/java/android/inputmethodservice/ExtractEditText.java
119291-p9 core/java/android/inputmethodservice/IInputMethodSessionWrapper.java
112946-p9 core/java/android/inputmethodservice/IInputMethodWrapper.java
115078-p9 core/java/android/os/BatteryStats.java
124790-p9 core/java/android/text/style/UpdateAppearance.java
45083-p9 core/java/android/view/RawInputEvent.java
101491-p9 core/java/android/view/inputmethod/EditorInfo.java
114701-p9 core/java/android/view/inputmethod/ExtractedText.java
123112-p9 core/java/android/view/inputmethod/ExtractedTextRequest.java
119291-p9 core/java/com/android/internal/os/HandlerCaller.java
129279-p9 core/java/com/android/internal/os/PkgUsageStats.java
114701-p9 core/java/com/android/internal/view/IInputConnectionWrapper.java
114701-p9 core/java/com/android/internal/view/InputConnectionWrapper.java
84364-p9 opengl/java/android/opengl/EGLLogWrapper.java
11355-p9 opengl/tools/glgen/src/CFunc.java
11355-p9 opengl/tools/glgen/src/CType.java
11355-p9 opengl/tools/glgen/src/CodeEmitter.java
11355-p9 opengl/tools/glgen/src/GenerateGL.java
11355-p9 opengl/tools/glgen/src/JFunc.java
11355-p9 opengl/tools/glgen/src/JType.java
11355-p9 opengl/tools/glgen/src/JniCodeEmitter.java
11355-p9 opengl/tools/glgen/src/ParameterChecker.java
57236-p9 services/java/com/android/server/status/AnimatedImageView.java
66754-p9 services/java/com/android/server/status/CloseDragHandle.java
57188-p9 services/java/com/android/server/status/DateView.java
46928-p9 services/java/com/android/server/status/ExpandedView.java
70590-p9 services/java/com/android/server/status/FixedSizeDrawable.java
45968-p9 services/java/com/android/server/status/IconData.java
57470-p9 services/java/com/android/server/status/IconMerger.java
82719-p9 services/java/com/android/server/status/LatestItemView.java
45968-p9 services/java/com/android/server/status/NotificationData.java
66754-p9 services/java/com/android/server/status/NotificationLinearLayout.java
57458-p9 services/java/com/android/server/status/NotificationViewList.java
45968-p9 services/java/com/android/server/status/StatusBarException.java
45968-p9 services/java/com/android/server/status/StatusBarIcon.java
46130-p9 services/java/com/android/server/status/StatusBarNotification.java
45968-p9 services/java/com/android/server/status/StatusBarView.java
46199-p9 services/java/com/android/server/status/Ticker.java
62286-p9 services/java/com/android/server/status/TickerView.java
57188-p9 services/java/com/android/server/status/TrackingView.java
86041-p9 telephony/java/android/telephony/PhoneStateListener.java
87020-p9 telephony/java/com/android/internal/telephony/TelephonyIntents.java
136269-p9 telephony/java/com/android/internal/telephony/gsm/SpnOverride.java
34409-p9 tests/FrameworkTest/src/com/android/frameworktest/FrameworkTestApplication.java
55717-p9 tests/FrameworkTest/src/com/android/frameworktest/performance/InvalidateCycle.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/AutoCompleteTextViewActivityLandscape.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/AutoCompleteTextViewActivityPortrait.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityNonScrollablePanScan.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityNonScrollableResize.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityScrollablePanScan.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityScrollableResize.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/BottomEditTextActivityPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/BottomEditTextActivityResize.java
127341-p9 tests/ImfTest/src/com/android/imftest/samples/ButtonActivity.java
129347-p9 tests/ImfTest/src/com/android/imftest/samples/DialogActivity.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/EditTextActivityDialog.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityNoScrollPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityScrollPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityScrollResize.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/OneEditTextActivityNotSelected.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/OneEditTextActivitySelected.java
25959-p9 tests/framework-tests/src/android/test/FrameworkTests.java
46162-p9 tests/framework-tests/src/com/android/internal/http/multipart/MultipartTest.java
77101-p9 tools/layoutlib/bridge/tests/com/android/layoutlib/bridge/NinePatchTest.java
9788976b14 core/java/android/accounts/AuthenticatorDescription.java
5333288354 core/java/android/app/UiModeManager.java
93e7e22ec9 core/java/android/app/FullBackupAgent.java
328c0e7986 core/java/android/content/CursorEntityIterator.java
307da1a46b core/java/android/content/SyncQueue.java
307da1a46b core/java/android/content/SyncOperation.java
eb034652c2 core/java/android/content/pm/LabeledIntent.java
49237345d8 core/java/android/content/pm/FeatureInfo.java
a2b6c3775e core/java/android/content/pm/PackageInfoLite.java
3ecd5f4375 core/java/android/content/pm/RegisteredServicesCacheListener.java
5ebbb4a6b3 core/java/android/content/pm/XmlSerializerAndParser.java
c4516a7b62 core/java/android/database/sqlite/SQLiteTransactionListener.java
9bbc21a773 core/java/com/android/internal/backup/LocalTransport.java
21f1bd17b2 core/java/com/android/internal/content/PackageMonitor.java
4c62fc0e1e core/java/com/android/internal/view/BaseSurfaceHolder.java
4c62fc0e1e core/java/com/android/internal/view/BaseIWindow.java
e540833fdf core/java/com/android/internal/os/SamplingProfilerIntegration.java
192ab90388 core/tests/coretests/src/android/widget/expandablelistview/PositionTesterContextMenuListener.java
1619367ab8 media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaProfileReader.java
27f8002e59 opengl/tools/glgen/stubs/gles11/glGetString.java
560814f6b1 opengl/tools/glgen/stubs/gles11/glGetProgramInfoLog.java
560814f6b1 opengl/tools/glgen/stubs/gles11/glGetShaderInfoLog.java
560814f6b1 opengl/tools/glgen/stubs/gles11/glShaderSource.java
1c4907ee77 opengl/tools/glgen/src/GenerateGLES.java
1c4907ee77 opengl/tools/glgen/src/Jsr239CodeEmitter.java
1c4907ee77 opengl/tools/glgen/src/GLESCodeEmitter.java
69e21f5f6e opengl/tests/gldual/src/com/android/gldual/TriangleRenderer.java
c028be4f3b packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java
7c6efa13f1 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerMeasurement.java
7c6efa13f1 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerTestActivity.java
7c6efa13f1 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerTestRunner.java
df8a3f31d8 tests/BrowserTestPlugin/src/com/android/testplugin/TestPlugin.java
cfaef699e1 tests/permission/src/com/android/framework/permission/tests/ActivityManagerPermissionTests.java
cfaef699e1 tests/permission/src/com/android/framework/permission/tests/ServiceManagerPermissionTests.java
cfaef699e1 tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java

Copyright header moved to top in following file:

core/tests/coretests/src/android/widget/ListViewTest.java

Change-Id: I3c3198be5a0ba36e18679ed834170432bf0b8418
2010-03-11 18:22:10 -08:00
Amith Yamasani
a8b00c8801 Logging to track down an elusive bug with Messaging app losing IME focus in landscape.
bug: 2200728
2010-03-05 15:41:31 -08:00
Devin Taylor
0c33ed2992 Fix Memory Leak When Switching Input Methods
Fixes a memory leak when input methods are switched. Uses a variety of methods
to avoid holding a reference to the InputMethodService which created the binders,
which was leaking those InputMethodServices.

See http://code.google.com/p/android/issues/detail?id=6661 for reproduction steps.
2010-02-24 09:17:04 -06:00
Amith Yamasani
7aa936e836 Fix key debounce (was too aggressive and buggy) and dismiss mini keyboard on cancel event.
Set a 70ms debounce time - i.e., if you spend less than 70ms on the touch-up key,
which was less time than the time spent on the previous key (assuming they weren't the same),
then don't emit the last key. Use the previous key that you lingered on for longer.
2010-02-11 18:51:25 -08:00
Jim Miller
0b31970cac Fix 2402303: Split Keyboard widget from LatinIME into reusable PasswordEntryKeyboardView
- Added new PasswordEntryKeyboardView to internal/widgets.  Widget supports:
	- alpha mode with symbols (latin-1 only).
	- a numeric keyboard
	- IME emulation that applies keyboard input to arbitrary top-level view widget.
- Added new transparent assets to framework resources.
- Modified Keyguard and Keyguard layouts to use new PasswordEntryKeyboardView.
2010-02-08 21:04:39 -08:00
Amith Yamasani
ec5df83c5b Fix to enable having a primary index that's not the closest match.
Needed for predictive hit target correction in LatinIME.
2010-02-08 15:26:00 -08:00
Romain Guy
46a61bb730 Prevent crash in KeyboardView when the view is 0x0.
See http://code.google.com/p/android/issues/detail?id=6374
2010-02-08 11:57:55 -08:00
Leon Scroggins
a77f93f76a am ace8addc: am 2edd6826: Create a new ImeOption that disables fullscreen in landscape, and use it.
Merge commit 'ace8addce47efc03be5038eef48d7fb066b14aae'

* commit 'ace8addce47efc03be5038eef48d7fb066b14aae':
  Create a new ImeOption that disables fullscreen in landscape, and use it.
2010-01-13 06:15:38 -08:00
Leon Scroggins
2edd68260f Create a new ImeOption that disables fullscreen in landscape, and use it.
EditorInfo:
Add a flag to tell the InputMethodService to never go into fullscreen
mode.

InputMethodService:
When the new flag is set, onEvaluateFullscreenMode always returns
false.

WebTextView:
Use the new flag, along with IME_FLAG_NO_EXTRACT_UI.  Fixes
http://b/issue?id=2358360
2010-01-12 17:29:25 -05:00
Romain Guy
980a938c1c Deprecate fill_parent and introduce match_parent.
Bug: #2361749.
2010-01-08 15:11:38 -08:00
Amith Yamasani
4d2c27b145 Fix for 2345922: Press and hold space in ?123 mode will give .....
Abort the repeat sequence until the next touch down event.
2010-01-05 14:06:18 -08:00
Amith Yamasani
0743a389e8 Close popup when Keyboard gets a CANCEL motion event.
Needed for Extension keyboard feature.
2009-12-08 14:18:19 -08:00
Jean-Baptiste Queru
9db3d07b96 eclair snapshot 2009-11-13 13:53:39 -08:00
Amith Yamasani
678cdbe55e Fix build. 2009-10-27 11:45:08 -07:00
Amith Yamasani
aea1b3b24e Disambiguation between multiple pointers and swipe gestures.
Sometimes quickly touching the screen with two fingers will result
in the firmware thinking one finger moved very quickly. This code
tries to identify the difference between the two based on velocity
of the last N points versus the velocity of the last M points and
figure out if there was mostly acceleration or a sudden deceleration.

It's still not perfect and very dependent on the touch hardware.
2009-10-27 10:27:49 -07:00
Amith Yamasani
ebe3d518ff Fix possible race condition when switching keyboards while there are pending messages. 2009-09-17 15:03:40 -07:00
Dianne Hackborn
83fe3f5592 Last big work on #1991910: Make swipes work with capacitive keys
This takes care of allowing us to cancel the back button.  The
back button is a bear because it is strewn all over the place --
everywhere you can close something, there is some code looking
for the back button that now needs to deal with being canceled.

The main things changed are activity (of course), dialog,
input method, search dialog.  There are some other misc places
in the framework (and some I missed here that I will get in a
second pass).

To facility all of this, the key dispatching APIs now provide
a lot more support for dealing with looking for cancelled keys,
and incidentally also provide an actual API for catching long
key presses.  This also helped clean up the code in PhoneWindow
where it deals with all of the combinations of key pressed and
releases.  (And also allows people to override
Activity.onKeyLongPress() to provide a different long press
action for a standard key like search.)

And while I was doing this, I reworked how we detect long
presses by having this be part of the key event delivered by
the window manager.  This should greatly reduce (hopefully
outright eliminate) the problems with long presses being
mis-detected when an application is being slow.

Change-Id: Ia19066b8d588d573df3eee6d96e1c90fdc19f57d
2009-09-14 17:53:52 -07:00
Amith Yamasani
8b37eb0c2a Fix bug 2045914: When pressing 2 keys, sometimes the second key gets stuck.
Also lock repeatable keys so that you don't get space and 'v', for example,
when you move just a little bit off the spacebar.
2009-08-19 20:05:43 -07:00
Amith Yamasani
ba4d93fcd7 Potential fix for NPE at startExtractingText.
This is not easy to reproduce. Adding a simple null check to see if the
monkeys continue to hit the NPE.
2009-08-19 18:29:45 -07:00
Amith Yamasani
ae09878698 Increase search radius for adjacent keys, to reduce unpredictability of
suggestions.
2009-08-13 13:00:12 -07:00
Amith Yamasani
29d85df051 Remove delay for key feedback bubble.
Most users seem to expect the feedback to show up right away. So
remove the delay before the bubble shows up.
2009-08-11 16:45:07 -07:00
Amith Yamasani
e877ec632c Use multi-pointer support to improve 2-thumb typing. No more missed keys!
Also reduce garbage when switching between keyboards.
2009-08-06 11:32:06 -07:00
Jean-Baptiste Queru
5c1207be90 donut snapshot 2009-07-31 17:38:20 -07:00