83d616a9c7b9505153d258511eb5c16b552e268d |
10-Sep-2012 |
Jeff Brown <jeffbrown@google.com> |
Make input system aware of multiple displays. The input system needs to know about the window that has focus, even if it is on a secondary display. So now we send it the list of all windows and indicate which display they are on. We filter the list of windows as necessary when delivering touch events. To keep things simple, monitor input channels and input filters are not supported except on the main display. We also do not pass the display id to applications; it is only used inside the input system for now. Properly scale touch coordinates based on the viewport. This will be needed to ensure that touch works on external display as well as when the internal display is being used to simulate a different resolution. Change-Id: I1815579a52fcc852c519b5391fc7ab8767c2dc59
nput.h
|
5f7979993979466c79ab4f38d83c6f2aca361662 |
16-Jun-2012 |
Fabrice Di Meglio <fdimeglio@google.com> |
Add support for "-rtl" in resources - fix bug #7035019 Need to have "-rtl" support for Resource Change-Id: Ic82145c2ac672729d8a6c695a5f343276a1a0a2c
esourceTypes.h
|
b696de5c10ebcc7bf42d8487fc0e56e0e937754d |
28-Jul-2012 |
Jeff Brown <jeffbrown@google.com> |
Move and rename user activity event type constants. Change-Id: Ie565808796773b6896e71ddfac6aaaf8031de846
owerManager.h
|
de7a8ead2467a4a152a5a9b2416c8048f1b48bbb |
14-Jun-2012 |
Jeff Brown <jeffbrown@google.com> |
Add new ASSIST key and map it to the global assist intent. Moved some duplicate code from SearchPanelView and LockScreen over to SearchManager to avoid creating yet another copy of it in PhoneWindowManager. Bug: 6594275 Change-Id: Ib4ebcd6817639d17548952ab2ce7cb876c05777c
eycodeLabels.h
|
51df04b93e8e362edd867abd7efaf1659b8b8b82 |
04-Jun-2012 |
Jeff Brown <jeffbrown@google.com> |
Port the legacy velocity tracker strategy. For comparison purposes, port the legacy velocity tracker algorithm as it behaved prior to ICS. Bug: 6413587 Change-Id: I7e8e56584dcdb1a3c660ca9d8f9c5bd5d868e449
elocityTracker.h
|
a5b0698231459ac5b54cf8e8952ac5c2b2b2198b |
04-Jun-2012 |
Jeff Brown <jeffbrown@google.com> |
Implement a second order integrating VT strategy. Bug: 6413587 Change-Id: I51bc7b8cbff22b10b728fc84ee15370e9984dd55
elocityTracker.h
|
18f329e9480fca75210bb7496e5b4bc987b4ad8f |
03-Jun-2012 |
Jeff Brown <jeffbrown@google.com> |
Implement a weighted least squares VelocityTracker strategy. No change to the default strategy. Bug: 6413587 Change-Id: I08eb6f9a511e65ad637359b55b5993c26ba93b40
elocityTracker.h
|
53dd12a66884540b87fe428383e2f79d0f5e32ba |
01-Jun-2012 |
Jeff Brown <jeffbrown@google.com> |
Implement an integrating VelocityTracker strategy. This algorithm better tolerates certain kinds of errors in the touch input than the least squares strategy but it may underestimate the velocity of accelerating movements. This algorithm is mainly of interest as a baseline for testing and comparison with the least squares algorithm, which remains the default. Bug: 6413587 Change-Id: I8ddb50084e44875e234717907e5b06d03f59788c
elocityTracker.h
|
9eb7d86181729c3eb769d71123c4ce9ffc868f08 |
01-Jun-2012 |
Jeff Brown <jeffbrown@google.com> |
Make velocity tracker strategy configurable. This change is very useful for testing purposes because it makes it easy to compare different implementations to see how they behave. There is no change to the current default strategy. Bug: 6413587 Change-Id: I4d8567aa4160571ba9fa397ce419882cd9366749
elocityTracker.h
|
90729403d50488566eb4ae0e09bb1be21979a633 |
15-May-2012 |
Jeff Brown <jeffbrown@google.com> |
Detect when pointer has stopped moving. Some input devices do not generate ACTION_MOVE events while all pointers have stopped, thereby lulling the VelocityTracker into a false sense of complacency. Before handling the following sample, reset the VelocityTracker state so as not to be influenced by earlier samples before the pointer stopped. The velocity after stopping is assumed to be discontinuous. Bug: 6413587 Change-Id: I6387bc036ff141d083d3d17a89e37eeaa3188349
elocityTracker.h
|
7174a491bc1f89da65eaef3be25f3ea3f3e3bab5 |
15-May-2012 |
Jeff Brown <jeffbrown@google.com> |
Improve touch event resampling. Fixed a few bugs related to the id-to-index mapping for pointer coordinates. Tightened the bounds on the resampling time interval to avoid predicting too far into the future. Only lerp X and Y components of motion events. Alter the future to satisfy past predictions. (Rewrite touch events to conceal obvious discontinuities.) Added a system property to control whether resampling is enabled for debugging purposes. Bug: 6375101 Change-Id: I35972d63278bc4e78148053a4125ad9abeebfedb
nput.h
nputTransport.h
|
85bd0d62830a098c1bdc720dfdcf4fe1b18b657c |
14-May-2012 |
Jeff Brown <jeffbrown@google.com> |
More VelocityTracker refactoring. Bug: 6413587 Change-Id: Ida1152e7a34d5fe5caab5e6b5e1bc79f6c7a25e6
elocityTracker.h
|
8a90e6e3174083f274538567d851f98478fc83e9 |
11-May-2012 |
Jeff Brown <jeffbrown@google.com> |
Minor refactoring before starting on velocity tracker changes. Bug: 6413587 Change-Id: I5eba2bb57193bff78cb3740de5f87aca0b31d154
nput.h
elocityControl.h
elocityTracker.h
|
fd23e3ed976b22b9a92ddb2cb3a46f9d2a0ce23f |
09-May-2012 |
Jeff Brown <jeffbrown@google.com> |
Fix bugs in fallback key handling. If a fallback key is generated using a key plus a modifier, then it's possible we might get a different fallback key generated if the modifier has changed. PhoneWindowManager needs to remember which fallback is last generated for a given key code so that it can apply the same fallback action. When generating cancellation events, it's important to have preserved the policyFlags of the original event. Otherwise we may not dispatch the cancellation properly. For example, some actions are not performed if the POLICY_FLAG_TRUSTED is not specified. Remember the metaState associated with a key event so we can include it when canceled. Tell the policy when a fallback is being cancelled so that it can clean up its state. After a SEARCH shortcut is invoked, clear the flag indicating that a shortcut is pending. This is to prevent SEARCH from getting stuck down in the case where we might forget to send the up. (Shouldn't happen anymore after the prior fixes.) Bug: 5616255 Change-Id: I68f0a9679c7af464eaf31c099f2aa50b53fecf1f
nput.h
|
daa3753a04699724d2cfe824ac1f5a266d643a05 |
02-May-2012 |
Jeff Brown <jeffbrown@google.com> |
Improve handling of built-in keyboard. The window manager policy made some incorrect assumptions about the meaning of the Configuration.keyboard field. We need to be more careful about distinguishing between built-in and external keyboards. Most of this change is to move the determination of the parts of the Configuration related to input devices into the WindowManagerService leveraging new features of the InputManagerService to good effect. Then we plumb through the flag that indicates whether a device is internal or external so that we can be more particular about how the lid switch effects changes to the Configuration. Bug: 6424373 Change-Id: I36a1c22ade35e578955465a25940a33f227b9763
nput.h
nputDevice.h
|
771526c88f5cc4b56a41cb12aa06a28d377a07d5 |
28-Apr-2012 |
Jeff Brown <jeffbrown@google.com> |
Resample touch events on frame boundaries. Bug: 6375101 Change-Id: I8774e366306bb2b6b4e42b913525bf25b0380ec3
nput.h
nputTransport.h
|
5bbd4b4f5fc19302fa017ad6afee6eb2d489d91a |
21-Apr-2012 |
Jeff Brown <jeffbrown@google.com> |
Get alias for Bluetooth devices. Bluetooth devices can be renamed by the user. Make the input system aware of the user-specified name and transparently pass it down to applications. This enables the keyboard layout picker Settings UI to use device names that are consistent with what the user set in the Bluetooth UI. Bug: 6363157 Change-Id: I8eea26ce2c69c2a3f09c8de02e9e847610e0419c
nputDevice.h
|
9a2bbf680e3b5b98051b9f2913ab6bd31b77f79a |
18-Apr-2012 |
Jeff Brown <jeffbrown@google.com> |
Improve handling of certain keyboard layout properties. Automatically choose a default value for the 'number' property based on the characters that the key can generate. Don't generate any character when ctrl, alt or meta is pressed unless the behavior exactly matches the modifier keys that are pressed. Simplified the basic keyboard layouts taking into account the new features. Bug: 6110399 Change-Id: Ibc0f0b50c2dcf3f962a33ac77c24d2993b77637d
eyCharacterMap.h
|
4a3862f6b0a8971b6ab5b1c46735b28e7604d0db |
18-Apr-2012 |
Jeff Brown <jeffbrown@google.com> |
Add Dvorak keyboard layout. Added support for mapping both scan codes and HID usages to KeyLayoutMap and KeyCharacterMap. Keyboard overlays can now influence how key events are mapped to key codes. Bug: 6110399 Change-Id: I6619fd2d3e1337c55928f89869dbc45b535c7ccf
eyCharacterMap.h
|
6ec6f79e1ac1714e3b837796e99f07ff88f66601 |
18-Apr-2012 |
Jeff Brown <jeffbrown@google.com> |
Support loading keyboard layout overlays from resources. Added the concept of a keyboard layout overlay, which is a key character map file that has "type OVERLAY". Added support for loading keyboard layout overlays from resources dynamically. The layouts are reloaded whenever they are changed in the Settings application or an application is installed. This is somewhat more aggressive than necessary so we might want to optimize it later. Before system-ready, the input system uses just the generic keyboard layouts that are included on the device system image. After system-ready, it considers the user's selected keyboard layout overlay and attempts to load it as necessary. We need to wait until system-ready before doing this because we need to be in a state where it is safe to start applications or access their resources. Bug: 6110399 Change-Id: Iae0886d3356649b0d2440aa00910a888cedd8323
eyCharacterMap.h
|
a47425a13c19f95057df78b8bb65bb25657e8753 |
13-Apr-2012 |
Jeff Brown <jeffbrown@google.com> |
Add support for input devices that have vibrators. Added a getVibrator() method to InputDevice which returns a Vibrator associated with that input device. Its uses the same API as the system vibrator which makes it easy for applications to be modified to use one or the other. Bug: 6334179 Change-Id: Ifc7f13dbcb778670f3f1c07ccc562334e6109d2e
nputDevice.h
|
af9e8d38184c6ba4d2d3eb5bde7014a66dd8a78b |
13-Apr-2012 |
Jeff Brown <jeffbrown@google.com> |
Notify applications when input devices change. This change allows the InputManager to keep track of what input devices are registered with the system and when they change. It needs to do this so that it can properly clear its cache of input device properties (especially the key map!) when changes occur. Added new API so that applications can register listeners for input device changes. Fixed a minor bug in EventHub where it didn't handle EPOLLHUP properly so it would spam the log about unsupposed epoll events until inotify noticed that the device was gone and removed it. Change-Id: I937d8c601f7185d4299038bce6a2934fe4fdd2b3
nputDevice.h
|
49ccac530b5a798e3c4a79b66b51b8546a0deed1 |
12-Apr-2012 |
Jeff Brown <jeffbrown@google.com> |
Refactor key code mapping. Added handling for EV_MSC / MSC_SCAN which typically reports the HID usage associated with a key. This will enable key maps to map keys with HID usages that Linux does not natively recognize. Removed keyCode and flags fields from EventHub RawEvent since they don't necessarily make sense in isolation now that we pay attention to HID usage codes too. Removed the fallback code for mapping keys and axes. In practice, an input device should be self-sufficient. We should not ever need to look at the built-in keyboard's key map. In fact, there usually isn't a built-in keyboard anyhow. This code was originally working around a problem where we weren't loading the key map for touch screens with virtual keys, which has long since been fixed. Change-Id: I0a319bdec44be9514f795526347397e94d53a127
eyLayoutMap.h
|
9f25b7fdf216c9ef0bd2322cd223eeaf0d60f77f |
10-Apr-2012 |
Jeff Brown <jeffbrown@google.com> |
Request key maps from input manager service. Instead of each application loading the KeyCharacterMap from the file system, get them from the input manager service as part of the InputDevice object. Refactored InputManager to be a proper singleton instead of having a bunch of static methods. InputManager now maintains a cache of all InputDevice objects that it has loaded. Currently we never invalidate the cache which can cause InputDevice to return stale motion ranges if the device is reconfigured. This will be fixed in a future change. Added a fake InputDevice with ID -1 to represent the virtual keyboard. Change-Id: If7a695839ad0972317a5aab89e9d1e42ace28eb7
nput.h
nputDevice.h
eyCharacterMap.h
eyLayoutMap.h
eyboard.h
irtualKeyMap.h
|
e38fdfae9196afd1bdc14c5ec6c12793af1e2550 |
06-Apr-2012 |
Jeff Brown <jeffbrown@google.com> |
Add a unique input device descriptor. The purpose of the input device descriptor is to make it possible to associate persistent settings for each input device, such as the keyboard layout. The descriptor is a hash of the information we have about the device, such as its vendor id, product id, unique id, name, or location. Bug: 6110399 Change-Id: Idb80f946819b3f0dbf4e661bb0a753dbc2b60981
nput.h
|
7511f9cd2ff39075ff56c2558c785caffc8b4383 |
10-Feb-2012 |
Yang Chuang <Yang_Chuang@asus.com> |
Add Japanese specific key codes. These keys are specific to Japanese hardware keyboard which can be used by input method. Patch ported from AOSP, with the addition of EISU and KANA mappings. Change-Id: I647473cdd257458e3b9d134b0fc623eae946c3e0
eycodeLabels.h
|
a982dc05d7ca919c07f50e446549ef9dceadf6bd |
23-Mar-2012 |
Colin Cross <ccross@android.com> |
frameworks/base: move Zip* from libandroidfw to libutils ZipUtils is needed by build/tools, move it from libandroidfw (frameworks/base) to libutils (frameworks/native). Change-Id: I2b4b7adcdf68eb25ee7cba5dd3b69eadf0523af3
ssetManager.h
ipFileCRO.h
ipFileRO.h
ipUtils.h
|
2b6c32ca4177f1a97307f9cbd81ca485df28762c |
13-Mar-2012 |
Jeff Brown <jeffbrown@google.com> |
Fix spurious ANRs in native activities. Some native activities experienced ANRs when the input consumer deferred an input event due to client-side batching. If the input channel was fully emptied then the client had no way of knowing that it should wake up to handle the deferred input event. This patch also fixes some lock issues in the native activity input queue implementation. In at least one error case, it was possible for a function to exit without releasing the lock. Bug: 6051176 Change-Id: I4d9d843237e69b9834f8d8b360031b677fcab8c3
nput.h
nputTransport.h
|
49d2b1864c3dfec6faff74d67cb2527a8f1af5a8 |
28-Feb-2012 |
Mathias Agopian <mathias@google.com> |
move CursorWindow from libbinder to libandroidfw Change-Id: I3b304e4f74e0d0ec8b20c57296c62449c9a0f792
ursorWindow.h
|
b13b9bdad2baf6ad1ec2e56b6b7598fa20f55fc4 |
18-Feb-2012 |
Mathias Agopian <mathias@google.com> |
frameworks/base refactoring. step 2: move libutils headers to their new home: androidfw Change-Id: I14624ba23db92a81f2cb929f104386e1fab293ef
sset.h
ssetDir.h
ssetManager.h
ackupHelpers.h
bbFile.h
esourceTypes.h
treamingZipInflater.h
ipFileCRO.h
ipFileRO.h
ipUtils.h
|
b93a03f841d93498bfea6cc92a22faa34bce1337 |
18-Feb-2012 |
Mathias Agopian <mathias@google.com> |
frameworks/base refactoring. First step. Move libui includes to their new home: androidfw. Change-Id: Ic042b52fdba72f30edc3cc6339bf30b4c1b99662
nput.h
nputTransport.h
eyCharacterMap.h
eyLayoutMap.h
eyboard.h
eycodeLabels.h
owerManager.h
irtualKeyMap.h
|