Xterm provides a way to do select/paste using the keyboard, but (a) it is not often used and (b) requires a little work to configure it.
Refer to Default Key Bindings in the manual, to see that there are predefined bindings including these:
Shift <KeyPress> Select:select-cursor-start() \
select-cursor-end(SELECT, CUT_BUFFER0) \n\
Shift <KeyPress> Insert:insert-selection(SELECT, CUT_BUFFER0) \n\
Those are analogous to the mouse-oriented translations
~Ctrl ~Meta <Btn3Down>:start-extend() \n\
~Meta <Btn3Motion>:select-extend() \n\
~Ctrl ~Meta <Btn2Up>:insert-selection(SELECT, CUT_BUFFER0) \n\
The actions can be bound to keys (or modified keys) of your choice. The existing binding is useful as is if you happen to have a Select and Insert key on your keyboard. If you do not, you could either use
xmodmap to map existing keys to those symbols, or you could use the translations as a model for making your own customized translations.
In both, you may notice the
SELECT target, which xterm uses with the
selectToClipboard resource to provide a runtime switch (with a menu entry) between the