diff --git a/Android/app/src/main/java/org/deadc0de/apple2ix/Apple2Activity.java b/Android/app/src/main/java/org/deadc0de/apple2ix/Apple2Activity.java index 967ae6a5..16b825af 100644 --- a/Android/app/src/main/java/org/deadc0de/apple2ix/Apple2Activity.java +++ b/Android/app/src/main/java/org/deadc0de/apple2ix/Apple2Activity.java @@ -350,9 +350,11 @@ public class Apple2Activity extends Activity { } if ((nativeFlags & NATIVE_TOUCH_KEY_TAP) != 0) { - AudioManager am = (AudioManager) getSystemService(AUDIO_SERVICE); - if (am != null) { - am.playSoundEffect(AudioManager.FX_KEY_CLICK); + if (Apple2Preferences.KEYBOARD_CLICK_ENABLED.booleanValue(this)) { + AudioManager am = (AudioManager) getSystemService(AUDIO_SERVICE); + if (am != null) { + am.playSoundEffect(AudioManager.FX_KEY_CLICK); + } } if ((apple2MenuView != null) && apple2MenuView.isCalibrating()) { diff --git a/Android/app/src/main/java/org/deadc0de/apple2ix/Apple2KeyboardSettingsMenu.java b/Android/app/src/main/java/org/deadc0de/apple2ix/Apple2KeyboardSettingsMenu.java index e32d43ab..ed8ae12d 100644 --- a/Android/app/src/main/java/org/deadc0de/apple2ix/Apple2KeyboardSettingsMenu.java +++ b/Android/app/src/main/java/org/deadc0de/apple2ix/Apple2KeyboardSettingsMenu.java @@ -154,6 +154,30 @@ public class Apple2KeyboardSettingsMenu extends Apple2AbstractMenu { }); } }, + KEYBOARD_ENABLE_CLICK { + @Override + public final String getTitle(Apple2Activity activity) { + return activity.getResources().getString(R.string.keyboard_click_enabled); + } + + @Override + public final String getSummary(Apple2Activity activity) { + return activity.getResources().getString(R.string.keyboard_click_enabled_summary); + } + + @Override + public View getView(final Apple2Activity activity, View convertView) { + convertView = _basicView(activity, this, convertView); + CheckBox cb = _addCheckbox(activity, this, convertView, Apple2Preferences.KEYBOARD_CLICK_ENABLED.booleanValue(activity)); + cb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + Apple2Preferences.KEYBOARD_CLICK_ENABLED.saveBoolean(activity, isChecked); + } + }); + return convertView; + } + }, KEYBOARD_ENABLE_LOWERCASE { @Override public final String getTitle(Apple2Activity activity) { diff --git a/Android/app/src/main/java/org/deadc0de/apple2ix/Apple2Preferences.java b/Android/app/src/main/java/org/deadc0de/apple2ix/Apple2Preferences.java index 3aca55f4..0d39de95 100644 --- a/Android/app/src/main/java/org/deadc0de/apple2ix/Apple2Preferences.java +++ b/Android/app/src/main/java/org/deadc0de/apple2ix/Apple2Preferences.java @@ -571,6 +571,17 @@ public enum Apple2Preferences { public boolean booleanValue(Apple2Activity activity) { return activity.getPreferences(Context.MODE_PRIVATE).getBoolean(toString(), false); } + }, + KEYBOARD_CLICK_ENABLED { + @Override + public void load(Apple2Activity activity) { + boolean enabled = booleanValue(activity); + } + + @Override + public boolean booleanValue(Apple2Activity activity) { + return activity.getPreferences(Context.MODE_PRIVATE).getBoolean(toString(), true); + } }; public enum HiresColor { diff --git a/Android/app/src/main/res/values/strings.xml b/Android/app/src/main/res/values/strings.xml index 6596f1f2..84c682ce 100644 --- a/Android/app/src/main/res/values/strings.xml +++ b/Android/app/src/main/res/values/strings.xml @@ -74,6 +74,8 @@ Keyboard Choose alt keyboard… Choose alternative customized layout + Enable key click + Enables key click sound if available Configure keyboard… Transparency, lowercase, custom keys Enable lowercase