]> git.sur5r.net Git - i3/i3lock/blobdiff - xcb.c
Add ctrl+u password reset
[i3/i3lock] / xcb.c
diff --git a/xcb.c b/xcb.c
index 4e04e9432fd3a1be200e8c6c348c6030a5e51107..6498241419a2f016fdd204d1d5516700a999e9a0 100644 (file)
--- a/xcb.c
+++ b/xcb.c
@@ -8,7 +8,6 @@
  *
  */
 #include <xcb/xcb.h>
-#include <xcb/xcb_keysyms.h>
 #include <xcb/xcb_image.h>
 #include <xcb/dpms.h>
 #include <stdio.h>
@@ -144,53 +143,6 @@ xcb_window_t open_fullscreen_window(xcb_connection_t *conn, xcb_screen_t *scr, c
     return win;
 }
 
-/*
- * Returns the mask for Mode_switch (to be used for looking up keysymbols by
- * keycode).
- *
- */
-uint32_t get_mod_mask(xcb_connection_t *conn, xcb_key_symbols_t *symbols, uint32_t keycode) {
-    xcb_get_modifier_mapping_reply_t *modmap_r;
-    xcb_keycode_t *modmap, kc;
-    xcb_keycode_t *modeswitchcodes = xcb_key_symbols_get_keycode(symbols, keycode);
-    if (modeswitchcodes == NULL)
-        return 0;
-
-    modmap_r = xcb_get_modifier_mapping_reply(conn, xcb_get_modifier_mapping(conn), NULL);
-    modmap = xcb_get_modifier_mapping_keycodes(modmap_r);
-
-    for (int i = 0; i < 8; i++) {
-        /* We skip i == 0 (Shift) because Shift is always Shift. Handling it
-         * would make i3lock believe that Shift is the modifier for CapsLock in
-         * case CapsLock is activated using the shift keysym:
-         *
-         * $ xmodmap
-         * shift       Shift_L (0x32),  Shift_R (0x3e)
-         * lock        Shift_L (0x32)
-         *
-         * The X11 documentation states that CapsLock and ShiftLock can only be
-         * on the lock modifier.
-         */
-        if (i == 0)
-            continue;
-        for (int j = 0; j < modmap_r->keycodes_per_modifier; j++) {
-            kc = modmap[i * modmap_r->keycodes_per_modifier + j];
-            for (xcb_keycode_t *ktest = modeswitchcodes; *ktest; ktest++) {
-                if (*ktest != kc)
-                    continue;
-
-                free(modeswitchcodes);
-                free(modmap_r);
-                return (1 << i);
-            }
-        }
-    }
-
-    free(modeswitchcodes);
-    free(modmap_r);
-    return 0;
-}
-
 void dpms_turn_off_screen(xcb_connection_t *conn) {
     xcb_dpms_enable(conn);
     xcb_dpms_force_level(conn, XCB_DPMS_DPMS_MODE_OFF);