1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-08-13 19:54:17 +02:00

allow clipboard paste

This commit is contained in:
Michael
2023-07-22 13:17:16 +02:00
committed by GitHub
parent 0be3d6911c
commit 59f3740aea

View File

@@ -17,6 +17,7 @@
#include "../gui/EventDispatcher.h"
#include "../gui/ShortcutHandler.h"
#include <SDL_clipboard.h>
#include <SDL_events.h>
#include <SDL_hints.h>
@@ -30,13 +31,21 @@ InputSourceKeyboard::InputSourceKeyboard()
void InputSourceKeyboard::handleEventKeyDown(const SDL_KeyboardEvent & key)
{
if(key.repeat != 0)
return; // ignore periodic event resends
if (SDL_IsTextInputActive() == SDL_TRUE)
{
if(key.keysym.sym == SDLK_v) {
std::string clipboardContent = SDL_GetClipboardText();
boost::erase_all(clipboardContent, "\r");
boost::erase_all(clipboardContent, "\n");
GH.events().dispatchTextInput(clipboardContent);
return;
}
if (key.keysym.sym >= ' ' && key.keysym.sym < 0x80)
return; // printable character - will be handled as text input
} else {
if(key.repeat != 0)
return; // ignore periodic event resends
}
assert(key.state == SDL_PRESSED);