aboutsummaryrefslogtreecommitdiff
path: root/test_input.gd
diff options
context:
space:
mode:
authordam <dam@gudinoff>2021-12-27 03:31:03 +0000
committerdam <dam@gudinoff>2021-12-27 03:31:03 +0000
commit5b863fdc25848817ef11f0c1a33ef45a4160aa2c (patch)
treefc02e32880c4eb72597424da0055bf2172ea7da0 /test_input.gd
parenta2af4c7d07259a091deabdceaa5da1a2f7757c5e (diff)
downloadsurgery-log-5b863fdc25848817ef11f0c1a33ef45a4160aa2c.tar.zst
surgery-log-5b863fdc25848817ef11f0c1a33ef45a4160aa2c.zip
Allow to scroll database screen without selecting item on touch-down.
Diffstat (limited to 'test_input.gd')
-rw-r--r--test_input.gd42
1 files changed, 42 insertions, 0 deletions
diff --git a/test_input.gd b/test_input.gd
new file mode 100644
index 0000000..bae409d
--- /dev/null
+++ b/test_input.gd
@@ -0,0 +1,42 @@
+extends ColorRect
+
+onready var debug: RichTextLabel = get_node("/root/main/debug")
+
+
+func _gui_input(event):
+# if name == "a":
+# accept_event()
+# if name == "b" : #&& (event is InputEventScreenTouch):
+# if name == "b":
+# get_tree().set_input_as_handled()
+# accept_event()
+# if name == "b" && event is InputEventScreenTouch && event.is_pressed() == false:
+# simulate_click()
+# call_deferred("simulate_click")
+
+ if event is InputEventScreenTouch || event is InputEventMouseButton:
+ debug.text += "%s> %-24s\t:\t%s\n" % [name, event.get_class(), event.is_pressed()]
+ else:
+ debug.text += "%s> %s\n" % [name, event.get_class()]
+
+
+func simulate_click():
+ var event_touch = InputEventScreenTouch.new()
+ event_touch.index = 0
+ event_touch.position = self.get_global_mouse_position()
+
+ var event_mouse = InputEventMouseButton.new()
+ event_mouse.button_index = BUTTON_LEFT
+ event_mouse.button_mask = BUTTON_MASK_LEFT
+ event_mouse.position = self.get_global_mouse_position()
+
+ self.mouse_filter = Control.MOUSE_FILTER_IGNORE
+ event_mouse.pressed = true
+ event_touch.pressed = true
+# Input.parse_input_event(event_mouse)
+ Input.parse_input_event(event_touch)
+ event_mouse.pressed = false
+ event_touch.pressed = false
+# Input.parse_input_event(event_mouse)
+ Input.parse_input_event(event_touch)
+ self.mouse_filter = Control.MOUSE_FILTER_STOP