void keyPressEvent()

in coinrun/coinrun.cpp [2118:2161]


  void keyPressEvent(QKeyEvent* kev)
  {
    keys_pressed[kev->key()] = 1;
    if (kev->key() == Qt::Key_Return) {
      viz->show_state->maze->is_terminated = true;
    }
    if (kev->key() == Qt::Key_R) {
  if (viz->ffmpeg.isOpen()) {
    fprintf(stderr, "finishing rec\n");
    viz->ffmpeg.closeWriteChannel();
    viz->ffmpeg.waitForFinished();
    fprintf(stderr, "finished rec\n");
  } else {
    fprintf(stderr, "starting ffmpeg\n");
    QStringList arguments;
    arguments << "-y" << "-r" << "30" <<
      "-f" << "rawvideo" << "-s:v" << (VIDEORES_STR "x" VIDEORES_STR) << "-pix_fmt" << "rgb32" <<
      "-i" << "-" << "-vcodec" << "libx264" << "-pix_fmt" << "yuv420p" << "-crf" << "10" <<
      "coinrun-manualplay.mp4";
    viz->ffmpeg.start("ffmpeg", arguments);
    bool r = viz->ffmpeg.waitForStarted();
    fprintf(stderr, "video rec started %i\n", int(r));
  }
    }
    if (kev->key() == Qt::Key_F1)
      viz->set_render_mode(0);
    if (kev->key() == Qt::Key_F2)
      viz->set_render_mode(64);
    if (kev->key() == Qt::Key_F5)
      viz->show_state->agent.target_zoom = 1.0;
    if (kev->key() == Qt::Key_F6)
      viz->show_state->agent.target_zoom = 2.0;
    if (kev->key() == Qt::Key_F7)
      viz->show_state->agent.target_zoom = 3.0;
    if (kev->key() == Qt::Key_F8)
      viz->show_state->agent.target_zoom = 5.0;

    if (kev->key() == Qt::Key_F9)
      viz->recon ^= true;
    if (kev->key() == Qt::Key_F10)
      viz->lasers ^= true;

    control();
  }