summaryrefslogtreecommitdiffstats
path: root/src/emu
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu')
-rw-r--r--src/emu/natkeyboard.cpp21
-rw-r--r--src/emu/natkeyboard.h1
2 files changed, 22 insertions, 0 deletions
diff --git a/src/emu/natkeyboard.cpp b/src/emu/natkeyboard.cpp
index 9a50109eb6f..3851d98719e 100644
--- a/src/emu/natkeyboard.cpp
+++ b/src/emu/natkeyboard.cpp
@@ -565,6 +565,27 @@ void natural_keyboard::post_coded(const char *text, size_t length, const attotim
//-------------------------------------------------
+// paste - does a paste from the keyboard
+//-------------------------------------------------
+
+void natural_keyboard::paste()
+{
+ // retrieve the clipboard text
+ char *text = osd_get_clipboard_text();
+
+ // was a result returned?
+ if (text != nullptr)
+ {
+ // post the text
+ post_utf8(text);
+
+ // free the string
+ free(text);
+ }
+}
+
+
+//-------------------------------------------------
// build_codes - given an input port table, create
// an input code table useful for mapping unicode
// chars
diff --git a/src/emu/natkeyboard.h b/src/emu/natkeyboard.h
index aa29bf4503c..b90eeb9d88e 100644
--- a/src/emu/natkeyboard.h
+++ b/src/emu/natkeyboard.h
@@ -54,6 +54,7 @@ public:
void post(const char32_t *text, size_t length = 0, const attotime &rate = attotime::zero);
void post_utf8(const char *text, size_t length = 0, const attotime &rate = attotime::zero);
void post_coded(const char *text, size_t length = 0, const attotime &rate = attotime::zero);
+ void paste();
// debugging
void dump(std::ostream &str) const;