Hi all,
If anyone needs both keyup and keydown in PsychoJS you can do the following:
SOLUTION:
function TrialRoutineEachFrame(trials) {
let KEY_TYPE_ARROW_LEFT = "ArrowLeft";
let KEY_TYPE_ARROW_RIGHT = "ArrowRight";
let KEY_DOWN = "keydown";
let KEY_UP = "keyup";
let LEFT_BOUNDARY = -360;
let RIGHT_BOUNDARY = 360;
window.onkeydown = window.onkeyup = window.onkeypress = slideHandler;
function slideHandler(e) {
// start of Arrow LEFT keydown
if (e.type === KEY_DOWN && e.key === KEY_TYPE_ARROW_LEFT) {
if (xaxis > LEFT_BOUNDARY) {
xaxis = xaxis - 5;
} else {
xaxis = LEFT_BOUNDARY;
}
}
// start of Arrow LEFT keyup
if (e.type === KEY_UP && e.key === KEY_TYPE_ARROW_LEFT) {
}
// start of Arrow RIGHT keydown
if (e.type === KEY_DOWN && e.key === KEY_TYPE_ARROW_RIGHT) {
if (xaxis < RIGHT_BOUNDARY) {
xaxis = xaxis + 5;
} else {
xaxis = RIGHT_BOUNDARY;
}
}
// start of Arrow RIGHT keyup
if (e.type === KEY_UP && e.key === KEY_TYPE_ARROW_RIGHT) {
}
}
xaxis is a variable that set the x pos of a polygon and the boundries defined how far left or right it could move. When the button was down the polygon moved and stopped when released.