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:
parent
0be3d6911c
commit
59f3740aea
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user