diff --git a/common/rfb/CMsgWriter.cxx b/common/rfb/CMsgWriter.cxx
index 84a0d1f..44b73da 100644
--- a/common/rfb/CMsgWriter.cxx
+++ b/common/rfb/CMsgWriter.cxx
@@ -217,7 +217,7 @@
   endMsg();
 }
 
-void CMsgWriter::keyEvent(rdr::U32 keysym, rdr::U32 keycode, bool down)
+void CMsgWriter::writeKeyEvent(rdr::U32 keysym, rdr::U32 keycode, bool down)
 {
   if (!cp->supportsQEMUKeyEvent || !keycode) {
     /* This event isn't meaningful without a valid keysym */
@@ -240,7 +240,7 @@
 }
 
 
-void CMsgWriter::pointerEvent(const Point& pos, int buttonMask)
+void CMsgWriter::writePointerEvent(const Point& pos, int buttonMask)
 {
   Point p(pos);
   if (p.x < 0) p.x = 0;
@@ -256,7 +256,7 @@
 }
 
 
-void CMsgWriter::clientCutText(const char* str, int len)
+void CMsgWriter::writeClientCutText(const char* str, rdr::U32 len)
 {
   startMsg(msgTypeClientCutText);
   os->pad(3);
diff --git a/common/rfb/CMsgWriter.h b/common/rfb/CMsgWriter.h
index eb9b112..1322186 100644
--- a/common/rfb/CMsgWriter.h
+++ b/common/rfb/CMsgWriter.h
@@ -25,8 +25,6 @@
 
 #include <rdr/types.h>
 
-#include <rfb/InputHandler.h>
-
 namespace rdr { class OutStream; }
 
 namespace rfb {
@@ -34,9 +32,10 @@
   class PixelFormat;
   class ConnParams;
   struct ScreenSet;
+  struct Point;
   struct Rect;
 
-  class CMsgWriter : public InputHandler {
+  class CMsgWriter {
   public:
     CMsgWriter(ConnParams* cp, rdr::OutStream* os);
     virtual ~CMsgWriter();
@@ -53,11 +52,9 @@
 
     void writeFence(rdr::U32 flags, unsigned len, const char data[]);
 
-    // InputHandler implementation
-
-    virtual void keyEvent(rdr::U32 keysym, rdr::U32 keycode, bool down);
-    virtual void pointerEvent(const Point& pos, int buttonMask);
-    virtual void clientCutText(const char* str, int len);
+    void writeKeyEvent(rdr::U32 keysym, rdr::U32 keycode, bool down);
+    void writePointerEvent(const Point& pos, int buttonMask);
+    void writeClientCutText(const char* str, rdr::U32 len);
 
   protected:
     void startMsg(int type);
