aboutsummaryrefslogtreecommitdiff
path: root/emulator
diff options
context:
space:
mode:
Diffstat (limited to 'emulator')
-rw-r--r--emulator/NOTICE190
-rw-r--r--emulator/opengl/README3
-rw-r--r--emulator/skins/assets/README.txt3
-rw-r--r--emulator/skins/assets/basic_controls.pngbin0 -> 4251 bytes
-rw-r--r--emulator/skins/assets/basic_controls.svg125
-rw-r--r--emulator/skins/assets/dpad.pngbin0 -> 7529 bytes
-rw-r--r--emulator/skins/assets/dpad_off.svg109
-rw-r--r--emulator/skins/assets/dpad_on.svg107
-rw-r--r--emulator/skins/assets/hwkeys.pngbin0 -> 5597 bytes
-rw-r--r--emulator/skins/assets/hwkeys_off.svg114
-rw-r--r--emulator/skins/assets/hwkeys_on.svg112
-rw-r--r--emulator/skins/assets/keyboard_off.svg103
-rw-r--r--emulator/skins/assets/keyboard_on.svg103
-rw-r--r--emulator/skins/dynamic/arrow_down.pngbin0 -> 449 bytes
-rw-r--r--emulator/skins/dynamic/arrow_left.pngbin0 -> 825 bytes
-rw-r--r--emulator/skins/dynamic/arrow_right.pngbin0 -> 795 bytes
-rw-r--r--emulator/skins/dynamic/arrow_up.pngbin0 -> 453 bytes
-rw-r--r--emulator/skins/dynamic/basic.pngbin0 -> 5322 bytes
-rw-r--r--emulator/skins/dynamic/button.pngbin0 -> 592 bytes
-rw-r--r--emulator/skins/dynamic/dpad_off.pngbin0 -> 9826 bytes
-rw-r--r--emulator/skins/dynamic/dpad_on.pngbin0 -> 9065 bytes
-rw-r--r--emulator/skins/dynamic/hwkeys_off.pngbin0 -> 9159 bytes
-rw-r--r--emulator/skins/dynamic/hwkeys_on.pngbin0 -> 8259 bytes
-rw-r--r--emulator/skins/dynamic/keyboard_off.pngbin0 -> 3958 bytes
-rw-r--r--emulator/skins/dynamic/keyboard_on.pngbin0 -> 3374 bytes
-rw-r--r--emulator/skins/dynamic/layout138
-rw-r--r--emulator/skins/dynamic/select.pngbin0 -> 384 bytes
-rw-r--r--emulator/snapshot/snapshots.imgbin0 -> 262144 bytes
28 files changed, 1107 insertions, 0 deletions
diff --git a/emulator/NOTICE b/emulator/NOTICE
new file mode 100644
index 000000000..06a9081ca
--- /dev/null
+++ b/emulator/NOTICE
@@ -0,0 +1,190 @@
+
+ Copyright (c) 2005-2014, The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
diff --git a/emulator/opengl/README b/emulator/opengl/README
new file mode 100644
index 000000000..11b10aa0f
--- /dev/null
+++ b/emulator/opengl/README
@@ -0,0 +1,3 @@
+The sources in this directory have been moved to:
+
+ external/qemu/distrib/android-emugl
diff --git a/emulator/skins/assets/README.txt b/emulator/skins/assets/README.txt
new file mode 100644
index 000000000..9311f6ce6
--- /dev/null
+++ b/emulator/skins/assets/README.txt
@@ -0,0 +1,3 @@
+The svg files in these folder were used to generate the corresponding
+png images in the 'dynamic' skin folder. Edit these in Inkscape or some
+other SVG editor and just export as png to update the assets.
diff --git a/emulator/skins/assets/basic_controls.png b/emulator/skins/assets/basic_controls.png
new file mode 100644
index 000000000..69fccc093
--- /dev/null
+++ b/emulator/skins/assets/basic_controls.png
Binary files differ
diff --git a/emulator/skins/assets/basic_controls.svg b/emulator/skins/assets/basic_controls.svg
new file mode 100644
index 000000000..ca1d9127e
--- /dev/null
+++ b/emulator/skins/assets/basic_controls.svg
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="159"
+ height="54.617188"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="basic_controls.svg"
+ inkscape:export-filename="basic.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective2904"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2886"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2898"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2887"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="4.4724839"
+ inkscape:cx="138.91446"
+ inkscape:cy="13.828558"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:window-width="1438"
+ inkscape:window-height="774"
+ inkscape:window-x="84"
+ inkscape:window-y="123"
+ inkscape:window-maximized="0">
+ <inkscape:grid
+ type="xygrid"
+ id="grid2816"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-25.654297,-779.745)">
+ <text
+ xml:space="preserve"
+ style="font-size:14px;font-style:normal;font-weight:normal;line-height:125%;fill:#bbbbbb;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="25"
+ y="787.36218"
+ id="text2910"
+ sodipodi:linespacing="125%"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan2912"
+ x="25"
+ y="787.36218"
+ style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#bbbbbb;fill-opacity:1;font-family:Roboto;-inkscape-font-specification:Roboto Medium">Basic Controls </tspan></text>
+ <image
+ y="792.36218"
+ x="30.654297"
+ id="image2889"
+ height="42"
+ width="154"
+ xlink:href="basic_controls.png" />
+ </g>
+</svg>
diff --git a/emulator/skins/assets/dpad.png b/emulator/skins/assets/dpad.png
new file mode 100644
index 000000000..db4dd6014
--- /dev/null
+++ b/emulator/skins/assets/dpad.png
Binary files differ
diff --git a/emulator/skins/assets/dpad_off.svg b/emulator/skins/assets/dpad_off.svg
new file mode 100644
index 000000000..3eea70e67
--- /dev/null
+++ b/emulator/skins/assets/dpad_off.svg
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="111.48926"
+ height="90.617188"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="dpad_off.svg"
+ inkscape:export-filename="dpad_off.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective2904"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="4.4724839"
+ inkscape:cx="138.91446"
+ inkscape:cy="38.761468"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:window-width="1570"
+ inkscape:window-height="1089"
+ inkscape:window-x="436"
+ inkscape:window-y="347"
+ inkscape:window-maximized="0">
+ <inkscape:grid
+ type="xygrid"
+ id="grid2816"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-25.654297,-779.745)">
+ <image
+ sodipodi:absref="dpad.png"
+ xlink:href="dpad.png"
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ width="109"
+ height="77"
+ id="image2906"
+ x="27"
+ y="793.36218" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;font-style:normal;font-weight:normal;line-height:112.99999952%;fill:#bbbbbb;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="25"
+ y="787.36218"
+ id="text2910"
+ sodipodi:linespacing="113%"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan2912"
+ x="25"
+ y="787.36218"
+ style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:112.99999952%;writing-mode:lr-tb;text-anchor:start;fill:#bbbbbb;fill-opacity:1;font-family:Roboto;-inkscape-font-specification:Roboto Medium">DPAD <tspan
+ style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:112.99999952%;writing-mode:lr-tb;text-anchor:start;fill:#999999;fill-opacity:1;font-family:Roboto;-inkscape-font-specification:Roboto Medium"
+ id="tspan3589">not enabled in AVD</tspan></tspan></text>
+ </g>
+</svg>
diff --git a/emulator/skins/assets/dpad_on.svg b/emulator/skins/assets/dpad_on.svg
new file mode 100644
index 000000000..7a8f99a6a
--- /dev/null
+++ b/emulator/skins/assets/dpad_on.svg
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="110"
+ height="88.109375"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="dpad_on.svg"
+ inkscape:export-filename="dpad_on.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective2904"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="6.3250474"
+ inkscape:cx="96.012951"
+ inkscape:cy="42.761466"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:window-width="1570"
+ inkscape:window-height="1089"
+ inkscape:window-x="436"
+ inkscape:window-y="347"
+ inkscape:window-maximized="0">
+ <inkscape:grid
+ type="xygrid"
+ id="grid2816"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-25.654297,-786.25281)">
+ <image
+ sodipodi:absref="dpad.png"
+ xlink:href="dpad.png"
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ width="109"
+ height="77"
+ id="image2906"
+ x="26.654297"
+ y="797.36218" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;font-style:normal;font-weight:normal;line-height:125%;fill:#bbbbbb;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="25"
+ y="793.36218"
+ id="text2910"
+ sodipodi:linespacing="125%"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan2912"
+ x="25"
+ y="793.36218"
+ style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#bbbbbb;fill-opacity:1;font-family:Roboto;-inkscape-font-specification:Roboto Medium">DPAD</tspan></text>
+ </g>
+</svg>
diff --git a/emulator/skins/assets/hwkeys.png b/emulator/skins/assets/hwkeys.png
new file mode 100644
index 000000000..3a468f13b
--- /dev/null
+++ b/emulator/skins/assets/hwkeys.png
Binary files differ
diff --git a/emulator/skins/assets/hwkeys_off.svg b/emulator/skins/assets/hwkeys_off.svg
new file mode 100644
index 000000000..f14ac1072
--- /dev/null
+++ b/emulator/skins/assets/hwkeys_off.svg
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="211.91211"
+ height="57.617188"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="hwkeys_off.svg"
+ inkscape:export-filename="hwkeys_off.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective2904"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2886"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="4.4724839"
+ inkscape:cx="138.91446"
+ inkscape:cy="16.828573"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:window-width="1570"
+ inkscape:window-height="1089"
+ inkscape:window-x="468"
+ inkscape:window-y="267"
+ inkscape:window-maximized="0">
+ <inkscape:grid
+ type="xygrid"
+ id="grid2816"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-25.654297,-779.745)">
+ <text
+ xml:space="preserve"
+ style="font-size:14px;font-style:normal;font-weight:normal;line-height:112.99999952%;fill:#bbbbbb;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="25"
+ y="787.36218"
+ id="text2910"
+ sodipodi:linespacing="113%"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan2912"
+ x="25"
+ y="787.36218"
+ style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:112.99999952%;writing-mode:lr-tb;text-anchor:start;fill:#bbbbbb;fill-opacity:1;font-family:Roboto;-inkscape-font-specification:Roboto Medium">Hardware Buttons <tspan
+ style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:112.99999952%;writing-mode:lr-tb;text-anchor:start;fill:#999999;fill-opacity:1;font-family:Roboto;-inkscape-font-specification:Roboto Medium"
+ id="tspan3589">not enabled in AVD</tspan></tspan></text>
+ <image
+ sodipodi:absref="hwkeys.png"
+ xlink:href="hwkeys.png"
+ width="210"
+ height="42"
+ id="image2888"
+ x="27.566406"
+ y="795.36218" />
+ </g>
+</svg>
diff --git a/emulator/skins/assets/hwkeys_on.svg b/emulator/skins/assets/hwkeys_on.svg
new file mode 100644
index 000000000..0ea1eace8
--- /dev/null
+++ b/emulator/skins/assets/hwkeys_on.svg
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="213.91211"
+ height="57.617188"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="hwkeys_on.svg"
+ inkscape:export-filename="hwkeys_on.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective2904"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2886"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="4.4724839"
+ inkscape:cx="138.91446"
+ inkscape:cy="16.828571"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:window-width="1570"
+ inkscape:window-height="1089"
+ inkscape:window-x="436"
+ inkscape:window-y="347"
+ inkscape:window-maximized="0">
+ <inkscape:grid
+ type="xygrid"
+ id="grid2816"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-25.654297,-779.745)">
+ <text
+ xml:space="preserve"
+ style="font-size:14px;font-style:normal;font-weight:normal;line-height:125%;fill:#bbbbbb;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="25"
+ y="787.36218"
+ id="text2910"
+ sodipodi:linespacing="125%"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan2912"
+ x="25"
+ y="787.36218"
+ style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#bbbbbb;fill-opacity:1;font-family:Roboto;-inkscape-font-specification:Roboto Medium">Hardware Buttons</tspan></text>
+ <image
+ sodipodi:absref="hwkeys.png"
+ xlink:href="hwkeys.png"
+ y="795.36218"
+ x="29.566406"
+ id="image2888"
+ height="42"
+ width="210" />
+ </g>
+</svg>
diff --git a/emulator/skins/assets/keyboard_off.svg b/emulator/skins/assets/keyboard_off.svg
new file mode 100644
index 000000000..ceb2b572c
--- /dev/null
+++ b/emulator/skins/assets/keyboard_off.svg
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="174.07715"
+ height="21.050976"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="keyboard_off.svg"
+ inkscape:export-filename="keyboard_off.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective2904"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="4.4724839"
+ inkscape:cx="138.98282"
+ inkscape:cy="-30.804743"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:window-width="1570"
+ inkscape:window-height="1089"
+ inkscape:window-x="436"
+ inkscape:window-y="347"
+ inkscape:window-maximized="0">
+ <inkscape:grid
+ type="xygrid"
+ id="grid2816"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-25.585937,-779.745)">
+ <text
+ xml:space="preserve"
+ style="font-size:14px;font-style:normal;font-weight:normal;line-height:112.99999952%;fill:#bbbbbb;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="25"
+ y="787.36218"
+ id="text2910"
+ sodipodi:linespacing="113%"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan2912"
+ x="25"
+ y="787.36218"
+ style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:112.99999952%;writing-mode:lr-tb;text-anchor:start;fill:#bbbbbb;fill-opacity:1;font-family:Roboto;-inkscape-font-specification:Roboto Medium">Hardware Keyboard <tspan
+ style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:112.99999952%;writing-mode:lr-tb;text-anchor:start;fill:#999999;fill-opacity:1;font-family:Roboto;-inkscape-font-specification:Roboto Medium"
+ id="tspan3589">not enabled in AVD</tspan></tspan><tspan
+ sodipodi:role="line"
+ x="25"
+ y="798.66217"
+ style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:112.99999952%;writing-mode:lr-tb;text-anchor:start;fill:#bbbbbb;fill-opacity:1;font-family:Roboto;-inkscape-font-specification:Roboto Medium"
+ id="tspan2818">Use on screen keyboard</tspan></text>
+ </g>
+</svg>
diff --git a/emulator/skins/assets/keyboard_on.svg b/emulator/skins/assets/keyboard_on.svg
new file mode 100644
index 000000000..9504f3ece
--- /dev/null
+++ b/emulator/skins/assets/keyboard_on.svg
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="195.49316"
+ height="21.050976"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="keyboard_on.svg"
+ inkscape:export-filename="keyboard_on.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective2904"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="4.4724839"
+ inkscape:cx="138.98282"
+ inkscape:cy="-30.804747"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:window-width="1570"
+ inkscape:window-height="1089"
+ inkscape:window-x="436"
+ inkscape:window-y="347"
+ inkscape:window-maximized="0">
+ <inkscape:grid
+ type="xygrid"
+ id="grid2816"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-25.585937,-779.745)">
+ <text
+ xml:space="preserve"
+ style="font-size:14px;font-style:normal;font-weight:normal;line-height:112.99999952%;fill:#bbbbbb;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="25"
+ y="787.36218"
+ id="text2910"
+ sodipodi:linespacing="113%"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan2912"
+ x="25"
+ y="787.36218"
+ style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:112.99999952%;writing-mode:lr-tb;text-anchor:start;fill:#bbbbbb;fill-opacity:1;font-family:Roboto;-inkscape-font-specification:Roboto Medium">Hardware Keyboard<tspan
+ style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:112.99999952%;writing-mode:lr-tb;text-anchor:start;fill:#999999;fill-opacity:1;font-family:Roboto;-inkscape-font-specification:Roboto Medium"
+ id="tspan3589" /></tspan><tspan
+ sodipodi:role="line"
+ x="25"
+ y="798.66217"
+ style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:112.99999952%;writing-mode:lr-tb;text-anchor:start;fill:#bbbbbb;fill-opacity:1;font-family:Roboto;-inkscape-font-specification:Roboto Medium"
+ id="tspan2818">Use your physical keyboard to provide input</tspan></text>
+ </g>
+</svg>
diff --git a/emulator/skins/dynamic/arrow_down.png b/emulator/skins/dynamic/arrow_down.png
new file mode 100644
index 000000000..b9fde223d
--- /dev/null
+++ b/emulator/skins/dynamic/arrow_down.png
Binary files differ
diff --git a/emulator/skins/dynamic/arrow_left.png b/emulator/skins/dynamic/arrow_left.png
new file mode 100644
index 000000000..281b1923a
--- /dev/null
+++ b/emulator/skins/dynamic/arrow_left.png
Binary files differ
diff --git a/emulator/skins/dynamic/arrow_right.png b/emulator/skins/dynamic/arrow_right.png
new file mode 100644
index 000000000..4cbc65d33
--- /dev/null
+++ b/emulator/skins/dynamic/arrow_right.png
Binary files differ
diff --git a/emulator/skins/dynamic/arrow_up.png b/emulator/skins/dynamic/arrow_up.png
new file mode 100644
index 000000000..29c712151
--- /dev/null
+++ b/emulator/skins/dynamic/arrow_up.png
Binary files differ
diff --git a/emulator/skins/dynamic/basic.png b/emulator/skins/dynamic/basic.png
new file mode 100644
index 000000000..585ccfeb5
--- /dev/null
+++ b/emulator/skins/dynamic/basic.png
Binary files differ
diff --git a/emulator/skins/dynamic/button.png b/emulator/skins/dynamic/button.png
new file mode 100644
index 000000000..8281d20fb
--- /dev/null
+++ b/emulator/skins/dynamic/button.png
Binary files differ
diff --git a/emulator/skins/dynamic/dpad_off.png b/emulator/skins/dynamic/dpad_off.png
new file mode 100644
index 000000000..84a7d2a3b
--- /dev/null
+++ b/emulator/skins/dynamic/dpad_off.png
Binary files differ
diff --git a/emulator/skins/dynamic/dpad_on.png b/emulator/skins/dynamic/dpad_on.png
new file mode 100644
index 000000000..9813a5322
--- /dev/null
+++ b/emulator/skins/dynamic/dpad_on.png
Binary files differ
diff --git a/emulator/skins/dynamic/hwkeys_off.png b/emulator/skins/dynamic/hwkeys_off.png
new file mode 100644
index 000000000..468e72784
--- /dev/null
+++ b/emulator/skins/dynamic/hwkeys_off.png
Binary files differ
diff --git a/emulator/skins/dynamic/hwkeys_on.png b/emulator/skins/dynamic/hwkeys_on.png
new file mode 100644
index 000000000..e4f732fa2
--- /dev/null
+++ b/emulator/skins/dynamic/hwkeys_on.png
Binary files differ
diff --git a/emulator/skins/dynamic/keyboard_off.png b/emulator/skins/dynamic/keyboard_off.png
new file mode 100644
index 000000000..c8b486ab0
--- /dev/null
+++ b/emulator/skins/dynamic/keyboard_off.png
Binary files differ
diff --git a/emulator/skins/dynamic/keyboard_on.png b/emulator/skins/dynamic/keyboard_on.png
new file mode 100644
index 000000000..97b45bfd5
--- /dev/null
+++ b/emulator/skins/dynamic/keyboard_on.png
Binary files differ
diff --git a/emulator/skins/dynamic/layout b/emulator/skins/dynamic/layout
new file mode 100644
index 000000000..5fa7d975f
--- /dev/null
+++ b/emulator/skins/dynamic/layout
@@ -0,0 +1,138 @@
+# This layout file only defines all the parts. The layouts section
+# that is missing is filled in at runtime by the skin parser.
+# Many of the parts in this layout have both _on and _off versions
+# which correspond to the part to be used if that control is actually
+# available in the AVD.
+parts {
+ device {
+ display {
+ width 320
+ height 480
+ x 0
+ y 0
+ }
+ }
+
+ dpad_on {
+ background {
+ image dpad_on.png
+ width 110
+ height 88
+ }
+ buttons {
+ dpad-up {
+ image arrow_up.png
+ x 24
+ y 8
+ }
+ dpad-down {
+ image arrow_down.png
+ x 24
+ y 60
+ }
+ dpad-left {
+ image arrow_left.png
+ x 0
+ y 8
+ }
+ dpad-right {
+ image arrow_right.png
+ x 70
+ y 8
+ }
+ dpad-center {
+ image select.png
+ x 24
+ y 36
+ }
+ }
+ }
+
+ dpad_off {
+ background {
+ image dpad_off.png
+ width 111
+ height 91
+ }
+ }
+
+ hwkeys_on {
+ background {
+ image hwkeys_on.png
+ width 212
+ height 58
+ }
+ buttons {
+ home {
+ image button.png
+ x 0
+ y 12
+ }
+ soft-left {
+ image button.png
+ x 56
+ y 12
+ }
+ back {
+ image button.png
+ x 112
+ y 12
+ }
+ search {
+ image button.png
+ x 166
+ y 12
+ }
+ }
+ }
+
+ hwkeys_off {
+ background {
+ image hwkeys_off.png
+ width 212
+ height 58
+ }
+ }
+
+ keyboard_on {
+ background {
+ image keyboard_on.png
+ width 195
+ height 21
+ }
+ }
+
+ keyboard_off {
+ background {
+ image keyboard_off.png
+ width 174
+ height 21
+ }
+ }
+
+ basic_controls {
+ background {
+ image basic.png
+ width 159
+ height 55
+ }
+
+ buttons {
+ volume-down {
+ image button.png
+ x 1
+ y 9
+ }
+ volume-up {
+ image button.png
+ x 57
+ y 9
+ }
+ power {
+ image button.png
+ x 113
+ y 9
+ }
+ }
+ }
+}
diff --git a/emulator/skins/dynamic/select.png b/emulator/skins/dynamic/select.png
new file mode 100644
index 000000000..f4a65d3b5
--- /dev/null
+++ b/emulator/skins/dynamic/select.png
Binary files differ
diff --git a/emulator/snapshot/snapshots.img b/emulator/snapshot/snapshots.img
new file mode 100644
index 000000000..c05bbda8b
--- /dev/null
+++ b/emulator/snapshot/snapshots.img
Binary files differ