This is one of the features I miss on Windows (https://github.com/Collective-Software/ClickPaste), I was wondering if there was an alternative to this for Linux?

Essentially instead of pasting all the text from your clipboard, it will type out the contents as though the letters were typed on the keyboard. One by one. This allowed me to “paste” into VMs and other places that I normally couldn’t.

The ol’ google gave me nothing but “How to paste into terminal” posts which is not what I want.

  • @[email protected]
    link
    fedilink
    29
    edit-2
    1 month ago
    xclip -o -selection clipboard | xdotool keyup Super_L type --delay 100 --clearmodifiers --file -
    

    I use the code above with Win + T in KDE shortcuts to type the content from the clipboard.

    • @JozzoOP
      link
      430 days ago

      Works awesome! Thanks for introducing me to xdotool, what a helpful utility. Question: what does the --file flag in your command do? I can’t find it in the manpage

      • @[email protected]
        link
        fedilink
        430 days ago

        xdotool type --help

        –file <filepath> - specify a file, the contents of which will be be typed as if passed as an argument. The filepath may also be ‘-’ to read from stdin.

  • @[email protected]
    link
    fedilink
    161 month ago

    I’m on Wayland these days, but if you happen to be using X11 this is the homebrew solution I used to use:

    xdotool type --delay 50 "$(xclip -o -sel c)"
    

    The --delay argument specifies the delay in milliseconds between keystrokes; if you go too low on that it tends to break things.

    Interested to see what solrize comes up with because this method definitely has drawbacks – no way to interrupt it and if you accidentally paste something large it takes a long time to finish due to the forced delays.

    I’ve never really had the need for a Wayland version, but I don’t see why subbing ydotool for xdotool and wl-paste for xclip wouldn’t work.

    • @[email protected]
      link
      fedilink
      English
      21 month ago

      If you pasted something long, you could possible switch to a terminal (ctrl+alt+f2 or something), and kill the process.
      Or you could grab another machine, and ssh into yours to kill the process.

    • @[email protected]
      link
      fedilink
      English
      1
      edit-2
      1 month ago

      ydotool has lots of caveats because of wayland; your other examples work better imo.

    • @JozzoOP
      link
      130 days ago

      Good solution, cheers! I also followed the other commenter’s idea to add it as a KDE shortcut so I can use it on demand.

      I guess I’ll just need to be careful not to paste a bazillion lines of text lol

  • @solrize
    link
    21 month ago

    You have to post X events for the keystrokes. I may have some code around that does something similar, lemme look.

  • @[email protected]
    link
    fedilink
    11 month ago

    I work around this by enabling rdp or ssh on guests as soon as possible and connect from my terminal for ssh, I use remmina for rdp, paste works there.

    I don’t know other situations where I would need this.

  • kbal
    link
    fedilink
    11 month ago

    The closest I know of would be xdotool which may or may not be useful depending on why you’re trying to do that. Apparently wtype is one alternative if you’re on Wayland.

  • @[email protected]
    link
    fedilink
    01 month ago

    If you want to paste into VMs, you can use spice, or if there’s no graphical environment in the VM then SSH into it and paste into your terminal