Dê uma combinação de xbindkeys e xvkbd uma tentativa. xbindkeys ouve as chaves e envia a tradução para xvkbd.
sudo apt-get install xbindkeys xvkbd
xbindkeys --defaults > /home/your-user-name/.xbindkeysrc
Abra o .xbindkeysrc no seu editor favorito. Eu comentei todo o resto, mas é bom consultar se necessário.
Para conferir, tentei mapear Ctrl +; para Ctrl + V
"xvkbd -xsendevent -text "\Cv""
control + semicolon
Espero que você esteja atrás de algo assim
"xvkbd -xsendevent -text "\C\S\[Left]""
Super+Control+Shift+J
Salve o arquivo e execute xbindkeys
Para recarregar quaisquer alterações de configuração, eu matei o processo xbindkeys e reiniciei.
sintaxe xbindkeys
Eu trabalhei a combinação de teclas usando uma GUI para xbindkeys
sudo apt-get install xbindkeys-config
xbindkeys-config
Depois de executar isso, pressione Get Key para a combinação para colocar na segunda linha do seu arquivo .xbindkeysrc.
sintaxe xvkbd
Do manual:
\r - Return
\t - Tab
\b - Backspace
\e - Escape
\d - Delete
\S - Shift (modify the next character; please note that modify with ''\S'' will be ignored in many cases. For example, ''a\Cb\ScD\CE'' will be interpreted as a, Control-b, c, Shift-D, and Control-Shift-E.)
\C - Control (modify the next character)
\A - Alt (modify the next character)
\M - Meta (modify the next character)
\[keysym] - the keysym keysym (e.g., \[Left]), which will be processed in the similar matter with other general characters
\{keysym} - the keysym keysym (e.g., \{Left}), which will be processed in more primitive matter and can also be used for modofier keys such as Control_L, Meta_L, etc.; also, \{+keysym} and \{+keysym} will simulate press and release of the key, respectively [Version 3.3]
\Ddigit - delay digit * 100 ms
\xvalue - move mouse pointer (use "+" or "-" for relative motion)
\yvalue - move mouse pointer (use "+" or "-" for relative motion)
\mdigit - simulate click of the specified mouse button
Adora ouvir como funciona e se a combinação foi adequada ao seu propósito. Parece bom como um keymapper, mas não necessariamente um macro runner.