Browse Source

[Keymap] Fix handling of RV_LOCK and RV_SNAP for windows (#12498)

Co-authored-by: Robert Verst <robert.verst@tobit.com>
Robert Verst 5 years ago
parent
commit
2274631c8f
1 changed files with 7 additions and 32 deletions
  1. 7 32
      users/rverst/rverst.c

+ 7 - 32
users/rverst/rverst.c

@@ -197,15 +197,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
         // Lock computer
         case RV_LOCK:
             if (mode == MAC || mode == MAC_UNI) {
-                register_code(KC_LGUI);
-                register_code(KC_LCTL);
-                tap_code(KC_Q);
-                unregister_code(KC_LCTL);
-                unregister_code(KC_LGUI);
+                tap_code16(G(C(KC_Q)));
             } else if (mode == WINDOWS || mode == WINDOWS_UNI) {
-                register_code(KC_LGUI);
-                tap_code(KC_L);
-                register_code(KC_LGUI);
+                tap_code16(G(KC_L));
             }
             return false;
 
@@ -215,23 +209,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
                 if (ls) unregister_code(KC_LSFT);
                 if (rs) unregister_code(KC_RSFT);
 
-                register_code(KC_LGUI);
-                register_code(KC_LSFT);
-                if (as)
-                    tap_code(KC_5);
-                else
-                    tap_code(KC_4);
-                unregister_code(KC_LSFT);
-                unregister_code(KC_LGUI);
+                tap_code16(G(S(as ? KC_4 : KC_5)));
 
                 if (ls) register_code(KC_LSFT);
                 if (rs) register_code(KC_RSFT);
             } else if (mode == WINDOWS || mode == WINDOWS_UNI) {
-                register_code(KC_LGUI);
-                register_code(KC_LSFT);
-                tap_code(KC_S);
-                register_code(KC_LSFT);
-                register_code(KC_LGUI);
+                tap_code16(G(S(KC_S)));
             }
             return false;
 
@@ -260,9 +243,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
                 if (ls) unregister_code(KC_LSFT);
                 if (rs) unregister_code(KC_RSFT);
 
-                register_code(KC_LALT);
-                tap_code(KC_U);
-                unregister_code(KC_LALT);
+                tap_code16(A(KC_U));
 
                 if (as) register_code(KC_LSFT);
                 if (keycode == RV_AUML) {
@@ -318,11 +299,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
             if (is_unicode(mode)) {
                 send_unicode_string("€");
             } else if (mode == MAC) {
-                register_code(KC_LALT);
-                register_code(KC_LSFT);
-                tap_code(KC_2);
-                unregister_code(KC_LSFT);
-                unregister_code(KC_LALT);
+                tap_code16(S(A(KC_2)));
             } else if (mode == WINDOWS) {
                 register_code(KC_RALT);
                 tap_code(KC_0);
@@ -343,9 +320,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
                     send_unicode_string("ß");
                 }
             } else if (mode == MAC) {
-                register_code(KC_LALT);
-                tap_code(KC_S);
-                unregister_code(KC_LALT);
+                tap_code16(A(KC_S));
             } else if (mode == WINDOWS) {
                 register_code(KC_RALT);
                 tap_code(KC_2);