summaryrefslogtreecommitdiffstats
path: root/libs/androidfw
Commit message (Collapse)AuthorAgeFilesLines
* Get alias for Bluetooth devices.Jeff Brown2012-04-201-6/+5
| | | | | | | | | | | 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
* Improve handling of certain keyboard layout properties.Jeff Brown2012-04-181-8/+62
| | | | | | | | | | | | | | | 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
* Add Dvorak keyboard layout.Jeff Brown2012-04-172-10/+118
| | | | | | | | | 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
* Support loading keyboard layout overlays from resources.Jeff Brown2012-04-172-24/+106
| | | | | | | | | | | | | | | | | | | | | | 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
* Add support for input devices that have vibrators.Jeff Brown2012-04-131-0/+2
| | | | | | | | | | 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
* Notify applications when input devices change.Jeff Brown2012-04-121-3/+6
| | | | | | | | | | | | | | | | | 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
* HID usage should take precedence over scan code.Jeff Brown2012-04-121-6/+6
| | | | Change-Id: Ibd8988e3dcc0d64f4019ffe491d9789733f9d243
* Refactor key code mapping.Jeff Brown2012-04-111-15/+32
| | | | | | | | | | | | | | | | | | | 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
* Request key maps from input manager service.Jeff Brown2012-04-106-184/+296
| | | | | | | | | | | | | | | | | | 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
* Add a unique input device descriptor.Jeff Brown2012-04-061-3/+6
| | | | | | | | | | | | | 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
* frameworks/base: move Zip* from libandroidfw to libutilsColin Cross2012-03-228-1401/+5
| | | | | | | ZipUtils is needed by build/tools, move it from libandroidfw (frameworks/base) to libutils (frameworks/native). Change-Id: I2b4b7adcdf68eb25ee7cba5dd3b69eadf0523af3
* Merge "Fix spurious ANRs in native activities."Jeff Brown2012-03-132-0/+56
|\
| * Fix spurious ANRs in native activities.Jeff Brown2012-03-132-0/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Fix issue #6054627: resource matching issue of size qualifiersDianne Hackborn2012-03-091-49/+40
|/ | | | | | | Resource matching would incorrectly identify two configs with the same value as better than. Change-Id: I7297dcf58fd5a43f1a5ff53bb093eeeb2cad090f
* fixup hardcoded include paths for new projectMathias Agopian2012-03-073-2/+81
| | | | Change-Id: Id443ec5c99bb4d7653905f1be1f72a029e0cf087
* move CursorWindow from libbinder to libandroidfwMathias Agopian2012-02-272-0/+352
| | | | Change-Id: I3b304e4f74e0d0ec8b20c57296c62449c9a0f792
* attempt to fix sdk buildMathias Agopian2012-02-211-0/+3
| | | | Change-Id: I94f32a9a7abccb52487bb9ff5e286faa4acfceff
* another attempt at fixing the linux buildMathias Agopian2012-02-211-1/+1
| | | | Change-Id: Iac20439fd6eea4682859112e72f051294bc87ef6
* another attempt to fix the linux buildMathias Agopian2012-02-211-1/+1
| | | | Change-Id: Ifd4714de7281ffc8a8c90fb25fb34719a19a9b6f
* attempt to fix linux buildsMathias Agopian2012-02-211-1/+1
| | | | Change-Id: I46d6f914fdc32dc26cc71bed3399e202f00eeb2a
* frameworks/base refactoringMathias Agopian2012-02-2026-0/+17439
create the new libandroidfw from parts of libui and libutils Change-Id: I1584995616fff5d527a2aba63921b682a6194d58