- CLIPBOARD:
- This contains copied data.
- Copy data by selecting text and pressing Ctrl+c or right-clicking and choosing copy from the context menu.
- Paste data by pressing Ctrl+v or pressing Shift+Insert or right-clicking the mouse and choosing paste to paste.
- AutoKey's
clipboard.get_clipboard()
andclipboard.fill_clipboard()
API calls can access this.
- PRIMARY:
- This contains selected data.
- Its purpose is to contain the only argument to commands that take one argument and is the principal means of communication between clients that use the selection mechanism.
- Select data by selecting text.
- Paste data by pressing the middle mouse button.
- AutoKey's
clipboard.get_selection()
andclipboard.fill_selection()
API calls can access this.
- SECONDARY:
- This contains selected data.
- Its purpose is to either contain the second argument to commands that take two arguments or to contain additional data when there's already a primary selection that the user doesn't want to disturb.
- Select data by holding down the meta or Alt key while selecting text.
- Paste data by holding down the meta or Alt key while pressing the middle mouse button.
- AutoKey doesn't have API calls to access this.
- With the keyboard:
- Hold down the Shift key while pressing any of the arrow keys.
- Hold down the Shift key while pressing the Home or End button.
- Hold down the Shift key while pressing the PgUp or PgDn button.
- Hold down the Ctrl and Shift and End keys.
- With the mouse:
- Hold down the left mouse button and drag it across the text.
- Hold down the left mouse button and lasso the text with the mouse.
- Double-click to select the current word.
- Triple click to select the curent line.
- With the mouse and keyboard:
- Hold down the left mouse button and press the PgUp or PgDn key.
- Hold down the left mouse button and press the Ctrl key.
- Hold down the left mouse button and the Ctrl and Shift and End keys.
- Hold down the Ctrl key while making multiple selections.
- Select some text and press the Ctrl and Ins keys together.
For more details about how all of this works, see the "Peer-to-Peer Communication by Means of Selections" section in the Inter-Client Communication Conventions Manual.
Yeah, the control codes got the better of me. I tried
<code12>
in a phrase andkeyboard.send_keys("<code12>")
in a script and got a 3 in each case, which was proof that it works. My tests with lower numbers hadn't resulted in any output because apparently there aren't codes for those lower numbers. Anyway, since that worked, I tried a few more high numbers and got various characters. As a result, I finally took a chance and ran your code like this:It works, but 🛑 is very dangerous code 🛑 that goes out of control, opening and closing windows automatically, etc. I'd either throw a much longer delay onto it to buy you time to end the AutoKey process when it goes out of control (and have
pkill autokey
in a handy shortcut icon at the ready for doing that so that you can be quick) or be ready to press and hold Alt+PrtSc while typing REISUB in order to reboot your computer when it all goes haywire, as I had to do.What are the names of these codes so that we can look them up in a chart somewhere and know what they do without trying them? I haven't yet found any kind of character sets that turn a 12 into a 3.