Do każdego klawisza dałbym funkcję przesyłającą ID wciśniętego/puszczonego klawisza. Na serwerze do każdego ID klawisza przypisałbym skrypt wykonywany przy naciśniętym/puszczonym klawiszu. I tak po naciśnięciu Left Arrow postać rusza się w lewo, po naciśnięciu Left Mouse Button postać strzela itd.
Nie próbowałem nigdy takiego (ani innego : /) sposobu, słyszałem też, że są przy nim spore opóźnienia. Niemniej - staram się pomóc, poza tym wydaje mi się, że przy pomocy synchronizacji mogłoby nawet wypalić.