diff --git a/key-state.cabal b/key-state.cabal
--- a/key-state.cabal
+++ b/key-state.cabal
@@ -1,9 +1,11 @@
--- This file has been generated from package.yaml by hpack version 0.17.1.
+-- This file has been generated from package.yaml by hpack version 0.20.0.
 --
 -- see: https://github.com/sol/hpack
+--
+-- hash: 6b8b6e60b940dc1a27d7b9143d374d3b908fbf8f020a8afa5ca36b00ec8a6a2c
 
 name:           key-state
-version:        0.1.0
+version:        0.2.0
 synopsis:       Manage key and button states and statuses
 description:    Manage key and button states and statuses
 category:       Game
@@ -33,6 +35,8 @@
       base >=4.7 && <5
   exposed-modules:
       KeyState
+  other-modules:
+      Paths_key_state
   default-language: Haskell2010
 
 test-suite key-state-tests
@@ -44,8 +48,9 @@
   ghc-options: -Wall -rtsopts -threaded -with-rtsopts=-N
   build-depends:
       base
-    , key-state
     , hspec
+    , key-state
   other-modules:
       KeyStateSpec
+      Paths_key_state
   default-language: Haskell2010
diff --git a/library/KeyState.hs b/library/KeyState.hs
--- a/library/KeyState.hs
+++ b/library/KeyState.hs
@@ -6,6 +6,11 @@
   , releasedKeyState
   , updateKeyState
   , maintainKeyState
+  , isHeld
+  , isPressed
+  , isUntouched
+  , isReleased
+  , isTouched
   ) where
 
 data KeyStatus
@@ -56,3 +61,18 @@
   KeyStatus'Pressed -> KeyState KeyStatus'Held Nothing
   KeyStatus'Held -> KeyState KeyStatus'Held (Just $ delta + (case ksCounter of Nothing -> 0; Just counter -> counter))
   KeyStatus'Released -> KeyState KeyStatus'Untouched Nothing
+
+isHeld :: KeyState a -> Bool
+isHeld ks = ksStatus ks == KeyStatus'Held
+
+isPressed :: KeyState a -> Bool
+isPressed ks = ksStatus ks == KeyStatus'Pressed
+
+isUntouched :: KeyState a -> Bool
+isUntouched ks = ksStatus ks == KeyStatus'Untouched
+
+isReleased :: KeyState a -> Bool
+isReleased ks = ksStatus ks == KeyStatus'Released
+
+isTouched :: KeyState a -> Bool
+isTouched ks = isPressed ks || isHeld ks
diff --git a/package.yaml b/package.yaml
--- a/package.yaml
+++ b/package.yaml
@@ -1,5 +1,5 @@
 name: key-state
-version: '0.1.0'
+version: '0.2.0'
 category: Game
 synopsis: Manage key and button states and statuses
 description: Manage key and button states and statuses
