added ctrl+u functionality for clearing passwords
Patch status: needinfo
Patch by Philip Dexter
To apply this patch, use:
curl http://cr.i3wm.org/patch/81/raw.patch | git am
b/i3lock.c
| 13 |
@@ -238,8 +238,11 @@ static void handle_key_press(xcb_key_press_event_t *event) {
|
| 14 |
xkb_keysym_t ksym; |
| 15 |
char buffer[128]; |
| 16 |
int n; |
| 17 |
+ int ctrl; |
| 18 |
+ char ctrl_string_buffer[8] = "Control"; |
| 19 |
|
| 20 |
ksym = xkb_state_key_get_one_sym(xkb_state, event->detail); |
| 21 |
+ ctrl = xkb_state_mod_name_is_active(xkb_state, ctrl_string_buffer, XKB_STATE_MODS_DEPRESSED); |
| 22 |
xkb_state_update_key(xkb_state, event->detail, XKB_KEY_DOWN); |
| 23 |
|
| 24 |
/* The buffer will be null-terminated, so n >= 2 for 1 actual character. */ |
| 25 |
@@ -254,6 +257,9 @@ static void handle_key_press(xcb_key_press_event_t *event) {
|
| 26 |
unlock_state = STATE_KEY_PRESSED; |
| 27 |
redraw_screen(); |
| 28 |
input_done(); |
| 29 |
+ case XKB_KEY_u: |
| 30 |
+ if(!ctrl) |
| 31 |
+ break; |
| 32 |
case XKB_KEY_Escape: |
| 33 |
input_position = 0; |
| 34 |
clear_password_memory(); |