diff --git a/Android.mk b/Android.mk
old mode 100644
new mode 100755
index 4036473..9b91235
--- a/Android.mk
+++ b/Android.mk
@@ -293,6 +293,9 @@
 ifeq ($(TW_NO_EXFAT_FUSE), true)
     LOCAL_CFLAGS += -DTW_NO_EXFAT_FUSE
 endif
+ifeq ($(TW_NO_HAPTICS), true)
+    LOCAL_CFLAGS += -DTW_NO_HAPTICS
+endif
 ifeq ($(TW_INCLUDE_JB_CRYPTO), true)
     TW_INCLUDE_CRYPTO := true
 endif
diff --git a/data.cpp b/data.cpp
old mode 100644
new mode 100755
index d9239a4..cf8349b
--- a/data.cpp
+++ b/data.cpp
@@ -587,9 +587,16 @@
 	mConst.SetValue("false", "0");
 
 	mConst.SetValue(TW_VERSION_VAR, TW_VERSION_STR);
+
+#ifndef TW_NO_HAPTICS
 	mPersist.SetValue("tw_button_vibrate", "80");
 	mPersist.SetValue("tw_keyboard_vibrate", "40");
 	mPersist.SetValue("tw_action_vibrate", "160");
+	mConst.SetValue("tw_disable_haptics", "0");
+#else
+	LOGINFO("TW_NO_HAPTICS := true\n");
+	mConst.SetValue("tw_disable_haptics", "1");
+#endif
 
 	TWPartition *store = PartitionManager.Get_Default_Storage_Partition();
 	if (store)
@@ -1110,9 +1117,11 @@
 
 void DataManager::Vibrate(const string& varName)
 {
+#ifndef TW_NO_HAPTICS
 	int vib_value = 0;
 	GetValue(varName, vib_value);
 	if (vib_value) {
 		vibrate(vib_value);
 	}
+#endif
 }
diff --git a/data.hpp b/data.hpp
old mode 100644
new mode 100755
diff --git a/gui/action.cpp b/gui/action.cpp
old mode 100644
new mode 100755
index d708dd4..11d9580
--- a/gui/action.cpp
+++ b/gui/action.cpp
@@ -516,8 +516,12 @@
 	blankTimer.resetTimerAndUnblank();
 	property_set("twrp.action_complete", "1");
 	time(&Stop);
+
+#ifndef TW_NO_HAPTICS
 	if ((int) difftime(Stop, Start) > 10)
 		DataManager::Vibrate("tw_action_vibrate");
+#endif
+
 	LOGINFO("operation_end - status=%d\n", operation_status);
 }
 
diff --git a/gui/button.cpp b/gui/button.cpp
old mode 100644
new mode 100755
index dfae5e2..7c7f69f
--- a/gui/button.cpp
+++ b/gui/button.cpp
@@ -248,7 +248,10 @@
 	} else {
 		if (last_state == 0) {
 			last_state = 1;
+
+#ifndef TW_NO_HAPTICS
 			DataManager::Vibrate("tw_button_vibrate");
+#endif
 			if (mButtonLabel != NULL)
 				mButtonLabel->isHighlighted = true;
 			if (mButtonImg != NULL)
diff --git a/gui/checkbox.cpp b/gui/checkbox.cpp
old mode 100644
new mode 100755
index de63cba..025a803
--- a/gui/checkbox.cpp
+++ b/gui/checkbox.cpp
@@ -179,7 +179,10 @@
 		lastState = (lastState == 0) ? 1 : 0;
 		DataManager::SetValue(mVarName, lastState);
 
+#ifndef TW_NO_HAPTICS
 		DataManager::Vibrate("tw_button_vibrate");
+#endif
+
 	}
 	return 0;
 }
