void MenuProcessChangeKey(menu_t *menu) { int key = GetKey(&gEventHandlers); // wait until user has pressed a new button if (key == SDLK_ESCAPE) { MenuPlaySound(MENU_SOUND_BACK); } else if (KeyAvailable( key, menu->u.normal.changeKeyMenu->u.changeKey.code, menu->u.normal.changeKeyMenu->u.changeKey.keys, menu->u.normal.changeKeyMenu->u.changeKey.keysOther)) { if (menu->u.normal.changeKeyMenu->u.changeKey.code != KEY_CODE_MAP) { InputSetKey( menu->u.normal.changeKeyMenu->u.changeKey.keys, key, menu->u.normal.changeKeyMenu->u.changeKey.code); } else { gConfig.Input.PlayerKeys[0].Keys.map = key; } MenuPlaySound(MENU_SOUND_ENTER); } else { MenuPlaySound(MENU_SOUND_ERROR); } menu->u.normal.changeKeyMenu = NULL; }
void MenuProcessChangeKey(menu_t *menu) { int key = GetKey(&gKeyboard); // wait until user has pressed a new button if (key == keyEsc) { SoundPlay(&gSoundDevice, SND_PICKUP); } else if (KeyAvailable( key, menu->u.normal.changeKeyMenu->u.changeKey.code, menu->u.normal.changeKeyMenu->u.changeKey.keys, menu->u.normal.changeKeyMenu->u.changeKey.keysOther)) { if (menu->u.normal.changeKeyMenu->u.changeKey.code != KEY_CODE_MAP) { InputSetKey( menu->u.normal.changeKeyMenu->u.changeKey.keys, key, menu->u.normal.changeKeyMenu->u.changeKey.code); } else { gConfig.Input.PlayerKeys[0].Keys.map = key; } SoundPlay(&gSoundDevice, SND_EXPLOSION); } else { SoundPlay(&gSoundDevice, SND_KILL4); } menu->u.normal.changeKeyMenu = NULL; }
void ChangeMapKey(struct PlayerData *d1, struct PlayerData *d2) { int key; while (1) { key = GetKeyDown(); if (key == keyEsc) return; if (key != 0) { if (KeyAvailable(key, d1, -1, d2)) { gOptions.mapKey = key; PlaySound(SND_EXPLOSION, 0, 255); return; } else PlaySound(SND_KILL4, 0, 255); } } return; }
void Controls::KeyInput(const std::string &index) { sf::Event event; std::string key; while (this->_Window->waitEvent(event)) { if (event.type == sf::Event::KeyPressed) { key = this->_Alpha[event.key.code]; if(KeyAvailable(key, index) && key != "") { while (this->ctrlCu.find(index) != this->ctrlCu.end()) this->ctrlCu.erase(this->ctrlCu.find(index)); this->ctrlCu[index] = key; if (this->num_play == 1) this->ctrlK1 = this->ctrlCu; else this->ctrlK2 = this->ctrlCu; return; } } } }
void ChangeKey(struct PlayerData *data, struct PlayerData *other, int index) { int key = 0; while (GetKeyDown()); while (1) { key = GetKeyDown(); if (key == keyEsc) return; if (key != 0) { if (KeyAvailable(key, data, index, other)) { data->keys[index] = key; PlaySound(SND_EXPLOSION, 0, 255); return; } else PlaySound(SND_KILL4, 0, 255); } } }