Commit graph

36 commits

Author SHA1 Message Date
Tadashi G. Takaoka
f27364600c Implement both automatic and manual temporary upper cases
With this change,
- Shift and Shift lock state of keyboard is maintained by
  LatinKeyboard.ShiftState.
- Shift key state is maintained by ShiftKeyState object in
  KeyboardSwitcher.
- LatinIME informs KeyboardSwitcher that shift key press, release and
  long press and KeyboardSwitcher determines which state LatinKeyboard
  and ShiftLeyState should be.

Bug: 3193390
Change-Id: I948ef26fda512eb1cb0ebddc89d322c4f4f4d670
2010-11-18 19:32:59 -08:00
Tadashi G. Takaoka
10227a71a0 Implement temporary upper case hint icon
This change partially implements the requested feature. The following
are not supported yet.
- Non-letter key handling on automatic temporary upper case layout.
- Non-letter key handling on shift chording in caps lock layout.
- Hint icons for manual temporary upper case layout are not final ones.

Bug: 3193390

Change-Id: I636da99d1be05b1337935d87c6f4d140661e1cc8
2010-11-16 13:45:49 -08:00
Tadashi G. Takaoka
8aaab7c286 Should cancel both normal and shift long press timers
Bug: 3132881

Change-Id: Ib89e2efa4e68e7d57ac1123df2ec6241f1b902d1
2010-11-10 15:27:24 -08:00
Tadashi G. Takaoka
59b7bd0730 Using distance to the edge of key as proximity detection
Because there may be very long key, such as space bar on tablet, we
should not use the distance between the touch point and the center of
key as proximity detection.  Instead of that, this change uses the
distance between the point and the nearest edge of key as proximity
detection.

Also this change fixes the bug that space key (code 32) was not
counted in proximity detection.

Bug: 3164020
Bug: 3168138
Change-Id: I687f1ce94a8e944c3f6eea0fe00e18ed6e68e278
2010-11-06 01:10:55 +09:00
Tadashi Takaoka
68864723cf Rename LatinKeyboardBaseView class to KeyboardBaseView
Change-Id: I496ecbfa7d398583d01f821398f49f75d17311d8
2010-11-05 18:36:19 +09:00
Ken Wakasa
37a0f2d5de am e32a77c6: am 9dce586e: Bugfix: IME gives haptic feedback when button wasn\'t pressed
* commit 'e32a77c691567bdb3031d877e80786508bd47e4a':
  Bugfix: IME gives haptic feedback when button wasn't pressed
2010-10-28 11:38:38 -07:00
Ken Wakasa
9dce586eaa Bugfix: IME gives haptic feedback when button wasn't pressed
bug: 3142416
Change-Id: If7630b89d6c2a8ec38e191c263c03f8f11d3c498
2010-10-29 03:15:02 +09:00
Tadashi G. Takaoka
4189eb2308 Revise caps lock sequences
This change also fixes that the popup preview of ALT on symbol
keyboard is not showing.

Bug: 3122877
Bug: 3127255
Change-Id: I978cb30a0d05298274d8ab6541b91323a0fef211
2010-10-25 00:03:46 +09:00
Tadashi G. Takaoka
adf24e2eb4 Follow up change of If9472a2a
This change is follow up of If9472a2acb029e56790dc4d19ab62e608c970175

Change-Id: I0a474a130f49e2acccbb5a164bdf2984a5bd9042
2010-10-13 00:00:59 +09:00
Kenny Root
c4b93e8d90 Fix merge that should have been manually merged
master was still using the deleted constants in different places and
Java 6 didn't like the imports.

Change-Id: If9472a2acb029e56790dc4d19ab62e608c970175
2010-10-10 17:15:21 -07:00
Kenny Root
6f6dd71862 resolved conflicts for merge of 23d50bfb to master
Change-Id: Ia3fd85bd0c231f7b910b14caad38fa453a2336f6
2010-10-10 15:19:53 -07:00
Tadashi G. Takaoka
5e02930a7f Reduce delay before mini popup keyboard is shown
Before this change, the delay was 500 ms that came from
ViewConfiguration.getLongPressTimeout().  This change reduces the
delay to 400 ms.

