diff --git a/Chart-gtk.cabal b/Chart-gtk.cabal
--- a/Chart-gtk.cabal
+++ b/Chart-gtk.cabal
@@ -1,5 +1,5 @@
 Name: Chart-gtk
-Version: 1.2.3
+Version: 1.2.4
 License: BSD3
 License-file: LICENSE
 Copyright: Tim Docker, 2006-2010
diff --git a/Graphics/Rendering/Chart/Gtk.hs b/Graphics/Rendering/Chart/Gtk.hs
--- a/Graphics/Rendering/Chart/Gtk.hs
+++ b/Graphics/Rendering/Chart/Gtk.hs
@@ -23,13 +23,10 @@
 import Control.Monad(when)
 import System.IO.Unsafe(unsafePerformIO)
 
--- do action m for any keypress (except meta keys)
+-- do action m for any keypress (except modified keys)
 anyKey :: (Monad m) => m a -> GE.Event -> m Bool
-anyKey m (GE.Key {GE.eventKeyName=key})
-    | any (`isPrefixOf` key) ignores = return True
-    | otherwise                      = m >> return True
-  where ignores = ["Shift","Control","Alt",
-                   "Super","Meta","Hyper"]
+anyKey m (GE.Key {GE.eventModifier=[]}) = m >> return True
+anyKey _ _ = return True
 
 -- Yuck. But we really want the convenience function
 -- renderableToWindow as to be callable without requiring
