diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,6 @@
+### 0.2.1
+* Bugfix: the keycodes for `-` and `=` were swapped on Gecko-based browsers (e.g., Firefox)
+
 ## 0.2
 * Add `Data`, `Typeable`, `Generic`, and `Lift` instances for `Key` when possible
 
diff --git a/keycode.cabal b/keycode.cabal
--- a/keycode.cabal
+++ b/keycode.cabal
@@ -1,5 +1,5 @@
 name:                keycode
-version:             0.2
+version:             0.2.1
 synopsis:            Maps web browser keycodes to their corresponding keyboard keys
 description:         Keyboard events in web browsers are often represented as keycodes,
                      which (1) are difficult to remember, and (2) sometimes vary from
diff --git a/src/Web/KeyCode.hs b/src/Web/KeyCode.hs
--- a/src/Web/KeyCode.hs
+++ b/src/Web/KeyCode.hs
@@ -190,7 +190,7 @@
 keyCodeMap :: IntMap Key
 keyCodeMap = fromAscList [
       -- Thanks to David Mauro for his keyCode mapping from the Keypress library
-      -- (https://github.com/dmauro/Keypress/blob/7a58d09f5ff86b9bb37b1740c1cf7c1a20367e47/keypress.coffee#L787-901)
+      -- (https://github.com/dmauro/Keypress/blob/e5e95070d81b998b02b2d7f096267b114a3771d7/keypress.coffee#L802-L916)
       -- Licensed under the Apache License, version 2.0
       (  8, Backspace     )
     , (  9, Tab           )
@@ -225,7 +225,7 @@
     , ( 56, Digit8        )
     , ( 57, Digit9        )
     , ( 59, Semicolon     ) -- Firefox oddity
-    , ( 61, Subtract      ) -- Firefox oddity
+    , ( 61, Equals        ) -- Firefox oddity
     , ( 65, KeyA          )
     , ( 66, KeyB          )
     , ( 67, KeyC          )
@@ -286,7 +286,7 @@
     , (124, PrintScreen   )
     , (144, NumLock       )
     , (145, ScrollLock    )
-    , (173, Equals        ) -- Firefox oddity
+    , (173, Subtract      ) -- Firefox oddity
     , (186, Semicolon     )
     , (187, Equals        )
     , (188, Comma         )
