History log of /frameworks/base/services/java/com/android/server/KeyInputQueue.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7d9af5ae762c59e879a86e77dcb330856774bc09 19-Mar-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2512131: Trackball goes up when moving

Change-Id: Ib403de88f24bc1b6e5417732e3b69f89a5160bbc
/frameworks/base/services/java/com/android/server/KeyInputQueue.java
f5bcc6addd9c1f8f6bb8b8626540d003b3f964fa 02-Mar-2010 Adam Powell <adamp@google.com> InputDevice filtering for jumpy screens.
Updated ScaleGestureDetector for framework deprecations.
/frameworks/base/services/java/com/android/server/KeyInputQueue.java
a2e92266b3f768f74ab7fcb42972a22d6c739b39 03-Mar-2010 Dianne Hackborn <hackbod@google.com> Maybe fix issue #2482201: Paired bluetooth device looks like a qwerty keyboard

We now only consider a device to be a default keyboard if its name
has "-keypad". A hack, but whatever.

Also add some debug logging for the input state to help identify such
issues in the future.
/frameworks/base/services/java/com/android/server/KeyInputQueue.java
8a9b22056b13477f59df934928c00c58b5871c95 27-Feb-2010 Joe Onorato <joeo@android.com> Switch the services library to using the new Slog
/frameworks/base/services/java/com/android/server/KeyInputQueue.java
2269d1572e5fcfb725ea55f5764d8c3280d69f6d 25-Feb-2010 Dianne Hackborn <hackbod@google.com> Re-arrange android-common so framework no longer links with it.

This is the framework part, moving classes around so the framework
no longer needs to link to android-common. Makes some APIs public,
others that didn't need to be public are private in the framework,
some small things are copied.
/frameworks/base/services/java/com/android/server/KeyInputQueue.java
d4a4729c0cac582a2dcec7c8cfb316b81885a0f0 21-Dec-2009 Tom Taylor <tomtaylor@google.com> Update imports to android-common

Several files were moved to android-common. Update all the references
to import those files from the new location.
/frameworks/base/services/java/com/android/server/KeyInputQueue.java
1d62ea9d8c2646d198b6967e2c6ae3dad5c18f9e 17-Nov-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2249821: Unable to start passion in safe mode

Holding down the trackball now works.

Also fix a little API check warning from Intent.

Change-Id: Icb1f901535cb521917bf7f847a93c4ff7861d20e
/frameworks/base/services/java/com/android/server/KeyInputQueue.java
65cb605e5d6ba099e7ce085e284b0b46fde8cabc 11-Nov-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2248951: Need to turn off touch filtering outside of sholes

Yet another configuration!

Change-Id: Idf7fafd338a2bebd4c305c131cd9b7ae4f906a5b
/frameworks/base/services/java/com/android/server/KeyInputQueue.java
dc95372cb5b6a223ddb25a566a0f607c0a5c4e0d 19-Oct-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2191572: Difficulties drawing window shade

The touch location filtering hacks had a little problem.

Change-Id: Ib57366169c87f83af1adcc8b6a00dadc01582339
/frameworks/base/services/java/com/android/server/KeyInputQueue.java
f2ddfb15288b71b0ddaf23df5128ed6525c71cb9 14-Oct-2009 Dianne Hackborn <hackbod@google.com> Another fix for #2186897: Cannot unlock the device by swiping

This was probably a side-effect of the divide by zero exception,
but we'll be safe anyway.

Change-Id: I875200febb9b3090d12f170066b2bea74c9f77f8
/frameworks/base/services/java/com/android/server/KeyInputQueue.java
1411d1c822664bbdaa61162f7e62137bc4865e23 13-Oct-2009 Dianne Hackborn <hackbod@google.com> Work on issue #2144454: Inconsistent swipes...

This introduces some hacks in the framework to try to clean up the
data we are getting from the touch screen. There are two main things
being done here:

1. Look for changes in position that are unreasonably large, and
ignore them. This is intended to eliminate the spurious jumps that
often happen when releasing.

2. Add some simple adaptive averaging of the touch data. If the
difference between the last and next point is large enough, we
disable the averaging; otherwise we average up to the last 5 points.
The goal is to get rid of the noise of small movements so that things
like taps don't look like short flings, while still responding quickly
to rapid movement.

