1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-01-26 03:52:01 +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
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

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);