bool KeyDetection::isF10pressed() { int fd = openKeyboard(); if (fd == -1) { qDebug() << "No keyboard found..."; return false; } // Wait 2 seconds for key press for (int i=0; i<200; i++) { if (_isF10pressed(fd)) return true; usleep(10000); } // Final check bool pressed = _isF10pressed(fd); if (!pressed) qDebug() << "No key press detected..."; close(fd); return pressed; }
static void openDisplay(void) { DPRINTF("openDisplay\n"); openMouse(); openKeyboard(); openFramebuffer(); // init mouse after setting graf mode on tty avoids packets being // snarfed by gpm ms->init(ms); }
bool KeyDetection::waitForKeyboard() { int fd = -1; QTime t; // Wait up to 2.1 seconds for a keyboard to appear. t.start(); do { usleep(10000); fd = openKeyboard(); if (fd != -1) { close(fd); return true; } } while (t.elapsed() < 2100); return false; }