Exemple #1
0
def main():
    sdl2.sdl2_load(ctypes.util.find_library('SDL2')) # '/usr/local/lib/libSDL2.dylib'

    sdl2.SDL_Init(sdl2.SDL_INIT_EVERYTHING)

    print(sdl2.SDL_HasClipboardText())
    print(sdl2.SDL_GetClipboardText())
    print(sdl2.SDL_SetClipboardText(b"Hello, world."))
    print(sdl2.SDL_HasClipboardText())
    print(sdl2.SDL_GetClipboardText())

    sdl2.SDL_Quit()
Exemple #2
0
 def paste(self, mouse=False):
     """Return unicode text from clipboard."""
     text = sdl2.SDL_GetClipboardText()
     if text is None:
         return u''
     return text.decode('utf-8',
                        'replace').replace('\r\n',
                                           '\n').replace('\n', '\r')
Exemple #3
0
def get_clipboard_text(encoding: str = "utf8") -> str:
    """Returns clipboard contents"""

    data = sdl2.SDL_GetClipboardText()
    try:
        return data.decode(encoding)
    except UnicodeDecodeError:
        return ""
    finally:
        sdl2.SDL_free(data)
Exemple #4
0
def get_clipboard_text():
    import sdl2 as sdl
    paste_text_ptr = ctypes.c_char_p()
    old_restype = sdl.SDL_GetClipboardText.restype
    sdl.SDL_GetClipboardText.restype = ctypes.c_void_p
    paste_text_ptr = sdl.SDL_GetClipboardText()
    sdl.SDL_GetClipboardText.restype = old_restype
    if paste_text_ptr == 0:
        return
    paste_text = ctypes.cast(paste_text_ptr, ctypes.c_char_p).\
        value.decode("utf-8", "replace")
    sdl.SDL_free(paste_text_ptr)
    return paste_text