forked from Mirrorlandia_minetest/minetest
Revert "Don't trigger a key event if a key with the same associated char was pressed (#13773)"
This partially reverts commit d57c936b080f404df0b544561242b0c45c57f04d. The reverted commit prevented recognition of key combinations. It correctly changed a test case to no longer use “KEY_NUMPAD_5”. Several keyboard layouts use a key combination to input a “+” (e.g. Neo2); therefore some users could no longer input “+” to increase the view range. Co-authored-by: savilli <78875209+savilli@users.noreply.github.com>
This commit is contained in:
parent
ec7a1f02e7
commit
2025dcffbd
@ -38,9 +38,7 @@ public:
|
||||
|
||||
bool operator==(const KeyPress &o) const
|
||||
{
|
||||
if (valid_kcode(Key) && valid_kcode(o.Key))
|
||||
return Key == o.Key;
|
||||
return Char > 0 && Char == o.Char;
|
||||
return (Char > 0 && Char == o.Char) || (valid_kcode(Key) && Key == o.Key);
|
||||
}
|
||||
|
||||
const char *sym() const;
|
||||
|
@ -126,11 +126,4 @@ void TestKeycode::testCompare()
|
||||
in.Char = L'\0';
|
||||
in2.Char = L';';
|
||||
UASSERT(KeyPress(in) == KeyPress(in2));
|
||||
|
||||
// Irrlicht sets chars to the according digit for numpad keys.
|
||||
// We need to distinguish them in order to bind numpad keys.
|
||||
irr::SEvent::SKeyInput in3;
|
||||
in3.Key = irr::KEY_NUMPAD5;
|
||||
in3.Char = L'5';
|
||||
UASSERT(!(KeyPress("5") == KeyPress(in3)));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user