Merge pull request #48168 from LightningAA/control-to-ctrl-4.0
This commit is contained in:
commit
6c367f8e0d
58 changed files with 398 additions and 398 deletions
|
@ -161,7 +161,7 @@ void register_global_constants() {
|
||||||
BIND_CORE_ENUM_CONSTANT(KEY_PAGEUP);
|
BIND_CORE_ENUM_CONSTANT(KEY_PAGEUP);
|
||||||
BIND_CORE_ENUM_CONSTANT(KEY_PAGEDOWN);
|
BIND_CORE_ENUM_CONSTANT(KEY_PAGEDOWN);
|
||||||
BIND_CORE_ENUM_CONSTANT(KEY_SHIFT);
|
BIND_CORE_ENUM_CONSTANT(KEY_SHIFT);
|
||||||
BIND_CORE_ENUM_CONSTANT(KEY_CONTROL);
|
BIND_CORE_ENUM_CONSTANT(KEY_CTRL);
|
||||||
BIND_CORE_ENUM_CONSTANT(KEY_META);
|
BIND_CORE_ENUM_CONSTANT(KEY_META);
|
||||||
BIND_CORE_ENUM_CONSTANT(KEY_ALT);
|
BIND_CORE_ENUM_CONSTANT(KEY_ALT);
|
||||||
BIND_CORE_ENUM_CONSTANT(KEY_CAPSLOCK);
|
BIND_CORE_ENUM_CONSTANT(KEY_CAPSLOCK);
|
||||||
|
|
|
@ -147,66 +147,66 @@ bool InputEventWithModifiers::is_storing_command() const {
|
||||||
return store_command;
|
return store_command;
|
||||||
}
|
}
|
||||||
|
|
||||||
void InputEventWithModifiers::set_shift(bool p_enabled) {
|
void InputEventWithModifiers::set_shift_pressed(bool p_enabled) {
|
||||||
shift = p_enabled;
|
shift_pressed = p_enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool InputEventWithModifiers::get_shift() const {
|
bool InputEventWithModifiers::is_shift_pressed() const {
|
||||||
return shift;
|
return shift_pressed;
|
||||||
}
|
}
|
||||||
|
|
||||||
void InputEventWithModifiers::set_alt(bool p_enabled) {
|
void InputEventWithModifiers::set_alt_pressed(bool p_enabled) {
|
||||||
alt = p_enabled;
|
alt_pressed = p_enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool InputEventWithModifiers::get_alt() const {
|
bool InputEventWithModifiers::is_alt_pressed() const {
|
||||||
return alt;
|
return alt_pressed;
|
||||||
}
|
}
|
||||||
|
|
||||||
void InputEventWithModifiers::set_control(bool p_enabled) {
|
void InputEventWithModifiers::set_ctrl_pressed(bool p_enabled) {
|
||||||
control = p_enabled;
|
ctrl_pressed = p_enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool InputEventWithModifiers::get_control() const {
|
bool InputEventWithModifiers::is_ctrl_pressed() const {
|
||||||
return control;
|
return ctrl_pressed;
|
||||||
}
|
}
|
||||||
|
|
||||||
void InputEventWithModifiers::set_metakey(bool p_enabled) {
|
void InputEventWithModifiers::set_meta_pressed(bool p_enabled) {
|
||||||
meta = p_enabled;
|
meta_pressed = p_enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool InputEventWithModifiers::get_metakey() const {
|
bool InputEventWithModifiers::is_meta_pressed() const {
|
||||||
return meta;
|
return meta_pressed;
|
||||||
}
|
}
|
||||||
|
|
||||||
void InputEventWithModifiers::set_command(bool p_enabled) {
|
void InputEventWithModifiers::set_command_pressed(bool p_enabled) {
|
||||||
command = p_enabled;
|
command_pressed = p_enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool InputEventWithModifiers::get_command() const {
|
bool InputEventWithModifiers::is_command_pressed() const {
|
||||||
return command;
|
return command_pressed;
|
||||||
}
|
}
|
||||||
|
|
||||||
void InputEventWithModifiers::set_modifiers_from_event(const InputEventWithModifiers *event) {
|
void InputEventWithModifiers::set_modifiers_from_event(const InputEventWithModifiers *event) {
|
||||||
set_alt(event->get_alt());
|
set_alt_pressed(event->is_alt_pressed());
|
||||||
set_shift(event->get_shift());
|
set_shift_pressed(event->is_shift_pressed());
|
||||||
set_control(event->get_control());
|
set_ctrl_pressed(event->is_ctrl_pressed());
|
||||||
set_metakey(event->get_metakey());
|
set_meta_pressed(event->is_meta_pressed());
|
||||||
}
|
}
|
||||||
|
|
||||||
String InputEventWithModifiers::as_text() const {
|
String InputEventWithModifiers::as_text() const {
|
||||||
Vector<String> mod_names;
|
Vector<String> mod_names;
|
||||||
|
|
||||||
if (get_control()) {
|
if (is_ctrl_pressed()) {
|
||||||
mod_names.push_back(find_keycode_name(KEY_CONTROL));
|
mod_names.push_back(find_keycode_name(KEY_CTRL));
|
||||||
}
|
}
|
||||||
if (get_shift()) {
|
if (is_shift_pressed()) {
|
||||||
mod_names.push_back(find_keycode_name(KEY_SHIFT));
|
mod_names.push_back(find_keycode_name(KEY_SHIFT));
|
||||||
}
|
}
|
||||||
if (get_alt()) {
|
if (is_alt_pressed()) {
|
||||||
mod_names.push_back(find_keycode_name(KEY_ALT));
|
mod_names.push_back(find_keycode_name(KEY_ALT));
|
||||||
}
|
}
|
||||||
if (get_metakey()) {
|
if (is_meta_pressed()) {
|
||||||
mod_names.push_back(find_keycode_name(KEY_META));
|
mod_names.push_back(find_keycode_name(KEY_META));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -225,27 +225,27 @@ void InputEventWithModifiers::_bind_methods() {
|
||||||
ClassDB::bind_method(D_METHOD("set_store_command", "enable"), &InputEventWithModifiers::set_store_command);
|
ClassDB::bind_method(D_METHOD("set_store_command", "enable"), &InputEventWithModifiers::set_store_command);
|
||||||
ClassDB::bind_method(D_METHOD("is_storing_command"), &InputEventWithModifiers::is_storing_command);
|
ClassDB::bind_method(D_METHOD("is_storing_command"), &InputEventWithModifiers::is_storing_command);
|
||||||
|
|
||||||
ClassDB::bind_method(D_METHOD("set_alt", "enable"), &InputEventWithModifiers::set_alt);
|
ClassDB::bind_method(D_METHOD("set_alt_pressed", "pressed"), &InputEventWithModifiers::set_alt_pressed);
|
||||||
ClassDB::bind_method(D_METHOD("get_alt"), &InputEventWithModifiers::get_alt);
|
ClassDB::bind_method(D_METHOD("is_alt_pressed"), &InputEventWithModifiers::is_alt_pressed);
|
||||||
|
|
||||||
ClassDB::bind_method(D_METHOD("set_shift", "enable"), &InputEventWithModifiers::set_shift);
|
ClassDB::bind_method(D_METHOD("set_shift_pressed", "pressed"), &InputEventWithModifiers::set_shift_pressed);
|
||||||
ClassDB::bind_method(D_METHOD("get_shift"), &InputEventWithModifiers::get_shift);
|
ClassDB::bind_method(D_METHOD("is_shift_pressed"), &InputEventWithModifiers::is_shift_pressed);
|
||||||
|
|
||||||
ClassDB::bind_method(D_METHOD("set_control", "enable"), &InputEventWithModifiers::set_control);
|
ClassDB::bind_method(D_METHOD("set_ctrl_pressed", "pressed"), &InputEventWithModifiers::set_ctrl_pressed);
|
||||||
ClassDB::bind_method(D_METHOD("get_control"), &InputEventWithModifiers::get_control);
|
ClassDB::bind_method(D_METHOD("is_ctrl_pressed"), &InputEventWithModifiers::is_ctrl_pressed);
|
||||||
|
|
||||||
ClassDB::bind_method(D_METHOD("set_metakey", "enable"), &InputEventWithModifiers::set_metakey);
|
ClassDB::bind_method(D_METHOD("set_meta_pressed", "pressed"), &InputEventWithModifiers::set_meta_pressed);
|
||||||
ClassDB::bind_method(D_METHOD("get_metakey"), &InputEventWithModifiers::get_metakey);
|
ClassDB::bind_method(D_METHOD("is_meta_pressed"), &InputEventWithModifiers::is_meta_pressed);
|
||||||
|
|
||||||
ClassDB::bind_method(D_METHOD("set_command", "enable"), &InputEventWithModifiers::set_command);
|
ClassDB::bind_method(D_METHOD("set_command_pressed", "pressed"), &InputEventWithModifiers::set_command_pressed);
|
||||||
ClassDB::bind_method(D_METHOD("get_command"), &InputEventWithModifiers::get_command);
|
ClassDB::bind_method(D_METHOD("is_command_pressed"), &InputEventWithModifiers::is_command_pressed);
|
||||||
|
|
||||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "store_command"), "set_store_command", "is_storing_command");
|
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "store_command"), "set_store_command", "is_storing_command");
|
||||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "alt"), "set_alt", "get_alt");
|
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "alt_pressed"), "set_alt_pressed", "is_alt_pressed");
|
||||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "shift"), "set_shift", "get_shift");
|
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "shift_pressed"), "set_shift_pressed", "is_shift_pressed");
|
||||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "control"), "set_control", "get_control");
|
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "ctrl_pressed"), "set_ctrl_pressed", "is_ctrl_pressed");
|
||||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "meta"), "set_metakey", "get_metakey");
|
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "meta_pressed"), "set_meta_pressed", "is_meta_pressed");
|
||||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "command"), "set_command", "get_command");
|
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "command_pressed"), "set_command_pressed", "is_command_pressed");
|
||||||
}
|
}
|
||||||
|
|
||||||
void InputEventWithModifiers::_validate_property(PropertyInfo &property) const {
|
void InputEventWithModifiers::_validate_property(PropertyInfo &property) const {
|
||||||
|
@ -253,18 +253,18 @@ void InputEventWithModifiers::_validate_property(PropertyInfo &property) const {
|
||||||
// If we only want to Store "Command".
|
// If we only want to Store "Command".
|
||||||
#ifdef APPLE_STYLE_KEYS
|
#ifdef APPLE_STYLE_KEYS
|
||||||
// Don't store "Meta" on Mac.
|
// Don't store "Meta" on Mac.
|
||||||
if (property.name == "meta") {
|
if (property.name == "meta_pressed") {
|
||||||
property.usage ^= PROPERTY_USAGE_STORAGE;
|
property.usage ^= PROPERTY_USAGE_STORAGE;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
// Don't store "Control".
|
// Don't store "Ctrl".
|
||||||
if (property.name == "control") {
|
if (property.name == "ctrl_pressed") {
|
||||||
property.usage ^= PROPERTY_USAGE_STORAGE;
|
property.usage ^= PROPERTY_USAGE_STORAGE;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
} else {
|
} else {
|
||||||
// We don't want to store command, only control or meta (on mac).
|
// We don't want to store command, only ctrl or meta (on mac).
|
||||||
if (property.name == "command") {
|
if (property.name == "command_pressed") {
|
||||||
property.usage ^= PROPERTY_USAGE_STORAGE;
|
property.usage ^= PROPERTY_USAGE_STORAGE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -314,16 +314,16 @@ bool InputEventKey::is_echo() const {
|
||||||
|
|
||||||
uint32_t InputEventKey::get_keycode_with_modifiers() const {
|
uint32_t InputEventKey::get_keycode_with_modifiers() const {
|
||||||
uint32_t sc = keycode;
|
uint32_t sc = keycode;
|
||||||
if (get_control()) {
|
if (is_ctrl_pressed()) {
|
||||||
sc |= KEY_MASK_CTRL;
|
sc |= KEY_MASK_CTRL;
|
||||||
}
|
}
|
||||||
if (get_alt()) {
|
if (is_alt_pressed()) {
|
||||||
sc |= KEY_MASK_ALT;
|
sc |= KEY_MASK_ALT;
|
||||||
}
|
}
|
||||||
if (get_shift()) {
|
if (is_shift_pressed()) {
|
||||||
sc |= KEY_MASK_SHIFT;
|
sc |= KEY_MASK_SHIFT;
|
||||||
}
|
}
|
||||||
if (get_metakey()) {
|
if (is_meta_pressed()) {
|
||||||
sc |= KEY_MASK_META;
|
sc |= KEY_MASK_META;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -332,16 +332,16 @@ uint32_t InputEventKey::get_keycode_with_modifiers() const {
|
||||||
|
|
||||||
uint32_t InputEventKey::get_physical_keycode_with_modifiers() const {
|
uint32_t InputEventKey::get_physical_keycode_with_modifiers() const {
|
||||||
uint32_t sc = physical_keycode;
|
uint32_t sc = physical_keycode;
|
||||||
if (get_control()) {
|
if (is_ctrl_pressed()) {
|
||||||
sc |= KEY_MASK_CTRL;
|
sc |= KEY_MASK_CTRL;
|
||||||
}
|
}
|
||||||
if (get_alt()) {
|
if (is_alt_pressed()) {
|
||||||
sc |= KEY_MASK_ALT;
|
sc |= KEY_MASK_ALT;
|
||||||
}
|
}
|
||||||
if (get_shift()) {
|
if (is_shift_pressed()) {
|
||||||
sc |= KEY_MASK_SHIFT;
|
sc |= KEY_MASK_SHIFT;
|
||||||
}
|
}
|
||||||
if (get_metakey()) {
|
if (is_meta_pressed()) {
|
||||||
sc |= KEY_MASK_META;
|
sc |= KEY_MASK_META;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -391,19 +391,19 @@ Ref<InputEventKey> InputEventKey::create_reference(uint32_t p_keycode) {
|
||||||
ie->set_unicode(p_keycode & KEY_CODE_MASK);
|
ie->set_unicode(p_keycode & KEY_CODE_MASK);
|
||||||
|
|
||||||
if (p_keycode & KEY_MASK_SHIFT) {
|
if (p_keycode & KEY_MASK_SHIFT) {
|
||||||
ie->set_shift(true);
|
ie->set_shift_pressed(true);
|
||||||
}
|
}
|
||||||
if (p_keycode & KEY_MASK_ALT) {
|
if (p_keycode & KEY_MASK_ALT) {
|
||||||
ie->set_alt(true);
|
ie->set_alt_pressed(true);
|
||||||
}
|
}
|
||||||
if (p_keycode & KEY_MASK_CTRL) {
|
if (p_keycode & KEY_MASK_CTRL) {
|
||||||
ie->set_control(true);
|
ie->set_ctrl_pressed(true);
|
||||||
}
|
}
|
||||||
if (p_keycode & KEY_MASK_CMD) {
|
if (p_keycode & KEY_MASK_CMD) {
|
||||||
ie->set_command(true);
|
ie->set_command_pressed(true);
|
||||||
}
|
}
|
||||||
if (p_keycode & KEY_MASK_META) {
|
if (p_keycode & KEY_MASK_META) {
|
||||||
ie->set_metakey(true);
|
ie->set_meta_pressed(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
return ie;
|
return ie;
|
||||||
|
@ -803,19 +803,19 @@ bool InputEventMouseMotion::accumulate(const Ref<InputEvent> &p_event) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (get_shift() != motion->get_shift()) {
|
if (is_shift_pressed() != motion->is_shift_pressed()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (get_control() != motion->get_control()) {
|
if (is_ctrl_pressed() != motion->is_ctrl_pressed()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (get_alt() != motion->get_alt()) {
|
if (is_alt_pressed() != motion->is_alt_pressed()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (get_metakey() != motion->get_metakey()) {
|
if (is_meta_pressed() != motion->is_meta_pressed()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -170,21 +170,21 @@ class InputEventWithModifiers : public InputEventFromWindow {
|
||||||
|
|
||||||
bool store_command = true;
|
bool store_command = true;
|
||||||
|
|
||||||
bool shift = false;
|
bool shift_pressed = false;
|
||||||
bool alt = false;
|
bool alt_pressed = false;
|
||||||
#ifdef APPLE_STYLE_KEYS
|
#ifdef APPLE_STYLE_KEYS
|
||||||
union {
|
union {
|
||||||
bool command;
|
bool command_pressed;
|
||||||
bool meta = false; //< windows/mac key
|
bool meta_pressed = false; //< windows/mac key
|
||||||
};
|
};
|
||||||
|
|
||||||
bool control = false;
|
bool ctrl_pressed = false;
|
||||||
#else
|
#else
|
||||||
union {
|
union {
|
||||||
bool command; //< windows/mac key
|
bool command_pressed; //< windows/mac key
|
||||||
bool control = false;
|
bool ctrl_pressed = false;
|
||||||
};
|
};
|
||||||
bool meta = false; //< windows/mac key
|
bool meta_pressed = false; //< windows/mac key
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
@ -195,20 +195,20 @@ public:
|
||||||
void set_store_command(bool p_enabled);
|
void set_store_command(bool p_enabled);
|
||||||
bool is_storing_command() const;
|
bool is_storing_command() const;
|
||||||
|
|
||||||
void set_shift(bool p_enabled);
|
void set_shift_pressed(bool p_pressed);
|
||||||
bool get_shift() const;
|
bool is_shift_pressed() const;
|
||||||
|
|
||||||
void set_alt(bool p_enabled);
|
void set_alt_pressed(bool p_pressed);
|
||||||
bool get_alt() const;
|
bool is_alt_pressed() const;
|
||||||
|
|
||||||
void set_control(bool p_enabled);
|
void set_ctrl_pressed(bool p_pressed);
|
||||||
bool get_control() const;
|
bool is_ctrl_pressed() const;
|
||||||
|
|
||||||
void set_metakey(bool p_enabled);
|
void set_meta_pressed(bool p_pressed);
|
||||||
bool get_metakey() const;
|
bool is_meta_pressed() const;
|
||||||
|
|
||||||
void set_command(bool p_enabled);
|
void set_command_pressed(bool p_pressed);
|
||||||
bool get_command() const;
|
bool is_command_pressed() const;
|
||||||
|
|
||||||
void set_modifiers_from_event(const InputEventWithModifiers *event);
|
void set_modifiers_from_event(const InputEventWithModifiers *event);
|
||||||
|
|
||||||
|
|
|
@ -60,7 +60,7 @@ static const _KeyCodeText _keycodes[] = {
|
||||||
{KEY_PAGEUP ,"PageUp"},
|
{KEY_PAGEUP ,"PageUp"},
|
||||||
{KEY_PAGEDOWN ,"PageDown"},
|
{KEY_PAGEDOWN ,"PageDown"},
|
||||||
{KEY_SHIFT ,"Shift"},
|
{KEY_SHIFT ,"Shift"},
|
||||||
{KEY_CONTROL ,"Control"},
|
{KEY_CTRL ,"Ctrl"},
|
||||||
#ifdef OSX_ENABLED
|
#ifdef OSX_ENABLED
|
||||||
{KEY_META ,"Command"},
|
{KEY_META ,"Command"},
|
||||||
#else
|
#else
|
||||||
|
@ -314,7 +314,7 @@ bool keycode_has_unicode(uint32_t p_keycode) {
|
||||||
case KEY_PAGEUP:
|
case KEY_PAGEUP:
|
||||||
case KEY_PAGEDOWN:
|
case KEY_PAGEDOWN:
|
||||||
case KEY_SHIFT:
|
case KEY_SHIFT:
|
||||||
case KEY_CONTROL:
|
case KEY_CTRL:
|
||||||
case KEY_META:
|
case KEY_META:
|
||||||
case KEY_ALT:
|
case KEY_ALT:
|
||||||
case KEY_CAPSLOCK:
|
case KEY_CAPSLOCK:
|
||||||
|
@ -401,7 +401,7 @@ String keycode_get_string(uint32_t p_code) {
|
||||||
codestr += "+";
|
codestr += "+";
|
||||||
}
|
}
|
||||||
if (p_code & KEY_MASK_CTRL) {
|
if (p_code & KEY_MASK_CTRL) {
|
||||||
codestr += find_keycode_name(KEY_CONTROL);
|
codestr += find_keycode_name(KEY_CTRL);
|
||||||
codestr += "+";
|
codestr += "+";
|
||||||
}
|
}
|
||||||
if (p_code & KEY_MASK_META) {
|
if (p_code & KEY_MASK_META) {
|
||||||
|
|
|
@ -68,7 +68,7 @@ enum Key {
|
||||||
KEY_PAGEUP = SPKEY | 0x13,
|
KEY_PAGEUP = SPKEY | 0x13,
|
||||||
KEY_PAGEDOWN = SPKEY | 0x14,
|
KEY_PAGEDOWN = SPKEY | 0x14,
|
||||||
KEY_SHIFT = SPKEY | 0x15,
|
KEY_SHIFT = SPKEY | 0x15,
|
||||||
KEY_CONTROL = SPKEY | 0x16,
|
KEY_CTRL = SPKEY | 0x16,
|
||||||
KEY_META = SPKEY | 0x17,
|
KEY_META = SPKEY | 0x17,
|
||||||
KEY_ALT = SPKEY | 0x18,
|
KEY_ALT = SPKEY | 0x18,
|
||||||
KEY_CAPSLOCK = SPKEY | 0x19,
|
KEY_CAPSLOCK = SPKEY | 0x19,
|
||||||
|
|
|
@ -1393,7 +1393,7 @@
|
||||||
<constant name="KEY_SHIFT" value="16777237" enum="Key">
|
<constant name="KEY_SHIFT" value="16777237" enum="Key">
|
||||||
Shift key.
|
Shift key.
|
||||||
</constant>
|
</constant>
|
||||||
<constant name="KEY_CONTROL" value="16777238" enum="Key">
|
<constant name="KEY_CTRL" value="16777238" enum="Key">
|
||||||
Control key.
|
Control key.
|
||||||
</constant>
|
</constant>
|
||||||
<constant name="KEY_META" value="16777239" enum="Key">
|
<constant name="KEY_META" value="16777239" enum="Key">
|
||||||
|
|
|
@ -12,23 +12,23 @@
|
||||||
<methods>
|
<methods>
|
||||||
</methods>
|
</methods>
|
||||||
<members>
|
<members>
|
||||||
<member name="alt" type="bool" setter="set_alt" getter="get_alt" default="false">
|
<member name="alt_pressed" type="bool" setter="set_alt_pressed" getter="is_alt_pressed" default="false">
|
||||||
State of the [kbd]Alt[/kbd] modifier.
|
State of the [kbd]Alt[/kbd] modifier.
|
||||||
</member>
|
</member>
|
||||||
<member name="command" type="bool" setter="set_command" getter="get_command" default="false">
|
<member name="command_pressed" type="bool" setter="set_command_pressed" getter="is_command_pressed" default="false">
|
||||||
State of the [kbd]Cmd[/kbd] modifier.
|
State of the [kbd]Cmd[/kbd] modifier.
|
||||||
</member>
|
</member>
|
||||||
<member name="control" type="bool" setter="set_control" getter="get_control" default="false">
|
<member name="ctrl_pressed" type="bool" setter="set_ctrl_pressed" getter="is_ctrl_pressed" default="false">
|
||||||
State of the [kbd]Ctrl[/kbd] modifier.
|
State of the [kbd]Ctrl[/kbd] modifier.
|
||||||
</member>
|
</member>
|
||||||
<member name="meta" type="bool" setter="set_metakey" getter="get_metakey" default="false">
|
<member name="meta_pressed" type="bool" setter="set_meta_pressed" getter="is_meta_pressed" default="false">
|
||||||
State of the [kbd]Meta[/kbd] modifier.
|
State of the [kbd]Meta[/kbd] modifier.
|
||||||
</member>
|
</member>
|
||||||
<member name="shift" type="bool" setter="set_shift" getter="get_shift" default="false">
|
<member name="shift_pressed" type="bool" setter="set_shift_pressed" getter="is_shift_pressed" default="false">
|
||||||
State of the [kbd]Shift[/kbd] modifier.
|
State of the [kbd]Shift[/kbd] modifier.
|
||||||
</member>
|
</member>
|
||||||
<member name="store_command" type="bool" setter="set_store_command" getter="is_storing_command" default="true">
|
<member name="store_command" type="bool" setter="set_store_command" getter="is_storing_command" default="true">
|
||||||
If [code]true[/code], pressing [kbd]Cmd[/kbd] on macOS or [kbd]Ctrl[/kbd] on all other platforms will both be serialized as [member command]. If [code]false[/code], those same keys will be serialized as [member meta] on macOS and [member control] on all other platforms.
|
If [code]true[/code], pressing [kbd]Cmd[/kbd] on macOS or [kbd]Ctrl[/kbd] on all other platforms will both be serialized as [member command_pressed]. If [code]false[/code], those same keys will be serialized as [member meta_pressed] on macOS and [member ctrl_pressed] on all other platforms.
|
||||||
This aids with cross-platform compatibility when developing e.g. on Windows for macOS, or vice-versa.
|
This aids with cross-platform compatibility when developing e.g. on Windows for macOS, or vice-versa.
|
||||||
</member>
|
</member>
|
||||||
</members>
|
</members>
|
||||||
|
|
|
@ -97,11 +97,11 @@ void InputEventConfigurationDialog::_set_event(const Ref<InputEvent> &p_event) {
|
||||||
|
|
||||||
if (mod.is_valid()) {
|
if (mod.is_valid()) {
|
||||||
show_mods = true;
|
show_mods = true;
|
||||||
mod_checkboxes[MOD_ALT]->set_pressed(mod->get_alt());
|
mod_checkboxes[MOD_ALT]->set_pressed(mod->is_alt_pressed());
|
||||||
mod_checkboxes[MOD_SHIFT]->set_pressed(mod->get_shift());
|
mod_checkboxes[MOD_SHIFT]->set_pressed(mod->is_shift_pressed());
|
||||||
mod_checkboxes[MOD_COMMAND]->set_pressed(mod->get_command());
|
mod_checkboxes[MOD_COMMAND]->set_pressed(mod->is_command_pressed());
|
||||||
mod_checkboxes[MOD_CONTROL]->set_pressed(mod->get_control());
|
mod_checkboxes[MOD_CTRL]->set_pressed(mod->is_ctrl_pressed());
|
||||||
mod_checkboxes[MOD_META]->set_pressed(mod->get_metakey());
|
mod_checkboxes[MOD_META]->set_pressed(mod->is_meta_pressed());
|
||||||
|
|
||||||
store_command_checkbox->set_pressed(mod->is_storing_command());
|
store_command_checkbox->set_pressed(mod->is_storing_command());
|
||||||
}
|
}
|
||||||
|
@ -384,15 +384,15 @@ void InputEventConfigurationDialog::_mod_toggled(bool p_checked, int p_index) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (p_index == 0) {
|
if (p_index == 0) {
|
||||||
ie->set_alt(p_checked);
|
ie->set_alt_pressed(p_checked);
|
||||||
} else if (p_index == 1) {
|
} else if (p_index == 1) {
|
||||||
ie->set_shift(p_checked);
|
ie->set_shift_pressed(p_checked);
|
||||||
} else if (p_index == 2) {
|
} else if (p_index == 2) {
|
||||||
ie->set_command(p_checked);
|
ie->set_command_pressed(p_checked);
|
||||||
} else if (p_index == 3) {
|
} else if (p_index == 3) {
|
||||||
ie->set_control(p_checked);
|
ie->set_ctrl_pressed(p_checked);
|
||||||
} else if (p_index == 4) {
|
} else if (p_index == 4) {
|
||||||
ie->set_metakey(p_checked);
|
ie->set_meta_pressed(p_checked);
|
||||||
}
|
}
|
||||||
|
|
||||||
_set_event(ie);
|
_set_event(ie);
|
||||||
|
@ -413,7 +413,7 @@ void InputEventConfigurationDialog::_store_command_toggled(bool p_checked) {
|
||||||
mod_checkboxes[MOD_COMMAND]->show();
|
mod_checkboxes[MOD_COMMAND]->show();
|
||||||
mod_checkboxes[MOD_COMMAND]->set_text("Meta (Command)");
|
mod_checkboxes[MOD_COMMAND]->set_text("Meta (Command)");
|
||||||
#else
|
#else
|
||||||
mod_checkboxes[MOD_CONTROL]->hide();
|
mod_checkboxes[MOD_CTRL]->hide();
|
||||||
|
|
||||||
mod_checkboxes[MOD_COMMAND]->show();
|
mod_checkboxes[MOD_COMMAND]->show();
|
||||||
mod_checkboxes[MOD_COMMAND]->set_text("Control (Command)");
|
mod_checkboxes[MOD_COMMAND]->set_text("Control (Command)");
|
||||||
|
@ -421,7 +421,7 @@ void InputEventConfigurationDialog::_store_command_toggled(bool p_checked) {
|
||||||
} else {
|
} else {
|
||||||
// If not, hide Command, show Control and Meta.
|
// If not, hide Command, show Control and Meta.
|
||||||
mod_checkboxes[MOD_COMMAND]->hide();
|
mod_checkboxes[MOD_COMMAND]->hide();
|
||||||
mod_checkboxes[MOD_CONTROL]->show();
|
mod_checkboxes[MOD_CTRL]->show();
|
||||||
mod_checkboxes[MOD_META]->show();
|
mod_checkboxes[MOD_META]->show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -469,11 +469,11 @@ void InputEventConfigurationDialog::_input_list_item_selected() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Maintain modifier state from checkboxes
|
// Maintain modifier state from checkboxes
|
||||||
k->set_alt(mod_checkboxes[MOD_ALT]->is_pressed());
|
k->set_alt_pressed(mod_checkboxes[MOD_ALT]->is_pressed());
|
||||||
k->set_shift(mod_checkboxes[MOD_SHIFT]->is_pressed());
|
k->set_shift_pressed(mod_checkboxes[MOD_SHIFT]->is_pressed());
|
||||||
k->set_command(mod_checkboxes[MOD_COMMAND]->is_pressed());
|
k->set_command_pressed(mod_checkboxes[MOD_COMMAND]->is_pressed());
|
||||||
k->set_control(mod_checkboxes[MOD_CONTROL]->is_pressed());
|
k->set_ctrl_pressed(mod_checkboxes[MOD_CTRL]->is_pressed());
|
||||||
k->set_metakey(mod_checkboxes[MOD_META]->is_pressed());
|
k->set_meta_pressed(mod_checkboxes[MOD_META]->is_pressed());
|
||||||
k->set_store_command(store_command_checkbox->is_pressed());
|
k->set_store_command(store_command_checkbox->is_pressed());
|
||||||
|
|
||||||
_set_event(k);
|
_set_event(k);
|
||||||
|
@ -484,11 +484,11 @@ void InputEventConfigurationDialog::_input_list_item_selected() {
|
||||||
mb.instance();
|
mb.instance();
|
||||||
mb->set_button_index(idx);
|
mb->set_button_index(idx);
|
||||||
// Maintain modifier state from checkboxes
|
// Maintain modifier state from checkboxes
|
||||||
mb->set_alt(mod_checkboxes[MOD_ALT]->is_pressed());
|
mb->set_alt_pressed(mod_checkboxes[MOD_ALT]->is_pressed());
|
||||||
mb->set_shift(mod_checkboxes[MOD_SHIFT]->is_pressed());
|
mb->set_shift_pressed(mod_checkboxes[MOD_SHIFT]->is_pressed());
|
||||||
mb->set_command(mod_checkboxes[MOD_COMMAND]->is_pressed());
|
mb->set_command_pressed(mod_checkboxes[MOD_COMMAND]->is_pressed());
|
||||||
mb->set_control(mod_checkboxes[MOD_CONTROL]->is_pressed());
|
mb->set_ctrl_pressed(mod_checkboxes[MOD_CTRL]->is_pressed());
|
||||||
mb->set_metakey(mod_checkboxes[MOD_META]->is_pressed());
|
mb->set_meta_pressed(mod_checkboxes[MOD_META]->is_pressed());
|
||||||
mb->set_store_command(store_command_checkbox->is_pressed());
|
mb->set_store_command(store_command_checkbox->is_pressed());
|
||||||
|
|
||||||
_set_event(mb);
|
_set_event(mb);
|
||||||
|
|
|
@ -78,11 +78,11 @@ private:
|
||||||
MOD_ALT,
|
MOD_ALT,
|
||||||
MOD_SHIFT,
|
MOD_SHIFT,
|
||||||
MOD_COMMAND,
|
MOD_COMMAND,
|
||||||
MOD_CONTROL,
|
MOD_CTRL,
|
||||||
MOD_META,
|
MOD_META,
|
||||||
MOD_MAX
|
MOD_MAX
|
||||||
};
|
};
|
||||||
String mods[MOD_MAX] = { "Alt", "Shift", "Command", "Control", "Meta" };
|
String mods[MOD_MAX] = { "Alt", "Shift", "Command", "Ctrl", "Metakey" };
|
||||||
|
|
||||||
CheckBox *mod_checkboxes[MOD_MAX];
|
CheckBox *mod_checkboxes[MOD_MAX];
|
||||||
CheckBox *store_command_checkbox;
|
CheckBox *store_command_checkbox;
|
||||||
|
|
|
@ -619,7 +619,7 @@ void AnimationBezierTrackEdit::_gui_input(const Ref<InputEvent> &p_event) {
|
||||||
Ref<InputEventMouseButton> mb = p_event;
|
Ref<InputEventMouseButton> mb = p_event;
|
||||||
if (mb.is_valid() && mb->is_pressed() && mb->get_button_index() == MOUSE_BUTTON_WHEEL_DOWN) {
|
if (mb.is_valid() && mb->is_pressed() && mb->get_button_index() == MOUSE_BUTTON_WHEEL_DOWN) {
|
||||||
float v_zoom_orig = v_zoom;
|
float v_zoom_orig = v_zoom;
|
||||||
if (mb->get_command()) {
|
if (mb->is_command_pressed()) {
|
||||||
timeline->get_zoom()->set_value(timeline->get_zoom()->get_value() * 1.05);
|
timeline->get_zoom()->set_value(timeline->get_zoom()->get_value() * 1.05);
|
||||||
} else {
|
} else {
|
||||||
if (v_zoom < 100000) {
|
if (v_zoom < 100000) {
|
||||||
|
@ -632,7 +632,7 @@ void AnimationBezierTrackEdit::_gui_input(const Ref<InputEvent> &p_event) {
|
||||||
|
|
||||||
if (mb.is_valid() && mb->is_pressed() && mb->get_button_index() == MOUSE_BUTTON_WHEEL_UP) {
|
if (mb.is_valid() && mb->is_pressed() && mb->get_button_index() == MOUSE_BUTTON_WHEEL_UP) {
|
||||||
float v_zoom_orig = v_zoom;
|
float v_zoom_orig = v_zoom;
|
||||||
if (mb->get_command()) {
|
if (mb->is_command_pressed()) {
|
||||||
timeline->get_zoom()->set_value(timeline->get_zoom()->get_value() / 1.05);
|
timeline->get_zoom()->set_value(timeline->get_zoom()->get_value() / 1.05);
|
||||||
} else {
|
} else {
|
||||||
if (v_zoom > 0.000001) {
|
if (v_zoom > 0.000001) {
|
||||||
|
@ -691,9 +691,9 @@ void AnimationBezierTrackEdit::_gui_input(const Ref<InputEvent> &p_event) {
|
||||||
//first check point
|
//first check point
|
||||||
//command makes it ignore the main point, so control point editors can be force-edited
|
//command makes it ignore the main point, so control point editors can be force-edited
|
||||||
//path 2D editing in the 3D and 2D editors works the same way
|
//path 2D editing in the 3D and 2D editors works the same way
|
||||||
if (!mb->get_command()) {
|
if (!mb->is_command_pressed()) {
|
||||||
if (edit_points[i].point_rect.has_point(mb->get_position())) {
|
if (edit_points[i].point_rect.has_point(mb->get_position())) {
|
||||||
if (mb->get_shift()) {
|
if (mb->is_shift_pressed()) {
|
||||||
//add to selection
|
//add to selection
|
||||||
if (selection.has(i)) {
|
if (selection.has(i)) {
|
||||||
selection.erase(i);
|
selection.erase(i);
|
||||||
|
@ -743,7 +743,7 @@ void AnimationBezierTrackEdit::_gui_input(const Ref<InputEvent> &p_event) {
|
||||||
}
|
}
|
||||||
|
|
||||||
//insert new point
|
//insert new point
|
||||||
if (mb->get_command() && mb->get_position().x >= timeline->get_name_limit() && mb->get_position().x < get_size().width - timeline->get_buttons_width()) {
|
if (mb->is_command_pressed() && mb->get_position().x >= timeline->get_name_limit() && mb->get_position().x < get_size().width - timeline->get_buttons_width()) {
|
||||||
Array new_point;
|
Array new_point;
|
||||||
new_point.resize(5);
|
new_point.resize(5);
|
||||||
|
|
||||||
|
@ -961,7 +961,7 @@ void AnimationBezierTrackEdit::_gui_input(const Ref<InputEvent> &p_event) {
|
||||||
if (box_selecting_attempt && mm.is_valid()) {
|
if (box_selecting_attempt && mm.is_valid()) {
|
||||||
if (!box_selecting) {
|
if (!box_selecting) {
|
||||||
box_selecting = true;
|
box_selecting = true;
|
||||||
box_selecting_add = mm->get_shift();
|
box_selecting_add = mm->is_shift_pressed();
|
||||||
}
|
}
|
||||||
|
|
||||||
box_selection_to = mm->get_position();
|
box_selection_to = mm->get_position();
|
||||||
|
|
|
@ -2662,7 +2662,7 @@ void AnimationTrackEdit::_gui_input(const Ref<InputEvent> &p_event) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (key_idx != -1) {
|
if (key_idx != -1) {
|
||||||
if (mb->get_command() || mb->get_shift()) {
|
if (mb->is_command_pressed() || mb->is_shift_pressed()) {
|
||||||
if (editor->is_key_selected(track, key_idx)) {
|
if (editor->is_key_selected(track, key_idx)) {
|
||||||
emit_signal("deselect_key", key_idx);
|
emit_signal("deselect_key", key_idx);
|
||||||
} else {
|
} else {
|
||||||
|
@ -4028,7 +4028,7 @@ bool AnimationTrackEditor::is_selection_active() const {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AnimationTrackEditor::is_snap_enabled() const {
|
bool AnimationTrackEditor::is_snap_enabled() const {
|
||||||
return snap->is_pressed() ^ Input::get_singleton()->is_key_pressed(KEY_CONTROL);
|
return snap->is_pressed() ^ Input::get_singleton()->is_key_pressed(KEY_CTRL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void AnimationTrackEditor::_update_tracks() {
|
void AnimationTrackEditor::_update_tracks() {
|
||||||
|
@ -4959,12 +4959,12 @@ void AnimationTrackEditor::_box_selection_draw() {
|
||||||
void AnimationTrackEditor::_scroll_input(const Ref<InputEvent> &p_event) {
|
void AnimationTrackEditor::_scroll_input(const Ref<InputEvent> &p_event) {
|
||||||
Ref<InputEventMouseButton> mb = p_event;
|
Ref<InputEventMouseButton> mb = p_event;
|
||||||
|
|
||||||
if (mb.is_valid() && mb->is_pressed() && mb->get_command() && mb->get_button_index() == MOUSE_BUTTON_WHEEL_UP) {
|
if (mb.is_valid() && mb->is_pressed() && mb->is_command_pressed() && mb->get_button_index() == MOUSE_BUTTON_WHEEL_UP) {
|
||||||
timeline->get_zoom()->set_value(timeline->get_zoom()->get_value() * 1.05);
|
timeline->get_zoom()->set_value(timeline->get_zoom()->get_value() * 1.05);
|
||||||
scroll->accept_event();
|
scroll->accept_event();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mb.is_valid() && mb->is_pressed() && mb->get_command() && mb->get_button_index() == MOUSE_BUTTON_WHEEL_DOWN) {
|
if (mb.is_valid() && mb->is_pressed() && mb->is_command_pressed() && mb->get_button_index() == MOUSE_BUTTON_WHEEL_DOWN) {
|
||||||
timeline->get_zoom()->set_value(timeline->get_zoom()->get_value() / 1.05);
|
timeline->get_zoom()->set_value(timeline->get_zoom()->get_value() / 1.05);
|
||||||
scroll->accept_event();
|
scroll->accept_event();
|
||||||
}
|
}
|
||||||
|
@ -4980,7 +4980,7 @@ void AnimationTrackEditor::_scroll_input(const Ref<InputEvent> &p_event) {
|
||||||
for (int i = 0; i < track_edits.size(); i++) {
|
for (int i = 0; i < track_edits.size(); i++) {
|
||||||
Rect2 local_rect = box_select_rect;
|
Rect2 local_rect = box_select_rect;
|
||||||
local_rect.position -= track_edits[i]->get_global_position();
|
local_rect.position -= track_edits[i]->get_global_position();
|
||||||
track_edits[i]->append_to_selection(local_rect, mb->get_command());
|
track_edits[i]->append_to_selection(local_rect, mb->is_command_pressed());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_get_track_selected() == -1 && track_edits.size() > 0) { //minimal hack to make shortcuts work
|
if (_get_track_selected() == -1 && track_edits.size() > 0) { //minimal hack to make shortcuts work
|
||||||
|
@ -5010,7 +5010,7 @@ void AnimationTrackEditor::_scroll_input(const Ref<InputEvent> &p_event) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!box_selection->is_visible_in_tree()) {
|
if (!box_selection->is_visible_in_tree()) {
|
||||||
if (!mm->get_command() && !mm->get_shift()) {
|
if (!mm->is_command_pressed() && !mm->is_shift_pressed()) {
|
||||||
_clear_selection();
|
_clear_selection();
|
||||||
}
|
}
|
||||||
box_selection->show();
|
box_selection->show();
|
||||||
|
|
|
@ -1091,7 +1091,7 @@ void AnimationTrackEditTypeAudio::_gui_input(const Ref<InputEvent> &p_event) {
|
||||||
|
|
||||||
if (len_resizing && mm.is_valid()) {
|
if (len_resizing && mm.is_valid()) {
|
||||||
len_resizing_rel += mm->get_relative().x;
|
len_resizing_rel += mm->get_relative().x;
|
||||||
len_resizing_start = mm->get_shift();
|
len_resizing_start = mm->is_shift_pressed();
|
||||||
update();
|
update();
|
||||||
accept_event();
|
accept_event();
|
||||||
return;
|
return;
|
||||||
|
@ -1100,7 +1100,7 @@ void AnimationTrackEditTypeAudio::_gui_input(const Ref<InputEvent> &p_event) {
|
||||||
Ref<InputEventMouseButton> mb = p_event;
|
Ref<InputEventMouseButton> mb = p_event;
|
||||||
if (mb.is_valid() && mb->is_pressed() && mb->get_button_index() == MOUSE_BUTTON_LEFT && get_default_cursor_shape() == CURSOR_HSIZE) {
|
if (mb.is_valid() && mb->is_pressed() && mb->get_button_index() == MOUSE_BUTTON_LEFT && get_default_cursor_shape() == CURSOR_HSIZE) {
|
||||||
len_resizing = true;
|
len_resizing = true;
|
||||||
len_resizing_start = mb->get_shift();
|
len_resizing_start = mb->is_shift_pressed();
|
||||||
len_resizing_from_px = mb->get_position().x;
|
len_resizing_from_px = mb->get_position().x;
|
||||||
len_resizing_rel = 0;
|
len_resizing_rel = 0;
|
||||||
update();
|
update();
|
||||||
|
|
|
@ -726,7 +726,7 @@ void CodeTextEditor::_text_editor_gui_input(const Ref<InputEvent> &p_event) {
|
||||||
Ref<InputEventMouseButton> mb = p_event;
|
Ref<InputEventMouseButton> mb = p_event;
|
||||||
|
|
||||||
if (mb.is_valid()) {
|
if (mb.is_valid()) {
|
||||||
if (mb->is_pressed() && mb->get_command()) {
|
if (mb->is_pressed() && mb->is_command_pressed()) {
|
||||||
if (mb->get_button_index() == MOUSE_BUTTON_WHEEL_UP) {
|
if (mb->get_button_index() == MOUSE_BUTTON_WHEEL_UP) {
|
||||||
_zoom_in();
|
_zoom_in();
|
||||||
} else if (mb->get_button_index() == MOUSE_BUTTON_WHEEL_DOWN) {
|
} else if (mb->get_button_index() == MOUSE_BUTTON_WHEEL_DOWN) {
|
||||||
|
|
|
@ -312,7 +312,7 @@ void EditorAudioBus::_volume_changed(float p_normalized) {
|
||||||
|
|
||||||
const float p_db = this->_normalized_volume_to_scaled_db(p_normalized);
|
const float p_db = this->_normalized_volume_to_scaled_db(p_normalized);
|
||||||
|
|
||||||
if (Input::get_singleton()->is_key_pressed(KEY_CONTROL)) {
|
if (Input::get_singleton()->is_key_pressed(KEY_CTRL)) {
|
||||||
// Snap the value when holding Ctrl for easier editing.
|
// Snap the value when holding Ctrl for easier editing.
|
||||||
// To do so, it needs to be converted back to normalized volume (as the slider uses that unit).
|
// To do so, it needs to be converted back to normalized volume (as the slider uses that unit).
|
||||||
slider->set_value(_scaled_db_to_normalized_volume(Math::round(p_db)));
|
slider->set_value(_scaled_db_to_normalized_volume(Math::round(p_db)));
|
||||||
|
@ -372,7 +372,7 @@ float EditorAudioBus::_scaled_db_to_normalized_volume(float db) {
|
||||||
|
|
||||||
void EditorAudioBus::_show_value(float slider_value) {
|
void EditorAudioBus::_show_value(float slider_value) {
|
||||||
float db;
|
float db;
|
||||||
if (Input::get_singleton()->is_key_pressed(KEY_CONTROL)) {
|
if (Input::get_singleton()->is_key_pressed(KEY_CTRL)) {
|
||||||
// Display the correct (snapped) value when holding Ctrl
|
// Display the correct (snapped) value when holding Ctrl
|
||||||
db = Math::round(_normalized_volume_to_scaled_db(slider_value));
|
db = Math::round(_normalized_volume_to_scaled_db(slider_value));
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -1656,10 +1656,10 @@ Ref<Shortcut> ED_SHORTCUT(const String &p_path, const String &p_name, uint32_t p
|
||||||
|
|
||||||
ie->set_unicode(p_keycode & KEY_CODE_MASK);
|
ie->set_unicode(p_keycode & KEY_CODE_MASK);
|
||||||
ie->set_keycode(p_keycode & KEY_CODE_MASK);
|
ie->set_keycode(p_keycode & KEY_CODE_MASK);
|
||||||
ie->set_shift(bool(p_keycode & KEY_MASK_SHIFT));
|
ie->set_shift_pressed(bool(p_keycode & KEY_MASK_SHIFT));
|
||||||
ie->set_alt(bool(p_keycode & KEY_MASK_ALT));
|
ie->set_alt_pressed(bool(p_keycode & KEY_MASK_ALT));
|
||||||
ie->set_control(bool(p_keycode & KEY_MASK_CTRL));
|
ie->set_ctrl_pressed(bool(p_keycode & KEY_MASK_CTRL));
|
||||||
ie->set_metakey(bool(p_keycode & KEY_MASK_META));
|
ie->set_meta_pressed(bool(p_keycode & KEY_MASK_META));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!EditorSettings::get_singleton()) {
|
if (!EditorSettings::get_singleton()) {
|
||||||
|
|
|
@ -96,7 +96,7 @@ void EditorSpinSlider::_gui_input(const Ref<InputEvent> &p_event) {
|
||||||
if (mm.is_valid()) {
|
if (mm.is_valid()) {
|
||||||
if (grabbing_spinner_attempt) {
|
if (grabbing_spinner_attempt) {
|
||||||
double diff_x = mm->get_relative().x;
|
double diff_x = mm->get_relative().x;
|
||||||
if (mm->get_shift() && grabbing_spinner) {
|
if (mm->is_shift_pressed() && grabbing_spinner) {
|
||||||
diff_x *= 0.1;
|
diff_x *= 0.1;
|
||||||
}
|
}
|
||||||
grabbing_spinner_dist_cache += diff_x;
|
grabbing_spinner_dist_cache += diff_x;
|
||||||
|
@ -115,7 +115,7 @@ void EditorSpinSlider::_gui_input(const Ref<InputEvent> &p_event) {
|
||||||
pre_grab_value = get_max();
|
pre_grab_value = get_max();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mm->get_control()) {
|
if (mm->is_ctrl_pressed()) {
|
||||||
// If control was just pressed, don't make the value do a huge jump in magnitude.
|
// If control was just pressed, don't make the value do a huge jump in magnitude.
|
||||||
if (grabbing_spinner_dist_cache != 0) {
|
if (grabbing_spinner_dist_cache != 0) {
|
||||||
pre_grab_value += grabbing_spinner_dist_cache * get_step();
|
pre_grab_value += grabbing_spinner_dist_cache * get_step();
|
||||||
|
|
|
@ -2264,7 +2264,7 @@ void FileSystemDock::drop_data_fw(const Point2 &p_point, const Variant &p_data,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!to_move.is_empty()) {
|
if (!to_move.is_empty()) {
|
||||||
if (Input::get_singleton()->is_key_pressed(KEY_CONTROL)) {
|
if (Input::get_singleton()->is_key_pressed(KEY_CTRL)) {
|
||||||
for (int i = 0; i < to_move.size(); i++) {
|
for (int i = 0; i < to_move.size(); i++) {
|
||||||
String new_path;
|
String new_path;
|
||||||
String new_path_base;
|
String new_path_base;
|
||||||
|
|
|
@ -266,7 +266,7 @@ bool AbstractPolygon2DEditor::forward_gui_input(const Ref<InputEvent> &p_event)
|
||||||
if (mode == MODE_EDIT || (_is_line() && mode == MODE_CREATE)) {
|
if (mode == MODE_EDIT || (_is_line() && mode == MODE_CREATE)) {
|
||||||
if (mb->get_button_index() == MOUSE_BUTTON_LEFT) {
|
if (mb->get_button_index() == MOUSE_BUTTON_LEFT) {
|
||||||
if (mb->is_pressed()) {
|
if (mb->is_pressed()) {
|
||||||
if (mb->get_control() || mb->get_shift() || mb->get_alt()) {
|
if (mb->is_ctrl_pressed() || mb->is_shift_pressed() || mb->is_alt_pressed()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -399,7 +399,7 @@ bool AbstractPolygon2DEditor::forward_gui_input(const Ref<InputEvent> &p_event)
|
||||||
Vector2 cpoint = _get_node()->get_global_transform().affine_inverse().xform(canvas_item_editor->snap_point(canvas_item_editor->get_canvas_transform().affine_inverse().xform(gpoint)));
|
Vector2 cpoint = _get_node()->get_global_transform().affine_inverse().xform(canvas_item_editor->snap_point(canvas_item_editor->get_canvas_transform().affine_inverse().xform(gpoint)));
|
||||||
|
|
||||||
//Move the point in a single axis. Should only work when editing a polygon and while holding shift.
|
//Move the point in a single axis. Should only work when editing a polygon and while holding shift.
|
||||||
if (mode == MODE_EDIT && mm->get_shift()) {
|
if (mode == MODE_EDIT && mm->is_shift_pressed()) {
|
||||||
Vector2 old_point = pre_move_edit.get(selected_point.vertex);
|
Vector2 old_point = pre_move_edit.get(selected_point.vertex);
|
||||||
if (ABS(cpoint.x - old_point.x) > ABS(cpoint.y - old_point.y)) {
|
if (ABS(cpoint.x - old_point.x) > ABS(cpoint.y - old_point.y)) {
|
||||||
cpoint.y = old_point.y;
|
cpoint.y = old_point.y;
|
||||||
|
|
|
@ -1222,10 +1222,10 @@ void AnimationPlayerEditor::_unhandled_key_input(const Ref<InputEvent> &p_ev) {
|
||||||
ERR_FAIL_COND(p_ev.is_null());
|
ERR_FAIL_COND(p_ev.is_null());
|
||||||
|
|
||||||
Ref<InputEventKey> k = p_ev;
|
Ref<InputEventKey> k = p_ev;
|
||||||
if (is_visible_in_tree() && k.is_valid() && k->is_pressed() && !k->is_echo() && !k->get_alt() && !k->get_control() && !k->get_metakey()) {
|
if (is_visible_in_tree() && k.is_valid() && k->is_pressed() && !k->is_echo() && !k->is_alt_pressed() && !k->is_ctrl_pressed() && !k->is_meta_pressed()) {
|
||||||
switch (k->get_keycode()) {
|
switch (k->get_keycode()) {
|
||||||
case KEY_A: {
|
case KEY_A: {
|
||||||
if (!k->get_shift()) {
|
if (!k->is_shift_pressed()) {
|
||||||
_play_bw_from_pressed();
|
_play_bw_from_pressed();
|
||||||
} else {
|
} else {
|
||||||
_play_bw_pressed();
|
_play_bw_pressed();
|
||||||
|
@ -1237,7 +1237,7 @@ void AnimationPlayerEditor::_unhandled_key_input(const Ref<InputEvent> &p_ev) {
|
||||||
accept_event();
|
accept_event();
|
||||||
} break;
|
} break;
|
||||||
case KEY_D: {
|
case KEY_D: {
|
||||||
if (!k->get_shift()) {
|
if (!k->is_shift_pressed()) {
|
||||||
_play_from_pressed();
|
_play_from_pressed();
|
||||||
} else {
|
} else {
|
||||||
_play_pressed();
|
_play_pressed();
|
||||||
|
|
|
@ -124,7 +124,7 @@ void AnimationNodeStateMachineEditor::_state_machine_gui_input(const Ref<InputEv
|
||||||
}
|
}
|
||||||
|
|
||||||
// select node or push a field inside
|
// select node or push a field inside
|
||||||
if (mb.is_valid() && !mb->get_shift() && mb->is_pressed() && tool_select->is_pressed() && mb->get_button_index() == MOUSE_BUTTON_LEFT) {
|
if (mb.is_valid() && !mb->is_shift_pressed() && mb->is_pressed() && tool_select->is_pressed() && mb->get_button_index() == MOUSE_BUTTON_LEFT) {
|
||||||
selected_transition_from = StringName();
|
selected_transition_from = StringName();
|
||||||
selected_transition_to = StringName();
|
selected_transition_to = StringName();
|
||||||
selected_node = StringName();
|
selected_node = StringName();
|
||||||
|
@ -237,7 +237,7 @@ void AnimationNodeStateMachineEditor::_state_machine_gui_input(const Ref<InputEv
|
||||||
}
|
}
|
||||||
|
|
||||||
//connect nodes
|
//connect nodes
|
||||||
if (mb.is_valid() && ((tool_select->is_pressed() && mb->get_shift()) || tool_connect->is_pressed()) && mb->get_button_index() == MOUSE_BUTTON_LEFT && mb->is_pressed()) {
|
if (mb.is_valid() && ((tool_select->is_pressed() && mb->is_shift_pressed()) || tool_connect->is_pressed()) && mb->get_button_index() == MOUSE_BUTTON_LEFT && mb->is_pressed()) {
|
||||||
for (int i = node_rects.size() - 1; i >= 0; i--) { //inverse to draw order
|
for (int i = node_rects.size() - 1; i >= 0; i--) { //inverse to draw order
|
||||||
if (node_rects[i].node.has_point(mb->get_position())) { //select node since nothing else was selected
|
if (node_rects[i].node.has_point(mb->get_position())) { //select node since nothing else was selected
|
||||||
connecting = true;
|
connecting = true;
|
||||||
|
|
|
@ -332,7 +332,7 @@ Point2 CanvasItemEditor::snap_point(Point2 p_target, unsigned int p_modes, unsig
|
||||||
snap_target[0] = SNAP_TARGET_NONE;
|
snap_target[0] = SNAP_TARGET_NONE;
|
||||||
snap_target[1] = SNAP_TARGET_NONE;
|
snap_target[1] = SNAP_TARGET_NONE;
|
||||||
|
|
||||||
bool is_snap_active = smart_snap_active ^ Input::get_singleton()->is_key_pressed(KEY_CONTROL);
|
bool is_snap_active = smart_snap_active ^ Input::get_singleton()->is_key_pressed(KEY_CTRL);
|
||||||
|
|
||||||
// Smart snap using the canvas position
|
// Smart snap using the canvas position
|
||||||
Vector2 output = p_target;
|
Vector2 output = p_target;
|
||||||
|
@ -460,7 +460,7 @@ Point2 CanvasItemEditor::snap_point(Point2 p_target, unsigned int p_modes, unsig
|
||||||
}
|
}
|
||||||
|
|
||||||
float CanvasItemEditor::snap_angle(float p_target, float p_start) const {
|
float CanvasItemEditor::snap_angle(float p_target, float p_start) const {
|
||||||
if (((smart_snap_active || snap_rotation) ^ Input::get_singleton()->is_key_pressed(KEY_CONTROL)) && snap_rotation_step != 0) {
|
if (((smart_snap_active || snap_rotation) ^ Input::get_singleton()->is_key_pressed(KEY_CTRL)) && snap_rotation_step != 0) {
|
||||||
if (snap_relative) {
|
if (snap_relative) {
|
||||||
return Math::snapped(p_target - snap_rotation_offset, snap_rotation_step) + snap_rotation_offset + (p_start - (int)(p_start / snap_rotation_step) * snap_rotation_step);
|
return Math::snapped(p_target - snap_rotation_offset, snap_rotation_step) + snap_rotation_offset + (p_start - (int)(p_start / snap_rotation_step) * snap_rotation_step);
|
||||||
} else {
|
} else {
|
||||||
|
@ -481,11 +481,11 @@ void CanvasItemEditor::_unhandled_key_input(const Ref<InputEvent> &p_ev) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (k.is_valid()) {
|
if (k.is_valid()) {
|
||||||
if (k->get_keycode() == KEY_CONTROL || k->get_keycode() == KEY_ALT || k->get_keycode() == KEY_SHIFT) {
|
if (k->get_keycode() == KEY_CTRL || k->get_keycode() == KEY_ALT || k->get_keycode() == KEY_SHIFT) {
|
||||||
viewport->update();
|
viewport->update();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (k->is_pressed() && !k->get_control() && !k->is_echo()) {
|
if (k->is_pressed() && !k->is_ctrl_pressed() && !k->is_echo()) {
|
||||||
if ((grid_snap_active || show_grid) && multiply_grid_step_shortcut.is_valid() && multiply_grid_step_shortcut->is_shortcut(p_ev)) {
|
if ((grid_snap_active || show_grid) && multiply_grid_step_shortcut.is_valid() && multiply_grid_step_shortcut->is_shortcut(p_ev)) {
|
||||||
// Multiply the grid size
|
// Multiply the grid size
|
||||||
grid_step_multiplier = MIN(grid_step_multiplier + 1, 12);
|
grid_step_multiplier = MIN(grid_step_multiplier + 1, 12);
|
||||||
|
@ -1269,12 +1269,12 @@ bool CanvasItemEditor::_gui_input_rulers_and_guides(const Ref<InputEvent> &p_eve
|
||||||
bool CanvasItemEditor::_gui_input_zoom_or_pan(const Ref<InputEvent> &p_event, bool p_already_accepted) {
|
bool CanvasItemEditor::_gui_input_zoom_or_pan(const Ref<InputEvent> &p_event, bool p_already_accepted) {
|
||||||
Ref<InputEventMouseButton> b = p_event;
|
Ref<InputEventMouseButton> b = p_event;
|
||||||
if (b.is_valid() && !p_already_accepted) {
|
if (b.is_valid() && !p_already_accepted) {
|
||||||
const bool pan_on_scroll = bool(EditorSettings::get_singleton()->get("editors/2d/scroll_to_pan")) && !b->get_control();
|
const bool pan_on_scroll = bool(EditorSettings::get_singleton()->get("editors/2d/scroll_to_pan")) && !b->is_ctrl_pressed();
|
||||||
|
|
||||||
if (pan_on_scroll) {
|
if (pan_on_scroll) {
|
||||||
// Perform horizontal scrolling first so we can check for Shift being held.
|
// Perform horizontal scrolling first so we can check for Shift being held.
|
||||||
if (b->is_pressed() &&
|
if (b->is_pressed() &&
|
||||||
(b->get_button_index() == MOUSE_BUTTON_WHEEL_LEFT || (b->get_shift() && b->get_button_index() == MOUSE_BUTTON_WHEEL_UP))) {
|
(b->get_button_index() == MOUSE_BUTTON_WHEEL_LEFT || (b->is_shift_pressed() && b->get_button_index() == MOUSE_BUTTON_WHEEL_UP))) {
|
||||||
// Pan left
|
// Pan left
|
||||||
view_offset.x -= int(EditorSettings::get_singleton()->get("editors/2d/pan_speed")) / zoom * b->get_factor();
|
view_offset.x -= int(EditorSettings::get_singleton()->get("editors/2d/pan_speed")) / zoom * b->get_factor();
|
||||||
update_viewport();
|
update_viewport();
|
||||||
|
@ -1282,7 +1282,7 @@ bool CanvasItemEditor::_gui_input_zoom_or_pan(const Ref<InputEvent> &p_event, bo
|
||||||
}
|
}
|
||||||
|
|
||||||
if (b->is_pressed() &&
|
if (b->is_pressed() &&
|
||||||
(b->get_button_index() == MOUSE_BUTTON_WHEEL_RIGHT || (b->get_shift() && b->get_button_index() == MOUSE_BUTTON_WHEEL_DOWN))) {
|
(b->get_button_index() == MOUSE_BUTTON_WHEEL_RIGHT || (b->is_shift_pressed() && b->get_button_index() == MOUSE_BUTTON_WHEEL_DOWN))) {
|
||||||
// Pan right
|
// Pan right
|
||||||
view_offset.x += int(EditorSettings::get_singleton()->get("editors/2d/pan_speed")) / zoom * b->get_factor();
|
view_offset.x += int(EditorSettings::get_singleton()->get("editors/2d/pan_speed")) / zoom * b->get_factor();
|
||||||
update_viewport();
|
update_viewport();
|
||||||
|
@ -1389,7 +1389,7 @@ bool CanvasItemEditor::_gui_input_zoom_or_pan(const Ref<InputEvent> &p_event, bo
|
||||||
Ref<InputEventPanGesture> pan_gesture = p_event;
|
Ref<InputEventPanGesture> pan_gesture = p_event;
|
||||||
if (pan_gesture.is_valid() && !p_already_accepted) {
|
if (pan_gesture.is_valid() && !p_already_accepted) {
|
||||||
// If control key pressed, then zoom instead of pan
|
// If control key pressed, then zoom instead of pan
|
||||||
if (pan_gesture->get_control()) {
|
if (pan_gesture->is_ctrl_pressed()) {
|
||||||
const float factor = pan_gesture->get_delta().y;
|
const float factor = pan_gesture->get_delta().y;
|
||||||
|
|
||||||
zoom_widget->set_zoom_by_increments(1);
|
zoom_widget->set_zoom_by_increments(1);
|
||||||
|
@ -1574,7 +1574,7 @@ bool CanvasItemEditor::_gui_input_rotate(const Ref<InputEvent> &p_event) {
|
||||||
// Start rotation
|
// Start rotation
|
||||||
if (drag_type == DRAG_NONE) {
|
if (drag_type == DRAG_NONE) {
|
||||||
if (b.is_valid() && b->get_button_index() == MOUSE_BUTTON_LEFT && b->is_pressed()) {
|
if (b.is_valid() && b->get_button_index() == MOUSE_BUTTON_LEFT && b->is_pressed()) {
|
||||||
if ((b->get_command() && !b->get_alt() && tool == TOOL_SELECT) || tool == TOOL_ROTATE) {
|
if ((b->is_command_pressed() && !b->is_alt_pressed() && tool == TOOL_SELECT) || tool == TOOL_ROTATE) {
|
||||||
List<CanvasItem *> selection = _get_edited_canvas_items();
|
List<CanvasItem *> selection = _get_edited_canvas_items();
|
||||||
|
|
||||||
// Remove not movable nodes
|
// Remove not movable nodes
|
||||||
|
@ -1740,7 +1740,7 @@ bool CanvasItemEditor::_gui_input_anchors(const Ref<InputEvent> &p_event) {
|
||||||
Vector2 new_anchor = xform.xform(snap_point(previous_anchor + (drag_to - drag_from), SNAP_GRID | SNAP_OTHER_NODES, SNAP_NODE_PARENT | SNAP_NODE_SIDES | SNAP_NODE_CENTER, control));
|
Vector2 new_anchor = xform.xform(snap_point(previous_anchor + (drag_to - drag_from), SNAP_GRID | SNAP_OTHER_NODES, SNAP_NODE_PARENT | SNAP_NODE_SIDES | SNAP_NODE_CENTER, control));
|
||||||
new_anchor = _position_to_anchor(control, new_anchor).snapped(Vector2(0.001, 0.001));
|
new_anchor = _position_to_anchor(control, new_anchor).snapped(Vector2(0.001, 0.001));
|
||||||
|
|
||||||
bool use_single_axis = m->get_shift();
|
bool use_single_axis = m->is_shift_pressed();
|
||||||
Vector2 drag_vector = xform.xform(drag_to) - xform.xform(drag_from);
|
Vector2 drag_vector = xform.xform(drag_to) - xform.xform(drag_from);
|
||||||
bool use_y = Math::abs(drag_vector.y) > Math::abs(drag_vector.x);
|
bool use_y = Math::abs(drag_vector.y) > Math::abs(drag_vector.x);
|
||||||
|
|
||||||
|
@ -1888,8 +1888,8 @@ bool CanvasItemEditor::_gui_input_resize(const Ref<InputEvent> &p_event) {
|
||||||
//Reset state
|
//Reset state
|
||||||
canvas_item->_edit_set_state(se->undo_state);
|
canvas_item->_edit_set_state(se->undo_state);
|
||||||
|
|
||||||
bool uniform = m->get_shift();
|
bool uniform = m->is_shift_pressed();
|
||||||
bool symmetric = m->get_alt();
|
bool symmetric = m->is_alt_pressed();
|
||||||
|
|
||||||
Rect2 local_rect = canvas_item->_edit_get_rect();
|
Rect2 local_rect = canvas_item->_edit_get_rect();
|
||||||
float aspect = local_rect.get_size().y / local_rect.get_size().x;
|
float aspect = local_rect.get_size().y / local_rect.get_size().x;
|
||||||
|
@ -2028,7 +2028,7 @@ bool CanvasItemEditor::_gui_input_scale(const Ref<InputEvent> &p_event) {
|
||||||
|
|
||||||
// Drag resize handles
|
// Drag resize handles
|
||||||
if (drag_type == DRAG_NONE) {
|
if (drag_type == DRAG_NONE) {
|
||||||
if (b.is_valid() && b->get_button_index() == MOUSE_BUTTON_LEFT && b->is_pressed() && ((b->get_alt() && b->get_control()) || tool == TOOL_SCALE)) {
|
if (b.is_valid() && b->get_button_index() == MOUSE_BUTTON_LEFT && b->is_pressed() && ((b->is_alt_pressed() && b->is_ctrl_pressed()) || tool == TOOL_SCALE)) {
|
||||||
List<CanvasItem *> selection = _get_edited_canvas_items();
|
List<CanvasItem *> selection = _get_edited_canvas_items();
|
||||||
if (selection.size() == 1) {
|
if (selection.size() == 1) {
|
||||||
CanvasItem *canvas_item = selection[0];
|
CanvasItem *canvas_item = selection[0];
|
||||||
|
@ -2074,8 +2074,8 @@ bool CanvasItemEditor::_gui_input_scale(const Ref<InputEvent> &p_event) {
|
||||||
Transform2D unscaled_transform = (transform * parent_xform * canvas_item->_edit_get_transform()).orthonormalized();
|
Transform2D unscaled_transform = (transform * parent_xform * canvas_item->_edit_get_transform()).orthonormalized();
|
||||||
Transform2D simple_xform = (viewport->get_transform() * unscaled_transform).affine_inverse() * transform;
|
Transform2D simple_xform = (viewport->get_transform() * unscaled_transform).affine_inverse() * transform;
|
||||||
|
|
||||||
bool uniform = m->get_shift();
|
bool uniform = m->is_shift_pressed();
|
||||||
bool is_ctrl = Input::get_singleton()->is_key_pressed(KEY_CONTROL);
|
bool is_ctrl = Input::get_singleton()->is_key_pressed(KEY_CTRL);
|
||||||
|
|
||||||
Point2 drag_from_local = simple_xform.xform(drag_from);
|
Point2 drag_from_local = simple_xform.xform(drag_from);
|
||||||
Point2 drag_to_local = simple_xform.xform(drag_to);
|
Point2 drag_to_local = simple_xform.xform(drag_to);
|
||||||
|
@ -2167,7 +2167,7 @@ bool CanvasItemEditor::_gui_input_move(const Ref<InputEvent> &p_event) {
|
||||||
if (drag_type == DRAG_NONE) {
|
if (drag_type == DRAG_NONE) {
|
||||||
//Start moving the nodes
|
//Start moving the nodes
|
||||||
if (b.is_valid() && b->get_button_index() == MOUSE_BUTTON_LEFT && b->is_pressed()) {
|
if (b.is_valid() && b->get_button_index() == MOUSE_BUTTON_LEFT && b->is_pressed()) {
|
||||||
if ((b->get_alt() && !b->get_control()) || tool == TOOL_MOVE) {
|
if ((b->is_alt_pressed() && !b->is_ctrl_pressed()) || tool == TOOL_MOVE) {
|
||||||
List<CanvasItem *> selection = _get_edited_canvas_items();
|
List<CanvasItem *> selection = _get_edited_canvas_items();
|
||||||
|
|
||||||
drag_selection.clear();
|
drag_selection.clear();
|
||||||
|
@ -2235,7 +2235,7 @@ bool CanvasItemEditor::_gui_input_move(const Ref<InputEvent> &p_event) {
|
||||||
new_pos.x = previous_pos.x;
|
new_pos.x = previous_pos.x;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool single_axis = m->get_shift();
|
bool single_axis = m->is_shift_pressed();
|
||||||
if (single_axis) {
|
if (single_axis) {
|
||||||
if (ABS(new_pos.x - previous_pos.x) > ABS(new_pos.y - previous_pos.y)) {
|
if (ABS(new_pos.x - previous_pos.x) > ABS(new_pos.y - previous_pos.y)) {
|
||||||
new_pos.y = previous_pos.y;
|
new_pos.y = previous_pos.y;
|
||||||
|
@ -2244,7 +2244,7 @@ bool CanvasItemEditor::_gui_input_move(const Ref<InputEvent> &p_event) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool force_no_IK = m->get_alt();
|
bool force_no_IK = m->is_alt_pressed();
|
||||||
int index = 0;
|
int index = 0;
|
||||||
for (List<CanvasItem *>::Element *E = drag_selection.front(); E; E = E->next()) {
|
for (List<CanvasItem *>::Element *E = drag_selection.front(); E; E = E->next()) {
|
||||||
CanvasItem *canvas_item = E->get();
|
CanvasItem *canvas_item = E->get();
|
||||||
|
@ -2335,8 +2335,8 @@ bool CanvasItemEditor::_gui_input_move(const Ref<InputEvent> &p_event) {
|
||||||
|
|
||||||
_restore_canvas_item_state(drag_selection, true);
|
_restore_canvas_item_state(drag_selection, true);
|
||||||
|
|
||||||
bool move_local_base = k->get_alt();
|
bool move_local_base = k->is_alt_pressed();
|
||||||
bool move_local_base_rotated = k->get_control() || k->get_metakey();
|
bool move_local_base_rotated = k->is_ctrl_pressed() || k->is_meta_pressed();
|
||||||
|
|
||||||
Vector2 dir;
|
Vector2 dir;
|
||||||
if (k->get_keycode() == KEY_UP) {
|
if (k->get_keycode() == KEY_UP) {
|
||||||
|
@ -2348,12 +2348,12 @@ bool CanvasItemEditor::_gui_input_move(const Ref<InputEvent> &p_event) {
|
||||||
} else if (k->get_keycode() == KEY_RIGHT) {
|
} else if (k->get_keycode() == KEY_RIGHT) {
|
||||||
dir += Vector2(1, 0);
|
dir += Vector2(1, 0);
|
||||||
}
|
}
|
||||||
if (k->get_shift()) {
|
if (k->is_shift_pressed()) {
|
||||||
dir *= grid_step * Math::pow(2.0, grid_step_multiplier);
|
dir *= grid_step * Math::pow(2.0, grid_step_multiplier);
|
||||||
}
|
}
|
||||||
|
|
||||||
drag_to += dir;
|
drag_to += dir;
|
||||||
if (k->get_shift()) {
|
if (k->is_shift_pressed()) {
|
||||||
drag_to = drag_to.snapped(grid_step * Math::pow(2.0, grid_step_multiplier));
|
drag_to = drag_to.snapped(grid_step * Math::pow(2.0, grid_step_multiplier));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2442,18 +2442,18 @@ bool CanvasItemEditor::_gui_input_select(const Ref<InputEvent> &p_event) {
|
||||||
|
|
||||||
if (drag_type == DRAG_NONE) {
|
if (drag_type == DRAG_NONE) {
|
||||||
if (b.is_valid() &&
|
if (b.is_valid() &&
|
||||||
((b->get_button_index() == MOUSE_BUTTON_RIGHT && b->get_alt() && tool == TOOL_SELECT) ||
|
((b->get_button_index() == MOUSE_BUTTON_RIGHT && b->is_alt_pressed() && tool == TOOL_SELECT) ||
|
||||||
(b->get_button_index() == MOUSE_BUTTON_LEFT && tool == TOOL_LIST_SELECT))) {
|
(b->get_button_index() == MOUSE_BUTTON_LEFT && tool == TOOL_LIST_SELECT))) {
|
||||||
// Popup the selection menu list
|
// Popup the selection menu list
|
||||||
Point2 click = transform.affine_inverse().xform(b->get_position());
|
Point2 click = transform.affine_inverse().xform(b->get_position());
|
||||||
|
|
||||||
_get_canvas_items_at_pos(click, selection_results, b->get_alt() && tool != TOOL_LIST_SELECT);
|
_get_canvas_items_at_pos(click, selection_results, b->is_alt_pressed() && tool != TOOL_LIST_SELECT);
|
||||||
|
|
||||||
if (selection_results.size() == 1) {
|
if (selection_results.size() == 1) {
|
||||||
CanvasItem *item = selection_results[0].item;
|
CanvasItem *item = selection_results[0].item;
|
||||||
selection_results.clear();
|
selection_results.clear();
|
||||||
|
|
||||||
_select_click_on_item(item, click, b->get_shift());
|
_select_click_on_item(item, click, b->is_shift_pressed());
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
} else if (!selection_results.is_empty()) {
|
} else if (!selection_results.is_empty()) {
|
||||||
|
@ -2497,14 +2497,14 @@ bool CanvasItemEditor::_gui_input_select(const Ref<InputEvent> &p_event) {
|
||||||
selection_menu->set_item_tooltip(i, String(item->get_name()) + "\nType: " + item->get_class() + "\nPath: " + node_path);
|
selection_menu->set_item_tooltip(i, String(item->get_name()) + "\nType: " + item->get_class() + "\nPath: " + node_path);
|
||||||
}
|
}
|
||||||
|
|
||||||
selection_menu_additive_selection = b->get_shift();
|
selection_menu_additive_selection = b->is_shift_pressed();
|
||||||
selection_menu->set_position(get_screen_transform().xform(b->get_position()));
|
selection_menu->set_position(get_screen_transform().xform(b->get_position()));
|
||||||
selection_menu->popup();
|
selection_menu->popup();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (b.is_valid() && b->is_pressed() && b->get_button_index() == MOUSE_BUTTON_RIGHT && b->get_control()) {
|
if (b.is_valid() && b->is_pressed() && b->get_button_index() == MOUSE_BUTTON_RIGHT && b->is_ctrl_pressed()) {
|
||||||
add_node_menu->set_position(get_global_transform().xform(get_local_mouse_position()));
|
add_node_menu->set_position(get_global_transform().xform(get_local_mouse_position()));
|
||||||
add_node_menu->set_size(Vector2(1, 1));
|
add_node_menu->set_size(Vector2(1, 1));
|
||||||
add_node_menu->popup();
|
add_node_menu->popup();
|
||||||
|
@ -2540,7 +2540,7 @@ bool CanvasItemEditor::_gui_input_select(const Ref<InputEvent> &p_event) {
|
||||||
|
|
||||||
if (!canvas_item) {
|
if (!canvas_item) {
|
||||||
// Start a box selection
|
// Start a box selection
|
||||||
if (!b->get_shift()) {
|
if (!b->is_shift_pressed()) {
|
||||||
// Clear the selection if not additive
|
// Clear the selection if not additive
|
||||||
editor_selection->clear();
|
editor_selection->clear();
|
||||||
viewport->update();
|
viewport->update();
|
||||||
|
@ -2552,7 +2552,7 @@ bool CanvasItemEditor::_gui_input_select(const Ref<InputEvent> &p_event) {
|
||||||
box_selecting_to = drag_from;
|
box_selecting_to = drag_from;
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
bool still_selected = _select_click_on_item(canvas_item, click, b->get_shift());
|
bool still_selected = _select_click_on_item(canvas_item, click, b->is_shift_pressed());
|
||||||
// Start dragging
|
// Start dragging
|
||||||
if (still_selected) {
|
if (still_selected) {
|
||||||
// Drag the node(s) if requested
|
// Drag the node(s) if requested
|
||||||
|
@ -3574,7 +3574,7 @@ void CanvasItemEditor::_draw_selection() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Draw the move handles
|
// Draw the move handles
|
||||||
bool is_ctrl = Input::get_singleton()->is_key_pressed(KEY_CONTROL);
|
bool is_ctrl = Input::get_singleton()->is_key_pressed(KEY_CTRL);
|
||||||
bool is_alt = Input::get_singleton()->is_key_pressed(KEY_ALT);
|
bool is_alt = Input::get_singleton()->is_key_pressed(KEY_ALT);
|
||||||
if (tool == TOOL_MOVE && show_transformation_gizmos) {
|
if (tool == TOOL_MOVE && show_transformation_gizmos) {
|
||||||
if (_is_node_movable(canvas_item)) {
|
if (_is_node_movable(canvas_item)) {
|
||||||
|
|
|
@ -175,7 +175,7 @@ bool CollisionPolygon3DEditor::forward_spatial_gui_input(Camera3D *p_camera, con
|
||||||
case MODE_EDIT: {
|
case MODE_EDIT: {
|
||||||
if (mb->get_button_index() == MOUSE_BUTTON_LEFT) {
|
if (mb->get_button_index() == MOUSE_BUTTON_LEFT) {
|
||||||
if (mb->is_pressed()) {
|
if (mb->is_pressed()) {
|
||||||
if (mb->get_control()) {
|
if (mb->is_ctrl_pressed()) {
|
||||||
if (poly.size() < 3) {
|
if (poly.size() < 3) {
|
||||||
undo_redo->create_action(TTR("Edit Poly"));
|
undo_redo->create_action(TTR("Edit Poly"));
|
||||||
undo_redo->add_undo_method(node, "set_polygon", poly);
|
undo_redo->add_undo_method(node, "set_polygon", poly);
|
||||||
|
@ -317,7 +317,7 @@ bool CollisionPolygon3DEditor::forward_spatial_gui_input(Camera3D *p_camera, con
|
||||||
|
|
||||||
Vector2 cpoint(spoint.x, spoint.y);
|
Vector2 cpoint(spoint.x, spoint.y);
|
||||||
|
|
||||||
if (snap_ignore && !Input::get_singleton()->is_key_pressed(KEY_CONTROL)) {
|
if (snap_ignore && !Input::get_singleton()->is_key_pressed(KEY_CTRL)) {
|
||||||
snap_ignore = false;
|
snap_ignore = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -168,8 +168,8 @@ void CurveEditor::on_gui_input(const Ref<InputEvent> &p_event) {
|
||||||
// Snap to "round" coordinates when holding Ctrl.
|
// Snap to "round" coordinates when holding Ctrl.
|
||||||
// Be more precise when holding Shift as well.
|
// Be more precise when holding Shift as well.
|
||||||
float snap_threshold;
|
float snap_threshold;
|
||||||
if (mm.get_control()) {
|
if (mm.is_ctrl_pressed()) {
|
||||||
snap_threshold = mm.get_shift() ? 0.025 : 0.1;
|
snap_threshold = mm.is_shift_pressed() ? 0.025 : 0.1;
|
||||||
} else {
|
} else {
|
||||||
snap_threshold = 0.0;
|
snap_threshold = 0.0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -309,7 +309,7 @@ void Node3DEditorViewport::_update_camera(float p_interp_delta) {
|
||||||
bool manipulated = Input::get_singleton()->get_mouse_button_mask() & (2 | 4);
|
bool manipulated = Input::get_singleton()->get_mouse_button_mask() & (2 | 4);
|
||||||
manipulated |= Input::get_singleton()->is_key_pressed(KEY_SHIFT);
|
manipulated |= Input::get_singleton()->is_key_pressed(KEY_SHIFT);
|
||||||
manipulated |= Input::get_singleton()->is_key_pressed(KEY_ALT);
|
manipulated |= Input::get_singleton()->is_key_pressed(KEY_ALT);
|
||||||
manipulated |= Input::get_singleton()->is_key_pressed(KEY_CONTROL);
|
manipulated |= Input::get_singleton()->is_key_pressed(KEY_CTRL);
|
||||||
|
|
||||||
float orbit_inertia = MAX(0.00001, manipulated ? manip_orbit_inertia : free_orbit_inertia);
|
float orbit_inertia = MAX(0.00001, manipulated ? manip_orbit_inertia : free_orbit_inertia);
|
||||||
float translation_inertia = MAX(0.0001, manipulated ? manip_translation_inertia : free_translation_inertia);
|
float translation_inertia = MAX(0.0001, manipulated ? manip_translation_inertia : free_translation_inertia);
|
||||||
|
@ -794,22 +794,22 @@ static int _get_key_modifier_setting(const String &p_property) {
|
||||||
case 3:
|
case 3:
|
||||||
return KEY_META;
|
return KEY_META;
|
||||||
case 4:
|
case 4:
|
||||||
return KEY_CONTROL;
|
return KEY_CTRL;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int _get_key_modifier(Ref<InputEventWithModifiers> e) {
|
static int _get_key_modifier(Ref<InputEventWithModifiers> e) {
|
||||||
if (e->get_shift()) {
|
if (e->is_shift_pressed()) {
|
||||||
return KEY_SHIFT;
|
return KEY_SHIFT;
|
||||||
}
|
}
|
||||||
if (e->get_alt()) {
|
if (e->is_alt_pressed()) {
|
||||||
return KEY_ALT;
|
return KEY_ALT;
|
||||||
}
|
}
|
||||||
if (e->get_control()) {
|
if (e->is_ctrl_pressed()) {
|
||||||
return KEY_CONTROL;
|
return KEY_CTRL;
|
||||||
}
|
}
|
||||||
if (e->get_metakey()) {
|
if (e->is_meta_pressed()) {
|
||||||
return KEY_META;
|
return KEY_META;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1024,7 +1024,7 @@ bool Node3DEditorViewport ::_is_node_locked(const Node *p_node) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void Node3DEditorViewport::_list_select(Ref<InputEventMouseButton> b) {
|
void Node3DEditorViewport::_list_select(Ref<InputEventMouseButton> b) {
|
||||||
_find_items_at_pos(b->get_position(), clicked_includes_current, selection_results, b->get_shift());
|
_find_items_at_pos(b->get_position(), clicked_includes_current, selection_results, b->is_shift_pressed());
|
||||||
|
|
||||||
Node *scene = editor->get_edited_scene();
|
Node *scene = editor->get_edited_scene();
|
||||||
|
|
||||||
|
@ -1037,7 +1037,7 @@ void Node3DEditorViewport::_list_select(Ref<InputEventMouseButton> b) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
clicked_wants_append = b->get_shift();
|
clicked_wants_append = b->is_shift_pressed();
|
||||||
|
|
||||||
if (selection_results.size() == 1) {
|
if (selection_results.size() == 1) {
|
||||||
clicked = selection_results[0].item->get_instance_id();
|
clicked = selection_results[0].item->get_instance_id();
|
||||||
|
@ -1149,7 +1149,7 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_edit.mode == TRANSFORM_NONE && b->is_pressed()) {
|
if (_edit.mode == TRANSFORM_NONE && b->is_pressed()) {
|
||||||
if (b->get_alt()) {
|
if (b->is_alt_pressed()) {
|
||||||
if (nav_scheme == NAVIGATION_MAYA) {
|
if (nav_scheme == NAVIGATION_MAYA) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1234,7 +1234,7 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) {
|
||||||
case MOUSE_BUTTON_LEFT: {
|
case MOUSE_BUTTON_LEFT: {
|
||||||
if (b->is_pressed()) {
|
if (b->is_pressed()) {
|
||||||
NavigationScheme nav_scheme = (NavigationScheme)EditorSettings::get_singleton()->get("editors/3d/navigation/navigation_scheme").operator int();
|
NavigationScheme nav_scheme = (NavigationScheme)EditorSettings::get_singleton()->get("editors/3d/navigation/navigation_scheme").operator int();
|
||||||
if ((nav_scheme == NAVIGATION_MAYA || nav_scheme == NAVIGATION_MODO) && b->get_alt()) {
|
if ((nav_scheme == NAVIGATION_MAYA || nav_scheme == NAVIGATION_MODO) && b->is_alt_pressed()) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1262,7 +1262,7 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) {
|
||||||
int handle = -1;
|
int handle = -1;
|
||||||
Vector3 point;
|
Vector3 point;
|
||||||
Vector3 normal;
|
Vector3 normal;
|
||||||
bool inters = seg->intersect_ray(camera, _edit.mouse_pos, point, normal, &handle, b->get_shift());
|
bool inters = seg->intersect_ray(camera, _edit.mouse_pos, point, normal, &handle, b->is_shift_pressed());
|
||||||
if (inters && handle != -1) {
|
if (inters && handle != -1) {
|
||||||
_edit.gizmo = seg;
|
_edit.gizmo = seg;
|
||||||
_edit.gizmo_handle = handle;
|
_edit.gizmo_handle = handle;
|
||||||
|
@ -1279,7 +1279,7 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) {
|
||||||
clicked = ObjectID();
|
clicked = ObjectID();
|
||||||
clicked_includes_current = false;
|
clicked_includes_current = false;
|
||||||
|
|
||||||
if ((spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_SELECT && b->get_command()) || spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_ROTATE) {
|
if ((spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_SELECT && b->is_command_pressed()) || spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_ROTATE) {
|
||||||
/* HANDLE ROTATION */
|
/* HANDLE ROTATION */
|
||||||
if (get_selected_count() == 0) {
|
if (get_selected_count() == 0) {
|
||||||
break; //bye
|
break; //bye
|
||||||
|
@ -1314,11 +1314,11 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) {
|
||||||
|
|
||||||
int gizmo_handle = -1;
|
int gizmo_handle = -1;
|
||||||
|
|
||||||
clicked = _select_ray(b->get_position(), b->get_shift(), clicked_includes_current, &gizmo_handle, b->get_shift());
|
clicked = _select_ray(b->get_position(), b->is_shift_pressed(), clicked_includes_current, &gizmo_handle, b->is_shift_pressed());
|
||||||
|
|
||||||
//clicking is always deferred to either move or release
|
//clicking is always deferred to either move or release
|
||||||
|
|
||||||
clicked_wants_append = b->get_shift();
|
clicked_wants_append = b->is_shift_pressed();
|
||||||
|
|
||||||
if (clicked.is_null()) {
|
if (clicked.is_null()) {
|
||||||
if (!clicked_wants_append) {
|
if (!clicked_wants_append) {
|
||||||
|
@ -1441,13 +1441,13 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) {
|
||||||
set_message(n + ": " + String(v));
|
set_message(n + ": " + String(v));
|
||||||
|
|
||||||
} else if (m->get_button_mask() & MOUSE_BUTTON_MASK_LEFT) {
|
} else if (m->get_button_mask() & MOUSE_BUTTON_MASK_LEFT) {
|
||||||
if (nav_scheme == NAVIGATION_MAYA && m->get_alt()) {
|
if (nav_scheme == NAVIGATION_MAYA && m->is_alt_pressed()) {
|
||||||
nav_mode = NAVIGATION_ORBIT;
|
nav_mode = NAVIGATION_ORBIT;
|
||||||
} else if (nav_scheme == NAVIGATION_MODO && m->get_alt() && m->get_shift()) {
|
} else if (nav_scheme == NAVIGATION_MODO && m->is_alt_pressed() && m->is_shift_pressed()) {
|
||||||
nav_mode = NAVIGATION_PAN;
|
nav_mode = NAVIGATION_PAN;
|
||||||
} else if (nav_scheme == NAVIGATION_MODO && m->get_alt() && m->get_control()) {
|
} else if (nav_scheme == NAVIGATION_MODO && m->is_alt_pressed() && m->is_ctrl_pressed()) {
|
||||||
nav_mode = NAVIGATION_ZOOM;
|
nav_mode = NAVIGATION_ZOOM;
|
||||||
} else if (nav_scheme == NAVIGATION_MODO && m->get_alt()) {
|
} else if (nav_scheme == NAVIGATION_MODO && m->is_alt_pressed()) {
|
||||||
nav_mode = NAVIGATION_ORBIT;
|
nav_mode = NAVIGATION_ORBIT;
|
||||||
} else {
|
} else {
|
||||||
if (clicked.is_valid()) {
|
if (clicked.is_valid()) {
|
||||||
|
@ -1831,7 +1831,7 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if ((m->get_button_mask() & MOUSE_BUTTON_MASK_RIGHT) || freelook_active) {
|
} else if ((m->get_button_mask() & MOUSE_BUTTON_MASK_RIGHT) || freelook_active) {
|
||||||
if (nav_scheme == NAVIGATION_MAYA && m->get_alt()) {
|
if (nav_scheme == NAVIGATION_MAYA && m->is_alt_pressed()) {
|
||||||
nav_mode = NAVIGATION_ZOOM;
|
nav_mode = NAVIGATION_ZOOM;
|
||||||
} else if (freelook_active) {
|
} else if (freelook_active) {
|
||||||
nav_mode = NAVIGATION_LOOK;
|
nav_mode = NAVIGATION_LOOK;
|
||||||
|
@ -1924,7 +1924,7 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) {
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (nav_scheme == NAVIGATION_MAYA) {
|
} else if (nav_scheme == NAVIGATION_MAYA) {
|
||||||
if (pan_gesture->get_alt()) {
|
if (pan_gesture->is_alt_pressed()) {
|
||||||
nav_mode = NAVIGATION_PAN;
|
nav_mode = NAVIGATION_PAN;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2053,7 +2053,7 @@ void Node3DEditorViewport::_nav_pan(Ref<InputEventWithModifiers> p_event, const
|
||||||
|
|
||||||
real_t pan_speed = 1 / 150.0;
|
real_t pan_speed = 1 / 150.0;
|
||||||
int pan_speed_modifier = 10;
|
int pan_speed_modifier = 10;
|
||||||
if (nav_scheme == NAVIGATION_MAYA && p_event->get_shift()) {
|
if (nav_scheme == NAVIGATION_MAYA && p_event->is_shift_pressed()) {
|
||||||
pan_speed *= pan_speed_modifier;
|
pan_speed *= pan_speed_modifier;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2078,7 +2078,7 @@ void Node3DEditorViewport::_nav_zoom(Ref<InputEventWithModifiers> p_event, const
|
||||||
|
|
||||||
real_t zoom_speed = 1 / 80.0;
|
real_t zoom_speed = 1 / 80.0;
|
||||||
int zoom_speed_modifier = 10;
|
int zoom_speed_modifier = 10;
|
||||||
if (nav_scheme == NAVIGATION_MAYA && p_event->get_shift()) {
|
if (nav_scheme == NAVIGATION_MAYA && p_event->is_shift_pressed()) {
|
||||||
zoom_speed *= zoom_speed_modifier;
|
zoom_speed *= zoom_speed_modifier;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6204,7 +6204,7 @@ void Node3DEditor::_unhandled_key_input(Ref<InputEvent> p_event) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
snap_key_enabled = Input::get_singleton()->is_key_pressed(KEY_CONTROL);
|
snap_key_enabled = Input::get_singleton()->is_key_pressed(KEY_CTRL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Node3DEditor::_sun_environ_settings_pressed() {
|
void Node3DEditor::_sun_environ_settings_pressed() {
|
||||||
|
|
|
@ -89,7 +89,7 @@ bool Path2DEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
||||||
|
|
||||||
// Check for point movement start (for point + in/out controls).
|
// Check for point movement start (for point + in/out controls).
|
||||||
if (mb->get_button_index() == MOUSE_BUTTON_LEFT) {
|
if (mb->get_button_index() == MOUSE_BUTTON_LEFT) {
|
||||||
if (mode == MODE_EDIT && !mb->get_shift() && dist_to_p < grab_threshold) {
|
if (mode == MODE_EDIT && !mb->is_shift_pressed() && dist_to_p < grab_threshold) {
|
||||||
// Points can only be moved in edit mode.
|
// Points can only be moved in edit mode.
|
||||||
|
|
||||||
action = ACTION_MOVING_POINT;
|
action = ACTION_MOVING_POINT;
|
||||||
|
@ -149,7 +149,7 @@ bool Path2DEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check for point creation.
|
// Check for point creation.
|
||||||
if (mb->is_pressed() && mb->get_button_index() == MOUSE_BUTTON_LEFT && ((mb->get_command() && mode == MODE_EDIT) || mode == MODE_CREATE)) {
|
if (mb->is_pressed() && mb->get_button_index() == MOUSE_BUTTON_LEFT && ((mb->is_command_pressed() && mode == MODE_EDIT) || mode == MODE_CREATE)) {
|
||||||
Ref<Curve2D> curve = node->get_curve();
|
Ref<Curve2D> curve = node->get_curve();
|
||||||
|
|
||||||
undo_redo->create_action(TTR("Add Point to Curve"));
|
undo_redo->create_action(TTR("Add Point to Curve"));
|
||||||
|
|
|
@ -316,7 +316,7 @@ bool Path3DEditorPlugin::forward_spatial_gui_input(Camera3D *p_camera, const Ref
|
||||||
set_handle_clicked(false);
|
set_handle_clicked(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mb->is_pressed() && mb->get_button_index() == MOUSE_BUTTON_LEFT && (curve_create->is_pressed() || (curve_edit->is_pressed() && mb->get_control()))) {
|
if (mb->is_pressed() && mb->get_button_index() == MOUSE_BUTTON_LEFT && (curve_create->is_pressed() || (curve_edit->is_pressed() && mb->is_ctrl_pressed()))) {
|
||||||
//click into curve, break it down
|
//click into curve, break it down
|
||||||
Vector<Vector3> v3a = c->tessellate();
|
Vector<Vector3> v3a = c->tessellate();
|
||||||
int idx = 0;
|
int idx = 0;
|
||||||
|
|
|
@ -613,11 +613,11 @@ void Polygon2DEditor::_uv_input(const Ref<InputEvent> &p_input) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (uv_move_current == UV_MODE_EDIT_POINT) {
|
if (uv_move_current == UV_MODE_EDIT_POINT) {
|
||||||
if (mb->get_shift() && mb->get_command()) {
|
if (mb->is_shift_pressed() && mb->is_command_pressed()) {
|
||||||
uv_move_current = UV_MODE_SCALE;
|
uv_move_current = UV_MODE_SCALE;
|
||||||
} else if (mb->get_shift()) {
|
} else if (mb->is_shift_pressed()) {
|
||||||
uv_move_current = UV_MODE_MOVE;
|
uv_move_current = UV_MODE_MOVE;
|
||||||
} else if (mb->get_command()) {
|
} else if (mb->is_command_pressed()) {
|
||||||
uv_move_current = UV_MODE_ROTATE;
|
uv_move_current = UV_MODE_ROTATE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -115,7 +115,7 @@ void SpriteFramesEditor::_sheet_preview_input(const Ref<InputEvent> &p_event) {
|
||||||
|
|
||||||
int idx = h * y + x;
|
int idx = h * y + x;
|
||||||
|
|
||||||
if (mb->get_shift() && last_frame_selected >= 0) {
|
if (mb->is_shift_pressed() && last_frame_selected >= 0) {
|
||||||
//select multiple
|
//select multiple
|
||||||
int from = idx;
|
int from = idx;
|
||||||
int to = last_frame_selected;
|
int to = last_frame_selected;
|
||||||
|
@ -124,7 +124,7 @@ void SpriteFramesEditor::_sheet_preview_input(const Ref<InputEvent> &p_event) {
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = from; i <= to; i++) {
|
for (int i = from; i <= to; i++) {
|
||||||
if (mb->get_control()) {
|
if (mb->is_ctrl_pressed()) {
|
||||||
frames_selected.erase(i);
|
frames_selected.erase(i);
|
||||||
} else {
|
} else {
|
||||||
frames_selected.insert(i);
|
frames_selected.insert(i);
|
||||||
|
@ -150,11 +150,11 @@ void SpriteFramesEditor::_sheet_scroll_input(const Ref<InputEvent> &p_event) {
|
||||||
// Zoom in/out using Ctrl + mouse wheel. This is done on the ScrollContainer
|
// Zoom in/out using Ctrl + mouse wheel. This is done on the ScrollContainer
|
||||||
// to allow performing this action anywhere, even if the cursor isn't
|
// to allow performing this action anywhere, even if the cursor isn't
|
||||||
// hovering the texture in the workspace.
|
// hovering the texture in the workspace.
|
||||||
if (mb->get_button_index() == MOUSE_BUTTON_WHEEL_UP && mb->is_pressed() && mb->get_control()) {
|
if (mb->get_button_index() == MOUSE_BUTTON_WHEEL_UP && mb->is_pressed() && mb->is_ctrl_pressed()) {
|
||||||
_sheet_zoom_in();
|
_sheet_zoom_in();
|
||||||
// Don't scroll up after zooming in.
|
// Don't scroll up after zooming in.
|
||||||
accept_event();
|
accept_event();
|
||||||
} else if (mb->get_button_index() == MOUSE_BUTTON_WHEEL_DOWN && mb->is_pressed() && mb->get_control()) {
|
} else if (mb->get_button_index() == MOUSE_BUTTON_WHEEL_DOWN && mb->is_pressed() && mb->is_ctrl_pressed()) {
|
||||||
_sheet_zoom_out();
|
_sheet_zoom_out();
|
||||||
// Don't scroll down after zooming out.
|
// Don't scroll down after zooming out.
|
||||||
accept_event();
|
accept_event();
|
||||||
|
@ -694,11 +694,11 @@ void SpriteFramesEditor::_tree_input(const Ref<InputEvent> &p_event) {
|
||||||
const Ref<InputEventMouseButton> mb = p_event;
|
const Ref<InputEventMouseButton> mb = p_event;
|
||||||
|
|
||||||
if (mb.is_valid()) {
|
if (mb.is_valid()) {
|
||||||
if (mb->get_button_index() == MOUSE_BUTTON_WHEEL_UP && mb->is_pressed() && mb->get_control()) {
|
if (mb->get_button_index() == MOUSE_BUTTON_WHEEL_UP && mb->is_pressed() && mb->is_ctrl_pressed()) {
|
||||||
_zoom_in();
|
_zoom_in();
|
||||||
// Don't scroll up after zooming in.
|
// Don't scroll up after zooming in.
|
||||||
accept_event();
|
accept_event();
|
||||||
} else if (mb->get_button_index() == MOUSE_BUTTON_WHEEL_DOWN && mb->is_pressed() && mb->get_control()) {
|
} else if (mb->get_button_index() == MOUSE_BUTTON_WHEEL_DOWN && mb->is_pressed() && mb->is_ctrl_pressed()) {
|
||||||
_zoom_out();
|
_zoom_out();
|
||||||
// Don't scroll down after zooming out.
|
// Don't scroll down after zooming out.
|
||||||
accept_event();
|
accept_event();
|
||||||
|
@ -954,7 +954,7 @@ void SpriteFramesEditor::drop_data_fw(const Point2 &p_point, const Variant &p_da
|
||||||
if (String(d["type"]) == "files") {
|
if (String(d["type"]) == "files") {
|
||||||
Vector<String> files = d["files"];
|
Vector<String> files = d["files"];
|
||||||
|
|
||||||
if (Input::get_singleton()->is_key_pressed(KEY_CONTROL)) {
|
if (Input::get_singleton()->is_key_pressed(KEY_CTRL)) {
|
||||||
_prepare_sprite_sheet(files[0]);
|
_prepare_sprite_sheet(files[0]);
|
||||||
} else {
|
} else {
|
||||||
_file_load_request(files, at_pos);
|
_file_load_request(files, at_pos);
|
||||||
|
|
|
@ -331,7 +331,7 @@ void TextureRegionEditor::_region_input(const Ref<InputEvent> &p_input) {
|
||||||
for (List<Rect2>::Element *E = autoslice_cache.front(); E; E = E->next()) {
|
for (List<Rect2>::Element *E = autoslice_cache.front(); E; E = E->next()) {
|
||||||
if (E->get().has_point(point)) {
|
if (E->get().has_point(point)) {
|
||||||
rect = E->get();
|
rect = E->get();
|
||||||
if (Input::get_singleton()->is_key_pressed(KEY_CONTROL) && !(Input::get_singleton()->is_key_pressed(KEY_SHIFT | KEY_ALT))) {
|
if (Input::get_singleton()->is_key_pressed(KEY_CTRL) && !(Input::get_singleton()->is_key_pressed(KEY_SHIFT | KEY_ALT))) {
|
||||||
Rect2 r;
|
Rect2 r;
|
||||||
if (node_sprite) {
|
if (node_sprite) {
|
||||||
r = node_sprite->get_region_rect();
|
r = node_sprite->get_region_rect();
|
||||||
|
|
|
@ -41,7 +41,7 @@
|
||||||
#include "editor/editor_scale.h"
|
#include "editor/editor_scale.h"
|
||||||
|
|
||||||
void TileAtlasView::_gui_input(const Ref<InputEvent> &p_event) {
|
void TileAtlasView::_gui_input(const Ref<InputEvent> &p_event) {
|
||||||
bool ctrl = Input::get_singleton()->is_key_pressed(KEY_CONTROL);
|
bool ctrl = Input::get_singleton()->is_key_pressed(KEY_CTRL);
|
||||||
|
|
||||||
Ref<InputEventMouseButton> b = p_event;
|
Ref<InputEventMouseButton> b = p_event;
|
||||||
if (b.is_valid()) {
|
if (b.is_valid()) {
|
||||||
|
|
|
@ -357,7 +357,7 @@ bool TileMapEditorTilesPlugin::forward_canvas_gui_input(const Ref<InputEvent> &p
|
||||||
// Pressed
|
// Pressed
|
||||||
if (tool_buttons_group->get_pressed_button() == select_tool_button) {
|
if (tool_buttons_group->get_pressed_button() == select_tool_button) {
|
||||||
drag_start_mouse_pos = mpos;
|
drag_start_mouse_pos = mpos;
|
||||||
if (tile_map_selection.has(tile_map->world_to_map(drag_start_mouse_pos)) && !mb->get_shift()) {
|
if (tile_map_selection.has(tile_map->world_to_map(drag_start_mouse_pos)) && !mb->is_shift_pressed()) {
|
||||||
// Move the selection
|
// Move the selection
|
||||||
drag_type = DRAG_TYPE_MOVE;
|
drag_type = DRAG_TYPE_MOVE;
|
||||||
drag_modified.clear();
|
drag_modified.clear();
|
||||||
|
@ -460,7 +460,7 @@ void TileMapEditorTilesPlugin::forward_canvas_draw_over_viewport(Control *p_over
|
||||||
// Draw the selection.
|
// Draw the selection.
|
||||||
if (is_visible_in_tree() && tool_buttons_group->get_pressed_button() == select_tool_button) {
|
if (is_visible_in_tree() && tool_buttons_group->get_pressed_button() == select_tool_button) {
|
||||||
// In select mode, we only draw the current selection if we are modifying it (pressing control or shift).
|
// In select mode, we only draw the current selection if we are modifying it (pressing control or shift).
|
||||||
if (drag_type == DRAG_TYPE_MOVE || (drag_type == DRAG_TYPE_SELECT && !Input::get_singleton()->is_key_pressed(KEY_CONTROL) && !Input::get_singleton()->is_key_pressed(KEY_SHIFT))) {
|
if (drag_type == DRAG_TYPE_MOVE || (drag_type == DRAG_TYPE_SELECT && !Input::get_singleton()->is_key_pressed(KEY_CTRL) && !Input::get_singleton()->is_key_pressed(KEY_SHIFT))) {
|
||||||
// Do nothing
|
// Do nothing
|
||||||
} else {
|
} else {
|
||||||
tile_map->draw_cells_outline(p_overlay, tile_map_selection, Color(0.0, 0.0, 1.0), xform);
|
tile_map->draw_cells_outline(p_overlay, tile_map_selection, Color(0.0, 0.0, 1.0), xform);
|
||||||
|
@ -930,14 +930,14 @@ void TileMapEditorTilesPlugin::_stop_dragging() {
|
||||||
undo_redo->create_action(TTR("Change selection"));
|
undo_redo->create_action(TTR("Change selection"));
|
||||||
undo_redo->add_undo_method(this, "_set_tile_map_selection", _get_tile_map_selection());
|
undo_redo->add_undo_method(this, "_set_tile_map_selection", _get_tile_map_selection());
|
||||||
|
|
||||||
if (!Input::get_singleton()->is_key_pressed(KEY_SHIFT) && !Input::get_singleton()->is_key_pressed(KEY_CONTROL)) {
|
if (!Input::get_singleton()->is_key_pressed(KEY_SHIFT) && !Input::get_singleton()->is_key_pressed(KEY_CTRL)) {
|
||||||
tile_map_selection.clear();
|
tile_map_selection.clear();
|
||||||
}
|
}
|
||||||
Rect2i rect = Rect2i(tile_map->world_to_map(drag_start_mouse_pos), tile_map->world_to_map(mpos) - tile_map->world_to_map(drag_start_mouse_pos)).abs();
|
Rect2i rect = Rect2i(tile_map->world_to_map(drag_start_mouse_pos), tile_map->world_to_map(mpos) - tile_map->world_to_map(drag_start_mouse_pos)).abs();
|
||||||
for (int x = rect.position.x; x <= rect.get_end().x; x++) {
|
for (int x = rect.position.x; x <= rect.get_end().x; x++) {
|
||||||
for (int y = rect.position.y; y <= rect.get_end().y; y++) {
|
for (int y = rect.position.y; y <= rect.get_end().y; y++) {
|
||||||
Vector2i coords = Vector2i(x, y);
|
Vector2i coords = Vector2i(x, y);
|
||||||
if (Input::get_singleton()->is_key_pressed(KEY_CONTROL)) {
|
if (Input::get_singleton()->is_key_pressed(KEY_CTRL)) {
|
||||||
if (tile_map_selection.has(coords)) {
|
if (tile_map_selection.has(coords)) {
|
||||||
tile_map_selection.erase(coords);
|
tile_map_selection.erase(coords);
|
||||||
}
|
}
|
||||||
|
@ -1369,12 +1369,12 @@ void TileMapEditorTilesPlugin::_tile_atlas_control_gui_input(const Ref<InputEven
|
||||||
if (mb->is_pressed()) { // Pressed
|
if (mb->is_pressed()) { // Pressed
|
||||||
tile_set_dragging_selection = true;
|
tile_set_dragging_selection = true;
|
||||||
tile_set_drag_start_mouse_pos = tile_atlas_control->get_local_mouse_position();
|
tile_set_drag_start_mouse_pos = tile_atlas_control->get_local_mouse_position();
|
||||||
if (!mb->get_shift()) {
|
if (!mb->is_shift_pressed()) {
|
||||||
tile_set_selection.clear();
|
tile_set_selection.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hovered_tile.get_atlas_coords() != TileSetAtlasSource::INVALID_ATLAS_COORDS && hovered_tile.alternative_tile == 0) {
|
if (hovered_tile.get_atlas_coords() != TileSetAtlasSource::INVALID_ATLAS_COORDS && hovered_tile.alternative_tile == 0) {
|
||||||
if (mb->get_shift() && tile_set_selection.has(TileMapCell(source_id, hovered_tile.get_atlas_coords(), 0))) {
|
if (mb->is_shift_pressed() && tile_set_selection.has(TileMapCell(source_id, hovered_tile.get_atlas_coords(), 0))) {
|
||||||
tile_set_selection.erase(TileMapCell(source_id, hovered_tile.get_atlas_coords(), 0));
|
tile_set_selection.erase(TileMapCell(source_id, hovered_tile.get_atlas_coords(), 0));
|
||||||
} else {
|
} else {
|
||||||
tile_set_selection.insert(TileMapCell(source_id, hovered_tile.get_atlas_coords(), 0));
|
tile_set_selection.insert(TileMapCell(source_id, hovered_tile.get_atlas_coords(), 0));
|
||||||
|
@ -1383,7 +1383,7 @@ void TileMapEditorTilesPlugin::_tile_atlas_control_gui_input(const Ref<InputEven
|
||||||
_update_selection_pattern_from_tileset_selection();
|
_update_selection_pattern_from_tileset_selection();
|
||||||
} else { // Released
|
} else { // Released
|
||||||
if (tile_set_dragging_selection) {
|
if (tile_set_dragging_selection) {
|
||||||
if (!mb->get_shift()) {
|
if (!mb->is_shift_pressed()) {
|
||||||
tile_set_selection.clear();
|
tile_set_selection.clear();
|
||||||
}
|
}
|
||||||
// Compute the covered area.
|
// Compute the covered area.
|
||||||
|
@ -1395,7 +1395,7 @@ void TileMapEditorTilesPlugin::_tile_atlas_control_gui_input(const Ref<InputEven
|
||||||
|
|
||||||
// To update the selection, we copy the selected/not selected status of the tiles we drag from.
|
// To update the selection, we copy the selected/not selected status of the tiles we drag from.
|
||||||
Vector2i start_coords = atlas->get_tile_at_coords(start_tile);
|
Vector2i start_coords = atlas->get_tile_at_coords(start_tile);
|
||||||
if (mb->get_shift() && start_coords != TileSetAtlasSource::INVALID_ATLAS_COORDS && !tile_set_selection.has(TileMapCell(source_id, start_coords, 0))) {
|
if (mb->is_shift_pressed() && start_coords != TileSetAtlasSource::INVALID_ATLAS_COORDS && !tile_set_selection.has(TileMapCell(source_id, start_coords, 0))) {
|
||||||
// Remove from the selection.
|
// Remove from the selection.
|
||||||
for (int x = region.position.x; x < region.get_end().x; x++) {
|
for (int x = region.position.x; x < region.get_end().x; x++) {
|
||||||
for (int y = region.position.y; y < region.get_end().y; y++) {
|
for (int y = region.position.y; y < region.get_end().y; y++) {
|
||||||
|
@ -1526,12 +1526,12 @@ void TileMapEditorTilesPlugin::_tile_alternatives_control_gui_input(const Ref<In
|
||||||
if (mb.is_valid() && mb->get_button_index() == MOUSE_BUTTON_LEFT) {
|
if (mb.is_valid() && mb->get_button_index() == MOUSE_BUTTON_LEFT) {
|
||||||
if (mb->is_pressed()) { // Pressed
|
if (mb->is_pressed()) { // Pressed
|
||||||
// Left click pressed.
|
// Left click pressed.
|
||||||
if (!mb->get_shift()) {
|
if (!mb->is_shift_pressed()) {
|
||||||
tile_set_selection.clear();
|
tile_set_selection.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (coords != TileSetAtlasSource::INVALID_ATLAS_COORDS && alternative != TileSetAtlasSource::INVALID_TILE_ALTERNATIVE) {
|
if (coords != TileSetAtlasSource::INVALID_ATLAS_COORDS && alternative != TileSetAtlasSource::INVALID_TILE_ALTERNATIVE) {
|
||||||
if (mb->get_shift() && tile_set_selection.has(TileMapCell(source_id, hovered_tile.get_atlas_coords(), hovered_tile.alternative_tile))) {
|
if (mb->is_shift_pressed() && tile_set_selection.has(TileMapCell(source_id, hovered_tile.get_atlas_coords(), hovered_tile.alternative_tile))) {
|
||||||
tile_set_selection.erase(TileMapCell(source_id, hovered_tile.get_atlas_coords(), hovered_tile.alternative_tile));
|
tile_set_selection.erase(TileMapCell(source_id, hovered_tile.get_atlas_coords(), hovered_tile.alternative_tile));
|
||||||
} else {
|
} else {
|
||||||
tile_set_selection.insert(TileMapCell(source_id, hovered_tile.get_atlas_coords(), hovered_tile.alternative_tile));
|
tile_set_selection.insert(TileMapCell(source_id, hovered_tile.get_atlas_coords(), hovered_tile.alternative_tile));
|
||||||
|
|
|
@ -669,7 +669,7 @@ void TileSetAtlasSourceEditor::_tile_atlas_control_gui_input(const Ref<InputEven
|
||||||
drag_modified_tiles.insert(coords);
|
drag_modified_tiles.insert(coords);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (mb->get_shift()) {
|
if (mb->is_shift_pressed()) {
|
||||||
// Create a big tile.
|
// Create a big tile.
|
||||||
Vector2i coords = tile_atlas_view->get_atlas_tile_coords_at_pos(mouse_local_pos);
|
Vector2i coords = tile_atlas_view->get_atlas_tile_coords_at_pos(mouse_local_pos);
|
||||||
if (coords != TileSetAtlasSource::INVALID_ATLAS_COORDS && tile_set_atlas_source->get_tile_at_coords(coords) == TileSetAtlasSource::INVALID_ATLAS_COORDS) {
|
if (coords != TileSetAtlasSource::INVALID_ATLAS_COORDS && tile_set_atlas_source->get_tile_at_coords(coords) == TileSetAtlasSource::INVALID_ATLAS_COORDS) {
|
||||||
|
@ -707,7 +707,7 @@ void TileSetAtlasSourceEditor::_tile_atlas_control_gui_input(const Ref<InputEven
|
||||||
drag_start_mouse_pos = mouse_local_pos;
|
drag_start_mouse_pos = mouse_local_pos;
|
||||||
drag_last_mouse_pos = drag_start_mouse_pos;
|
drag_last_mouse_pos = drag_start_mouse_pos;
|
||||||
} else {
|
} else {
|
||||||
if (mb->get_shift()) {
|
if (mb->is_shift_pressed()) {
|
||||||
// Create a big tile.
|
// Create a big tile.
|
||||||
Vector2i coords = tile_atlas_view->get_atlas_tile_coords_at_pos(mouse_local_pos);
|
Vector2i coords = tile_atlas_view->get_atlas_tile_coords_at_pos(mouse_local_pos);
|
||||||
if (coords != TileSetAtlasSource::INVALID_ATLAS_COORDS && tile_set_atlas_source->get_tile_at_coords(coords) == TileSetAtlasSource::INVALID_ATLAS_COORDS) {
|
if (coords != TileSetAtlasSource::INVALID_ATLAS_COORDS && tile_set_atlas_source->get_tile_at_coords(coords) == TileSetAtlasSource::INVALID_ATLAS_COORDS) {
|
||||||
|
@ -780,7 +780,7 @@ void TileSetAtlasSourceEditor::_tile_atlas_control_gui_input(const Ref<InputEven
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool shift = mb->get_shift();
|
bool shift = mb->is_shift_pressed();
|
||||||
if (!shift && selection.size() == 1 && selected.tile != TileSetAtlasSource::INVALID_ATLAS_COORDS && selection.has(selected)) {
|
if (!shift && selection.size() == 1 && selected.tile != TileSetAtlasSource::INVALID_ATLAS_COORDS && selection.has(selected)) {
|
||||||
// Start move dragging.
|
// Start move dragging.
|
||||||
drag_type = DRAG_TYPE_MOVE_TILE;
|
drag_type = DRAG_TYPE_MOVE_TILE;
|
||||||
|
|
|
@ -729,7 +729,7 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) {
|
||||||
CodeEdit *expression_box = memnew(CodeEdit);
|
CodeEdit *expression_box = memnew(CodeEdit);
|
||||||
Ref<CodeHighlighter> expression_syntax_highlighter;
|
Ref<CodeHighlighter> expression_syntax_highlighter;
|
||||||
expression_syntax_highlighter.instance();
|
expression_syntax_highlighter.instance();
|
||||||
expression_node->set_control(expression_box, 0);
|
expression_node->set_ctrl_pressed(expression_box, 0);
|
||||||
node->add_child(expression_box);
|
node->add_child(expression_box);
|
||||||
register_expression_edit(p_id, expression_box);
|
register_expression_edit(p_id, expression_box);
|
||||||
|
|
||||||
|
@ -1584,7 +1584,7 @@ void VisualShaderEditor::_set_node_size(int p_type, int p_node, const Vector2 &p
|
||||||
Ref<VisualShaderNodeExpression> expression_node = Object::cast_to<VisualShaderNodeExpression>(node.ptr());
|
Ref<VisualShaderNodeExpression> expression_node = Object::cast_to<VisualShaderNodeExpression>(node.ptr());
|
||||||
Control *text_box = nullptr;
|
Control *text_box = nullptr;
|
||||||
if (!expression_node.is_null()) {
|
if (!expression_node.is_null()) {
|
||||||
text_box = expression_node->get_control(0);
|
text_box = expression_node->is_ctrl_pressed(0);
|
||||||
if (text_box) {
|
if (text_box) {
|
||||||
text_box->set_custom_minimum_size(Size2(0, 0));
|
text_box->set_custom_minimum_size(Size2(0, 0));
|
||||||
}
|
}
|
||||||
|
|
|
@ -1740,7 +1740,7 @@ void ProjectList::_panel_input(const Ref<InputEvent> &p_ev, Node *p_hb) {
|
||||||
const Item &clicked_project = _projects[clicked_index];
|
const Item &clicked_project = _projects[clicked_index];
|
||||||
|
|
||||||
if (mb.is_valid() && mb->is_pressed() && mb->get_button_index() == MOUSE_BUTTON_LEFT) {
|
if (mb.is_valid() && mb->is_pressed() && mb->get_button_index() == MOUSE_BUTTON_LEFT) {
|
||||||
if (mb->get_shift() && _selected_project_keys.size() > 0 && _last_clicked != "" && clicked_project.project_key != _last_clicked) {
|
if (mb->is_shift_pressed() && _selected_project_keys.size() > 0 && _last_clicked != "" && clicked_project.project_key != _last_clicked) {
|
||||||
int anchor_index = -1;
|
int anchor_index = -1;
|
||||||
for (int i = 0; i < _projects.size(); ++i) {
|
for (int i = 0; i < _projects.size(); ++i) {
|
||||||
const Item &p = _projects[i];
|
const Item &p = _projects[i];
|
||||||
|
@ -1752,7 +1752,7 @@ void ProjectList::_panel_input(const Ref<InputEvent> &p_ev, Node *p_hb) {
|
||||||
CRASH_COND(anchor_index == -1);
|
CRASH_COND(anchor_index == -1);
|
||||||
select_range(anchor_index, clicked_index);
|
select_range(anchor_index, clicked_index);
|
||||||
|
|
||||||
} else if (mb->get_control()) {
|
} else if (mb->is_ctrl_pressed()) {
|
||||||
toggle_select(clicked_index);
|
toggle_select(clicked_index);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
@ -1762,7 +1762,7 @@ void ProjectList::_panel_input(const Ref<InputEvent> &p_ev, Node *p_hb) {
|
||||||
|
|
||||||
emit_signal(SIGNAL_SELECTION_CHANGED);
|
emit_signal(SIGNAL_SELECTION_CHANGED);
|
||||||
|
|
||||||
if (!mb->get_control() && mb->is_double_click()) {
|
if (!mb->is_ctrl_pressed() && mb->is_double_click()) {
|
||||||
emit_signal(SIGNAL_PROJECT_ASK_OPEN);
|
emit_signal(SIGNAL_PROJECT_ASK_OPEN);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1937,7 +1937,7 @@ void ProjectManager::_unhandled_key_input(const Ref<InputEvent> &p_ev) {
|
||||||
|
|
||||||
} break;
|
} break;
|
||||||
case KEY_UP: {
|
case KEY_UP: {
|
||||||
if (k->get_shift()) {
|
if (k->is_shift_pressed()) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1951,7 +1951,7 @@ void ProjectManager::_unhandled_key_input(const Ref<InputEvent> &p_ev) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case KEY_DOWN: {
|
case KEY_DOWN: {
|
||||||
if (k->get_shift()) {
|
if (k->is_shift_pressed()) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1964,7 +1964,7 @@ void ProjectManager::_unhandled_key_input(const Ref<InputEvent> &p_ev) {
|
||||||
|
|
||||||
} break;
|
} break;
|
||||||
case KEY_F: {
|
case KEY_F: {
|
||||||
if (k->get_command()) {
|
if (k->is_command_pressed()) {
|
||||||
this->search_box->grab_focus();
|
this->search_box->grab_focus();
|
||||||
} else {
|
} else {
|
||||||
keycode_handled = false;
|
keycode_handled = false;
|
||||||
|
|
|
@ -615,13 +615,13 @@ bool GridMapEditor::forward_spatial_input_event(Camera3D *p_camera, const Ref<In
|
||||||
Ref<InputEventMouseButton> mb = p_event;
|
Ref<InputEventMouseButton> mb = p_event;
|
||||||
|
|
||||||
if (mb.is_valid()) {
|
if (mb.is_valid()) {
|
||||||
if (mb->get_button_index() == MOUSE_BUTTON_WHEEL_UP && (mb->get_command() || mb->get_shift())) {
|
if (mb->get_button_index() == MOUSE_BUTTON_WHEEL_UP && (mb->is_command_pressed() || mb->is_shift_pressed())) {
|
||||||
if (mb->is_pressed()) {
|
if (mb->is_pressed()) {
|
||||||
floor->set_value(floor->get_value() + mb->get_factor());
|
floor->set_value(floor->get_value() + mb->get_factor());
|
||||||
}
|
}
|
||||||
|
|
||||||
return true; // Eaten.
|
return true; // Eaten.
|
||||||
} else if (mb->get_button_index() == MOUSE_BUTTON_WHEEL_DOWN && (mb->get_command() || mb->get_shift())) {
|
} else if (mb->get_button_index() == MOUSE_BUTTON_WHEEL_DOWN && (mb->is_command_pressed() || mb->is_shift_pressed())) {
|
||||||
if (mb->is_pressed()) {
|
if (mb->is_pressed()) {
|
||||||
floor->set_value(floor->get_value() - mb->get_factor());
|
floor->set_value(floor->get_value() - mb->get_factor());
|
||||||
}
|
}
|
||||||
|
@ -630,7 +630,7 @@ bool GridMapEditor::forward_spatial_input_event(Camera3D *p_camera, const Ref<In
|
||||||
|
|
||||||
if (mb->is_pressed()) {
|
if (mb->is_pressed()) {
|
||||||
Node3DEditorViewport::NavigationScheme nav_scheme = (Node3DEditorViewport::NavigationScheme)EditorSettings::get_singleton()->get("editors/3d/navigation/navigation_scheme").operator int();
|
Node3DEditorViewport::NavigationScheme nav_scheme = (Node3DEditorViewport::NavigationScheme)EditorSettings::get_singleton()->get("editors/3d/navigation/navigation_scheme").operator int();
|
||||||
if ((nav_scheme == Node3DEditorViewport::NAVIGATION_MAYA || nav_scheme == Node3DEditorViewport::NAVIGATION_MODO) && mb->get_alt()) {
|
if ((nav_scheme == Node3DEditorViewport::NAVIGATION_MAYA || nav_scheme == Node3DEditorViewport::NAVIGATION_MODO) && mb->is_alt_pressed()) {
|
||||||
input_action = INPUT_NONE;
|
input_action = INPUT_NONE;
|
||||||
} else if (mb->get_button_index() == MOUSE_BUTTON_LEFT) {
|
} else if (mb->get_button_index() == MOUSE_BUTTON_LEFT) {
|
||||||
bool can_edit = (node && node->get_mesh_library().is_valid());
|
bool can_edit = (node && node->get_mesh_library().is_valid());
|
||||||
|
@ -638,10 +638,10 @@ bool GridMapEditor::forward_spatial_input_event(Camera3D *p_camera, const Ref<In
|
||||||
_do_paste();
|
_do_paste();
|
||||||
input_action = INPUT_NONE;
|
input_action = INPUT_NONE;
|
||||||
_update_paste_indicator();
|
_update_paste_indicator();
|
||||||
} else if (mb->get_shift() && can_edit) {
|
} else if (mb->is_shift_pressed() && can_edit) {
|
||||||
input_action = INPUT_SELECT;
|
input_action = INPUT_SELECT;
|
||||||
last_selection = selection;
|
last_selection = selection;
|
||||||
} else if (mb->get_command() && can_edit) {
|
} else if (mb->is_command_pressed() && can_edit) {
|
||||||
input_action = INPUT_PICK;
|
input_action = INPUT_PICK;
|
||||||
} else {
|
} else {
|
||||||
input_action = INPUT_PAINT;
|
input_action = INPUT_PAINT;
|
||||||
|
@ -732,7 +732,7 @@ bool GridMapEditor::forward_spatial_input_event(Camera3D *p_camera, const Ref<In
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (k->get_shift() && selection.active && input_action != INPUT_PASTE) {
|
if (k->is_shift_pressed() && selection.active && input_action != INPUT_PASTE) {
|
||||||
if (k->get_keycode() == options->get_popup()->get_item_accelerator(options->get_popup()->get_item_index(MENU_OPTION_PREV_LEVEL))) {
|
if (k->get_keycode() == options->get_popup()->get_item_accelerator(options->get_popup()->get_item_index(MENU_OPTION_PREV_LEVEL))) {
|
||||||
selection.click[edit_axis]--;
|
selection.click[edit_axis]--;
|
||||||
_validate_selection();
|
_validate_selection();
|
||||||
|
@ -749,7 +749,7 @@ bool GridMapEditor::forward_spatial_input_event(Camera3D *p_camera, const Ref<In
|
||||||
|
|
||||||
Ref<InputEventPanGesture> pan_gesture = p_event;
|
Ref<InputEventPanGesture> pan_gesture = p_event;
|
||||||
if (pan_gesture.is_valid()) {
|
if (pan_gesture.is_valid()) {
|
||||||
if (pan_gesture->get_alt() && (pan_gesture->get_command() || pan_gesture->get_shift())) {
|
if (pan_gesture->is_alt_pressed() && (pan_gesture->is_command_pressed() || pan_gesture->is_shift_pressed())) {
|
||||||
const real_t delta = pan_gesture->get_delta().y * 0.5;
|
const real_t delta = pan_gesture->get_delta().y * 0.5;
|
||||||
accumulated_floor_delta += delta;
|
accumulated_floor_delta += delta;
|
||||||
int step = 0;
|
int step = 0;
|
||||||
|
@ -810,7 +810,7 @@ void GridMapEditor::_mesh_library_palette_input(const Ref<InputEvent> &p_ie) {
|
||||||
const Ref<InputEventMouseButton> mb = p_ie;
|
const Ref<InputEventMouseButton> mb = p_ie;
|
||||||
|
|
||||||
// Zoom in/out using Ctrl + mouse wheel
|
// Zoom in/out using Ctrl + mouse wheel
|
||||||
if (mb.is_valid() && mb->is_pressed() && mb->get_command()) {
|
if (mb.is_valid() && mb->is_pressed() && mb->is_command_pressed()) {
|
||||||
if (mb->is_pressed() && mb->get_button_index() == MOUSE_BUTTON_WHEEL_UP) {
|
if (mb->is_pressed() && mb->get_button_index() == MOUSE_BUTTON_WHEEL_UP) {
|
||||||
size_slider->set_value(size_slider->get_value() + 0.2);
|
size_slider->set_value(size_slider->get_value() + 0.2);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1172,7 +1172,7 @@ void VisualScriptEditor::_member_selected() {
|
||||||
#ifdef OSX_ENABLED
|
#ifdef OSX_ENABLED
|
||||||
bool held_ctrl = Input::get_singleton()->is_key_pressed(KEY_META);
|
bool held_ctrl = Input::get_singleton()->is_key_pressed(KEY_META);
|
||||||
#else
|
#else
|
||||||
bool held_ctrl = Input::get_singleton()->is_key_pressed(KEY_CONTROL);
|
bool held_ctrl = Input::get_singleton()->is_key_pressed(KEY_CTRL);
|
||||||
#endif
|
#endif
|
||||||
if (held_ctrl) {
|
if (held_ctrl) {
|
||||||
ERR_FAIL_COND(!script->has_function(selected));
|
ERR_FAIL_COND(!script->has_function(selected));
|
||||||
|
@ -2070,7 +2070,7 @@ void VisualScriptEditor::drop_data_fw(const Point2 &p_point, const Variant &p_da
|
||||||
#ifdef OSX_ENABLED
|
#ifdef OSX_ENABLED
|
||||||
bool use_set = Input::get_singleton()->is_key_pressed(KEY_META);
|
bool use_set = Input::get_singleton()->is_key_pressed(KEY_META);
|
||||||
#else
|
#else
|
||||||
bool use_set = Input::get_singleton()->is_key_pressed(KEY_CONTROL);
|
bool use_set = Input::get_singleton()->is_key_pressed(KEY_CTRL);
|
||||||
#endif
|
#endif
|
||||||
Vector2 ofs = graph->get_scroll_ofs() + p_point;
|
Vector2 ofs = graph->get_scroll_ofs() + p_point;
|
||||||
if (graph->is_using_snap()) {
|
if (graph->is_using_snap()) {
|
||||||
|
@ -2258,7 +2258,7 @@ void VisualScriptEditor::drop_data_fw(const Point2 &p_point, const Variant &p_da
|
||||||
#ifdef OSX_ENABLED
|
#ifdef OSX_ENABLED
|
||||||
bool use_node = Input::get_singleton()->is_key_pressed(KEY_META);
|
bool use_node = Input::get_singleton()->is_key_pressed(KEY_META);
|
||||||
#else
|
#else
|
||||||
bool use_node = Input::get_singleton()->is_key_pressed(KEY_CONTROL);
|
bool use_node = Input::get_singleton()->is_key_pressed(KEY_CTRL);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
Array nodes = d["nodes"];
|
Array nodes = d["nodes"];
|
||||||
|
@ -2341,7 +2341,7 @@ void VisualScriptEditor::drop_data_fw(const Point2 &p_point, const Variant &p_da
|
||||||
#ifdef OSX_ENABLED
|
#ifdef OSX_ENABLED
|
||||||
bool use_get = Input::get_singleton()->is_key_pressed(KEY_META);
|
bool use_get = Input::get_singleton()->is_key_pressed(KEY_META);
|
||||||
#else
|
#else
|
||||||
bool use_get = Input::get_singleton()->is_key_pressed(KEY_CONTROL);
|
bool use_get = Input::get_singleton()->is_key_pressed(KEY_CTRL);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (!node || Input::get_singleton()->is_key_pressed(KEY_SHIFT)) {
|
if (!node || Input::get_singleton()->is_key_pressed(KEY_SHIFT)) {
|
||||||
|
|
|
@ -127,8 +127,8 @@ static _WinTranslatePair _ak_to_keycode[] = {
|
||||||
{ KEY_BACKSLASH, AKEYCODE_BACKSLASH },
|
{ KEY_BACKSLASH, AKEYCODE_BACKSLASH },
|
||||||
{ KEY_BRACKETLEFT, AKEYCODE_LEFT_BRACKET },
|
{ KEY_BRACKETLEFT, AKEYCODE_LEFT_BRACKET },
|
||||||
{ KEY_BRACKETRIGHT, AKEYCODE_RIGHT_BRACKET },
|
{ KEY_BRACKETRIGHT, AKEYCODE_RIGHT_BRACKET },
|
||||||
{ KEY_CONTROL, AKEYCODE_CTRL_LEFT },
|
{ KEY_CTRL, AKEYCODE_CTRL_LEFT },
|
||||||
{ KEY_CONTROL, AKEYCODE_CTRL_RIGHT },
|
{ KEY_CTRL, AKEYCODE_CTRL_RIGHT },
|
||||||
{ KEY_UNKNOWN, 0 }
|
{ KEY_UNKNOWN, 0 }
|
||||||
};
|
};
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -490,10 +490,10 @@ void DisplayServerAndroid::process_joy_event(DisplayServerAndroid::JoypadEvent p
|
||||||
}
|
}
|
||||||
|
|
||||||
void DisplayServerAndroid::_set_key_modifier_state(Ref<InputEventWithModifiers> ev) {
|
void DisplayServerAndroid::_set_key_modifier_state(Ref<InputEventWithModifiers> ev) {
|
||||||
ev->set_shift(shift_mem);
|
ev->set_shift_pressed(shift_mem);
|
||||||
ev->set_alt(alt_mem);
|
ev->set_alt_pressed(alt_mem);
|
||||||
ev->set_metakey(meta_mem);
|
ev->set_meta_pressed(meta_mem);
|
||||||
ev->set_control(control_mem);
|
ev->set_ctrl_pressed(control_mem);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DisplayServerAndroid::process_key_event(int p_keycode, int p_scancode, int p_unicode_char, bool p_pressed) {
|
void DisplayServerAndroid::process_key_event(int p_keycode, int p_scancode, int p_unicode_char, bool p_pressed) {
|
||||||
|
@ -528,7 +528,7 @@ void DisplayServerAndroid::process_key_event(int p_keycode, int p_scancode, int
|
||||||
if (keycode == KEY_ALT) {
|
if (keycode == KEY_ALT) {
|
||||||
alt_mem = p_pressed;
|
alt_mem = p_pressed;
|
||||||
}
|
}
|
||||||
if (keycode == KEY_CONTROL) {
|
if (keycode == KEY_CTRL) {
|
||||||
control_mem = p_pressed;
|
control_mem = p_pressed;
|
||||||
}
|
}
|
||||||
if (keycode == KEY_META) {
|
if (keycode == KEY_META) {
|
||||||
|
|
|
@ -120,10 +120,10 @@ void DisplayServerJavaScript::request_quit_callback() {
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
void DisplayServerJavaScript::dom2godot_mod(T *emscripten_event_ptr, Ref<InputEventWithModifiers> godot_event) {
|
void DisplayServerJavaScript::dom2godot_mod(T *emscripten_event_ptr, Ref<InputEventWithModifiers> godot_event) {
|
||||||
godot_event->set_shift(emscripten_event_ptr->shiftKey);
|
godot_event->set_shift_pressed(emscripten_event_ptr->shiftKey);
|
||||||
godot_event->set_alt(emscripten_event_ptr->altKey);
|
godot_event->set_alt_pressed(emscripten_event_ptr->altKey);
|
||||||
godot_event->set_control(emscripten_event_ptr->ctrlKey);
|
godot_event->set_ctrl_pressed(emscripten_event_ptr->ctrlKey);
|
||||||
godot_event->set_metakey(emscripten_event_ptr->metaKey);
|
godot_event->set_meta_pressed(emscripten_event_ptr->metaKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
Ref<InputEventKey> DisplayServerJavaScript::setup_key_event(const EmscriptenKeyboardEvent *emscripten_event) {
|
Ref<InputEventKey> DisplayServerJavaScript::setup_key_event(const EmscriptenKeyboardEvent *emscripten_event) {
|
||||||
|
@ -455,10 +455,10 @@ EM_BOOL DisplayServerJavaScript::wheel_callback(int p_event_type, const Emscript
|
||||||
ev->set_position(input->get_mouse_position());
|
ev->set_position(input->get_mouse_position());
|
||||||
ev->set_global_position(ev->get_position());
|
ev->set_global_position(ev->get_position());
|
||||||
|
|
||||||
ev->set_shift(input->is_key_pressed(KEY_SHIFT));
|
ev->set_shift_pressed(input->is_key_pressed(KEY_SHIFT));
|
||||||
ev->set_alt(input->is_key_pressed(KEY_ALT));
|
ev->set_alt_pressed(input->is_key_pressed(KEY_ALT));
|
||||||
ev->set_control(input->is_key_pressed(KEY_CONTROL));
|
ev->set_ctrl_pressed(input->is_key_pressed(KEY_CTRL));
|
||||||
ev->set_metakey(input->is_key_pressed(KEY_META));
|
ev->set_meta_pressed(input->is_key_pressed(KEY_META));
|
||||||
|
|
||||||
if (p_event->deltaY < 0)
|
if (p_event->deltaY < 0)
|
||||||
ev->set_button_index(MOUSE_BUTTON_WHEEL_UP);
|
ev->set_button_index(MOUSE_BUTTON_WHEEL_UP);
|
||||||
|
|
|
@ -2166,10 +2166,10 @@ static Atom pick_target_from_atoms(Display *p_disp, Atom p_t1, Atom p_t2, Atom p
|
||||||
}
|
}
|
||||||
|
|
||||||
void DisplayServerX11::_get_key_modifier_state(unsigned int p_x11_state, Ref<InputEventWithModifiers> state) {
|
void DisplayServerX11::_get_key_modifier_state(unsigned int p_x11_state, Ref<InputEventWithModifiers> state) {
|
||||||
state->set_shift((p_x11_state & ShiftMask));
|
state->set_shift_pressed((p_x11_state & ShiftMask));
|
||||||
state->set_control((p_x11_state & ControlMask));
|
state->set_ctrl_pressed((p_x11_state & ControlMask));
|
||||||
state->set_alt((p_x11_state & Mod1Mask /*|| p_x11_state&Mod5Mask*/)); //altgr should not count as alt
|
state->set_alt_pressed((p_x11_state & Mod1Mask /*|| p_x11_state&Mod5Mask*/)); //altgr should not count as alt
|
||||||
state->set_metakey((p_x11_state & Mod4Mask));
|
state->set_meta_pressed((p_x11_state & Mod4Mask));
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int DisplayServerX11::_get_mouse_button_state(unsigned int p_x11_button, int p_x11_type) {
|
unsigned int DisplayServerX11::_get_mouse_button_state(unsigned int p_x11_button, int p_x11_type) {
|
||||||
|
@ -2281,7 +2281,7 @@ void DisplayServerX11::_handle_key_event(WindowID p_window, XKeyEvent *p_event,
|
||||||
//make it consistent across platforms.
|
//make it consistent across platforms.
|
||||||
k->set_keycode(KEY_TAB);
|
k->set_keycode(KEY_TAB);
|
||||||
k->set_physical_keycode(KEY_TAB);
|
k->set_physical_keycode(KEY_TAB);
|
||||||
k->set_shift(true);
|
k->set_shift_pressed(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
Input::get_singleton()->accumulate_input_event(k);
|
Input::get_singleton()->accumulate_input_event(k);
|
||||||
|
@ -2409,20 +2409,20 @@ void DisplayServerX11::_handle_key_event(WindowID p_window, XKeyEvent *p_event,
|
||||||
//make it consistent across platforms.
|
//make it consistent across platforms.
|
||||||
k->set_keycode(KEY_TAB);
|
k->set_keycode(KEY_TAB);
|
||||||
k->set_physical_keycode(KEY_TAB);
|
k->set_physical_keycode(KEY_TAB);
|
||||||
k->set_shift(true);
|
k->set_shift_pressed(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
//don't set mod state if modifier keys are released by themselves
|
//don't set mod state if modifier keys are released by themselves
|
||||||
//else event.is_action() will not work correctly here
|
//else event.is_action() will not work correctly here
|
||||||
if (!k->is_pressed()) {
|
if (!k->is_pressed()) {
|
||||||
if (k->get_keycode() == KEY_SHIFT) {
|
if (k->get_keycode() == KEY_SHIFT) {
|
||||||
k->set_shift(false);
|
k->set_shift_pressed(false);
|
||||||
} else if (k->get_keycode() == KEY_CONTROL) {
|
} else if (k->get_keycode() == KEY_CTRL) {
|
||||||
k->set_control(false);
|
k->set_ctrl_pressed(false);
|
||||||
} else if (k->get_keycode() == KEY_ALT) {
|
} else if (k->get_keycode() == KEY_ALT) {
|
||||||
k->set_alt(false);
|
k->set_alt_pressed(false);
|
||||||
} else if (k->get_keycode() == KEY_META) {
|
} else if (k->get_keycode() == KEY_META) {
|
||||||
k->set_metakey(false);
|
k->set_meta_pressed(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -61,8 +61,8 @@ static _XTranslatePair _xkeysym_to_keycode[] = {
|
||||||
{ XK_Shift_L, KEY_SHIFT },
|
{ XK_Shift_L, KEY_SHIFT },
|
||||||
{ XK_Shift_R, KEY_SHIFT },
|
{ XK_Shift_R, KEY_SHIFT },
|
||||||
{ XK_Shift_Lock, KEY_SHIFT },
|
{ XK_Shift_Lock, KEY_SHIFT },
|
||||||
{ XK_Control_L, KEY_CONTROL },
|
{ XK_Control_L, KEY_CTRL },
|
||||||
{ XK_Control_R, KEY_CONTROL },
|
{ XK_Control_R, KEY_CTRL },
|
||||||
{ XK_Meta_L, KEY_META },
|
{ XK_Meta_L, KEY_META },
|
||||||
{ XK_Meta_R, KEY_META },
|
{ XK_Meta_R, KEY_META },
|
||||||
{ XK_Alt_L, KEY_ALT },
|
{ XK_Alt_L, KEY_ALT },
|
||||||
|
@ -213,7 +213,7 @@ static _TranslatePair _scancode_to_keycode[] = {
|
||||||
{ KEY_BRACELEFT, 0x22 },
|
{ KEY_BRACELEFT, 0x22 },
|
||||||
{ KEY_BRACERIGHT, 0x23 },
|
{ KEY_BRACERIGHT, 0x23 },
|
||||||
{ KEY_ENTER, 0x24 },
|
{ KEY_ENTER, 0x24 },
|
||||||
{ KEY_CONTROL, 0x25 },
|
{ KEY_CTRL, 0x25 },
|
||||||
{ KEY_A, 0x26 },
|
{ KEY_A, 0x26 },
|
||||||
{ KEY_S, 0x27 },
|
{ KEY_S, 0x27 },
|
||||||
{ KEY_D, 0x28 },
|
{ KEY_D, 0x28 },
|
||||||
|
@ -272,7 +272,7 @@ static _TranslatePair _scancode_to_keycode[] = {
|
||||||
{ KEY_F11, 0x5F },
|
{ KEY_F11, 0x5F },
|
||||||
{ KEY_F12, 0x60 },
|
{ KEY_F12, 0x60 },
|
||||||
{ KEY_KP_ENTER, 0x68 },
|
{ KEY_KP_ENTER, 0x68 },
|
||||||
{ KEY_CONTROL, 0x69 },
|
{ KEY_CTRL, 0x69 },
|
||||||
{ KEY_KP_DIVIDE, 0x6A },
|
{ KEY_KP_DIVIDE, 0x6A },
|
||||||
{ KEY_PRINT, 0x6B },
|
{ KEY_PRINT, 0x6B },
|
||||||
{ KEY_ALT, 0x6C },
|
{ KEY_ALT, 0x6C },
|
||||||
|
|
|
@ -66,10 +66,10 @@
|
||||||
static bool ignore_momentum_scroll = false;
|
static bool ignore_momentum_scroll = false;
|
||||||
|
|
||||||
static void _get_key_modifier_state(unsigned int p_osx_state, Ref<InputEventWithModifiers> r_state) {
|
static void _get_key_modifier_state(unsigned int p_osx_state, Ref<InputEventWithModifiers> r_state) {
|
||||||
r_state->set_shift((p_osx_state & NSEventModifierFlagShift));
|
r_state->set_shift_pressed((p_osx_state & NSEventModifierFlagShift));
|
||||||
r_state->set_control((p_osx_state & NSEventModifierFlagControl));
|
r_state->set_ctrl_pressed((p_osx_state & NSEventModifierFlagControl));
|
||||||
r_state->set_alt((p_osx_state & NSEventModifierFlagOption));
|
r_state->set_alt_pressed((p_osx_state & NSEventModifierFlagOption));
|
||||||
r_state->set_metakey((p_osx_state & NSEventModifierFlagCommand));
|
r_state->set_meta_pressed((p_osx_state & NSEventModifierFlagCommand));
|
||||||
}
|
}
|
||||||
|
|
||||||
static Vector2i _get_mouse_pos(DisplayServerOSX::WindowData &p_wd, NSPoint p_locationInWindow) {
|
static Vector2i _get_mouse_pos(DisplayServerOSX::WindowData &p_wd, NSPoint p_locationInWindow) {
|
||||||
|
@ -1133,10 +1133,10 @@ static int translateKey(unsigned int key) {
|
||||||
/* 38 */ KEY_SHIFT,
|
/* 38 */ KEY_SHIFT,
|
||||||
/* 39 */ KEY_CAPSLOCK,
|
/* 39 */ KEY_CAPSLOCK,
|
||||||
/* 3a */ KEY_ALT,
|
/* 3a */ KEY_ALT,
|
||||||
/* 3b */ KEY_CONTROL,
|
/* 3b */ KEY_CTRL,
|
||||||
/* 3c */ KEY_SHIFT,
|
/* 3c */ KEY_SHIFT,
|
||||||
/* 3d */ KEY_ALT,
|
/* 3d */ KEY_ALT,
|
||||||
/* 3e */ KEY_CONTROL,
|
/* 3e */ KEY_CTRL,
|
||||||
/* 3f */ KEY_UNKNOWN, /* Function */
|
/* 3f */ KEY_UNKNOWN, /* Function */
|
||||||
/* 40 */ KEY_UNKNOWN, /* F17 */
|
/* 40 */ KEY_UNKNOWN, /* F17 */
|
||||||
/* 41 */ KEY_KP_PERIOD,
|
/* 41 */ KEY_KP_PERIOD,
|
||||||
|
|
|
@ -565,9 +565,9 @@ void OS_UWP::process_key_events() {
|
||||||
|
|
||||||
Ref<InputEventKey> key_event;
|
Ref<InputEventKey> key_event;
|
||||||
key_event.instance();
|
key_event.instance();
|
||||||
key_event->set_alt(kev.alt);
|
key_event->set_alt_pressed(kev.alt);
|
||||||
key_event->set_shift(kev.shift);
|
key_event->set_shift_pressed(kev.shift);
|
||||||
key_event->set_control(kev.control);
|
key_event->set_ctrl_pressed(kev.control);
|
||||||
key_event->set_echo(kev.echo);
|
key_event->set_echo(kev.echo);
|
||||||
key_event->set_keycode(kev.keycode);
|
key_event->set_keycode(kev.keycode);
|
||||||
key_event->set_physical_keycode(kev.physical_keycode);
|
key_event->set_physical_keycode(kev.physical_keycode);
|
||||||
|
|
|
@ -1966,9 +1966,9 @@ LRESULT DisplayServerWindows::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARA
|
||||||
mm.instance();
|
mm.instance();
|
||||||
|
|
||||||
mm->set_window_id(window_id);
|
mm->set_window_id(window_id);
|
||||||
mm->set_control(control_mem);
|
mm->set_ctrl_pressed(control_mem);
|
||||||
mm->set_shift(shift_mem);
|
mm->set_shift_pressed(shift_mem);
|
||||||
mm->set_alt(alt_mem);
|
mm->set_alt_pressed(alt_mem);
|
||||||
|
|
||||||
mm->set_pressure((raw->data.mouse.ulButtons & RI_MOUSE_LEFT_BUTTON_DOWN) ? 1.0f : 0.0f);
|
mm->set_pressure((raw->data.mouse.ulButtons & RI_MOUSE_LEFT_BUTTON_DOWN) ? 1.0f : 0.0f);
|
||||||
|
|
||||||
|
@ -2062,9 +2062,9 @@ LRESULT DisplayServerWindows::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARA
|
||||||
Ref<InputEventMouseMotion> mm;
|
Ref<InputEventMouseMotion> mm;
|
||||||
mm.instance();
|
mm.instance();
|
||||||
mm->set_window_id(window_id);
|
mm->set_window_id(window_id);
|
||||||
mm->set_control(GetKeyState(VK_CONTROL) < 0);
|
mm->set_ctrl_pressed(GetKeyState(VK_CONTROL) < 0);
|
||||||
mm->set_shift(GetKeyState(VK_SHIFT) < 0);
|
mm->set_shift_pressed(GetKeyState(VK_SHIFT) < 0);
|
||||||
mm->set_alt(alt_mem);
|
mm->set_alt_pressed(alt_mem);
|
||||||
|
|
||||||
mm->set_pressure(windows[window_id].last_pressure);
|
mm->set_pressure(windows[window_id].last_pressure);
|
||||||
mm->set_tilt(windows[window_id].last_tilt);
|
mm->set_tilt(windows[window_id].last_tilt);
|
||||||
|
@ -2205,9 +2205,9 @@ LRESULT DisplayServerWindows::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARA
|
||||||
mm->set_tilt(Vector2((float)pen_info.tiltX / 90, (float)pen_info.tiltY / 90));
|
mm->set_tilt(Vector2((float)pen_info.tiltX / 90, (float)pen_info.tiltY / 90));
|
||||||
}
|
}
|
||||||
|
|
||||||
mm->set_control(GetKeyState(VK_CONTROL) < 0);
|
mm->set_ctrl_pressed(GetKeyState(VK_CONTROL) < 0);
|
||||||
mm->set_shift(GetKeyState(VK_SHIFT) < 0);
|
mm->set_shift_pressed(GetKeyState(VK_SHIFT) < 0);
|
||||||
mm->set_alt(alt_mem);
|
mm->set_alt_pressed(alt_mem);
|
||||||
|
|
||||||
mm->set_button_mask(last_button_state);
|
mm->set_button_mask(last_button_state);
|
||||||
|
|
||||||
|
@ -2300,9 +2300,9 @@ LRESULT DisplayServerWindows::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARA
|
||||||
Ref<InputEventMouseMotion> mm;
|
Ref<InputEventMouseMotion> mm;
|
||||||
mm.instance();
|
mm.instance();
|
||||||
mm->set_window_id(window_id);
|
mm->set_window_id(window_id);
|
||||||
mm->set_control((wParam & MK_CONTROL) != 0);
|
mm->set_ctrl_pressed((wParam & MK_CONTROL) != 0);
|
||||||
mm->set_shift((wParam & MK_SHIFT) != 0);
|
mm->set_shift_pressed((wParam & MK_SHIFT) != 0);
|
||||||
mm->set_alt(alt_mem);
|
mm->set_alt_pressed(alt_mem);
|
||||||
|
|
||||||
if ((tablet_get_current_driver() == "wintab") && wintab_available && windows[window_id].wtctx) {
|
if ((tablet_get_current_driver() == "wintab") && wintab_available && windows[window_id].wtctx) {
|
||||||
// Note: WinTab sends both WT_PACKET and WM_xBUTTONDOWN/UP/MOUSEMOVE events, use mouse 1/0 pressure only when last_pressure was not updated recently.
|
// Note: WinTab sends both WT_PACKET and WM_xBUTTONDOWN/UP/MOUSEMOVE events, use mouse 1/0 pressure only when last_pressure was not updated recently.
|
||||||
|
@ -2477,10 +2477,10 @@ LRESULT DisplayServerWindows::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARA
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mb->set_control((wParam & MK_CONTROL) != 0);
|
mb->set_ctrl_pressed((wParam & MK_CONTROL) != 0);
|
||||||
mb->set_shift((wParam & MK_SHIFT) != 0);
|
mb->set_shift_pressed((wParam & MK_SHIFT) != 0);
|
||||||
mb->set_alt(alt_mem);
|
mb->set_alt_pressed(alt_mem);
|
||||||
//mb->get_alt()=(wParam&MK_MENU)!=0;
|
//mb->is_alt_pressed()=(wParam&MK_MENU)!=0;
|
||||||
if (mb->is_pressed())
|
if (mb->is_pressed())
|
||||||
last_button_state |= (1 << (mb->get_button_index() - 1));
|
last_button_state |= (1 << (mb->get_button_index() - 1));
|
||||||
else
|
else
|
||||||
|
@ -2835,17 +2835,17 @@ void DisplayServerWindows::_process_key_events() {
|
||||||
k.instance();
|
k.instance();
|
||||||
|
|
||||||
k->set_window_id(ke.window_id);
|
k->set_window_id(ke.window_id);
|
||||||
k->set_shift(ke.shift);
|
k->set_shift_pressed(ke.shift);
|
||||||
k->set_alt(ke.alt);
|
k->set_alt_pressed(ke.alt);
|
||||||
k->set_control(ke.control);
|
k->set_ctrl_pressed(ke.control);
|
||||||
k->set_metakey(ke.meta);
|
k->set_meta_pressed(ke.meta);
|
||||||
k->set_pressed(true);
|
k->set_pressed(true);
|
||||||
k->set_keycode(KeyMappingWindows::get_keysym(ke.wParam));
|
k->set_keycode(KeyMappingWindows::get_keysym(ke.wParam));
|
||||||
k->set_physical_keycode(KeyMappingWindows::get_scansym((ke.lParam >> 16) & 0xFF, ke.lParam & (1 << 24)));
|
k->set_physical_keycode(KeyMappingWindows::get_scansym((ke.lParam >> 16) & 0xFF, ke.lParam & (1 << 24)));
|
||||||
k->set_unicode(unicode);
|
k->set_unicode(unicode);
|
||||||
if (k->get_unicode() && gr_mem) {
|
if (k->get_unicode() && gr_mem) {
|
||||||
k->set_alt(false);
|
k->set_alt_pressed(false);
|
||||||
k->set_control(false);
|
k->set_ctrl_pressed(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (k->get_unicode() < 32)
|
if (k->get_unicode() < 32)
|
||||||
|
@ -2862,10 +2862,10 @@ void DisplayServerWindows::_process_key_events() {
|
||||||
k.instance();
|
k.instance();
|
||||||
|
|
||||||
k->set_window_id(ke.window_id);
|
k->set_window_id(ke.window_id);
|
||||||
k->set_shift(ke.shift);
|
k->set_shift_pressed(ke.shift);
|
||||||
k->set_alt(ke.alt);
|
k->set_alt_pressed(ke.alt);
|
||||||
k->set_control(ke.control);
|
k->set_ctrl_pressed(ke.control);
|
||||||
k->set_metakey(ke.meta);
|
k->set_meta_pressed(ke.meta);
|
||||||
|
|
||||||
k->set_pressed(ke.uMsg == WM_KEYDOWN);
|
k->set_pressed(ke.uMsg == WM_KEYDOWN);
|
||||||
|
|
||||||
|
@ -2900,8 +2900,8 @@ void DisplayServerWindows::_process_key_events() {
|
||||||
k->set_unicode(unicode);
|
k->set_unicode(unicode);
|
||||||
}
|
}
|
||||||
if (k->get_unicode() && gr_mem) {
|
if (k->get_unicode() && gr_mem) {
|
||||||
k->set_alt(false);
|
k->set_alt_pressed(false);
|
||||||
k->set_control(false);
|
k->set_ctrl_pressed(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (k->get_unicode() < 32)
|
if (k->get_unicode() < 32)
|
||||||
|
|
|
@ -47,7 +47,7 @@ static _WinTranslatePair _vk_to_keycode[] = {
|
||||||
|
|
||||||
{ KEY_SHIFT, VK_SHIFT }, //(0x10)
|
{ KEY_SHIFT, VK_SHIFT }, //(0x10)
|
||||||
|
|
||||||
{ KEY_CONTROL, VK_CONTROL }, //(0x11)
|
{ KEY_CTRL, VK_CONTROL }, //(0x11)
|
||||||
|
|
||||||
{ KEY_ALT, VK_MENU }, //(0x12)
|
{ KEY_ALT, VK_MENU }, //(0x12)
|
||||||
|
|
||||||
|
@ -166,8 +166,8 @@ static _WinTranslatePair _vk_to_keycode[] = {
|
||||||
{ KEY_SCROLLLOCK, VK_SCROLL }, // (0x91)
|
{ KEY_SCROLLLOCK, VK_SCROLL }, // (0x91)
|
||||||
{ KEY_SHIFT, VK_LSHIFT }, // (0xA0)
|
{ KEY_SHIFT, VK_LSHIFT }, // (0xA0)
|
||||||
{ KEY_SHIFT, VK_RSHIFT }, // (0xA1)
|
{ KEY_SHIFT, VK_RSHIFT }, // (0xA1)
|
||||||
{ KEY_CONTROL, VK_LCONTROL }, // (0xA2)
|
{ KEY_CTRL, VK_LCONTROL }, // (0xA2)
|
||||||
{ KEY_CONTROL, VK_RCONTROL }, // (0xA3)
|
{ KEY_CTRL, VK_RCONTROL }, // (0xA3)
|
||||||
{ KEY_MENU, VK_LMENU }, // (0xA4)
|
{ KEY_MENU, VK_LMENU }, // (0xA4)
|
||||||
{ KEY_MENU, VK_RMENU }, // (0xA5)
|
{ KEY_MENU, VK_RMENU }, // (0xA5)
|
||||||
|
|
||||||
|
@ -265,7 +265,7 @@ static _WinTranslatePair _scancode_to_keycode[] = {
|
||||||
{ KEY_BRACELEFT, 0x1A },
|
{ KEY_BRACELEFT, 0x1A },
|
||||||
{ KEY_BRACERIGHT, 0x1B },
|
{ KEY_BRACERIGHT, 0x1B },
|
||||||
{ KEY_ENTER, 0x1C },
|
{ KEY_ENTER, 0x1C },
|
||||||
{ KEY_CONTROL, 0x1D },
|
{ KEY_CTRL, 0x1D },
|
||||||
{ KEY_A, 0x1E },
|
{ KEY_A, 0x1E },
|
||||||
{ KEY_S, 0x1F },
|
{ KEY_S, 0x1F },
|
||||||
{ KEY_D, 0x20 },
|
{ KEY_D, 0x20 },
|
||||||
|
|
|
@ -105,7 +105,7 @@ void FileDialog::_unhandled_input(const Ref<InputEvent> &p_event) {
|
||||||
|
|
||||||
switch (k->get_keycode()) {
|
switch (k->get_keycode()) {
|
||||||
case KEY_H: {
|
case KEY_H: {
|
||||||
if (k->get_command()) {
|
if (k->is_command_pressed()) {
|
||||||
set_show_hidden_files(!show_hidden_files);
|
set_show_hidden_files(!show_hidden_files);
|
||||||
} else {
|
} else {
|
||||||
handled = false;
|
handled = false;
|
||||||
|
|
|
@ -127,7 +127,7 @@ void GradientEdit::_gui_input(const Ref<InputEvent> &p_event) {
|
||||||
}
|
}
|
||||||
|
|
||||||
//Hold alt key to duplicate selected color
|
//Hold alt key to duplicate selected color
|
||||||
if (mb.is_valid() && mb->get_button_index() == 1 && mb->is_pressed() && mb->get_alt()) {
|
if (mb.is_valid() && mb->get_button_index() == 1 && mb->is_pressed() && mb->is_alt_pressed()) {
|
||||||
int x = mb->get_position().x;
|
int x = mb->get_position().x;
|
||||||
grabbed = _get_point_from_pos(x);
|
grabbed = _get_point_from_pos(x);
|
||||||
|
|
||||||
|
@ -236,9 +236,9 @@ void GradientEdit::_gui_input(const Ref<InputEvent> &p_event) {
|
||||||
|
|
||||||
// Snap to "round" coordinates if holding Ctrl.
|
// Snap to "round" coordinates if holding Ctrl.
|
||||||
// Be more precise if holding Shift as well
|
// Be more precise if holding Shift as well
|
||||||
if (mm->get_control()) {
|
if (mm->is_ctrl_pressed()) {
|
||||||
newofs = Math::snapped(newofs, mm->get_shift() ? 0.025 : 0.1);
|
newofs = Math::snapped(newofs, mm->is_shift_pressed() ? 0.025 : 0.1);
|
||||||
} else if (mm->get_shift()) {
|
} else if (mm->is_shift_pressed()) {
|
||||||
// Snap to nearest point if holding just Shift
|
// Snap to nearest point if holding just Shift
|
||||||
const float snap_threshold = 0.03;
|
const float snap_threshold = 0.03;
|
||||||
float smallest_ofs = snap_threshold;
|
float smallest_ofs = snap_threshold;
|
||||||
|
|
|
@ -1091,7 +1091,7 @@ void GraphEdit::_gui_input(const Ref<InputEvent> &p_ev) {
|
||||||
|
|
||||||
// Snapping can be toggled temporarily by holding down Ctrl.
|
// Snapping can be toggled temporarily by holding down Ctrl.
|
||||||
// This is done here as to not toggle the grid when holding down Ctrl.
|
// This is done here as to not toggle the grid when holding down Ctrl.
|
||||||
if (is_using_snap() ^ Input::get_singleton()->is_key_pressed(KEY_CONTROL)) {
|
if (is_using_snap() ^ Input::get_singleton()->is_key_pressed(KEY_CTRL)) {
|
||||||
const int snap = get_snap();
|
const int snap = get_snap();
|
||||||
pos = pos.snapped(Vector2(snap, snap));
|
pos = pos.snapped(Vector2(snap, snap));
|
||||||
}
|
}
|
||||||
|
@ -1174,7 +1174,7 @@ void GraphEdit::_gui_input(const Ref<InputEvent> &p_ev) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (b->get_button_index() == MOUSE_BUTTON_LEFT && !b->is_pressed() && dragging) {
|
if (b->get_button_index() == MOUSE_BUTTON_LEFT && !b->is_pressed() && dragging) {
|
||||||
if (!just_selected && drag_accum == Vector2() && Input::get_singleton()->is_key_pressed(KEY_CONTROL)) {
|
if (!just_selected && drag_accum == Vector2() && Input::get_singleton()->is_key_pressed(KEY_CTRL)) {
|
||||||
//deselect current node
|
//deselect current node
|
||||||
for (int i = get_child_count() - 1; i >= 0; i--) {
|
for (int i = get_child_count() - 1; i >= 0; i--) {
|
||||||
GraphNode *gn = Object::cast_to<GraphNode>(get_child(i));
|
GraphNode *gn = Object::cast_to<GraphNode>(get_child(i));
|
||||||
|
@ -1238,7 +1238,7 @@ void GraphEdit::_gui_input(const Ref<InputEvent> &p_ev) {
|
||||||
dragging = true;
|
dragging = true;
|
||||||
drag_accum = Vector2();
|
drag_accum = Vector2();
|
||||||
just_selected = !gn->is_selected();
|
just_selected = !gn->is_selected();
|
||||||
if (!gn->is_selected() && !Input::get_singleton()->is_key_pressed(KEY_CONTROL)) {
|
if (!gn->is_selected() && !Input::get_singleton()->is_key_pressed(KEY_CTRL)) {
|
||||||
for (int i = 0; i < get_child_count(); i++) {
|
for (int i = 0; i < get_child_count(); i++) {
|
||||||
GraphNode *o_gn = Object::cast_to<GraphNode>(get_child(i));
|
GraphNode *o_gn = Object::cast_to<GraphNode>(get_child(i));
|
||||||
if (o_gn) {
|
if (o_gn) {
|
||||||
|
@ -1275,7 +1275,7 @@ void GraphEdit::_gui_input(const Ref<InputEvent> &p_ev) {
|
||||||
|
|
||||||
box_selecting = true;
|
box_selecting = true;
|
||||||
box_selecting_from = b->get_position();
|
box_selecting_from = b->get_position();
|
||||||
if (b->get_control()) {
|
if (b->is_ctrl_pressed()) {
|
||||||
box_selection_mode_additive = true;
|
box_selection_mode_additive = true;
|
||||||
previous_selected.clear();
|
previous_selected.clear();
|
||||||
for (int i = get_child_count() - 1; i >= 0; i--) {
|
for (int i = get_child_count() - 1; i >= 0; i--) {
|
||||||
|
@ -1286,7 +1286,7 @@ void GraphEdit::_gui_input(const Ref<InputEvent> &p_ev) {
|
||||||
|
|
||||||
previous_selected.push_back(gn2);
|
previous_selected.push_back(gn2);
|
||||||
}
|
}
|
||||||
} else if (b->get_shift()) {
|
} else if (b->is_shift_pressed()) {
|
||||||
box_selection_mode_additive = false;
|
box_selection_mode_additive = false;
|
||||||
previous_selected.clear();
|
previous_selected.clear();
|
||||||
for (int i = get_child_count() - 1; i >= 0; i--) {
|
for (int i = get_child_count() - 1; i >= 0; i--) {
|
||||||
|
@ -1322,9 +1322,9 @@ void GraphEdit::_gui_input(const Ref<InputEvent> &p_ev) {
|
||||||
minimap->update();
|
minimap->update();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (b->get_button_index() == MOUSE_BUTTON_WHEEL_UP && Input::get_singleton()->is_key_pressed(KEY_CONTROL)) {
|
if (b->get_button_index() == MOUSE_BUTTON_WHEEL_UP && Input::get_singleton()->is_key_pressed(KEY_CTRL)) {
|
||||||
set_zoom_custom(zoom * ZOOM_SCALE, b->get_position());
|
set_zoom_custom(zoom * ZOOM_SCALE, b->get_position());
|
||||||
} else if (b->get_button_index() == MOUSE_BUTTON_WHEEL_DOWN && Input::get_singleton()->is_key_pressed(KEY_CONTROL)) {
|
} else if (b->get_button_index() == MOUSE_BUTTON_WHEEL_DOWN && Input::get_singleton()->is_key_pressed(KEY_CTRL)) {
|
||||||
set_zoom_custom(zoom / ZOOM_SCALE, b->get_position());
|
set_zoom_custom(zoom / ZOOM_SCALE, b->get_position());
|
||||||
} else if (b->get_button_index() == MOUSE_BUTTON_WHEEL_UP && !Input::get_singleton()->is_key_pressed(KEY_SHIFT)) {
|
} else if (b->get_button_index() == MOUSE_BUTTON_WHEEL_UP && !Input::get_singleton()->is_key_pressed(KEY_SHIFT)) {
|
||||||
v_scroll->set_value(v_scroll->get_value() - v_scroll->get_page() * b->get_factor() / 8);
|
v_scroll->set_value(v_scroll->get_value() - v_scroll->get_page() * b->get_factor() / 8);
|
||||||
|
|
|
@ -581,11 +581,11 @@ void ItemList::_gui_input(const Ref<InputEvent> &p_event) {
|
||||||
if (closest != -1) {
|
if (closest != -1) {
|
||||||
int i = closest;
|
int i = closest;
|
||||||
|
|
||||||
if (select_mode == SELECT_MULTI && items[i].selected && mb->get_command()) {
|
if (select_mode == SELECT_MULTI && items[i].selected && mb->is_command_pressed()) {
|
||||||
deselect(i);
|
deselect(i);
|
||||||
emit_signal("multi_selected", i, false);
|
emit_signal("multi_selected", i, false);
|
||||||
|
|
||||||
} else if (select_mode == SELECT_MULTI && mb->get_shift() && current >= 0 && current < items.size() && current != i) {
|
} else if (select_mode == SELECT_MULTI && mb->is_shift_pressed() && current >= 0 && current < items.size() && current != i) {
|
||||||
int from = current;
|
int from = current;
|
||||||
int to = i;
|
int to = i;
|
||||||
if (i < current) {
|
if (i < current) {
|
||||||
|
@ -603,7 +603,7 @@ void ItemList::_gui_input(const Ref<InputEvent> &p_event) {
|
||||||
emit_signal("item_rmb_selected", i, get_local_mouse_position());
|
emit_signal("item_rmb_selected", i, get_local_mouse_position());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (!mb->is_double_click() && !mb->get_command() && select_mode == SELECT_MULTI && items[i].selectable && !items[i].disabled && items[i].selected && mb->get_button_index() == MOUSE_BUTTON_LEFT) {
|
if (!mb->is_double_click() && !mb->is_command_pressed() && select_mode == SELECT_MULTI && items[i].selectable && !items[i].disabled && items[i].selected && mb->get_button_index() == MOUSE_BUTTON_LEFT) {
|
||||||
defer_select_single = i;
|
defer_select_single = i;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -613,7 +613,7 @@ void ItemList::_gui_input(const Ref<InputEvent> &p_event) {
|
||||||
} else {
|
} else {
|
||||||
bool selected = items[i].selected;
|
bool selected = items[i].selected;
|
||||||
|
|
||||||
select(i, select_mode == SELECT_SINGLE || !mb->get_command());
|
select(i, select_mode == SELECT_SINGLE || !mb->is_command_pressed());
|
||||||
|
|
||||||
if (!selected || allow_reselect) {
|
if (!selected || allow_reselect) {
|
||||||
if (select_mode == SELECT_SINGLE) {
|
if (select_mode == SELECT_SINGLE) {
|
||||||
|
|
|
@ -250,11 +250,11 @@ void LineEdit::_gui_input(Ref<InputEvent> p_event) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
shift_selection_check_pre(b->get_shift());
|
shift_selection_check_pre(b->is_shift_pressed());
|
||||||
|
|
||||||
set_caret_at_pixel_pos(b->get_position().x);
|
set_caret_at_pixel_pos(b->get_position().x);
|
||||||
|
|
||||||
if (b->get_shift()) {
|
if (b->is_shift_pressed()) {
|
||||||
selection_fill_at_caret();
|
selection_fill_at_caret();
|
||||||
selection.creating = true;
|
selection.creating = true;
|
||||||
|
|
||||||
|
@ -442,9 +442,9 @@ void LineEdit::_gui_input(Ref<InputEvent> p_event) {
|
||||||
// Cursor Movement
|
// Cursor Movement
|
||||||
|
|
||||||
k = k->duplicate();
|
k = k->duplicate();
|
||||||
bool shift_pressed = k->get_shift();
|
bool shift_pressed = k->is_shift_pressed();
|
||||||
// Remove shift or else actions will not match. Use above variable for selection.
|
// Remove shift or else actions will not match. Use above variable for selection.
|
||||||
k->set_shift(false);
|
k->set_shift_pressed(false);
|
||||||
|
|
||||||
if (k->is_action("ui_text_caret_word_left", true)) {
|
if (k->is_action("ui_text_caret_word_left", true)) {
|
||||||
_move_caret_left(shift_pressed, true);
|
_move_caret_left(shift_pressed, true);
|
||||||
|
@ -490,7 +490,7 @@ void LineEdit::_gui_input(Ref<InputEvent> p_event) {
|
||||||
|
|
||||||
// Allow unicode handling if:
|
// Allow unicode handling if:
|
||||||
// * No Modifiers are pressed (except shift)
|
// * No Modifiers are pressed (except shift)
|
||||||
bool allow_unicode_handling = !(k->get_command() || k->get_control() || k->get_alt() || k->get_metakey());
|
bool allow_unicode_handling = !(k->is_command_pressed() || k->is_ctrl_pressed() || k->is_alt_pressed() || k->is_meta_pressed());
|
||||||
|
|
||||||
if (allow_unicode_handling && editable && k->get_unicode() >= 32) {
|
if (allow_unicode_handling && editable && k->get_unicode() >= 32) {
|
||||||
// Handle Unicode (if no modifiers active)
|
// Handle Unicode (if no modifiers active)
|
||||||
|
|
|
@ -1282,16 +1282,16 @@ bool PopupMenu::activate_item_by_event(const Ref<InputEvent> &p_event, bool p_fo
|
||||||
if (code == 0) {
|
if (code == 0) {
|
||||||
code = k->get_unicode();
|
code = k->get_unicode();
|
||||||
}
|
}
|
||||||
if (k->get_control()) {
|
if (k->is_ctrl_pressed()) {
|
||||||
code |= KEY_MASK_CTRL;
|
code |= KEY_MASK_CTRL;
|
||||||
}
|
}
|
||||||
if (k->get_alt()) {
|
if (k->is_alt_pressed()) {
|
||||||
code |= KEY_MASK_ALT;
|
code |= KEY_MASK_ALT;
|
||||||
}
|
}
|
||||||
if (k->get_metakey()) {
|
if (k->is_meta_pressed()) {
|
||||||
code |= KEY_MASK_META;
|
code |= KEY_MASK_META;
|
||||||
}
|
}
|
||||||
if (k->get_shift()) {
|
if (k->is_shift_pressed()) {
|
||||||
code |= KEY_MASK_SHIFT;
|
code |= KEY_MASK_SHIFT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -98,7 +98,7 @@ void ScrollContainer::_gui_input(const Ref<InputEvent> &p_gui_input) {
|
||||||
if (mb.is_valid()) {
|
if (mb.is_valid()) {
|
||||||
if (mb->get_button_index() == MOUSE_BUTTON_WHEEL_UP && mb->is_pressed()) {
|
if (mb->get_button_index() == MOUSE_BUTTON_WHEEL_UP && mb->is_pressed()) {
|
||||||
// only horizontal is enabled, scroll horizontally
|
// only horizontal is enabled, scroll horizontally
|
||||||
if (h_scroll->is_visible() && (!v_scroll->is_visible() || mb->get_shift())) {
|
if (h_scroll->is_visible() && (!v_scroll->is_visible() || mb->is_shift_pressed())) {
|
||||||
h_scroll->set_value(h_scroll->get_value() - h_scroll->get_page() / 8 * mb->get_factor());
|
h_scroll->set_value(h_scroll->get_value() - h_scroll->get_page() / 8 * mb->get_factor());
|
||||||
} else if (v_scroll->is_visible_in_tree()) {
|
} else if (v_scroll->is_visible_in_tree()) {
|
||||||
v_scroll->set_value(v_scroll->get_value() - v_scroll->get_page() / 8 * mb->get_factor());
|
v_scroll->set_value(v_scroll->get_value() - v_scroll->get_page() / 8 * mb->get_factor());
|
||||||
|
@ -107,7 +107,7 @@ void ScrollContainer::_gui_input(const Ref<InputEvent> &p_gui_input) {
|
||||||
|
|
||||||
if (mb->get_button_index() == MOUSE_BUTTON_WHEEL_DOWN && mb->is_pressed()) {
|
if (mb->get_button_index() == MOUSE_BUTTON_WHEEL_DOWN && mb->is_pressed()) {
|
||||||
// only horizontal is enabled, scroll horizontally
|
// only horizontal is enabled, scroll horizontally
|
||||||
if (h_scroll->is_visible() && (!v_scroll->is_visible() || mb->get_shift())) {
|
if (h_scroll->is_visible() && (!v_scroll->is_visible() || mb->is_shift_pressed())) {
|
||||||
h_scroll->set_value(h_scroll->get_value() + h_scroll->get_page() / 8 * mb->get_factor());
|
h_scroll->set_value(h_scroll->get_value() + h_scroll->get_page() / 8 * mb->get_factor());
|
||||||
} else if (v_scroll->is_visible()) {
|
} else if (v_scroll->is_visible()) {
|
||||||
v_scroll->set_value(v_scroll->get_value() + v_scroll->get_page() / 8 * mb->get_factor());
|
v_scroll->set_value(v_scroll->get_value() + v_scroll->get_page() / 8 * mb->get_factor());
|
||||||
|
|
|
@ -127,7 +127,7 @@ void Tabs::_gui_input(const Ref<InputEvent> &p_event) {
|
||||||
Ref<InputEventMouseButton> mb = p_event;
|
Ref<InputEventMouseButton> mb = p_event;
|
||||||
|
|
||||||
if (mb.is_valid()) {
|
if (mb.is_valid()) {
|
||||||
if (mb->is_pressed() && mb->get_button_index() == MOUSE_BUTTON_WHEEL_UP && !mb->get_command()) {
|
if (mb->is_pressed() && mb->get_button_index() == MOUSE_BUTTON_WHEEL_UP && !mb->is_command_pressed()) {
|
||||||
if (scrolling_enabled && buttons_visible) {
|
if (scrolling_enabled && buttons_visible) {
|
||||||
if (offset > 0) {
|
if (offset > 0) {
|
||||||
offset--;
|
offset--;
|
||||||
|
@ -136,7 +136,7 @@ void Tabs::_gui_input(const Ref<InputEvent> &p_event) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mb->is_pressed() && mb->get_button_index() == MOUSE_BUTTON_WHEEL_DOWN && !mb->get_command()) {
|
if (mb->is_pressed() && mb->get_button_index() == MOUSE_BUTTON_WHEEL_DOWN && !mb->is_command_pressed()) {
|
||||||
if (scrolling_enabled && buttons_visible) {
|
if (scrolling_enabled && buttons_visible) {
|
||||||
if (missing_right) {
|
if (missing_right) {
|
||||||
offset++;
|
offset++;
|
||||||
|
|
|
@ -2914,15 +2914,15 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mb->is_pressed()) {
|
if (mb->is_pressed()) {
|
||||||
if (mb->get_button_index() == MOUSE_BUTTON_WHEEL_UP && !mb->get_command()) {
|
if (mb->get_button_index() == MOUSE_BUTTON_WHEEL_UP && !mb->is_command_pressed()) {
|
||||||
if (mb->get_shift()) {
|
if (mb->is_shift_pressed()) {
|
||||||
h_scroll->set_value(h_scroll->get_value() - (100 * mb->get_factor()));
|
h_scroll->set_value(h_scroll->get_value() - (100 * mb->get_factor()));
|
||||||
} else if (v_scroll->is_visible()) {
|
} else if (v_scroll->is_visible()) {
|
||||||
_scroll_up(3 * mb->get_factor());
|
_scroll_up(3 * mb->get_factor());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (mb->get_button_index() == MOUSE_BUTTON_WHEEL_DOWN && !mb->get_command()) {
|
if (mb->get_button_index() == MOUSE_BUTTON_WHEEL_DOWN && !mb->is_command_pressed()) {
|
||||||
if (mb->get_shift()) {
|
if (mb->is_shift_pressed()) {
|
||||||
h_scroll->set_value(h_scroll->get_value() + (100 * mb->get_factor()));
|
h_scroll->set_value(h_scroll->get_value() + (100 * mb->get_factor()));
|
||||||
} else if (v_scroll->is_visible()) {
|
} else if (v_scroll->is_visible()) {
|
||||||
_scroll_down(3 * mb->get_factor());
|
_scroll_down(3 * mb->get_factor());
|
||||||
|
@ -2977,7 +2977,7 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) {
|
||||||
cursor_set_line(row, false, false);
|
cursor_set_line(row, false, false);
|
||||||
cursor_set_column(col);
|
cursor_set_column(col);
|
||||||
|
|
||||||
if (mb->get_shift() && (cursor.column != prev_col || cursor.line != prev_line)) {
|
if (mb->is_shift_pressed() && (cursor.column != prev_col || cursor.line != prev_line)) {
|
||||||
if (!selection.active) {
|
if (!selection.active) {
|
||||||
selection.active = true;
|
selection.active = true;
|
||||||
selection.selecting_mode = SelectionMode::SELECTION_MODE_POINTER;
|
selection.selecting_mode = SelectionMode::SELECTION_MODE_POINTER;
|
||||||
|
@ -3073,7 +3073,7 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (mb->get_button_index() == MOUSE_BUTTON_LEFT) {
|
if (mb->get_button_index() == MOUSE_BUTTON_LEFT) {
|
||||||
if (mb->get_command() && highlighted_word != String()) {
|
if (mb->is_command_pressed() && highlighted_word != String()) {
|
||||||
int row, col;
|
int row, col;
|
||||||
_get_mouse_pos(Point2i(mpos.x, mpos.y), row, col);
|
_get_mouse_pos(Point2i(mpos.x, mpos.y), row, col);
|
||||||
|
|
||||||
|
@ -3116,7 +3116,7 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) {
|
||||||
mpos.x = get_size().x - mpos.x;
|
mpos.x = get_size().x - mpos.x;
|
||||||
}
|
}
|
||||||
if (select_identifiers_enabled) {
|
if (select_identifiers_enabled) {
|
||||||
if (!dragging_minimap && !dragging_selection && mm->get_command() && mm->get_button_mask() == 0) {
|
if (!dragging_minimap && !dragging_selection && mm->is_command_pressed() && mm->get_button_mask() == 0) {
|
||||||
String new_word = get_word_at_pos(mpos);
|
String new_word = get_word_at_pos(mpos);
|
||||||
if (new_word != highlighted_word) {
|
if (new_word != highlighted_word) {
|
||||||
emit_signal("symbol_validate", new_word);
|
emit_signal("symbol_validate", new_word);
|
||||||
|
@ -3165,7 +3165,7 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) {
|
||||||
#ifdef OSX_ENABLED
|
#ifdef OSX_ENABLED
|
||||||
if (k->get_keycode() == KEY_META) {
|
if (k->get_keycode() == KEY_META) {
|
||||||
#else
|
#else
|
||||||
if (k->get_keycode() == KEY_CONTROL) {
|
if (k->get_keycode() == KEY_CTRL) {
|
||||||
#endif
|
#endif
|
||||||
if (select_identifiers_enabled) {
|
if (select_identifiers_enabled) {
|
||||||
if (k->is_pressed() && !dragging_minimap && !dragging_selection) {
|
if (k->is_pressed() && !dragging_minimap && !dragging_selection) {
|
||||||
|
@ -3183,7 +3183,7 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// If a modifier has been pressed, and nothing else, return.
|
// If a modifier has been pressed, and nothing else, return.
|
||||||
if (k->get_keycode() == KEY_CONTROL || k->get_keycode() == KEY_ALT || k->get_keycode() == KEY_SHIFT || k->get_keycode() == KEY_META) {
|
if (k->get_keycode() == KEY_CTRL || k->get_keycode() == KEY_ALT || k->get_keycode() == KEY_SHIFT || k->get_keycode() == KEY_META) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3191,7 +3191,7 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) {
|
||||||
|
|
||||||
// Allow unicode handling if:
|
// Allow unicode handling if:
|
||||||
// * No Modifiers are pressed (except shift)
|
// * No Modifiers are pressed (except shift)
|
||||||
bool allow_unicode_handling = !(k->get_command() || k->get_control() || k->get_alt() || k->get_metakey());
|
bool allow_unicode_handling = !(k->is_command_pressed() || k->is_ctrl_pressed() || k->is_alt_pressed() || k->is_meta_pressed());
|
||||||
|
|
||||||
// Save here for insert mode, just in case it is cleared in the following section.
|
// Save here for insert mode, just in case it is cleared in the following section.
|
||||||
bool had_selection = selection.active;
|
bool had_selection = selection.active;
|
||||||
|
@ -3436,9 +3436,9 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) {
|
||||||
// CURSOR MOVEMENT
|
// CURSOR MOVEMENT
|
||||||
|
|
||||||
k = k->duplicate();
|
k = k->duplicate();
|
||||||
bool shift_pressed = k->get_shift();
|
bool shift_pressed = k->is_shift_pressed();
|
||||||
// Remove shift or else actions will not match. Use above variable for selection.
|
// Remove shift or else actions will not match. Use above variable for selection.
|
||||||
k->set_shift(false);
|
k->set_shift_pressed(false);
|
||||||
|
|
||||||
// CURSOR MOVEMENT - LEFT, RIGHT.
|
// CURSOR MOVEMENT - LEFT, RIGHT.
|
||||||
if (k->is_action("ui_text_caret_word_left", true)) {
|
if (k->is_action("ui_text_caret_word_left", true)) {
|
||||||
|
|
|
@ -1971,7 +1971,7 @@ int Tree::propagate_mouse_event(const Point2i &p_pos, int x_ofs, int y_ofs, bool
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (select_mode == SELECT_MULTI && p_mod->get_command() && c.selectable) {
|
if (select_mode == SELECT_MULTI && p_mod->is_command_pressed() && c.selectable) {
|
||||||
if (!c.selected || p_button == MOUSE_BUTTON_RIGHT) {
|
if (!c.selected || p_button == MOUSE_BUTTON_RIGHT) {
|
||||||
p_item->select(col);
|
p_item->select(col);
|
||||||
emit_signal("multi_selected", p_item, col, true);
|
emit_signal("multi_selected", p_item, col, true);
|
||||||
|
@ -1988,7 +1988,7 @@ int Tree::propagate_mouse_event(const Point2i &p_pos, int x_ofs, int y_ofs, bool
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
if (c.selectable) {
|
if (c.selectable) {
|
||||||
if (select_mode == SELECT_MULTI && p_mod->get_shift() && selected_item && selected_item != p_item) {
|
if (select_mode == SELECT_MULTI && p_mod->is_shift_pressed() && selected_item && selected_item != p_item) {
|
||||||
bool inrange = false;
|
bool inrange = false;
|
||||||
|
|
||||||
select_single_item(p_item, root, col, selected_item, &inrange);
|
select_single_item(p_item, root, col, selected_item, &inrange);
|
||||||
|
@ -2406,7 +2406,7 @@ void Tree::_gui_input(Ref<InputEvent> p_event) {
|
||||||
|
|
||||||
Ref<InputEventKey> k = p_event;
|
Ref<InputEventKey> k = p_event;
|
||||||
|
|
||||||
bool is_command = k.is_valid() && k->get_command();
|
bool is_command = k.is_valid() && k->is_command_pressed();
|
||||||
if (p_event->is_action("ui_right") && p_event->is_pressed()) {
|
if (p_event->is_action("ui_right") && p_event->is_pressed()) {
|
||||||
if (!cursor_can_exit_tree) {
|
if (!cursor_can_exit_tree) {
|
||||||
accept_event();
|
accept_event();
|
||||||
|
@ -2415,7 +2415,7 @@ void Tree::_gui_input(Ref<InputEvent> p_event) {
|
||||||
if (!selected_item || select_mode == SELECT_ROW || selected_col > (columns.size() - 1)) {
|
if (!selected_item || select_mode == SELECT_ROW || selected_col > (columns.size() - 1)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (k.is_valid() && k->get_alt()) {
|
if (k.is_valid() && k->is_alt_pressed()) {
|
||||||
selected_item->set_collapsed(false);
|
selected_item->set_collapsed(false);
|
||||||
TreeItem *next = selected_item->get_children();
|
TreeItem *next = selected_item->get_children();
|
||||||
while (next && next != selected_item->next) {
|
while (next && next != selected_item->next) {
|
||||||
|
@ -2434,7 +2434,7 @@ void Tree::_gui_input(Ref<InputEvent> p_event) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (k.is_valid() && k->get_alt()) {
|
if (k.is_valid() && k->is_alt_pressed()) {
|
||||||
selected_item->set_collapsed(true);
|
selected_item->set_collapsed(true);
|
||||||
TreeItem *next = selected_item->get_children();
|
TreeItem *next = selected_item->get_children();
|
||||||
while (next && next != selected_item->next) {
|
while (next && next != selected_item->next) {
|
||||||
|
@ -2564,7 +2564,7 @@ void Tree::_gui_input(Ref<InputEvent> p_event) {
|
||||||
if (!k->is_pressed()) {
|
if (!k->is_pressed()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (k->get_command() || (k->get_shift() && k->get_unicode() == 0) || k->get_metakey()) {
|
if (k->is_command_pressed() || (k->is_shift_pressed() && k->get_unicode() == 0) || k->is_meta_pressed()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!root) {
|
if (!root) {
|
||||||
|
@ -2880,7 +2880,7 @@ void Tree::_gui_input(Ref<InputEvent> p_event) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (b->get_button_index() == MOUSE_BUTTON_LEFT) {
|
if (b->get_button_index() == MOUSE_BUTTON_LEFT) {
|
||||||
if (get_item_at_position(b->get_position()) == nullptr && !b->get_shift() && !b->get_control() && !b->get_command()) {
|
if (get_item_at_position(b->get_position()) == nullptr && !b->is_shift_pressed() && !b->is_ctrl_pressed() && !b->is_command_pressed()) {
|
||||||
emit_signal("nothing_selected");
|
emit_signal("nothing_selected");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -617,10 +617,10 @@ void Viewport::_process_picking() {
|
||||||
mm->set_device(InputEvent::DEVICE_ID_INTERNAL);
|
mm->set_device(InputEvent::DEVICE_ID_INTERNAL);
|
||||||
mm->set_global_position(physics_last_mousepos);
|
mm->set_global_position(physics_last_mousepos);
|
||||||
mm->set_position(physics_last_mousepos);
|
mm->set_position(physics_last_mousepos);
|
||||||
mm->set_alt(physics_last_mouse_state.alt);
|
mm->set_alt_pressed(physics_last_mouse_state.alt);
|
||||||
mm->set_shift(physics_last_mouse_state.shift);
|
mm->set_shift_pressed(physics_last_mouse_state.shift);
|
||||||
mm->set_control(physics_last_mouse_state.control);
|
mm->set_ctrl_pressed(physics_last_mouse_state.control);
|
||||||
mm->set_metakey(physics_last_mouse_state.meta);
|
mm->set_meta_pressed(physics_last_mouse_state.meta);
|
||||||
mm->set_button_mask(physics_last_mouse_state.mouse_mask);
|
mm->set_button_mask(physics_last_mouse_state.mouse_mask);
|
||||||
physics_picking_events.push_back(mm);
|
physics_picking_events.push_back(mm);
|
||||||
}
|
}
|
||||||
|
@ -641,10 +641,10 @@ void Viewport::_process_picking() {
|
||||||
|
|
||||||
physics_has_last_mousepos = true;
|
physics_has_last_mousepos = true;
|
||||||
physics_last_mousepos = pos;
|
physics_last_mousepos = pos;
|
||||||
physics_last_mouse_state.alt = mm->get_alt();
|
physics_last_mouse_state.alt = mm->is_alt_pressed();
|
||||||
physics_last_mouse_state.shift = mm->get_shift();
|
physics_last_mouse_state.shift = mm->is_shift_pressed();
|
||||||
physics_last_mouse_state.control = mm->get_control();
|
physics_last_mouse_state.control = mm->is_ctrl_pressed();
|
||||||
physics_last_mouse_state.meta = mm->get_metakey();
|
physics_last_mouse_state.meta = mm->is_meta_pressed();
|
||||||
physics_last_mouse_state.mouse_mask = mm->get_button_mask();
|
physics_last_mouse_state.mouse_mask = mm->get_button_mask();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -656,10 +656,10 @@ void Viewport::_process_picking() {
|
||||||
|
|
||||||
physics_has_last_mousepos = true;
|
physics_has_last_mousepos = true;
|
||||||
physics_last_mousepos = pos;
|
physics_last_mousepos = pos;
|
||||||
physics_last_mouse_state.alt = mb->get_alt();
|
physics_last_mouse_state.alt = mb->is_alt_pressed();
|
||||||
physics_last_mouse_state.shift = mb->get_shift();
|
physics_last_mouse_state.shift = mb->is_shift_pressed();
|
||||||
physics_last_mouse_state.control = mb->get_control();
|
physics_last_mouse_state.control = mb->is_ctrl_pressed();
|
||||||
physics_last_mouse_state.meta = mb->get_metakey();
|
physics_last_mouse_state.meta = mb->is_meta_pressed();
|
||||||
|
|
||||||
if (mb->is_pressed()) {
|
if (mb->is_pressed()) {
|
||||||
physics_last_mouse_state.mouse_mask |= (1 << (mb->get_button_index() - 1));
|
physics_last_mouse_state.mouse_mask |= (1 << (mb->get_button_index() - 1));
|
||||||
|
@ -676,10 +676,10 @@ void Viewport::_process_picking() {
|
||||||
Ref<InputEventKey> k = ev;
|
Ref<InputEventKey> k = ev;
|
||||||
if (k.is_valid()) {
|
if (k.is_valid()) {
|
||||||
//only for mask
|
//only for mask
|
||||||
physics_last_mouse_state.alt = k->get_alt();
|
physics_last_mouse_state.alt = k->is_alt_pressed();
|
||||||
physics_last_mouse_state.shift = k->get_shift();
|
physics_last_mouse_state.shift = k->is_shift_pressed();
|
||||||
physics_last_mouse_state.control = k->get_control();
|
physics_last_mouse_state.control = k->is_ctrl_pressed();
|
||||||
physics_last_mouse_state.meta = k->get_metakey();
|
physics_last_mouse_state.meta = k->is_meta_pressed();
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2402,10 +2402,10 @@ void Viewport::_gui_input_event(Ref<InputEvent> p_event) {
|
||||||
Control *from = gui.key_focus ? gui.key_focus : nullptr; //hmm
|
Control *from = gui.key_focus ? gui.key_focus : nullptr; //hmm
|
||||||
|
|
||||||
//keyboard focus
|
//keyboard focus
|
||||||
//if (from && p_event->is_pressed() && !p_event->get_alt() && !p_event->get_metakey() && !p_event->key->get_command()) {
|
//if (from && p_event->is_pressed() && !p_event->is_alt_pressed() && !p_event->is_meta_pressed() && !p_event->key->is_command_pressed()) {
|
||||||
Ref<InputEventKey> k = p_event;
|
Ref<InputEventKey> k = p_event;
|
||||||
//need to check for mods, otherwise any combination of alt/ctrl/shift+<up/down/left/right/etc> is handled here when it shouldn't be.
|
//need to check for mods, otherwise any combination of alt/ctrl/shift+<up/down/left/right/etc> is handled here when it shouldn't be.
|
||||||
bool mods = k.is_valid() && (k->get_control() || k->get_alt() || k->get_shift() || k->get_metakey());
|
bool mods = k.is_valid() && (k->is_ctrl_pressed() || k->is_alt_pressed() || k->is_shift_pressed() || k->is_meta_pressed());
|
||||||
|
|
||||||
if (from && p_event->is_pressed()) {
|
if (from && p_event->is_pressed()) {
|
||||||
Control *next = nullptr;
|
Control *next = nullptr;
|
||||||
|
|
|
@ -3148,11 +3148,11 @@ int VisualShaderNodeGroupBase::get_free_output_port_id() const {
|
||||||
return output_ports.size();
|
return output_ports.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
void VisualShaderNodeGroupBase::set_control(Control *p_control, int p_index) {
|
void VisualShaderNodeGroupBase::set_ctrl_pressed(Control *p_control, int p_index) {
|
||||||
controls[p_index] = p_control;
|
controls[p_index] = p_control;
|
||||||
}
|
}
|
||||||
|
|
||||||
Control *VisualShaderNodeGroupBase::get_control(int p_index) {
|
Control *VisualShaderNodeGroupBase::is_ctrl_pressed(int p_index) {
|
||||||
ERR_FAIL_COND_V(!controls.has(p_index), nullptr);
|
ERR_FAIL_COND_V(!controls.has(p_index), nullptr);
|
||||||
return controls[p_index];
|
return controls[p_index];
|
||||||
}
|
}
|
||||||
|
|
|
@ -610,8 +610,8 @@ public:
|
||||||
int get_free_input_port_id() const;
|
int get_free_input_port_id() const;
|
||||||
int get_free_output_port_id() const;
|
int get_free_output_port_id() const;
|
||||||
|
|
||||||
void set_control(Control *p_control, int p_index);
|
void set_ctrl_pressed(Control *p_control, int p_index);
|
||||||
Control *get_control(int p_index);
|
Control *is_ctrl_pressed(int p_index);
|
||||||
|
|
||||||
void set_editable(bool p_enabled);
|
void set_editable(bool p_enabled);
|
||||||
bool is_editable() const;
|
bool is_editable() const;
|
||||||
|
|
Loading…
Reference in a new issue