function getKeystroke(ignoreEnter=false) {
	_listener = function (event) {
		if (
			["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"].indexOf(
				event.code,
			) > -1
		) {
			event.preventDefault();
		}

		if (['h', 'a', 'ArrowLeft'].includes(event.key)) {
			player.move('left')
		} else if (['j', 's', 'ArrowDown'].includes(event.key)) {
			player.move('down')
		} else if (['k', 'w', 'ArrowUp'].includes(event.key)) {
			player.move('up')
		} else if (['l', 'd', 'ArrowRight'].includes(event.key)) {
			player.move('right')
		} else if (
			event.key === "Enter" &&
			!terminal.active &&
			!dialogMode &&
			!ignoreEnter
		) {
			onEnter();
		}
	};
	document.addEventListener("keydown", _listener);
}

function onEnter() {
	var playerPosition = [player.canvasX, player.canvasY]
	if (player.direction === 'up') {
		if (computerInteractionZones.some(a => playerPosition.every((v, i) => v === a[i]))) {
			terminal.show();
		}
		if (gamesInteractionZones.some(a => playerPosition.every((v, i) => v === a[i]))) {
			games.show();
		}
		if (portfolioInteractionZones.some(a => playerPosition.every((v, i) => v === a[i]))) {
			portfolio.show();
		}
	}

	if (player.direction === 'down' || player.direction === 'left') {
		if (musicInteractionZones.some(a => playerPosition.every((v, i) => v === a[i]))) {
			music.show();
		}
	}

		if (maomaoInteractionZones.some(a => playerPosition.every((v, i) => v === a[i]))) {
			maomao.show();
		}

	if (player.direction === 'down' || player.direction === 'up') {
		if (resumeInteractionZones.some(a => playerPosition.every((v, i) => v === a[i]))) {
			indicator.hide('resume');
			indicator.resumeIndicatorShown = true;
			resume.show()
		}
	}
}
