mirror of
https://github.com/vcmi/vcmi.git
synced 2025-02-09 13:14:02 +02:00
allow clipboard paste
This commit is contained in:
parent
0be3d6911c
commit
59f3740aea
@ -17,6 +17,7 @@
|
|||||||
#include "../gui/EventDispatcher.h"
|
#include "../gui/EventDispatcher.h"
|
||||||
#include "../gui/ShortcutHandler.h"
|
#include "../gui/ShortcutHandler.h"
|
||||||
|
|
||||||
|
#include <SDL_clipboard.h>
|
||||||
#include <SDL_events.h>
|
#include <SDL_events.h>
|
||||||
#include <SDL_hints.h>
|
#include <SDL_hints.h>
|
||||||
|
|
||||||
@ -30,13 +31,21 @@ InputSourceKeyboard::InputSourceKeyboard()
|
|||||||
|
|
||||||
void InputSourceKeyboard::handleEventKeyDown(const SDL_KeyboardEvent & key)
|
void InputSourceKeyboard::handleEventKeyDown(const SDL_KeyboardEvent & key)
|
||||||
{
|
{
|
||||||
if(key.repeat != 0)
|
|
||||||
return; // ignore periodic event resends
|
|
||||||
|
|
||||||
if (SDL_IsTextInputActive() == SDL_TRUE)
|
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)
|
if (key.keysym.sym >= ' ' && key.keysym.sym < 0x80)
|
||||||
return; // printable character - will be handled as text input
|
return; // printable character - will be handled as text input
|
||||||
|
} else {
|
||||||
|
if(key.repeat != 0)
|
||||||
|
return; // ignore periodic event resends
|
||||||
}
|
}
|
||||||
|
|
||||||
assert(key.state == SDL_PRESSED);
|
assert(key.state == SDL_PRESSED);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user