Я пытаюсь использовать оболочку glut для обработки нажатий клавиш для игры, которую я пишу на C++. Когда нажата конкретная клавиша, я хочу начать рисовать новую кривую, и поэтому создаю новую кривую и добавлю ее в свой контейнер кривых. Однако, когда я использую onKeyboard и debug, я вижу, что эта функция вызывается снова и снова при нажатии клавиши, а не только при первом нажатии. Поэтому при каждом нажатии клавиши создается около 12 кривых. Мой код для onKeyboard ниже. Любая помощь будет оценена очень!Обнаружение только одного нажатия клавиши в C++
void onKeyboard(unsigned char key,int x, int y) {
keysPressed[key] = true;
switch (key) {
case 'l':
curvesContainer.addCurve(new lCurve());
break;
case 'p':
curvesContainer.addCurve(new pCurve());
}
glutPostRedisplay();
}