Eu estava em uma situação semelhante e não queria usar sinergia porque já estava executando a sinergia nos computadores para os quais queria enviar o teclado e não tinha o X em execução no host. Eu achei o uinput-mapper a solução perfeita para o meu caso.
Github:
https://github.com/MerlijnWajer/uinput-mapper
Como fazer:
http://blog.pi3g.com/2014/03/uinput-mapper-redirecting-keyboard-and-mouse-to-any-linux-system-using-a-raspberry-pi/
Usei o netcat em vez do SSH, pois não estou muito preocupado com a segurança na minha LAN e ele parece interceptar o teclado antes que você possa digitar sua senha. Deve ser executado como root ou, mais idealmente, apenas ter privilégio de mexer com os dispositivos de entrada.
No computador que precisa de um teclado:
# nc -l -p 7005|./input-create
Em seguida, no computador com o teclado:
# ./input-read -G /dev/input/eventX -D|nc 192.168.1.122 7005
(em que eventX é o seu teclado e 192.XXX é o computador para o qual você está enviando o teclado)
Não houve problemas de velocidade e todas as teclas funcionam corretamente. Acredito que funciona com ratos também, mas não precisei usá-lo.