Você pode fazer isso em diferentes níveis, dependendo de onde você quer que isso aconteça. Por exemplo, você poderia configurar seu shell ou o editor de texto preferido para fazer isso, mas isso só os afetaria.
Ou você pode configurar o screen
/ tmux
ou seu emulador de terminal para fazer isso e isso afetaria os comandos em execução no emulador de terminal quando o emulador de terminal é a janela ativa.
No X11, você pode usar xbindkey
para manipular uma chave específica ou combinação de teclas e simulá-la em uma série de eventos keypress e keyrelease (usando xte
ou xdotool
, por exemplo). O que funcionaria para qualquer aplicativo que se conecte ao mesmo servidor X e esteja ativo.
Por exemplo, adicione ao seu ~/.xbindkeyrc
:
"sleep 0.1; xdotool type --clearmodifiers $(date +%Y%m%d%H%M%S)"
control+space
Para que o timestamp seja enviado como uma série de pressionamentos de teclas no Ctrl + Space . (Eu acho que se eu não adicionar o sleep 0.1
, às vezes estou faltando o início do timestamp).
Outra opção seria armazenar o timestamp como a seleção PRIMARY X11 e simular um clique do botão do meio do mouse, o que para muitos aplicativos faz com que o conteúdo da seleção PRIMARY seja inserido na posição atual do ponteiro do mouse. Em ~/.xbindkeyrc
:
"date +%Y%m%d%H%M%S | tr -d '\n' | xclip; sleep 0.1; exec xdotool click --clearmodifiers 2"
control+space