diff --git a/i3lock.c b/i3lock.c index 9e35131..a276f6c 100644 --- a/i3lock.c +++ b/i3lock.c @@ -397,9 +397,13 @@ static void handle_key_press(xcb_key_press_event_t *event) { #endif switch (ksym) { + case XKB_KEY_j: case XKB_KEY_Return: case XKB_KEY_KP_Enter: case XKB_KEY_XF86ScreenSaver: + if (ksym == XKB_KEY_j && !ctrl) + break; + if (pam_state == STATE_PAM_WRONG) return; @@ -444,7 +448,11 @@ static void handle_key_press(xcb_key_press_event_t *event) { * see issue #50. */ return; + case XKB_KEY_h: case XKB_KEY_BackSpace: + if (ksym == XKB_KEY_h && !ctrl) + break; + if (input_position == 0) return; @@ -453,7 +461,7 @@ static void handle_key_press(xcb_key_press_event_t *event) { password[input_position] = '\0'; /* Hide the unlock indicator after a bit if the password buffer is - * empty. */ + * empty. */ START_TIMER(clear_indicator_timeout, 1.0, clear_indicator_cb); unlock_state = STATE_BACKSPACE_ACTIVE; redraw_screen();