diff --git a/gui/keyboard.cpp b/gui/keyboard.cpp
old mode 100644
new mode 100755
index ca7006d..b6a772b
--- a/gui/keyboard.cpp
+++ b/gui/keyboard.cpp
@@ -549,7 +549,11 @@
 			bool repeatKey = false;
 			Layout& lay = layouts[currentLayout - 1];
 			if (state == TOUCH_RELEASE && was_held == 0) {
+
+#ifndef TW_NO_HAPTICS
 				DataManager::Vibrate("tw_keyboard_vibrate");
+#endif
+
 				if (key.layout > 0) {
 					// Switch layouts
 					if (lay.is_caps && key.layout == lay.revert_layout && !CapsLockOn) {
@@ -593,7 +597,11 @@
 				was_held = 1;
 				if (key.longpresskey > 0) {
 					// Long Press Key
+
+#ifndef TW_NO_HAPTICS
 					DataManager::Vibrate("tw_keyboard_vibrate");
+#endif
+
 					PageManager::NotifyCharInput(key.longpresskey);
 				}
 				else
diff --git a/gui/patternpassword.cpp b/gui/patternpassword.cpp
old mode 100644
new mode 100755
index 5559f9d..a75ed15
--- a/gui/patternpassword.cpp
+++ b/gui/patternpassword.cpp
@@ -370,7 +370,11 @@
 			mTrackingTouch = true;
 			ResetActiveDots();
 			ConnectDot(dot_idx);
+
+#ifndef TW_NO_HAPTICS
 			DataManager::Vibrate("tw_button_vibrate");
+#endif
+
 			mCurLineX = x;
 			mCurLineY = y;
 			mNeedRender = true;
@@ -386,7 +390,11 @@
 			{
 				ConnectIntermediateDots(dot_idx);
 				ConnectDot(dot_idx);
+
+#ifndef TW_NO_HAPTICS
 				DataManager::Vibrate("tw_button_vibrate");
+#endif
+
 			}
 
 			mCurLineX = x;
diff --git a/gui/scrolllist.cpp b/gui/scrolllist.cpp
old mode 100644
new mode 100755
index ecfb5fe..bf5a9b0
--- a/gui/scrolllist.cpp
+++ b/gui/scrolllist.cpp
@@ -508,7 +508,10 @@
 			NotifySelect(selectedItem);
 			mUpdate = 1;
 
+#ifndef TW_NO_HAPTICS
 			DataManager::Vibrate("tw_button_vibrate");
+#endif
+
 			selectedItem = NO_ITEM;
 		} else {
 			// Start kinetic scrolling
diff --git a/gui/slider.cpp b/gui/slider.cpp
old mode 100644
new mode 100755
index fab5a2e..3c5f652
--- a/gui/slider.cpp
+++ b/gui/slider.cpp
@@ -208,7 +208,11 @@
 			return 0;
 
 		if (sCurTouchX >= mRenderX + mRenderW - sTouchW) {
+
+#ifndef TW_NO_HAPTICS
 			DataManager::Vibrate("tw_button_vibrate");
+#endif
+
 			sAction->doActions();
 		}
 
diff --git a/gui/terminal.cpp b/gui/terminal.cpp
old mode 100644
new mode 100755
index b1799ce..a4fed91
--- a/gui/terminal.cpp
+++ b/gui/terminal.cpp
@@ -530,7 +530,11 @@
 		switch (ch)
 		{
 			case 7: // BEL
+
+#ifndef TW_NO_HAPTICS
 				DataManager::Vibrate("tw_button_vibrate");
+#endif
+
 				break;
 			case 8: // BS
 				left();
diff --git a/gui/theme/common/landscape.xml b/gui/theme/common/landscape.xml
old mode 100644
new mode 100755
index 5bbfe90..f6f14bc
--- a/gui/theme/common/landscape.xml
+++ b/gui/theme/common/landscape.xml
@@ -3166,19 +3166,28 @@
 				<placement x="%tab5_col4_x%" y="%row_tab_y%" w="%tab5_width%" h="%tab_indicator_height%"/>
 			</fill>
 
+			<text style="text_m">
+				<condition var1="tw_disable_haptics" var2="1"/>
+				<placement x="col1_x_left" y="%row4_y%" w="%content_width%"/>
+				<text>{@vibration_disabled=Vibration Disabled for Device}</text>
+			</text>
+
 			<slidervalue>
+				<condition var1="tw_disable_haptics" var2="0"/>
 				<placement x="col1_x_left" y="%row4_y%" w="%content_width%"/>
 				<text>{@button_vibration=Button Vibration:}</text>
 				<data variable="tw_button_vibrate" min="0" max="300"/>
 			</slidervalue>
 
 			<slidervalue>
+				<condition var1="tw_disable_haptics" var2="0"/>
 				<placement x="col1_x_left" y="%row9_y%" w="%content_width%"/>
 				<text>{@kb_vibration=Keyboard Vibration:}</text>
 				<data variable="tw_keyboard_vibrate" min="0" max="300"/>
 			</slidervalue>
 
 			<slidervalue>
+				<condition var1="tw_disable_haptics" var2="0"/>
 				<placement x="col1_x_left" y="%row14_y%" w="%content_width%"/>
 				<text>{@act_vibration=Action Vibration:}</text>
 				<data variable="tw_action_vibrate" min="0" max="500"/>
diff --git a/gui/theme/common/languages/en.xml b/gui/theme/common/languages/en.xml
old mode 100644
new mode 100755
index afba59a..03d4e08
--- a/gui/theme/common/languages/en.xml
+++ b/gui/theme/common/languages/en.xml
@@ -318,6 +318,7 @@
 		<string name="settings_tz_btn">Time Zone</string>
 		<string name="settings_screen_btn">Screen</string>
 		<string name="settings_screen_bright_btn">Screen Brightness</string>
+		<string name="vibration_disabled">Vibration is disabled for this device</string>
 		<string name="settings_vibration_btn">Vibration</string>
 		<string name="settings_language_btn">Language</string>
 		<string name="time_zone_hdr">Time Zone</string>
diff --git a/gui/theme/common/portrait.xml b/gui/theme/common/portrait.xml
old mode 100644
new mode 100755
index 1176922..09b7c6b
--- a/gui/theme/common/portrait.xml
+++ b/gui/theme/common/portrait.xml
@@ -3329,19 +3329,28 @@
 				<placement x="%tab5_col4_x%" y="%row_tab_y%" w="%tab5_width%" h="%tab_indicator_height%"/>
 			</fill>
 
+			<text style="text_m">
+				<condition var1="tw_disable_haptics" var2="1"/>
+				<placement x="%indent%" y="%row4_y%"/>
+				<text>{@vibration_disabled=Vibration Disabled for Device}</text>
+			</text>
+
 			<slidervalue>
+				<condition var1="tw_disable_haptics" var2="0"/>
 				<placement x="indent" y="%row4_y%" w="%content_width%"/>
 				<text>{@button_vibration=Button Vibration:}</text>
 				<data variable="tw_button_vibrate" min="0" max="300"/>
 			</slidervalue>
 
 			<slidervalue>
+				<condition var1="tw_disable_haptics" var2="0"/>
 				<placement x="indent" y="%row9_y%" w="%content_width%"/>
 				<text>{@kb_vibration=Keyboard Vibration:}</text>
 				<data variable="tw_keyboard_vibrate" min="0" max="300"/>
 			</slidervalue>
 
 			<slidervalue>
+				<condition var1="tw_disable_haptics" var2="0"/>
 				<placement x="indent" y="%row14_y%" w="%content_width%"/>
 				<text>{@act_vibration=Action Vibration:}</text>
 				<data variable="tw_action_vibrate" min="0" max="500"/>
diff --git a/gui/theme/common/watch.xml b/gui/theme/common/watch.xml
old mode 100644
new mode 100755
index 83f4b63..d36bb2d
--- a/gui/theme/common/watch.xml
+++ b/gui/theme/common/watch.xml
@@ -3518,6 +3518,7 @@
 			</button>
 
 			<button style="main_button">
+				<condition var1="tw_disable_haptics" var2="0"/>
 				<placement x="%col1_x_right%" y="%row6_y%"/>
 				<text>{@settings_vibration_btn=Vibration}</text>
 				<action function="page">settings_vibration</action>
diff --git a/minuitwrp/events.cpp b/minuitwrp/events.cpp
old mode 100644
new mode 100755
index bd29f71..9374ef1
--- a/minuitwrp/events.cpp
+++ b/minuitwrp/events.cpp
@@ -123,6 +123,7 @@
 	return -1;
 }
 
+#ifndef TW_NO_HAPTICS
 int vibrate(int timeout_ms)
 {
     if (timeout_ms > 10000) timeout_ms = 1000;
@@ -135,6 +136,7 @@
 
     return 0;
 }
+#endif
 
 /* Returns empty tokens */
 static char *vk_strtok_r(char *str, const char *delim, char **save_str)
@@ -722,7 +724,9 @@
 
                 last_virt_key = e->vks[i].scancode;
 
+#ifndef TW_NO_HAPTICS
                 vibrate(VIBRATOR_TIME_MS);
+#endif
 
                 // Mark that all further movement until lift is discard,
                 // and make sure we don't come back into this area
