diff --git a/android/phoenix/res/layout/key_bind_dialog.xml b/android/phoenix/res/layout/key_bind_dialog.xml
new file mode 100644
index 0000000000..112bae443a
--- /dev/null
+++ b/android/phoenix/res/layout/key_bind_dialog.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/android/phoenix/res/values/strings.xml b/android/phoenix/res/values/strings.xml
index 2a10b44f53..07cab56efe 100644
--- a/android/phoenix/res/values/strings.xml
+++ b/android/phoenix/res/values/strings.xml
@@ -13,5 +13,7 @@
Cores Guide
Overlay How-to Guide
Shader Pack
+ Press the button to use
+ Clear
diff --git a/android/phoenix/res/xml/prefs.xml b/android/phoenix/res/xml/prefs.xml
index 7c7f9113aa..02b2959740 100644
--- a/android/phoenix/res/xml/prefs.xml
+++ b/android/phoenix/res/xml/prefs.xml
@@ -188,6 +188,11 @@
android:targetPackage="org.retroarch" />
+
+
+
diff --git a/android/phoenix/src/org/retroarch/browser/KeyBindPreference.java b/android/phoenix/src/org/retroarch/browser/KeyBindPreference.java
new file mode 100644
index 0000000000..c4694ba5e1
--- /dev/null
+++ b/android/phoenix/src/org/retroarch/browser/KeyBindPreference.java
@@ -0,0 +1,55 @@
+package org.retroarch.browser;
+
+import android.content.Context;
+import android.preference.DialogPreference;
+import android.util.AttributeSet;
+import android.util.Log;
+import android.view.KeyEvent;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.TextView;
+
+import org.retroarch.R;
+
+class KeyBindPreference extends DialogPreference implements View.OnKeyListener {
+ private int key_bind_code;
+ TextView keyText;
+ public KeyBindPreference(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ @Override
+ protected void onBindDialogView(View view) {
+ super.onBindDialogView(view);
+ }
+
+ @Override
+ protected View onCreateDialogView()
+ {
+ LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+ View view = inflater.inflate(R.layout.key_bind_dialog, null);
+ keyText = (TextView) view.findViewById(R.id.key_bind_value);
+ view.setOnKeyListener(this);
+ return view;
+ }
+
+ @Override
+ protected void onDialogClosed(boolean positiveResult) {
+ super.onDialogClosed(positiveResult);
+
+ if (positiveResult) {
+ // deal with persisting your values here
+ }
+ }
+
+ @Override
+ public boolean onKey(View v, int keyCode, KeyEvent event) {
+ Log.i("RetroArch", "Key event!");
+ if (event.getAction() == KeyEvent.ACTION_DOWN)
+ {
+ key_bind_code = keyCode;
+ keyText.setText(String.valueOf(key_bind_code));
+ }
+ return false;
+ }
+}
\ No newline at end of file