KeyCode

Fra Holstebro HTX Wiki
Skift til: navigering, søgning

Eksemplet tager udgangspunkt i keyCode på processing.org[1]

Tast fortolkning på specielle taster

Når der tastes en tast, så vil alle taster aktivere keyPressed(). For at kunne teste hvilken tast der er trykket på kan man teste på key om det er en CODED key. Hvis det ikke er en CODED, så er de fleste taster direkte angivet i key. Der er dog nogle enkelte undtagelser, hvilket er afspejlet i den første del af koden i keyPressed().

Hvis det er en CODED key, så er der specielle koder for nogle af tasterne, mens andre blot er defineret ved et tal, som det testes i den sidste del af keyPressed(). Dette vises i draw().

String tast = "";
void setup() {
  size(240, 120);
  textSize(20);
}

void draw() {
  background(255);
  fill(0);
  text("tast = " + tast, 10, 30);
  text("keyCode = " + keyCode, 10, 60);
}

void keyPressed() {
  if (key != CODED) {
    tast = "" + key;
    if (keyCode ==     ENTER) { tast = "ENTER"; }
    if (keyCode ==       TAB) { tast = "TAB"; }
    if (keyCode == BACKSPACE) { tast = "BACKSPACE"; }
    if (keyCode ==       ' ') { tast = "SPACE"; }
    if (keyCode ==    DELETE) { tast = "DELETE"; }
  } else {
    if (keyCode ==      UP) { tast = "UP"; }
    if (keyCode ==    DOWN) { tast = "DOWN"; }
    if (keyCode ==   RIGHT) { tast = "RIGHT"; }
    if (keyCode ==    LEFT) { tast = "LEFT"; }
    if (keyCode ==   ENTER) { tast = "ENTER"; }
    if (keyCode ==   SHIFT) { tast = "Shift"; }
    if (keyCode == CONTROL) { tast = "Ctrl"; }
    if (keyCode ==     ALT) { tast = "Alt"; }
    if (keyCode ==      20) { tast = "Caps"; }
    if (keyCode ==     144) { tast = "Numlk"; }
    if (keyCode ==      33) { tast = "PgUp"; }
    if (keyCode ==      34) { tast = "PgDn"; }
    if (keyCode ==      35) { tast = "End"; }
    if (keyCode ==      36) { tast = "Home"; }
    if (keyCode ==     155) { tast = "Insert"; }
    if (keyCode ==      12) { tast = "Num5"; }
    if (keyCode >= 112 && keyCode <= 123 ) { tast = "F" + (keyCode - 111); }
  }
}

Referencer

  1. keyCode på Processing.org