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()
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')
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)
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