From 92b7488449e0b793471dc87a4d10537b45708562 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Fri, 20 May 2022 15:52:03 -0700 Subject: [PATCH] super+v to paste --- TODO.md | 2 +- src/Window.zig | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/TODO.md b/TODO.md index 5612740b4..a64dd953c 100644 --- a/TODO.md +++ b/TODO.md @@ -17,7 +17,7 @@ Major Features: * History, mouse scrolling * Line wrap * Selection, highlighting -* Copy/paste +* Copy (paste is done) * Bold * Underline * Strikethrough diff --git a/src/Window.zig b/src/Window.zig index 3d085d8fb..fcbb00ebe 100644 --- a/src/Window.zig +++ b/src/Window.zig @@ -380,7 +380,22 @@ fn keyCallback( defer tracy.end(); _ = scancode; - _ = mods; + + // Paste + if (action == .press and mods.super and key == .v) { + const data = glfw.getClipboardString() catch |err| { + log.warn("error reading clipboard: {}", .{err}); + return; + }; + + if (data.len > 0) { + const win = window.getUserPointer(Window) orelse return; + win.queueWrite(data) catch |err| + log.warn("error pasting clipboard: {}", .{err}); + } + + return; + } //log.info("KEY {} {} {} {}", .{ key, scancode, mods, action }); if (action == .press or action == .repeat) {