summaryrefslogtreecommitdiff
path: root/services/java/com/android/server/InputDevice.java
AgeCommit message (Collapse)Author
2010-07-03More native input dispatch work.Jeff Brown
Removed old input dispatch code. Refactored the policy callbacks. Pushed a tiny bit of the power manager state down to native. Fixed long press on MENU. Made the virtual key detection and cancelation a bit more precise. Change-Id: I5d8c1062f7ea0ab3b54c6fadb058c4d5f5a9e02e
2010-06-09Fix bug 2757693 - Multi-touch coordinates can jump when a finger goes down.Adam Powell
Change-Id: I26bd54cec739ca8d91d2c2b18b90134f20dbd907
2010-03-03Fix epsilon calculation for jumpy touchscreen filteringAdam Powell
2010-03-03InputDevice filtering for jumpy screens.Adam Powell
Updated ScaleGestureDetector for framework deprecations.
2010-03-02Maybe fix issue #2482201: Paired bluetooth device looks like a qwerty keyboardDianne Hackborn
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.
2010-03-01Switch the services library to using the new SlogJoe Onorato
2010-02-12Fix MotionEvent pointer API.Dianne Hackborn
Ooops. The API said that the pointer down and up actions contained the pointer id, but it is actually the index. Actually it makes much more sense for it to be the index, and those ACTION_POINTER_1_DOWN etc. constants were stupid.
2009-12-02Fix issue #2300232: Bugs in resolving conflicting pointersDianne Hackborn
Change-Id: I7b9328c7a1c4f6b731e64cdca2ed9de71b84587f
2009-11-23Fix issue #2281046: Size and pressure don't changeDianne Hackborn
Change-Id: Iadc1d438a494bb1495ee6d93d0dd3b4a491a378f
2009-10-19Fix issue #2191572: Difficulties drawing window shadeDianne Hackborn
The touch location filtering hacks had a little problem. Change-Id: Ib57366169c87f83af1adcc8b6a00dadc01582339
2009-10-13Fix issue #2186709: Can't unlock the device for a whileDianne Hackborn
Change-Id: Iac5342254036cc286ad502dba943520f55ea2405
2009-10-13Work on issue #2144454: Inconsistent swipes...Dianne Hackborn
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
2009-08-12Fix issue #2045895: Finger IDs are not tracked properly.Dianne Hackborn
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.
2009-08-04Finish implementation of multiple pointer support for MotionEvent.Dianne Hackborn
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.
2009-07-24Add support for power keys, improve behavior of virtual keys.Dianne Hackborn
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.
2009-07-21First stab at poly-finger support.Dianne Hackborn
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.
2009-07-14Implement virtual button support.Dianne Hackborn
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.
2009-05-15Added LatencyTimer to ease latency measurementsMichael Chan
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
2009-03-03auto import from //depot/cupcake/@135843The Android Open Source Project
2009-03-03auto import from //depot/cupcake/@135843The Android Open Source Project
2008-12-17Code drop from //branches/cupcake/...@124589The Android Open Source Project
2008-10-21Initial ContributionThe Android Open Source Project