From be716c0be80e3f64a81a3f19b683db40489f47a1 Mon Sep 17 00:00:00 2001 From: Jonathan Gordon Date: Wed, 16 Nov 2011 10:25:43 +0000 Subject: Finally commit FS#5111 - piezo clicker for ipods! Origional implementation by Robert Keevil with contributions from Frederik Vestre, Stoyan Stratev, Craig Elliott, Michael Sparmann, Thomas Schott, Rosso Maltese, and syncs from a bunch of other people! git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30995 a1c6a512-1295-4272-9138-f99709370657 --- apps/misc.c | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) (limited to 'apps/misc.c') diff --git a/apps/misc.c b/apps/misc.c index 0608595d21..04a6d05c91 100644 --- a/apps/misc.c +++ b/apps/misc.c @@ -94,6 +94,10 @@ #endif #endif +#ifdef HAVE_HARDWARE_CLICK +#include "piezo.h" +#endif + /* units used with output_dyn_value */ const unsigned char * const byte_units[] = { @@ -873,14 +877,32 @@ void system_sound_play(enum system_sound sound) void keyclick_click(int button) { /* Settings filters */ - if (global_settings.keyclick && - (global_settings.keyclick_repeats || !(button & BUTTON_REPEAT))) + if ( +#ifdef HAVE_HARDWARE_CLICK + (global_settings.keyclick || global_settings.keyclick_hardware) +#else + global_settings.keyclick +#endif + && (global_settings.keyclick_repeats || !(button & BUTTON_REPEAT))) { /* Button filters */ if (button != BUTTON_NONE && !(button & BUTTON_REL) && !(button & (SYS_EVENT|BUTTON_MULTIMEDIA)) ) { +#ifdef HAVE_HARDWARE_CLICK + if (global_settings.keyclick) + { + system_sound_play(SOUND_KEYCLICK); + } + if (global_settings.keyclick_hardware) + { +#if !defined(SIMULATOR) + piezo_button_beep(false, false); +#endif + } +#else system_sound_play(SOUND_KEYCLICK); +#endif } } } -- cgit v1.2.3