Isso não é simples.
No entanto, é possível usar um pouco de programação para fazer um filtro de linha de comando para provar o conceito. Por exemplo, em Python (veja abaixo).
Esse filtro pegaria a entrada padrão (ou seja, o seu teclado) e passaria para a saída padrão. Ele também deve capturar os dados do mouse e, quando ele vir os dados da roda de rolagem, adicionar a seta para cima ou para baixo até a saída padrão.
Você pode capturar a saída do mouse em / dev / input / mouse (ou mouse0 ou mouse1)
Você então começa como:
sudo ./filter.py | bash
Um conceito de trabalho bruto está aqui:
#!/usr/bin/python
import fcntl
import os
import sys
# make stream a non-blocking file
f = open('/dev/input/mouse0')
fd = f.fileno()
fl = fcntl.fcntl(fd, fcntl.F_GETFL)
fcntl.fcntl(fd, fcntl.F_SETFL, fl | os.O_NONBLOCK)
while (True):
key = sys.stdin.read(1)
sys.stdout.write(key)
sys.stdout.flush()
try:
mouse = f.read(1)
sys.stdout.write('date\n')
sys.stdout.flush()
except:
continue
Ele irá executar todos os comandos que você digitar (sem prompt) e quando você mover o mouse, e depois apertar enter ele irá executar o comando 'date'.