For averaging pressure, we also weight each averaged coordinate by
the reported pressure at that point. This is intended to keep the
coordinates closer together during a release, when the pressure is
going down and the accuracy decreasing. It may also result in some
other interesting artifacts, but hopefully nothing problematic.

Change-Id: I1369e9ab015c406946a45c2d72547da9c604178f
/frameworks/base/services/java/com/android/server/KeyInputQueue.java
bd0a81ff1c0e92e80e05e2f12bb1805c7d081e94 04-Oct-2009 Dianne Hackborn <hackbod@google.com> Work on issue #2163789: Way too much logging

Dr.No from mcleron.

Change-Id: Iaca2268684f83fe8757e64db0b0e047a19755311
/frameworks/base/services/java/com/android/server/KeyInputQueue.java
6af0d50a8edb101d9da1306b6d85abf5dd3f9a30 28-Sep-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2149145: Safe Mode does not work on Sholes device

The APIs for checking whether keys are held down now also look
at virtual keys.

However it turns out there is less than a second between the time we
start the input thread and check for safe mode, so there is not enough
time to actually open all of the devices and get the data from them
about the finger being down to determine if a virtual key is down.

So now you can also hold DPAD center, trackball center, or s to
enter safe mode. Also give some vibrator feedback.

Change-Id: I55edce63bc0c375813bd3751766b8070beeb0153
/frameworks/base/services/java/com/android/server/KeyInputQueue.java
83fe3f559249451706957b1a5f660b2b8272f114 13-Sep-2009 Dianne Hackborn <hackbod@google.com> 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
/frameworks/base/services/java/com/android/server/KeyInputQueue.java
a8f6018d6c2d28313f9550fa8fcb39c2f607e09c 02-Sep-2009 Dianne Hackborn <hackbod@google.com> Work on issue #2079167: Flickering issue across multiple UI

This addresses a few parts of the bug:

- There was a small issue in the window manager where we could show a window
too early before the transition animation starts, which was introduced
by the recent wallpaper work. This was the cause of the flicker when
starting the dialer for the first time.

- There was a much larger problem that has existing forever where moving
an application token to the front or back was not synchronized with the
application animation transaction. This was the cause of the flicker
when hanging up (now that the in-call screen moves to the back instead
of closing and we always have a wallpaper visible). The approach to
solving this is to have the window manager go ahead and move the app
tokens (it must in order to keep in sync with the activity manager), but
to delay the actual window movement: perform the movement to front when
the animation starts, and to back when it ends. Actually, when the
animation ends, we just go and completely rebuild the window list to
ensure it is correct, because there can be ways people can add windows
while in this intermediate state where they could end up at the wrong
place once we do the delayed movement to the front or back. And it is
simply reasuring to know that every time we finish a full app transition,
we re-evaluate the world and put everything in its proper place.

Also included in this change are a few little tweaks to the input system,
to perform better logging, and completely ignore input devices that do not
have any of our input classes. There is also a little cleanup of evaluating
configuration changes to not do more work than needed when an input
devices appears or disappears, and to only log a config change message when
the config is truly changing.

Change-Id: Ifb2db77f8867435121722a6abeb946ec7c3ea9d3
/frameworks/base/services/java/com/android/server/KeyInputQueue.java
2a2b34434a256cf0e035e97580b310f997f9fcd3 13-Aug-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2045895: Finger IDs are not tracked properly.

This was a problem with not dealing well with how the driver was
reporting data in the old touch protocol.

Also fixed issue with not correctly rotating non-primary touches.
/frameworks/base/services/java/com/android/server/KeyInputQueue.java
75b2aed2769f6287edf2fc6d30d5ba6eaace5efd 06-Aug-2009 Iliyan Malchev <malchev@google.com> KeyInputQueue: get the name of the virtual-keys file from the input-device name

Signed-off-by: Iliyan Malchev <malchev@google.com>
/frameworks/base/services/java/com/android/server/KeyInputQueue.java
0dd7cb4b4ef86eb7d4e837b1948501da66adeebe 04-Aug-2009 Dianne Hackborn <hackbod@google.com> Finish implementation of multiple pointer support for MotionEvent.

The major things going on here:

