| 205 | } |
| 206 | |
| 207 | void TextInputNode::onKeyPressed(EventKeyboard::KeyCode keyCode, Event* event) |
| 208 | { |
| 209 | // if (keyCode == EventKeyboard::KeyCode::KEY_CTRL) GameToolbox::_isCtrlPressed = true; |
| 210 | // i don't think that ctrl flag should be placed in gametoolbox |
| 211 | |
| 212 | switch (keyCode) |
| 213 | { |
| 214 | #ifdef AX_PLATFORM_PC |
| 215 | case EventKeyboard::KeyCode::KEY_CTRL: |
| 216 | _onCommandMode = true; |
| 217 | break; |
| 218 | case EventKeyboard::KeyCode::KEY_C: |
| 219 | if (_onCommandMode) |
| 220 | glfwSetClipboardString(static_cast<GLViewImpl*>(Director::getInstance()->getGLView())->getWindow(), _textField->getString().data()); |
| 221 | _onCommandMode = false; |
| 222 | break; |
| 223 | case EventKeyboard::KeyCode::KEY_V: |
| 224 | if (_onCommandMode) |
| 225 | { |
| 226 | _textField->setString(sanitizeString(fmt::format("{}{}", _textField->getString(), glfwGetClipboardString(static_cast<GLViewImpl*>(Director::getInstance()->getGLView())->getWindow())))); |
| 227 | updateDisplayedLabel(); |
| 228 | } |
| 229 | _onCommandMode = false; |
| 230 | break; |
| 231 | #endif |
| 232 | default: |
| 233 | break; |
| 234 | } |
| 235 | } |
| 236 | |
| 237 | void TextInputNode::onKeyReleased(EventKeyboard::KeyCode keyCode, Event* event) |
| 238 | { |