Bug: 3074984
Change-Id: Ia5af5e877a3c4bb29211ef4040c728ac09a9fe85
2010-10-08 19:05:16 +09:00
Tadashi G. Takaoka
66e306d01c Add keyHintIcon attribute to BaseKeyboard.Key class
This keyHintIcon attribute is used to specify hint icon drawable at
top right corner of Key.

Change-Id: Icaa91e63c4473b2513396bd3fbeb8ed6fd73586c
2010-10-05 20:28:04 +09:00
satok
4fc510a789 Unbundle Keyboard.java to BaseKeyboard.java
Change-Id: I8b310c2c0cae1a151e53c22001c586697346982c
2010-10-02 00:02:00 +09:00
Tadashi G. Takaoka
afb3532779 Mini keyboard works even while shift is being pressed
Bug: 3038861
Change-Id: I94011ca80710ff6eb24e940104f7d9d3bb86840a
2010-09-29 12:36:13 +09:00
Tadashi G. Takaoka
6e5a398685 Fixed key code and key coordinates when move debounce has been in action
This change refactors a key index and pointer position variables into
a separate static inner class KeyState . This change also disables
time debouncing.

Bug: 3033737
Change-Id: Ie4fc37316c260330d8f0861e0771ea903a99cfce
2010-09-28 20:57:30 +09:00
Tadashi G. Takaoka
3a2896c804 Fix issue space key preview remains on screen and would not dismiss
The space key preview should be displayed one of the following case.
- Popup preview is enabled
- Language switcher is in action, whether popup preview is enabled or
  not.

For phone number keyboard, popup preview is never displayed even if
popup preview is enabled.

Bug: 3006612
Bug: 3021091
Change-Id: I5385c776d0e8e3981fc8d8851db9140d92599ce5
2010-09-22 15:50:31 +09:00
Tadashi G. Takaoka
2aa8078df8 All keys should be processed before processing modifier key
Bug: 2987077
Change-Id: I971c44be121d8780ec27aa1649fd0925e249fbbc
2010-09-15 18:41:54 +09:00
Tadashi G. Takaoka
eb68036798 Add keyHysteresisDistance xml attribute
This change also introduces MiniKeyboardKeyDetector and
mini_keyboad_slide_allowance parameter to tune the key detection
behavior.

Bug: 2993769
Change-Id: I1932b0a382e172cb77b9e098ae182049c834dfe0
2010-09-14 16:26:45 +09:00
Tadashi G. Takaoka
efc4a43794 Symbol key acts as modifier key
On a device that has distinct multi-touch panel, pressing '123?' key
will change keyboard layout to symbol mode.  While pressing '123?'
key, you can press other symbol key to input.  Then releasing '123?'
key will change keyboard layout back to alphabet mode.

Bug: 2973383
Change-Id: I3b069fb19141820def8060db4766a08c7c0a6ff0
2010-09-09 20:43:13 +09:00
Tadashi G. Takaoka
83e63ace2a Dismiss mini keyboard when finger is released outside mini keyboard
Bug: 2978975

Change-Id: Ie634e8ae827fe093c5c673b75d85835050b03794
2010-09-07 17:44:31 +09:00
Tadashi G. Takaoka
6252f468bc Fixed extra periods when chording with shift and space
Actually it was caused by canceling repeat key (space and delete) when
multiple pointer are touching.

Bug: 2975041
Change-Id: If82183b9225efdace7b5418860b9664f1705b7ec
2010-09-07 17:29:09 +09:00
Tadashi G. Takaoka
c8b9afe037 Support multi-touch only when device has distinct multi-touch panel
Bug: 2973373
Change-Id: I9871c09ec8c1c2aa945d97392e61ee1ec585baef
2010-09-06 17:57:13 +09:00
Tadashi G. Takaoka
e8f45ab56f One alternate is treated as key action, not open mini keyboard
This change also fixes bug#2973683.

