summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPriyadi Iman Nurcahyo <priyadi@priyadi.net>2017-02-11 00:21:27 +0700
committerPriyadi Iman Nurcahyo <priyadi@priyadi.net>2017-02-11 00:21:27 +0700
commitfdd06d3fcafd5aae5eb8a6edf208f60a40a6a0be (patch)
treec246bf16096feb0ee1c71328eddf94c72788fef4
parentbf31f516e30c4aae89a6636cecb3d7c5bb332cad (diff)
RShift + LShift = Capslock
-rw-r--r--keyboards/handwired/promethium/keymaps/priyadi/keymap.c8
1 files changed, 8 insertions, 0 deletions
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;