)]}'
{
  "log": [
    {
      "commit": "3c1c21bcf40ff588f10b9cd2a3cd3e28b537f8d2",
      "tree": "31d652f5e467bcc7e92d342b32c9e65e73351afd",
      "parents": [
        "55e9d98d990f7a015d4c10f5e5a92ae131637073"
      ],
      "author": {
        "name": "Olivier Gay",
        "email": "ogay@logitech.com",
        "time": "Wed Mar 20 16:45:43 2013 +0100"
      },
      "committer": {
        "name": "Olivier Gay",
        "email": "ogay@logitech.com",
        "time": "Sat Mar 30 19:29:40 2013 +0100"
      },
      "message": "Add new physical keyboard layouts.\n\nAdd support for the following physical keyboard layouts:\nEnglish US international and Brazilian layout.\n\nChange-Id: Iae928713a94611de18a92f6959adf7fa3500b2b2\nSigned-off-by: Olivier Gay \u003cogay@logitech.com\u003e\nSigned-off-by: Myriam Galaret \u003cmgalaret@logitech.com\u003e\n"
    },
    {
      "commit": "4037ce3c019262c7f70342ef612c90807b429dfe",
      "tree": "d852e34b24231e7670b3d0e111ce7f7652c0c44b",
      "parents": [
        "b1e16f11ffd3a391be1a44a352c122b6dad1e8a5"
      ],
      "author": {
        "name": "HeyRatFans",
        "email": "matt@heyratfans.co.uk",
        "time": "Tue Jan 22 11:58:40 2013 +0000"
      },
      "committer": {
        "name": "Matt Beale",
        "email": "matt@heyratfans.co.uk",
        "time": "Tue Jan 22 22:22:54 2013 +0000"
      },
      "message": "frameworks/base: Added English UK keyboard layout for physical keyboards\n\nChange-Id: Id6feb128964c76ebd74b3e0d67d8f90fedb91dda\n"
    },
    {
      "commit": "d9fec5d317c09da6bcc7a54df4e0190a76d21eae",
      "tree": "0eae74e8e946ea2d7715e31c3bd58a8f48befa2a",
      "parents": [
        "ab624c2fd4f0fad6ba7f422a960942e5a7035cea"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu May 17 16:01:54 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu May 17 16:01:54 2012 -0700"
      },
      "message": "Add support for grouping keyboard layouts by collection.\n\nBug: 6405203\nChange-Id: Id818b27ec09928150795d594a96df186a6e39168\n"
    },
    {
      "commit": "2f0957607411b99810226ad38d59cf18718b86d0",
      "tree": "02c124b552f1f206498e50f3532c5140c9fda8c4",
      "parents": [
        "3816174b3bea63eb355a0aa212c6b51e9435627b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu May 10 21:29:33 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri May 11 12:32:56 2012 -0700"
      },
      "message": "Rename kcm attribute to keyboardLayout.\n\nBug: 6478076\nChange-Id: I7fc0d8eb36d03a628d070f8fd6ea1e1464b1a163\n"
    },
    {
      "commit": "69b2be163d6ba00fead46c2e01ec775d8487e777",
      "tree": "6ac57718e3e4907b8b8cf79c40346d2a6a627eda",
      "parents": [
        "1fa1de527e541c88fb3809279b67b0dc29419bac"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Apr 25 15:10:54 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Apr 25 18:17:21 2012 -0700"
      },
      "message": "Add yet more keyboard layouts.\n\nBug: 6110399\nChange-Id: I8e2ce1cd350dddb006df51286e127dce65a8117f\n"
    },
    {
      "commit": "77241caa8e077e43909cca1e5d49f726f0b8afe5",
      "tree": "f19ca4c06044d24738d4af7bc9c0d5ea1a568474",
      "parents": [
        "4c181a3f6a6f450522a1bbfdaba7d94e2fbdcb96"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 24 20:34:54 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 24 20:34:54 2012 -0700"
      },
      "message": "Add even more keyboard layouts.\n\nBug: 6110399\n\nChange-Id: I2278424e2e4c7dc7f7804a25d2c6c63f45181d1b\n"
    },
    {
      "commit": "4c181a3f6a6f450522a1bbfdaba7d94e2fbdcb96",
      "tree": "fe2f0b6f148d25e0fd307e76a160171e11a6ce59",
      "parents": [
        "8bca94ad83f82682bc15df29dc25377fe43da17f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Apr 23 19:43:55 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 24 17:39:59 2012 -0700"
      },
      "message": "Add more keyboard layouts.\n\nBug: 6110399\nChange-Id: I00f54338c9e94cce3a2925a5dff2e924a21fcdd8\n"
    },
    {
      "commit": "8bca94ad83f82682bc15df29dc25377fe43da17f",
      "tree": "04e78f028b7a6b8c8a9e9e66d0aa4d22ed97f073",
      "parents": [
        "fd6a5245ccb0294dada070444d9d9c6be752e668"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Apr 23 16:12:32 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Apr 23 16:12:32 2012 -0700"
      },
      "message": "More work on international keyboards.\n\nChanged the English US keymaps to implement a strict US key map\nwith no additional ALT functions.\n\nFixed a bug copying the alias in the InputDevice copy constructor.\n\nAdded support for end of line comments in KCM and KL files.\n\nAdded the German keyboard layout.\n\nSorted the keys in the keyboard layout files by physical arrangement\nto make it easier to maintain them.\n\nBug: 6110399\nChange-Id: If44d83de5b98f2bf0016cbb8e12264387b286aaa\n"
    },
    {
      "commit": "4a3862f6b0a8971b6ab5b1c46735b28e7604d0db",
      "tree": "4091176054868659d2fa6bec36540f56c08bd116",
      "parents": [
        "6ec6f79e1ac1714e3b837796e99f07ff88f66601"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 17 18:50:05 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 17 18:50:05 2012 -0700"
      },
      "message": "Add Dvorak keyboard layout.\n\nAdded support for mapping both scan codes and HID usages to\nKeyLayoutMap and KeyCharacterMap.  Keyboard overlays can\nnow influence how key events are mapped to key codes.\n\nBug: 6110399\nChange-Id: I6619fd2d3e1337c55928f89869dbc45b535c7ccf\n"
    },
    {
      "commit": "6ec6f79e1ac1714e3b837796e99f07ff88f66601",
      "tree": "02aa55617bfa6dd2eb0bec29156e279c8afaaa0d",
      "parents": [
        "a3bc565882dd3984e995363642b1295fe3d24d10"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 17 16:52:41 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 17 17:56:32 2012 -0700"
      },
      "message": "Support loading keyboard layout overlays from resources.\n\nAdded the concept of a keyboard layout overlay, which is\na key character map file that has \"type OVERLAY\".\n\nAdded support for loading keyboard layout overlays from\nresources dynamically.  The layouts are reloaded whenever they\nare changed in the Settings application or an application\nis installed.  This is somewhat more aggressive than necessary\nso we might want to optimize it later.\n\nBefore system-ready, the input system uses just the generic\nkeyboard layouts that are included on the device system image.\nAfter system-ready, it considers the user\u0027s selected keyboard\nlayout overlay and attempts to load it as necessary.  We need to\nwait until system-ready before doing this because we need to\nbe in a state where it is safe to start applications or access\ntheir resources.\n\nBug: 6110399\nChange-Id: Iae0886d3356649b0d2440aa00910a888cedd8323\n"
    },
    {
      "commit": "9df6e7a926ce480baf70e97ee1b9ea387193f6ad",
      "tree": "dfe752a296e934467d76d6727b687a8fc8fad586",
      "parents": [
        "dedf1b2727556223aafcebba1a567ffa816412d2"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Apr 05 11:49:26 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Apr 05 14:42:10 2012 -0700"
      },
      "message": "Initial commit of InputManager and keyboard layout API.\n\nAdded a new InputManager service for interacting with input\ndevices and configuring them.  This will be the focus of\nan upcoming refactoring.\n\nAdded an API for registering keyboard layouts with the system\nbased on the use of a broadcast receiver.  Applications can\nregister their own keyboard layouts simply by declaring a\nbroadcast receiver in their manifests.\n\nAdded the skeleton of a package that will ultimately contain\nthe keyboard layouts and other input device related resources\nthat are part of the base system.\n\nBug: 6110399\nChange-Id: Ie01b0ef4adbd5198f6f012e73964bdef3c51805c\n"
    }
  ]
}
