diff --git a/UI/HSCurses/Curses.hsc b/UI/HSCurses/Curses.hsc
--- a/UI/HSCurses/Curses.hsc
+++ b/UI/HSCurses/Curses.hsc
@@ -234,6 +234,11 @@
     defineKey (#const KEY_DOWN) "\x1b[1;2B"
     defineKey (#const KEY_SLEFT) "\x1b[1;2D"
     defineKey (#const KEY_SRIGHT) "\x1b[1;2C"
+    defineKey (#const KEY_B2) "\x1b[E"  -- xterm seems to emit B2, not BEG
+    defineKey (#const KEY_END) "\x1b[F"
+    defineKey (#const KEY_END) "\x1b[4~"
+    defineKey (#const KEY_HOME) "\x1b[H"
+    defineKey (#const KEY_HOME) "\x1b[1~"
 #endif
 
 ------------------------------------------------------------------------
@@ -241,7 +246,7 @@
 fi :: (Integral a, Num b) => a -> b
 fi = fromIntegral
 
-throwIfErr :: Num a => String -> IO a -> IO a
+throwIfErr :: (Eq a, Show a, Num a) => String -> IO a -> IO a
 --throwIfErr name act = do
 --    res <- act
 --    if res == (cERR)
@@ -249,7 +254,7 @@
 --        else return res
 throwIfErr s = throwIf (== (#const ERR)) (\a -> "Curses[" ++ show a ++ "]:"  ++ s)
 
-throwIfErr_ :: Num a => String -> IO a -> IO ()
+throwIfErr_ :: (Eq a, Show a, Num a) => String -> IO a -> IO ()
 throwIfErr_ name act = void $ throwIfErr name act
 
 errI :: IO CInt -> IO ()
diff --git a/hscurses.cabal b/hscurses.cabal
--- a/hscurses.cabal
+++ b/hscurses.cabal
@@ -1,5 +1,5 @@
 Name:           hscurses
-Version:        1.4.1.0
+Version:        1.4.1.1
 License:        LGPL
 License-file:   LICENSE
 Author:         John Meacham <john at repetae dot net>
@@ -36,7 +36,7 @@
 
 Library
   Build-depends:  base == 4.*, mtl,
-                  old-time == 1.0.*, old-locale == 1.0.*
+                  old-time < 1.2, old-locale == 1.0.*
   if !os(windows)
     Build-depends: unix >= 2.4 && < 2.6
   Exposed-modules:
