diff --git a/core/core_constants.cpp b/core/core_constants.cpp
index 2332bc235bd..33b32714957 100644
--- a/core/core_constants.cpp
+++ b/core/core_constants.cpp
@@ -420,6 +420,10 @@ void register_global_constants() {
BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, LAUNCHD);
BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, LAUNCHE);
BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, LAUNCHF);
+ BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, GLOBE);
+ BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, KEYBOARD);
+ BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, JIS_EISU);
+ BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, JIS_KANA);
BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, UNKNOWN);
BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, SPACE);
BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, EXCLAM);
@@ -492,10 +496,6 @@ void register_global_constants() {
BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, ASCIITILDE);
BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, YEN);
BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, SECTION);
- BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, GLOBE);
- BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, KEYBOARD);
- BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, JIS_EISU);
- BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, JIS_KANA);
BIND_CORE_BITFIELD_CLASS_FLAG_CUSTOM(KeyModifierMask, KEY_CODE_MASK, CODE_MASK);
BIND_CORE_BITFIELD_CLASS_FLAG_CUSTOM(KeyModifierMask, KEY_MODIFIER_MASK, MODIFIER_MASK);
diff --git a/core/os/keyboard.cpp b/core/os/keyboard.cpp
index 1a51624030e..60788828390 100644
--- a/core/os/keyboard.cpp
+++ b/core/os/keyboard.cpp
@@ -146,6 +146,7 @@ static const _KeyCodeText _keycodes[] = {
{Key::FAVORITES ,"Favorites"},
{Key::SEARCH ,"Search"},
{Key::STANDBY ,"StandBy"},
+ {Key::OPENURL ,"OpenURL"},
{Key::LAUNCHMAIL ,"LaunchMail"},
{Key::LAUNCHMEDIA ,"LaunchMedia"},
{Key::LAUNCH0 ,"Launch0"},
@@ -238,6 +239,8 @@ static const _KeyCodeText _keycodes[] = {
{Key::BAR ,"Bar"},
{Key::BRACERIGHT ,"BraceRight"},
{Key::ASCIITILDE ,"AsciiTilde"},
+ {Key::YEN ,"Yen"},
+ {Key::SECTION ,"Section"},
{Key::NONE ,nullptr}
/* clang-format on */
};
diff --git a/core/os/keyboard.h b/core/os/keyboard.h
index cf276dc49f2..785972d31d9 100644
--- a/core/os/keyboard.h
+++ b/core/os/keyboard.h
@@ -33,6 +33,8 @@
#include "core/string/ustring.h"
+// Keep the values in this enum in sync with `_keycodes` in `keyboard.cpp`,
+// and the bindings in `core_constants.cpp`.
enum class Key {
NONE = 0,
// Special key: The strategy here is similar to the one used by toolkits,
diff --git a/doc/classes/@GlobalScope.xml b/doc/classes/@GlobalScope.xml
index e44fdd97762..ae40051d954 100644
--- a/doc/classes/@GlobalScope.xml
+++ b/doc/classes/@GlobalScope.xml
@@ -2035,6 +2035,18 @@
Launch Shortcut F key.
+
+ "Globe" key on Mac / iPad keyboard.
+
+
+ "On-screen keyboard" key on iPad keyboard.
+
+
+ 英数 key on Mac keyboard.
+
+
+ かな key on Mac keyboard.
+
Unknown key.
@@ -2251,18 +2263,6 @@
§ key.
-
- "Globe" key on Mac / iPad keyboard.
-
-
- "On-screen keyboard" key iPad keyboard.
-
-
- 英数 key on Mac keyboard.
-
-
- かな key on Mac keyboard.
-
Key Code mask.