int Ibex::ApplicationLauncher::processKey(int key, int down) { int processed = 0; switch(key) { case 'W': case 'w': case GLFW_KEY_UP: if(down) { newY = selectedY-1; } processed = 1; break; case GLFW_KEY_DOWN: case 'S': case 's': if(down) { newY = selectedY+1; } processed = 1; break; case 'D': case 'd': case GLFW_KEY_RIGHT: if(down) { newX = selectedX+1; } processed = 1; break; case GLFW_KEY_LEFT: case 'A': case 'a': if(down) { newX = selectedX-1; } processed = 1; break; case GLFW_KEY_ENTER: if(!down) { std::string path = applicationList[std::pair<int,int>(selectedX,selectedY)]; if(path != "") { launchApplication(path.c_str()); showApplicationLauncher = false; } } processed = 1; break; // case 27: // ESCAPE case GLFW_KEY_ESCAPE: if(!down) { showApplicationLauncher = false; } processed = 1; } return processed; }
int Ibex::ApplicationLauncher::processKey(unsigned short keyCode, int down) { int processed = 0; switch(keyCode) { case kVK_UpArrow: case kVK_ANSI_W: if(down) { newY = selectedY-1; } processed = 1; break; case kVK_DownArrow: case kVK_ANSI_S: if(down) { newY = selectedY+1; } processed = 1; break; case kVK_LeftArrow: case kVK_ANSI_A: if(down) { newX = selectedX-1; } processed = 1; break; case kVK_RightArrow: case kVK_ANSI_D: if(down) { newX = selectedX+1; } processed = 1; break; case kVK_Return: if(down) { std::string path = applicationList[std::pair<int,int>(selectedX,selectedY)]; if(path != "") { launchApplication(path.c_str()); showApplicationLauncher = false; } } processed = 1; break; case kVK_Escape: showApplicationLauncher = false; processed = 1; break; } return processed; }
void Application::start() { QTimer::singleShot(0, this, SLOT(launchApplication())); }