From d3bc854ddfbb0c8e9765d14ca3f0a1c8943b6b71 Mon Sep 17 00:00:00 2001
From: Olivier <olivier@gid0.org>
Date: Sat, 16 Apr 2016 15:13:02 +0200
Subject: [PATCH] Correct a bug with stuck modifier keys when they were used
 with other layers (like when selecting with shift and navigation keys) and
 released before the layout switch keys.

---
 keyboard/ergodox_ez/keymaps/bepo/bepo.hex | 24 +++++++++++------------
 keyboard/ergodox_ez/keymaps/bepo/keymap.c | 16 +++++++--------
 2 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/keyboard/ergodox_ez/keymaps/bepo/bepo.hex b/keyboard/ergodox_ez/keymaps/bepo/bepo.hex
index 04eeee252..8f1e793ed 100644
--- a/keyboard/ergodox_ez/keymaps/bepo/bepo.hex
+++ b/keyboard/ergodox_ez/keymaps/bepo/bepo.hex
@@ -25,34 +25,34 @@
 :1001800000460001522D002F0034003100480000CD
 :10019000000000000000000000000000003A000025
 :1001A0000000000000000000003B00000000000014
-:1001B00000000000003C0000000000000000000003
-:1001C000003D00000000000000000000003E0000B4
+:1001B00000010000003C0000000000000001000001
+:1001C000003D00000000000000010000003E0000B3
 :1001D000000000000000000000000000000000001F
 :1001E000000000000000000000000000000000000F
 :1001F000003F000000000000000000000040000080
-:1002000000000000000000000041000000000000AD
-:10021000000000000042000000000000000000009C
+:1002000000000000000100000041000000000000AC
+:100210000001000000420000000000000001000199
 :100220000043000000000000000000010044004501
 :1002300000680069000000000000000000000000ED
 :1002400000000000000000000000000000000000AE
-:10025000000000000000000000000000000000009E
-:10026000000000000000000000000000000000008E
-:10027000000000010000000000000000000000007D
+:10025000000000000000000000010000000000009D
+:10026000000000000001000000000000000000008D
+:10027000000100010000000000000000000000007C
 :10028000000000000000000000000000000000006E
 :10029000000000000000000000000000000000005E
 :1002A000000000000057005F005C00590062000081
 :1002B00000560060005D005A000030580054006194
-:1002C000005E005B0085000000550000000000009B
+:1002C000005E005B0085000100550000000000009A
 :1002D000000000000000000000000000000000001E
 :1002E000000000000000000000000000000000000E
 :1002F00000000000000000010000000000000000FD
-:1003000000000000000000000000000000000000ED
-:1003100000000000000000000000000000000000DD
+:1003000000010000000000000000000000010000EB
+:1003100000000000000000000001000000000000DC
 :1003200000000000000000000000000000000000CD
 :1003300000000000000000000000000000000000BD
 :100340000000000000000000000000000000004A63
-:1003500000500000000000000000005200510000AA
-:10036000000000000000004D004F000000000000F1
+:1003500000500000000100000000005200510000A9
+:10036000000100000000004D004F000000010001EE
 :100370000000004B004E00000000000000000000E4
 :100380000000000000000000001603450072006736
 :10039000006F0044006F007800200045005A000004
diff --git a/keyboard/ergodox_ez/keymaps/bepo/keymap.c b/keyboard/ergodox_ez/keymaps/bepo/keymap.c
index d15e75d60..adb5ea0f1 100644
--- a/keyboard/ergodox_ez/keymaps/bepo/keymap.c
+++ b/keyboard/ergodox_ez/keymaps/bepo/keymap.c
@@ -72,7 +72,7 @@ KC_NO,		KC_F1,		KC_F2,		KC_F3,		KC_F4,		KC_F5,		KC_NO,
 KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,
 KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,
 KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,
-KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,
+KC_NO,		KC_NO,		KC_TRNS,	KC_TRNS,	KC_TRNS,
 														KC_NO,		KC_NO,
 																KC_NO,
 												KC_NO,		KC_NO,		KC_NO,
@@ -81,10 +81,10 @@ KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,
 				KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_F12,
 						KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_F13,
 				KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_F14,
-								KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,
+								KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_NO,		KC_NO,
 KC_NO,		KC_NO,
 KC_NO,
-KC_TRNS,	KC_NO,		KC_NO),
+KC_TRNS,	KC_TRNS,	KC_NO),
 /* Keymap 2: numeric layer, sends keypad codes
  *
  * ,--------------------------------------------------.                                  ,--------------------------------------------------.
@@ -109,7 +109,7 @@ KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,
 KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,
 KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,
 KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,
-KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,
+KC_NO,		KC_NO,		KC_TRNS,	KC_TRNS,	KC_TRNS,
 														KC_NO,		KC_NO,
 																KC_TRNS,
 												KC_NO,		KC_NO,		KC_NO,
@@ -121,7 +121,7 @@ KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,
 								KC_KP_0,	M(KP_00),	KC_KP_COMMA,	KC_NO,		KC_NO,
 KC_NO,		KC_NO,
 KC_NO,
-KC_NO,		KC_NO,		KC_KP_ENTER),
+KC_NO,		KC_TRNS,	KC_KP_ENTER),
 /* Keymap 3: navigation layer
  *
  * ,--------------------------------------------------.                                  ,--------------------------------------------------.
@@ -146,7 +146,7 @@ KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,
 KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,
 KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,
 KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,
-KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,
+KC_NO,		KC_NO,		KC_TRNS,	KC_TRNS,	KC_TRNS,
 														KC_NO,		KC_NO,
 																KC_NO,
 												KC_NO,		KC_NO,		KC_TRNS,
@@ -155,10 +155,10 @@ KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,
 				KC_NO,		KC_NO,		KC_HOME,	KC_UP,		KC_END,		KC_PGUP,	KC_NO,
 						KC_NO,		KC_LEFT,	KC_DOWN,	KC_RIGHT,	KC_PGDOWN,	KC_NO,
 				KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,
-								KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,
+								KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_NO,		KC_NO,
 KC_NO,		KC_NO,
 KC_NO,
-KC_NO,		KC_NO,		KC_NO)
+KC_NO,		KC_TRNS,	KC_NO)
 };
 
 const uint16_t PROGMEM fn_actions[] = {
-- 
2.39.5