extends GL_Node func _ready(): super._ready() _set_title("Keystrokes") _create_row("Shift",null,false,false,0.0,1) _create_row("Control",null,false,false,0.0,1) _create_row("Alt",null,false,false,0.0,1) _create_row("Space",null,false,false,0.0,1) _create_row("Enter",null,false,false,0.0,1) _create_row("Backspace",null,false,false,0.0,1) _update_visuals() func _process(delta): super._process(delta) var key_map = { "Shift": KEY_SHIFT, "Control": KEY_CTRL, "Alt": KEY_ALT, "Space": KEY_SPACE, "Enter": KEY_ENTER, "Backspace": KEY_BACKSPACE, } for key_name in key_map.keys(): var is_pressed = Input.is_key_pressed(key_map[key_name]) or Input.is_key_pressed(key_map[key_name] + (KEY_KP_0 - KEY_0)) rows[key_name]["output"] = is_pressed _send_input(key_name)