extends GL_Node

func _ready():
	super._ready()
	_set_title("Keystrokes")
	_create_row("KEY #1",null,false,false,0.0,1)
	_create_row("KEY #2",null,false,false,0.0,1)
	_create_row("KEY #3",null,false,false,0.0,1)
	_create_row("KEY #4",null,false,false,0.0,1)
	_create_row("KEY #5",null,false,false,0.0,1)
	_create_row("KEY #6",null,false,false,0.0,1)
	_create_row("KEY #7",null,false,false,0.0,1)
	_create_row("KEY #8",null,false,false,0.0,1)
	_create_row("KEY #9",null,false,false,0.0,1)
	_create_row("KEY #0",null,false,false,0.0,1)
	_update_visuals()
	
func _process(delta):
	super._process(delta)

	var key_map = {
		"KEY #1": KEY_1,
		"KEY #2": KEY_2,
		"KEY #3": KEY_3,
		"KEY #4": KEY_4,
		"KEY #5": KEY_5,
		"KEY #6": KEY_6,
		"KEY #7": KEY_7,
		"KEY #8": KEY_8,
		"KEY #9": KEY_9,
		"KEY #0": KEY_0,
	}

	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)