terminal: Only hide cursor for keypresses that generate data for the process
This commit is contained in:
parent
a96b93c3bd
commit
b24ab806bf
@ -2138,13 +2138,6 @@ key_handler(struct window *window, struct input *input, uint32_t time,
|
|||||||
handle_bound_key(terminal, input, sym, time))
|
handle_bound_key(terminal, input, sym, time))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
serial = display_get_serial(terminal->display);
|
|
||||||
if (terminal->hide_cursor_serial != serial &&
|
|
||||||
state == WL_KEYBOARD_KEY_STATE_PRESSED) {
|
|
||||||
input_set_pointer_image(input, CURSOR_BLANK);
|
|
||||||
terminal->hide_cursor_serial = serial;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (sym) {
|
switch (sym) {
|
||||||
case XKB_KEY_F11:
|
case XKB_KEY_F11:
|
||||||
if (state == WL_KEYBOARD_KEY_STATE_RELEASED)
|
if (state == WL_KEYBOARD_KEY_STATE_RELEASED)
|
||||||
@ -2262,8 +2255,17 @@ key_handler(struct window *window, struct input *input, uint32_t time,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (state == WL_KEYBOARD_KEY_STATE_PRESSED && len > 0)
|
if (state == WL_KEYBOARD_KEY_STATE_PRESSED && len > 0) {
|
||||||
terminal_write(terminal, ch, len);
|
terminal_write(terminal, ch, len);
|
||||||
|
|
||||||
|
/* Hide cursor, except if this was coming from a
|
||||||
|
* repeating key press. */
|
||||||
|
serial = display_get_serial(terminal->display);
|
||||||
|
if (terminal->hide_cursor_serial != serial) {
|
||||||
|
input_set_pointer_image(input, CURSOR_BLANK);
|
||||||
|
terminal->hide_cursor_serial = serial;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
Loading…
x
Reference in New Issue
Block a user