Bug: 2973546
Bug: 2973683
Change-Id: I67573e5b7cad4af261591a4a608d0596dd7901f2
2010-09-03 20:09:21 +09:00
Tadashi G. Takaoka
c5d33b1652 Fix NPE in LatinKeyboardBaseView
This change also refactors some mini-keyboard related methods in
LatinKeyboardBaseView and PointerTracker class.

Bug: 2973236
Change-Id: I3190fe89ea3ac3c6d351ed4b6d77de98a0aa65db
2010-09-03 13:03:08 +09:00
Tadashi G. Takaoka
07221a4ad1 Support sliding pop-up mini-keyboard input
TODO:
- Remove close button on mini-keyboard
- Dismiss mini-keyboard when finger leave the screen while no key is selected

This change also renames some instance variables to have more meaningful name.

Bug: 2959169
Change-Id: I9fd79116a647d7be82415c6e9e7cdaf6edcb2bf6
2010-09-03 04:51:37 +09:00
Tadashi G. Takaoka
0fe4c9e1a7 Corresponding to TBR of Ie6cf6768
This is follow up change of Ie6cf67681180467bd8ba35d0205ce6727b7684a2

Bug: 2959169
Change-Id: I9e4cb0c9178856ddd6049f0b751b54f3ad26a266
2010-09-02 22:34:15 +09:00
Tadashi G. Takaoka
400046d62e Encapsulate vertical and horizontal correction values into KeyDetector.
Bug: 2959169
Change-Id: Id2b0b974fffdf6f09ee1828e957b973d2ce1c315
2010-09-02 21:54:26 +09:00
Tadashi G. Takaoka
3d4123fabb Add PointerTracker argument to long press related methods
This change also adds debugging log to PointerTracker class

Bug: 2959169
Change-Id: Ie6cf67681180467bd8ba35d0205ce6727b7684a2
2010-09-02 20:28:31 +09:00
Tadashi G. Takaoka
40a05f62ed Queuing PointerTracker to support n-key roll-over and shift modifier.
Bug: 2910379
Change-Id: I5cfae33e72a406585137842a2260310813cee07f
2010-09-02 16:03:46 +09:00
Tadashi G. Takaoka
c6df09182c Refactor PointerTracker to add isValidKeyIndex() predicate.
Bug: 2910379
Change-Id: If2b28764dc777bb62949a95bc61c4a16ff152220
2010-09-02 02:49:52 +09:00
Tadashi G. Takaoka
c6cb2ec1f3 Add new public attribute mPointerId to PointerTracker
It is easier to track each pointer if a PointerTracker object keeps
its pointer id.

Bug: 2910379
Change-Id: If3e3b0cf3d834d22302598f4d85d54c9a4ce92ba
2010-09-02 02:21:17 +09:00
Tadashi G. Takaoka
2085d43daf Make abstract KeyDetector class
The KeyDetector abstracts key detection algorithm. The
ProximityKeyDetector is one of its concrete implementations.  Another
one that might be called XAxisKeyDetector will follow to realize the
pop-up mini-keyboard behavior described in bug#2959169.

Bug: 2959169
Change-Id: Idd3fc53282e6b721ec7a4ce500af8aba21ce07a3
2010-09-02 01:53:26 +09:00
Tadashi G. Takaoka
681b102a49 Track all pointers events
Bug: 2910379
Change-Id: I179ae4359afb57c351d5fcc5f5453c30d3ef0c01
2010-09-01 22:37:37 +09:00
Tadashi G. Takaoka
a521b31d96 Introduce multiple PointerTracker
Bug: 2910379
Change-Id: Iefafa2d30ad16f898a00664e4bf3e3e88dcd2cb2
2010-09-01 15:59:54 +09:00
Tadashi G. Takaoka
6a1514a0de Make KeyDebounce class a top-level class and rename it to PointerTracker
Bug: 2910379
Change-Id: I9503b2211b272a4a2903d0732985e5ab8ee39440
2010-09-01 12:26:32 +09:00