diff --git a/core/os/os.cpp b/core/os/os.cpp
index fcf712d442a..bc221dcb0c2 100644
--- a/core/os/os.cpp
+++ b/core/os/os.cpp
@@ -186,10 +186,6 @@ int OS::get_process_id() const {
return -1;
};
-void OS::vibrate_handheld(int p_duration_ms) {
- WARN_PRINT("vibrate_handheld() only works with Android, iOS and HTML5");
-}
-
bool OS::is_stdout_verbose() const {
return _verbose_stdout;
}
diff --git a/core/os/os.h b/core/os/os.h
index 0e59d10ca33..39e3bcb51c5 100644
--- a/core/os/os.h
+++ b/core/os/os.h
@@ -365,7 +365,7 @@ public:
virtual Error kill(const ProcessID &p_pid) = 0;
virtual int get_process_id() const;
virtual bool is_process_running(const ProcessID &p_pid) const = 0;
- virtual void vibrate_handheld(int p_duration_ms = 500);
+ virtual void vibrate_handheld(int p_duration_ms = 500) {}
virtual Error shell_open(String p_uri);
virtual Error set_cwd(const String &p_cwd);
diff --git a/doc/classes/Input.xml b/doc/classes/Input.xml
index f30d9c1c633..4f61556e430 100644
--- a/doc/classes/Input.xml
+++ b/doc/classes/Input.xml
@@ -364,7 +364,7 @@
- Starts to vibrate the joypad. Joypads usually come with two rumble motors, a strong and a weak one. [code]weak_magnitude[/code] is the strength of the weak motor (between 0 and 1) and [code]strong_magnitude[/code] is the strength of the strong motor (between 0 and 1). [code]duration[/code] is the duration of the effect in seconds (a duration of 0 will try to play the vibration indefinitely).
+ Starts to vibrate the joypad. Joypads usually come with two rumble motors, a strong and a weak one. [code]weak_magnitude[/code] is the strength of the weak motor (between 0 and 1) and [code]strong_magnitude[/code] is the strength of the strong motor (between 0 and 1). [code]duration[/code] is the duration of the effect in seconds (a duration of 0 will try to play the vibration indefinitely). The vibration can be stopped early by calling [method stop_joy_vibration].
[b]Note:[/b] Not every hardware is compatible with long effect durations; it is recommended to restart an effect if it has to be played for more than a few seconds.
@@ -372,18 +372,18 @@
- Stops the vibration of the joypad.
+ Stops the vibration of the joypad started with [method start_joy_vibration].
- Vibrate handheld devices.
- [b]Note:[/b] This method is implemented on Android, iOS, and HTML5.
- [b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] permission in the export preset.
- [b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and later.
- [b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not support this method.
+ Vibrate the handheld device for the specified duration in milliseconds.
+ [b]Note:[/b] This method is implemented on Android, iOS, and HTML5. It has no effect on other platforms.
+ [b]Note:[/b] For Android, [method vibrate_handheld] requires enabling the [code]VIBRATE[/code] permission in the export preset. Otherwise, [method vibrate_handheld] will have no effect.
+ [b]Note:[/b] For iOS, specifying the duration is only supported in iOS 13 and later.
+ [b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not support [method vibrate_handheld].