- The MotionEvent API is now extended to included "pointer ID" information, for
applications to keep track of individual fingers as they move up and down.
PointerLocation has been updated to take advantage of this.

- The input system now has logic to generate MotionEvents with the new ID
information, synthesizing an identifier as new points are down and trying to
keep pointer ids consistent across events by looking at the distance between
the last and next set of pointers.

- We now support the new multitouch driver protocol, and will use that instead
of the old one if it is available. We do NOT use any finger id information
coming from the driver, but always synthesize pointer ids in user space.
(This is simply because we don't yet have a driver reporting this information
from which to base an implementation on.)

- Increase maximum number of fingers to 10. This code has only been used
with a driver that reports up to 2, so no idea how more will actually work.

- Oh and the input system can now detect and report physical DPAD devices.
/frameworks/base/services/java/com/android/server/KeyInputQueue.java
ddca3ee3e86fbaa05c1528bd72afd955f0fb4ee6 24-Jul-2009 Dianne Hackborn <hackbod@google.com> Add support for power keys, improve behavior of virtual keys.

The platform now knows how to deal with a platform key, which at this
point is "just like end call, but don't end a call."

Also improve the handling of virtual keys, to allow for canceling when
sliding off into the display and providing haptic feedback.

Finally fixes a bug where the raw x and y in motion event were not
always set which caused the status bar to not work.
/frameworks/base/services/java/com/android/server/KeyInputQueue.java
9822d2b27330793ea4ba9c3316ef35f402f35fb4 21-Jul-2009 Dianne Hackborn <hackbod@google.com> First stab at poly-finger support.

The MotionEvent API should be fairly solid, but there is still a lot of
work to do in the input device code. In particular, right now we are
really stupid about watching how fingers change -- we just take whatever
the driver reports as down and dump that directly into the motion event.

The big remaning work is to assign pointer IDs so that applications have
help in determine which fingers go up and down, and adding support for
the official multi-touch driver protocol.
/frameworks/base/services/java/com/android/server/KeyInputQueue.java
1d9dfc5dcf459e85cffcb762ffdb9b9a4abbfd67 16-Jul-2009 Mike Lockwood <lockwood@android.com> EventHub: Add support for excluding devices from being opened by as a keyboard.

This will be used to avoid unnecessarily listening to data from sensors
that function as event devices.

Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/KeyInputQueue.java
e3dd884815b2aaeec4241859722ab603e0b1466b 14-Jul-2009 Dianne Hackborn <hackbod@google.com> Implement virtual button support.

The kernel can now publish a property describing the layout of virtual
hardware buttons on the touchscreen. These outside of the display
area (outside of the absolute x and y controller range the driver
reports), and when the user presses on them a key event will be
generated rather than a touch event.

This also includes a number of tweaks to the absolute controller
processing to make things work better on the new screens. For
example, we now reject down events outside of the display area.

Still left to be done is the ability to cancel a key down event,
so the user can slide up from the virtual keys to the touch screen
without causing a virtual key to execute.
/frameworks/base/services/java/com/android/server/KeyInputQueue.java
53071d6d159f6dfd6fe0328a39bcf967ef308a64 14-May-2009 Michael Chan <mchan@android.com> Added LatencyTimer to ease latency measurements

new file: core/java/android/os/LatencyTimer.java
modified: core/java/android/view/MotionEvent.java
modified: core/java/android/view/ViewRoot.java
modified: services/java/com/android/server/InputDevice.java
modified: services/java/com/android/server/KeyInputQueue.java
modified: services/java/com/android/server/WindowManagerService.java
/frameworks/base/services/java/com/android/server/KeyInputQueue.java
105925376f8d0f6b318c9938c7b83ef7fef094da 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@140373
/frameworks/base/services/java/com/android/server/KeyInputQueue.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/services/java/com/android/server/KeyInputQueue.java
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/services/java/com/android/server/KeyInputQueue.java
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
/frameworks/base/services/java/com/android/server/KeyInputQueue.java
9266c558bf1d21ff647525ff99f7dadbca417309 16-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@126645
/frameworks/base/services/java/com/android/server/KeyInputQueue.java
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
/frameworks/base/services/java/com/android/server/KeyInputQueue.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/services/java/com/android/server/KeyInputQueue.java