extends GL_Node var key_to_value = { KEY_1: 1.0 / 10, KEY_2: 2.0 / 10, KEY_3: 3.0 / 10, KEY_4: 4.0 / 10, KEY_5: 5.0 / 10, KEY_6: 6.0 / 10, KEY_7: 7.0 / 10, KEY_8: 8.0 / 10, KEY_9: 9.0 / 10, KEY_0: 1.0, } var toggle_to_value = { KEY_1: 0, KEY_2: 1.0 / 9, KEY_3: 2.0 / 9, KEY_4: 3.0 / 9, KEY_5: 4.0 / 9, KEY_6: 5.0 / 9, KEY_7: 6.0 / 9, KEY_8: 7.0 / 9, KEY_9: 8.0 / 9, KEY_0: 1.0, } func _ready(): super._ready() _set_title("Keystroke Ramp") _create_row("Output", null, 0.0, false, 0.0, 0) _create_row("Toggle", null, null, true, false, 0) _update_visuals() func _process(delta): super._process(delta) if rows["Toggle"]["pickValue"]: for key in toggle_to_value.keys(): if Input.is_key_pressed(key) or Input.is_key_pressed(key + (KEY_KP_0 - KEY_0)): rows["Output"]["output"] = toggle_to_value[key] break else: var output_value := 0.0 for key in key_to_value.keys(): if Input.is_key_pressed(key) or Input.is_key_pressed(key + (KEY_KP_0 - KEY_0)): output_value = key_to_value[key] break rows["Output"]["output"] = output_value _send_input("Output")