No description
Find a file
Jeff Brown 647925ddf0 Added support for full PC-style keyboards.
BREAKING CHANGE: Redesigned the key character map format to
accomodate full keyboards with more comprehensive suite of modifiers.
Old key character maps will not work anymore and must be updated.
The new format is plain text only and it not compiled to a binary
file (so the "kcm" tool will be removed in a subsequent check-in).

Added FULL keyboard type to support full PC-style keyboards.

Added SPECIAL_FUNCTION keyboard type to support special function
keypads that do not have any printable keys suitable for typing
and only have keys like HOME and POWER

Added a special VIRTUAL_KEYBOARD device id convention that maps
to a virtual keyboard with a fixed known layout.  This is designed
to work around issues injecting input events on devices whose
built-in keyboard does not have a useful key character map (ie.
when the built-in keyboard is a special function keyboard only.)

Modified several places where events were being synthesized
to use the virtual keyboard.

Removed support for the "qwerty" default layout.
The new default layout is "Generic".  For the most part "qwerty"
was being used as a backstop in case the built-in keyboard did
not have a key character map (probably because it was a special
function keypad) and the framework needed to be able to inject
key events anyways.  The latter issue is resolved by using the
special VIRTUAL_KEYBOARD device instead of BUILT_IN_KEYBOARD.

Added the concept of a key modifier behavior so that
MetaKeyKeyListener can distinguish between keyboards that use
chorded vs. toggled modifiers.

Wrote more robust key layout and key character map parsers
to enable support for new keyboard features and user installable
key maps.

Fixed a bug in InputReader generating key ups when keys
are released out of sequence.

Updated tons of documentation.

Currently QwertyKeyListener is being used for full keyboards
with autotext and capitalization disabled.  This mostly works
but causes some problems with character pickers, etc.
These issues will be resolved in subsequent changes.

Change-Id: Ica48f6097a551141c215bc0d2c6f7b3fb634d354
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 Added support for full PC-style 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 Added support for full PC-style 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 Add missing NOTICE entries. 2013-07-30 13:56:55 -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