summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/os/keyboard.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/core/os/keyboard.h b/core/os/keyboard.h
index 9464f4305a..556ba3638e 100644
--- a/core/os/keyboard.h
+++ b/core/os/keyboard.h
@@ -315,7 +315,8 @@ constexpr Key operator-(uint32_t a, Key b) {
}
constexpr Key &operator-=(Key &a, int b) {
- return (Key &)((int &)a -= b);
+ a = static_cast<Key>(static_cast<int>(a) - static_cast<int>(b));
+ return a;
}
constexpr Key operator+(Key a, int b) {
@@ -339,15 +340,18 @@ constexpr Key operator|(Key a, Key b) {
}
constexpr Key &operator|=(Key &a, Key b) {
- return (Key &)((int &)a |= (int)b);
+ a = static_cast<Key>(static_cast<int>(a) | static_cast<int>(b));
+ return a;
}
constexpr Key &operator|=(Key &a, KeyModifierMask b) {
- return (Key &)((int &)a |= (int)b);
+ a = static_cast<Key>(static_cast<int>(a) | static_cast<int>(b));
+ return a;
}
constexpr Key &operator&=(Key &a, KeyModifierMask b) {
- return (Key &)((int &)a &= (int)b);
+ a = static_cast<Key>(static_cast<int>(a) & static_cast<int>(b));
+ return a;
}
constexpr Key operator|(Key a, KeyModifierMask b) {