From fdd06d3fcafd5aae5eb8a6edf208f60a40a6a0be Mon Sep 17 00:00:00 2001
From: Priyadi Iman Nurcahyo <priyadi@priyadi.net>
Date: Sat, 11 Feb 2017 00:21:27 +0700
Subject: [PATCH] RShift + LShift = Capslock

---
 keyboards/handwired/promethium/keymaps/priyadi/keymap.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c
index 3107d4e05f..b50d2c3e23 100644
--- a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c
+++ b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c
@@ -744,6 +744,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 
   switch (keycode) {
     // handle greek layer shift
+    // handle both shift = capslock
     case KC_LSFT:
     case KC_RSFT:
       ;
@@ -758,6 +759,13 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
             layer_off(_GREEKU);
           }
         }
+      } else {
+        if (record->event.pressed) {
+          if (lshift ^ rshift) { // if only one shift was pressed
+            register_code(KC_CAPS);
+            unregister_code(KC_CAPS);
+          }
+        }
       }
       return true;
       break;