In this post, we'll show how to add a custom keyboard shortcut to paste predefined text in Linux Mint. We are going to use a package called - xdotool.

If you like to check how to add shortcut for pasting dates: Linux Mint - Add Hotkey to Paste/Insert Dates

Step 1: Install Xdotool

First we need to make sure that xdotool is installed on our system. If not we can add it by:

sudo apt install xdotool

Xdotool is included by default in repositories of Ubuntu and Linux Mint.

Step 2: Add Custom Keyboard Shortcut

Next step shows how to add a custom shortcut in Linux Mint:

  • Visit the Main Menu
  • Preferences
  • Search for Keyboard
  • Open Shortcuts
  • Navigate to Custom Shortcuts
  • Add custom shortcut - in the bottom left
  • Enter:
    • Name - Paste Custom Text
    • Command - example bash -c "sleep .1 && xdotool type \"$(date +'%Y-%m-%d')\""
  • Click to Keyboard bindings - unassigned
  • Select the keyword combination for this shortcut - after pressing the combination you will see a change from unassigned to your combination.

If the combination is used you will see a warning message that you are going to override the combination.

add-custom-keyboard-shortcut-paste-predefined-text-linux-mint

Step 3: Build the xdotool command for pasting simple text

Finally we need to build a command which is going to paste predefined text each time when a keyboard key is pressed. In this example we are interested in pasting simple text which makes the command simpler:

bash -c "sleep .2 && xdotool type 'Linux Mint'"

The command above will paste the text: Linux Mint - each time the key is pressed.

Step 4: Build the xdotool command for pasting new lines

If you like to get new lines pasted by xdotool you will need a simple trick. Let say that you like to paste:

Softhints,
Kind Regards!

You can achieve it by using: xdotool key KP_Enter to chain the text commands. The example below paste the text above:

bash -c "sleep .2 && xdotool type 'Softhints,' && xdotool key KP_Enter && xdotool key KP_Enter &&  xdotool type 'Kind Regards!'"

What if you like to have special symbols like `: Then the single quote guarantee that syntax is correct:

bash -c "sleep .2 && xdotool type '```python' && xdotool key KP_Enter && xdotool key KP_Enter &&  xdotool type '```'"

The command above will paste anywhere:

```python

```

Conclusion

In this post, we looked at a general use case of using package xdotool - typing text. We also looked at using the tool for pasting text with new lines.

This is quite useful for automating repetitive text writing for word, mails etc.