Estaba en una situación similar y no quería usar la sinergia porque ya estaba ejecutando la sinergia en las computadoras a las que quería enviar el teclado y no tengo X ejecutándose en el host. Encontré que uinput-mapper es la solución perfecta para mi caso.
Github:
https://github.com/MerlijnWajer/uinput-mapper
Cómo hacerlo:
http://blog.pi3g.com/2014/03/uinput-mapper-redirecting-keyboard-and-mouse-to-any-linux-system-using-a-raspberry-pi/
Usé netcat en lugar de SSH ya que no estoy demasiado preocupado por la seguridad en mi LAN y parece interceptar el teclado antes de que pueda escribir su contraseña. Debe ejecutarse como root o, más idealmente, solo tener el privilegio de meterse con dispositivos de entrada.
En la computadora que necesita un teclado:
# nc -l -p 7005|./input-create
Luego en la computadora con el teclado:
# ./input-read -G /dev/input/eventX -D|nc 192.168.1.122 7005
(donde eventX es su teclado y 192.XXX es la computadora a la que envía el teclado)
No ha tenido problemas de velocidad y todas las teclas funcionan correctamente. Creo que también funciona con ratones, pero no tuve necesidad de usar eso.