summaryrefslogtreecommitdiff
path: root/apps/misc.c
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2011-11-16 10:25:43 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2011-11-16 10:25:43 +0000
commitbe716c0be80e3f64a81a3f19b683db40489f47a1 (patch)
treebc461ad1de8b5fda6c3c14d0cfd737bdc69ddc83 /apps/misc.c
parentb7508a766df991539bec5e10fd7739001c1fdb99 (diff)
downloadrockbox-be716c0be80e3f64a81a3f19b683db40489f47a1.tar.gz
rockbox-be716c0be80e3f64a81a3f19b683db40489f47a1.zip
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
Diffstat (limited to 'apps/misc.c')
-rw-r--r--apps/misc.c26
1 files changed, 24 insertions, 2 deletions
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 @@
94#endif 94#endif
95#endif 95#endif
96 96
97#ifdef HAVE_HARDWARE_CLICK
98#include "piezo.h"
99#endif
100
97/* units used with output_dyn_value */ 101/* units used with output_dyn_value */
98const unsigned char * const byte_units[] = 102const unsigned char * const byte_units[] =
99{ 103{
@@ -873,14 +877,32 @@ void system_sound_play(enum system_sound sound)
873void keyclick_click(int button) 877void keyclick_click(int button)
874{ 878{
875 /* Settings filters */ 879 /* Settings filters */
876 if (global_settings.keyclick && 880 if (
877 (global_settings.keyclick_repeats || !(button & BUTTON_REPEAT))) 881#ifdef HAVE_HARDWARE_CLICK
882 (global_settings.keyclick || global_settings.keyclick_hardware)
883#else
884 global_settings.keyclick
885#endif
886 && (global_settings.keyclick_repeats || !(button & BUTTON_REPEAT)))
878 { 887 {
879 /* Button filters */ 888 /* Button filters */
880 if (button != BUTTON_NONE && !(button & BUTTON_REL) 889 if (button != BUTTON_NONE && !(button & BUTTON_REL)
881 && !(button & (SYS_EVENT|BUTTON_MULTIMEDIA)) ) 890 && !(button & (SYS_EVENT|BUTTON_MULTIMEDIA)) )
882 { 891 {
892#ifdef HAVE_HARDWARE_CLICK
893 if (global_settings.keyclick)
894 {
895 system_sound_play(SOUND_KEYCLICK);
896 }
897 if (global_settings.keyclick_hardware)
898 {
899#if !defined(SIMULATOR)
900 piezo_button_beep(false, false);
901#endif
902 }
903#else
883 system_sound_play(SOUND_KEYCLICK); 904 system_sound_play(SOUND_KEYCLICK);
905#endif
884 } 906 }
885 } 907 }
886} 908}