No description
Find a file
Jeff Brown 48da31b735 Add keycodes and meta-key modifiers to support external keyboards.
Added new key maps for external keyboards.  These maps are intended to
be shared across devices by inheriting the "keyboards.mk" product
makefile as part of the device's product definition.

One of the trickier changes here was to unwind some code in
MetaKeyKeyListener that assumed that only the low 8 bits of the meta key
state were actually used.  The new code abandons bitshifts in favor
of simple conditionals that are probably easier to read anyways.
The special meta key state constants used by MetaKeyKeyListener
are now (@hide) defined in KeyEvent now so as to make it clearer that they
share the same code space even if those codes are not valid for KeyEvents.

The EventHub now takes care of detecting the appropriate key layout
map and key character map when the device is added and sets system
properties accordingly.  This avoids having duplicate code in
KeyCharacterMap to probe for the appropriate key character map
although the current probing mechanism has been preserved for legacy
reasons just in case.

Added support for tracking caps lock, num lock and scroll lock and
turning their corresponding LEDs on and off as needed.

The key character map format will need to be updated to correctly support
PC style external keyboard semantics related to modifier keys.
That will come in a later change so caps lock doesn't actually do
anything right now except turn the shiny LEDs on and off...

Added a list of symbolic key names to KeyEvent and improved the toString()
output for debug diagnosis.  Having this list in a central place in the
framework also allows us to remove it from Monkey so there is one less
thing to maintain when we add new keycodes.

Bug: 2912307
Change-Id: If8c25e8d50a7c29bbf5d663c94284f5f86de5da4
2013-07-30 13:56:55 -07:00
adb Merge "Move liblog headers to system/core/include/log" 2013-07-25 21:39:24 +00:00
charger Add liblog 2013-04-09 22:03:45 -07:00
cpio Add support for filesystem capabilities. 2013-02-20 12:51:28 -08:00
debuggerd Move liblog headers to system/core/include/log 2013-07-24 12:32:39 -07:00
fastboot fastboot: add support for sparse images in flashall and update 2013-07-01 12:42:58 -07:00
fastbootd fastbootd: userspace implementation of the fastboot device-side protocol 2013-07-24 10:58:43 -07:00
fs_mgr am 6b78fad1: am a9396549: Fix my incorrect merge resolution for 132b7d750e harder. 2013-07-11 19:12:18 -07:00
gpttool Fix build by removing TAGS from host module 2012-08-15 19:52:52 -07:00
healthd healthd: Add system health monitoring daemon 2013-07-26 01:30:42 +00:00
include Add keycodes and meta-key modifiers to support external keyboards. 2013-07-30 13:56:55 -07:00
init am 8c4b1539: am f9873987: am 5954ecb8: Merge "Allow more characters in partition name links" 2013-07-22 15:45:42 -07:00
libcorkscrew Format stack trace PC offset to 8 digits with leading zeros. 2013-05-21 12:46:09 -07:00
libctest Automated import from //branches/master/...@140824,140824 2009-03-24 18:36:50 -07:00
libcutils Move liblog headers to system/core/include/log 2013-07-24 12:32:39 -07:00
libdiskconfig config_mbr: Fix integer overflow 2012-07-26 10:18:14 -07:00
libion Add explicit sync call to ion library 2012-09-20 09:46:19 -07:00
liblinenoise Improve linenoise.c compatability. 2010-06-04 14:32:01 +08:00
liblog Move liblog headers to system/core/include/log 2013-07-24 12:32:39 -07:00
libmincrypt mincrypt: merge the two RSA verifiers 2013-04-11 12:55:43 -07:00
libnetutils resolved conflicts for merge of c0df50af to stage-aosp-master 2013-06-10 15:06:43 -07:00
libnl_2 am cdc4a400: am cb71ed30: am 50e2555d: Merge "Always include <sys/socket.h> before <linux/netlink.h>." 2012-09-12 11:08:42 -07:00
libpixelflinger Add liblog 2013-04-09 22:03:45 -07:00
libs/utils Add keycodes and meta-key modifiers to support external keyboards. 2013-07-30 13:56:55 -07:00
libsparse libsparse: Fix null pointer issue 2013-04-01 11:22:50 +08:00
libsuspend am 76edb14f: am 2cc3527a: libsuspend: compile as a static library 2012-12-06 18:59:59 -08:00
libsync update libsync to support new timeout semantics 2012-08-21 18:21:18 -07:00
libsysutils am 51a2e4d5: Merge "libsysutils: fix null pointer and memory leak issue" 2013-05-21 14:39:19 -07:00
libusbhost Properly handle cases of multiple inotify events 2013-03-25 14:12:18 -07:00
libzipfile Fixed warnings test_zipfile 2012-08-20 16:38:37 -04:00
logcat Move liblog headers to system/core/include/log 2013-07-24 12:32:39 -07:00
logwrapper logwrapper: Add ability to log to kernel log 2013-04-14 17:10:55 -07:00
mkbootimg mkbootimg: support 8192/16384 pagesizes 2013-03-10 14:11:10 +01:00
netcfg Support adding, deleting, and clearing IPv6 addrs. 2011-09-28 17:12:13 -07:00
reboot Make init handle reboots 2013-04-23 13:21:40 -07:00
rootdir healthd: normal and charger mode startup 2013-07-26 23:56:17 +00:00
run-as run-as: Don't require CAP_DAC_READ_SEARCH 2013-03-29 08:55:06 -07:00
sdcard Raise the max file open limit in sdcard 2013-02-11 15:42:22 -08:00
sh Fixed un-initialized variable warnings 2012-08-01 15:15:11 -04:00
toolbox Move liblog headers to system/core/include/log 2013-07-24 12:32:39 -07:00
.gitignore Don't compile abort_socket.c for host targets. It is only intended to run on Linux targets. 2009-05-26 13:23:23 -07:00
Android.mk Remove the simulator target from all makefiles. 2011-07-11 22:12:32 -07:00
CleanSpec.mk toolbox: Make reboot a separate command from toolbox 2013-03-26 12:24:10 -07:00
MODULE_LICENSE_APACHE2 auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
NOTICE Adding PacketVideo attribution in NOTICE. 2013-07-30 13:56:53 -07:00
README auto import from //depot/cupcake/@135843 2009-03-03 19:32:55 -08:00
ThirdPartyProject.prop add meta-files about 3rd party projects 2010-07-16 11:41:39 -07:00

The system/ directory is intended for pieces of the world that are the
core of the embedded linux platform at the heart of Android.  These
essential bits are required for basic booting, operation, and debugging.

They should not depend on libraries outside of system/... (some of them
do currently -- they need to be updated or changed) and they should not
be required for the simulator build.

The license for all these pieces should be clean (Apache2, BSD, or MIT).

Currently system/bluetooth/... and system/extra/... have some pieces
with GPL/LGPL licensed code.

Assorted Issues:

- pppd depends on libutils for logging
- pppd depends on libcrypt/libcrypto
- init, linker, debuggerd, toolbox, usbd depend on libcutils
- should probably rename bionic to libc