Processingのバージョン3でkeypressedを使用したプログラムを作成すると、プログラムを実行するたびにキー操作が効いたり、効かなかったりすることがあります。いろいろ調べてみると開いたウインドウにフォーカスが当たっていないことがあるためだとわかりました。バージョン2ではこのような問題はありませんでした。
下記のようにフォーカスを当てるようにすると解決しました。
フレームカウント、キーを押したかどうか、マウスを押したかどうか、フォーカスが当たっているかどうかを表示するようにしています。
void setup() { size(640, 480); ((java.awt.Canvas) surface.getNative()).requestFocus(); } void draw() { println(frameCount, keyPressed, mousePressed, focused); }