diff --git a/reactive-glut.cabal b/reactive-glut.cabal
--- a/reactive-glut.cabal
+++ b/reactive-glut.cabal
@@ -1,5 +1,5 @@
 Name:                reactive-glut
-Version:             0.1.0
+Version:             0.1.1
 Cabal-Version:       >= 1.2
 Synopsis:            Connects Reactive and GLUT
 Category:            FRP, graphics
diff --git a/src/FRP/Reactive/GLUT/Adapter.hs b/src/FRP/Reactive/GLUT/Adapter.hs
--- a/src/FRP/Reactive/GLUT/Adapter.hs
+++ b/src/FRP/Reactive/GLUT/Adapter.hs
@@ -61,10 +61,10 @@
        case (k,ks) of
          (G.MouseButton G.LeftButton ,G.Down) -> leftDownSink  ()
          (G.MouseButton G.RightButton,G.Down) -> rightDownSink ()
-         (G.Char c      ,G.Down) -> keyActionSink ((Down, Char c))
-         (G.SpecialKey s,G.Down) -> keyActionSink ((Down, SpecialKey s))
-         (G.Char c      ,G.Up) -> keyActionSink ((Up, Char c))
-         (G.SpecialKey s,G.Up) -> keyActionSink ((Up, SpecialKey s))
+         (G.Char c      ,G.Down) -> keyActionSink (Down, Char c)
+         (G.SpecialKey s,G.Down) -> keyActionSink (Down, SpecialKey s)
+         (G.Char c      ,G.Up)   -> keyActionSink (Up  , Char c)
+         (G.SpecialKey s,G.Up)   -> keyActionSink (Up  , SpecialKey s)
          _ -> return ()
       )
      updater <- mkUpdater
