处理中的非箭头键的连续按键功能

时间:2013-05-11 17:34:25

标签: processing

请先按箭头键(然后按住),然后按非箭头键,测试以下代码。在Mac中,至少你会看到箭头键不断地应用它们的功能,而其他的则没有。有没有人知道如何使其他键在Processing中连续应用(即不通过改变OSX的功能)?

void setup(){}
void draw(){}

void keyPressed() {
  if (keyCode >= 36 && keyCode <= 40) { // keycodes for arrow keys
    println(frameCount + " arrow key activated: " + key);
  } 
  else {
    println(frameCount + " non-arrow key activated: " + key);
  }
}

1 个答案:

答案 0 :(得分:0)

这是一种做法。但更像是一个黑客可能......因为它不处理系统的关键重复处理。但是有效:)

boolean isPressed;
void setup(){}
void draw(){
  if (isPressed)
  println(frameCount + " non-arrow key activated: " + key);
}


void keyPressed() {
  if (keyCode >= 36 && keyCode <= 40) { // keycodes for arrow keys
    println(frameCount + " arrow key activated: " + key);
  } 
  else {
    isPressed = true;
  }
}

void keyReleased(){
  isPressed = false;
}