Index: apps/action.h =================================================================== --- apps/action.h (revision 29042) +++ apps/action.h (working copy) @@ -246,6 +246,7 @@ * being used, but are nice additions if the touchscreen is used */ ACTION_TOUCH_SHUFFLE, ACTION_TOUCH_REPMODE, + ACTION_TOUCH_MUTE, #endif /* USB HID codes */ Index: apps/gui/skin_engine/skin_parser.c =================================================================== --- apps/gui/skin_engine/skin_parser.c (revision 29042) +++ apps/gui/skin_engine/skin_parser.c (working copy) @@ -876,6 +876,7 @@ { "resumeplayback", ACTION_TREE_WPS}, /* returns to previous music, WPS/FM */ /* not really WPS specific, but no equivilant ACTION_STD_* */ {"voldown", ACTION_WPS_VOLDOWN}, {"volup", ACTION_WPS_VOLUP}, + {"mute", ACTION_TOUCH_MUTE }, /* generic settings changers */ {"setting_inc", ACTION_SETTINGS_INC}, {"setting_dec", ACTION_SETTINGS_DEC}, Index: apps/gui/wps.c =================================================================== --- apps/gui/wps.c (revision 29042) +++ apps/gui/wps.c (working copy) @@ -246,6 +246,16 @@ option_select_next_val(setting, button == ACTION_SETTINGS_DEC, true); } return ACTION_REDRAW; + case ACTION_TOUCH_MUTE: + { + const int min_vol = sound_min(SOUND_VOLUME); + if (global_settings.volume == min_vol) + global_settings.volume = (intptr_t)region->extradata; + else + global_settings.volume = (intptr_t)region->extradata = min_vol; + setvol(); + } + return ACTION_REDRAW; } return button; }